Числа Каталана — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Задача разбиения выпуклого n —угольника на треугольники не пересекающимися диагоналями)
(Рекуррентная формула чисел Каталана)
Строка 62: Строка 62:
 
==Рекуррентная формула чисел Каталана==
 
==Рекуррентная формула чисел Каталана==
 
<wikitex>
 
<wikitex>
<wikitex>
+
<tex dpi = 150>C_n = \sum_{i = 0}^{n - 1} C_i C_{n - 1 - i} </tex>
$C_n = \sum_{i = 0}^{n - 1} C_i C_{n - 1 - i}$
+
====Доказательство====
 
 
 
Рекуррентную формулу легко вывести из задачи о правильных скобочных последовательностях.
 
Рекуррентную формулу легко вывести из задачи о правильных скобочных последовательностях.
  
Самой левой открывающей скобке $l$ соответствует определённая закрывающая скобка $r$, которая разбивает формулу на две части, каждая из которых в свою очередь является правильной скобочной последовательностью. Поэтому, если мы обозначим $i = r - l - 1$, то для любого фиксированного $r$ будет ровно $C_i C_{n-1-i}$ способов. Суммируя это по всем допустимым i, мы и получаем рекуррентную зависимость на $C_n$.
+
Самой левой открывающей скобке <tex dpi = 110> l </tex> соответствует определённая закрывающая скобка <tex dpi = 110> r </tex>, которая разбивает формулу на две части, каждая из которых в свою очередь является правильной скобочной последовательностью. Поэтому, если мы обозначим <tex dpi = 110> i = r - l - 1 </tex>, то для любого фиксированного <tex dpi = 110> r </tex> будет ровно <tex dpi = 135> C_i C_{n-1-i} </tex> способов. Суммируя это по всем допустимым <tex dpi = 110> i </tex>, мы и получаем рекуррентную зависимость на <tex dpi = 135> C_n </tex>.
 
</wikitex>
 
</wikitex>
 
===Аналитическая формула===
 
===Аналитическая формула===
 
<wikitex>
 
<wikitex>
$ C_n = \frac{1}{n+1} C_{2n}^{n} $
+
<tex dpi = 150> C_n = \frac{1}{n+1} C_{2n}^{n} </tex>
 
+
====Доказательство====
(здесь через $C_n^k$ обозначен, как обычно, биномиальный коэффициент).
+
(здесь через <tex dpi = 135> C_n^k </tex> обозначен, как обычно, биномиальный коэффициент).
 
 
Эту формулу проще всего вывести из задачи о монотонных путях. Общее количество монотонных путей в решётке размером $n \times n$ равно $C_{2n}^{n}$. Теперь посчитаем количество монотонных путей, пересекающих диагональ. Рассмотрим какой-либо из таких путей, и найдём первое ребро, которое стоит выше диагонали. Отразим относительно диагонали весь путь, идущий после этого ребра. В результате получим монотонный путь в решётке $(n - 1) \times (n + 1)$. Но, с другой стороны, любой монотонный путь в решётке $(n - 1) \times (n + 1)$ обязательно пересекает диагональ, следовательно, он получен как раз таким способом из какого-либо (причём единственного) монотонного пути, пересекающего диагональ, в решётке $n \times n$. Монотонных путей в решётке $(n - 1) \times (n + 1)$ имеется $C_{2n}^{n-1}$. В результате получаем формулу:
 
 
 
$ C_n = C_{2n}^{n} - C_{2n}^{n-1} = \frac{1}{n+1} C_{2n}^{n}$
 
</wikitex>
 
  
 +
Эту формулу проще всего вывести из задачи о монотонных путях. Общее количество монотонных путей в решётке размером <tex dpi = 120> n \times n </tex> равно <tex dpi = 135> C_{2n}^{n} </tex>. Теперь посчитаем количество монотонных путей, пересекающих диагональ. Рассмотрим какой-либо из таких путей, и найдём первое ребро, которое стоит выше диагонали. Отразим относительно диагонали весь путь, идущий после этого ребра. В результате получим монотонный путь в решётке <tex dpi = 110> (n - 1) \times (n + 1) </tex>. Но, с другой стороны, любой монотонный путь в решётке <tex dpi = 110> (n - 1) \times (n + 1) </tex> обязательно пересекает диагональ, следовательно, он получен как раз таким способом из какого-либо (причём единственного) монотонного пути, пересекающего диагональ, в решётке <tex dpi = 120> n \times n</tex>. Монотонных путей в решётке <tex dpi = 110>(n - 1) \times (n + 1)</tex> имеется <tex dpi = 135>C_{2n}^{n-1} </tex>. В результате получаем формулу:
  
 +
<tex dpi = 150> C_n = C_{2n}^{n} - C_{2n}^{n-1} = \frac{1}{n+1} C_{2n}^{n} </tex>
 
</wikitex>
 
</wikitex>

Версия 00:35, 14 ноября 2014

Числа Каталана

<wikitex>

Определение:
Числа Каталана — последовательность чисел, выражающих:
  • количество не изоморфных упорядоченных бинарных деревьев с корнем и $n + 1$ листьями;
  • количество способов соединения $2n$ точек на окружности $n$ не пересекающимися хордами;
  • количество разбиений выпуклого $n$-угольника на треугольники не пересекающимися диагоналями;
  • количество способов полностью разделить скобками $n + 1$ множитель;
  • количество корректных скобочных последовательностей, состоящих из $n$ открывающих и $n$ закрывающих скобок;


Первые несколько чисел Каталана:

[math] 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, ... [/math] </wikitex>

Некоторые задачи на числа Каталана

