Числа Каталана
Числа
называемые числами Каталана, играют в комбинаторике важную роль. На сегодняшний день известно около 90 задач математики и физики, в которых встречаются эти числа. Многие примеры можно отыскать по ссылкам в энциклопедии целочисленных последовательностей. Последовательность Каталана зарегистрирована там под номером A000108.
Рассмотрим одну классическую задачу, в которой возникает последовательность чисел Каталана, выведем производящую функцию и формулу
Правильные скобочные последовательности
Сколько существует правильных скобочных последовательностей, состоящих из 2n скобок (n открывающих и n закрывающих)? Например, если n=3, то таких последовательностей всего 5:
Пусть Cn — ответ к нашей задаче. Положим по определению C0=1. Очевидно, что любая правильная скобочная последовательность начинается с открывающей скобки. Между ней и соответствующей ей закрывающей скобкой можно расположить правильную последовательность из 2k скобок (где 0≤k<n):
Таким образом, чтобы узнать количество правильных скобочных последовательностей из 2n скобок, нужно перебрать все возможные способы расположить 2k скобок в зоне между красными скобками (рис) и 2(n-k-1) скобок после неё. Получаем рекуррентное соотношение:
Это соотношение нужно резрешить и вывести общую формулу. О решении рекуррентных соотношений подробнее говорилолсь здесь. Будем искать производящую функцию в виде
В рекуррентном соотношении домножаем Cn на zn:
Выполняя суммирования по всем n, получаем
Обратите внимание, что сумма в этом выражении ни что иное как свёртка производящих функций:
Значит, окончательное уравнение для производящей функции будет иметь вид
или, что то же самое,
Из этого квадратного уравнения легко найти G(z):
Теперь нужно определиться, какой из двух корней нас интересует. Заметим, что G(z) должно быть равно 1 при z=0, следовательно, нам подходит корень со знаком минус:
Чтобы проверить это, нужно перейти в этом выражении к пределу при z→0.
Осталось разложить в ряд полученное выражение (здесь мы пользуемся расширенными биномиальными коэффициентами):
Откуда получается, что
Выведенная формула даёт ещё одно, более простое рекуррентное соотношение:
В одном из упражнений будет предложено показать, что
Язык Дика
Правильные скобочные последовательности имею и другое название: слова Дика (Dyck). В случае, когда рассматриваются скобки только одного вида, слова Дика порождаются следующей контекстно-свободной грамматикой
Здесь ε — пустое слово. Эта грамматика указывает на то, что все правильные скобочные последовательности (ПСП) строятся по одному и тому же правилу: либо ПСП — это пустое слово, либо ПСП, взятая в скобки, за которыми снова идет ПСП.
Асимптотика
Рассмотрим поведение последовательности чисел Каталана на бесконечности. Для определения главного члена асимптотики воспользуемся формулой Стирлинга
Отсюда получаем
Теперь преобразуем выражение следующим образом:
Вспомнив один из замечательных пределов, можно заменить выражение со скобками на 1/e, окончательно записав
Блуждания на полупрямой
Ещё одна классическая задача, в которой встречаются числа Каталана. Рассмотрим прямую. Некоторый объект находится на прямой в позиции 0. Он может за один шаг переместиться либо влево, либо вправо на одну позицию. Сколькими способами можно переместиться из начальной позиции в неё же за 2n шагов так, чтобы ни разу не оказаться левее нуля?
Сначала рассмотрим случай, когда нулевую отметку можно пересекать (задача о блуждании на прямой). В этом случае нужно совершить 2n шагов, n из которых делаются влево и n — вправо (в любой последовательности). Обозначим символом 0 движение влево, а символом 1 движение вправо. Сколько существует последовательностей из нулей и единиц, в которых нулей и единиц ровно по n? Это число сочетаний:
Теперь рассмотрим случай, когда движение левее нуля запрещено. В этом случае на каждом шаге требуется, чтобы количество уже сделанных шагов влево было не больше количества уже сделанных шагов вправо. Представим, что шаг вправо — это открывающая скобка, а шаг влево — закрывающая. Тогда любой путь из 0 в 0, не пересекающий левую границу, может быть представлен правильной скобочной последовательностью. И наоборот, любая правильная последовательность будет задавать путь. Таким образом, число блужданий на полупрямой есть величина