Задача разбиения выпуклого [math] n [/math]—угольника на треугольники не пересекающимися диагоналями

<wikitex>

Разбиение выпуклого шестиугольника

Ответ на задачу при [math] n = 3 [/math] тривиален: никаких диагоналей проводить не надо. В четырёхугольнике можно провести любую из двух диагоналей, так что способов два. В пятиугольнике — из любой вершины две диагонали, [math] 5 [/math] способов. При [math] n = 6 [/math] — первый не вполне очевидный ответ: [math] 14 [/math] способов (см. рис.); чтобы не запутаться, сторона BC выделена и отдельно нарисованы разрезания, в которых к ней примыкают соответственно треугольники $BCA$, $BCF$, $BCE$ и $BCD$.

Для семиугольника можно выделить одну из сторон и расклассифицировать разрезания в зависимости от того, какой треугольник к этой стороне примыкает. Имеем 5 разных случаев. В первом и последнем из них количество разбиений равно 14, ибо после отрезания треугольника остаётся шестиугольник. Во втором и четвёртом случаях при вырезании треугольника семиугольник распадается на треугольник и пятиугольник. В третьем случае семиугольник распадается на два четырёхугольника. Поскольку каждый из них можно разбить двумя способами, получаем [math]2 \cdot 2 = 4[/math] варианта. Итак, семиугольник можно разбить всего [math] 14 + 5 + 2 \cdot 2 + 5 + 14 = 42 [/math] способами. Рассматривая восьмиугольник, аналогично получаем [math] 42 + 14 + 2 \cdot 5 + 5 \cdot 2 + 14 + 42 = 132 [/math] способа.Такие вычисления можно проводить и дальше. </wikitex>

Задача расстановки скобок

<wikitex> Рассмотрим какое-нибудь арифметическое выражение и сотрём всё, кроме скобок. Получим некоторую систему открывающих и закрывающих скобок. Какими свойствами она обладает? Во-первых, открывающих скобок ровно столько же, сколько и закрывающих. Во-вторых, ни в каком начальном отрезке количество закрывающих скобок не может оказаться больше количества открывающих скобок. (Например, расстановки [math] )( [/math] и [math] ((())))( [/math] — неправильные.) Эти два условия не только необходимы, но и достаточны.

Рассмотрим несколько примеров. Одна пара скобок может выглядеть единственным способом: [math] () [/math]. Две пары — двумя способами: [math] ()() [/math] или [math] (()) [/math]. Три пары — пятью способами: [math] ()()(), ()(()), (())(), (()()) [/math] или [math] ((())) [/math]. Четыре пары, как нетрудно проверить,— четырнадцатью способам и. Чтобы понять, сколькими способами могут выглядеть правильно расставленные пять пар скобок, рассмотрим закрывающую скобку, парную к первой открывающей скобке. Остальные четыре пары тогда разделятся на две группы: расположенные внутри рассмотренной пары и расположенные справа от неё. (Разумеется, любая из этих групп может состоять из 0 скобок.) Способов, когда все четыре пары внутри или все четыре справа, имеется по 14 штук. Когда три пары внутри, а одна справа, имеем 5 способов. Столько же — когда одна внутри, а три справа. Наконец, когда две пары внутри, а две справа, имеем 2 · 2 = 4 способа. Итого [math] 14 + 5 + 2 \cdot 2 + 5 + 14 = 42 [/math] способа. Следуя такому походу, можно вычислять количество правильных скобочных последовательностей дальше. </wikitex>

Рекуррентная формула чисел Каталана

<wikitex> [math]C_n = \sum_{i = 0}^{n - 1} C_i C_{n - 1 - i} [/math]

Доказательство

Рекуррентную формулу легко вывести из задачи о правильных скобочных последовательностях.

Самой левой открывающей скобке [math] l [/math] соответствует определённая закрывающая скобка [math] r [/math], которая разбивает формулу на две части, каждая из которых в свою очередь является правильной скобочной последовательностью. Поэтому, если мы обозначим [math] i = r - l - 1 [/math], то для любого фиксированного [math] r [/math] будет ровно [math] C_i C_{n-1-i} [/math] способов. Суммируя это по всем допустимым [math] i [/math], мы и получаем рекуррентную зависимость на [math] C_n [/math]. </wikitex>

Аналитическая формула

<wikitex> [math] C_n = \frac{1}{n+1} C_{2n}^{n} [/math]

Доказательство

(здесь через [math] C_n^k [/math] обозначен, как обычно, биномиальный коэффициент).

Эту формулу проще всего вывести из задачи о монотонных путях. Общее количество монотонных путей в решётке размером [math] n \times n [/math] равно [math] C_{2n}^{n} [/math]. Теперь посчитаем количество монотонных путей, пересекающих диагональ. Рассмотрим какой-либо из таких путей, и найдём первое ребро, которое стоит выше диагонали. Отразим относительно диагонали весь путь, идущий после этого ребра. В результате получим монотонный путь в решётке [math] (n - 1) \times (n + 1) [/math]. Но, с другой стороны, любой монотонный путь в решётке [math] (n - 1) \times (n + 1) [/math] обязательно пересекает диагональ, следовательно, он получен как раз таким способом из какого-либо (причём единственного) монотонного пути, пересекающего диагональ, в решётке [math] n \times n[/math]. Монотонных путей в решётке [math](n - 1) \times (n + 1)[/math] имеется [math]C_{2n}^{n-1} [/math]. В результате получаем формулу:

[math] C_n = C_{2n}^{n} - C_{2n}^{n-1} = \frac{1}{n+1} C_{2n}^{n} [/math] </wikitex>