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

advertisement
Числа Каталана
Сегодня в Большом театре огромная
очередь. Все стараются достать билеты.
Из учебника русского языка для немцев.
Многим наверняка знакома последовательность натуральных чисел 1, 1, 2, 3, 5, 8, 13, 21,
34, 55,… в которой каждое следующее число является суммой двух предыдущих. Эти
числа носят имя знаменитого средневекового итальянского математика Фибоначчи, также
известного как Леонардо Пизанский. У этих чисел есть много замечательных свойств, о
которых мы расскажем в настоящей статье.
Существуют и другие замечательные последовательности натуральных чисел, об одной из
которых мы расскажем в настоящей статье. Эта последовательность начинается числами
1, 2, 5, 14, 42,132, …; ее члены называются числами Каталана в честь бельгийского
математика Эжена Шарля Каталана. Эти числа связаны с различными задачами
комбинаторики, теории вероятностей, теории чисел. О закономерности построения
следующего члена последовательности по предыдущим ее членам мы поговорим чуть
позже, а пока рассмотрим некоторые задачи, в которых эти числа появляются. Более
углубленно о комбинаторике таких последовательностей чисел можно прочесть в [1].
Три задачи о числах Каталана
Будем рассматривать расстановки круглых скобок. Назовем расстановку скобок
правильной, если все скобки разбиты на пары, причем каждая пара состоит из
открывающей и закрывающей скобок, причем закрывающая скобка расположена позднее
соответствующей ей открывающей, а для любой скобки b, лежащей между открывающей
скобкой a и парной ей закрывающей скобкой a’ парная скобка b’ также лежит между a и
a’.
Задача 1. Сколько существует правильных расстановок n пар скобок для фиксированного
натурального числа n ?
Пример. Расстановка скобок ( ( ) ( ) ) ( ) является правильной, а ( ) ) ( — неправильной, т.к.
скобки, выделенные красным цветом не являются парными, у каждой из них нет пары.
Для небольших значений переменной n нетрудно посчитать ответ путем перебора: для
одной пары существует одна расстановка скобок: ( ), для двух — две: ( ) ( ) и ( ( ) ), для
трех — пять: ( ) ( ) ( ), ( ) ( ( ) ), ( ( ) ) ( ), ( ( ) ( ) ), ( ( ( ) ) ).
Перейдем теперь к другим задачам, на первый взгляд не похожим на первую.
Задача 2. Сколькими способами можно разбить выпуклый (n+2)–угольник на
треугольники непересекающимися диагоналями?
Для этой задачи также нетрудно посчитать ответ для малых n: для треугольника (n=1)
такой способ один, для четырехугольника (n=2) — два (можно выбрать любую из двух
диагоналей, и она будет разбивать четырехугольник на два треугольника), для
пятиугольника (n=3) — пять, для шестиугольника (n=4) — четырнадцать Все эти
разбиения показаны на рис. 1.
1
Задача 3. У театральной кассы стоит очередь за билетами из 2n человек. Билет стоит пять
рублей, а в наличии у каждого из стоящих в очереди есть ровно одна банкнота — либо
пять, либо десять рублей, причем каждый из двух видов банкнот встречается ровно у n
человек. У кассира в начальный момент нет пятирублевых банкнот. Каждый, стоящий в
очереди, покупая билет, если дает десятирублевую банкноту, должен получить сдачу.
Какова вероятность того, что на протяжении всей очереди у кассира всегда будет
достаточный запас пятирублевых банкнот для сдачи, а в конце у него не останется
пятирублевых купюр?
Легко видеть, что всего существует C 2nn возможных ситуаций (ровно столько есть
способов распределить среди 2n любителей театра n человек, у которых на руках
десятирублевая купюра и n человек с пятирублевыми купюрами на руках). Следовательно,
для решения задачи нужно посчитать, в скольких случаях у кассира на протяжении всей
очереди будут иметься в достаточном количестве пятирублевые купюры, причем в
2
последний момент они у него закончатся. Полученное число случаев нужно разделить
число случаев на C 2nn .
Подсчет таких случаев для малых значений числа n опять приводит нас к знакомой
последовательности: при n=1 это число равно единице, при n=2 — двум, далее пяти,
четырнадцати, и т.д.
По ответам видно, что для этих задач прослеживается некоторая закономерность, которая
связана с числами Каталана. При этом мы до сих пор не выяснили, по каким правилам
вычисляются члены этой знаменитой последовательности.
Рекуррентная формула для чисел Каталана.
В действительности числа Каталана C(n) определяются так: нулевое число Каталана равно
единице. Число с номером n равно сумме следующих произведений: нулевого числа на (n1)–е, первого числа на (n-2)–e, второго на (n-3)–е, …, (n-1)–го на нулевое, так чтобы сумма
номеров двух перемножаемых чисел была равна n-1. Более строго это можно записать так:
n 1
C (n)   C (i )C (n  1  i )
(1)
i 0
Так, для малых значений n получаем:
C (0)  1, C (1)  1  1  1, C (2)  1  2  1  1  2  1  5, C (3)  1  5  1  2  2  1  5  1  14,
C (4)  1  14  1  5  2  2  5  1  14  1  42.
Покажем, что именно такая рекуррентная формула соответствует решениям всех трех
предложенных задач.
Рассмотрим сначала случай правильных скобочных структур (расстановок скобок). Пусть
дана некоторая правильная расстановка n пар скобок. Понятно, что начальная скобка a
будет открывающей. Следовательно, ей соответствует какая–то закрывающая скобка b.
Между этими двумя скобками находится другой набор скобок, возможно пустой,
который, очевидно, является правильной скобочной структурой. Кроме того,
последовательность скобок, стоящая после скобки b, также правильная. Таким образом,
внутри нашей структуры есть еще две правильные структуры, суммарное количество пар
скобок в которых равно n-1. Эти две структуры полностью определяют изначальную
расстановку скобок: для ее получения достаточно заключить в скобки первую структуру, а
затем справа приписать к ней вторую.
Пример.
В структуре ( ( ) ( ) ) ( ( ) ) из пяти пар скобок скобки, отмеченные красным, отделяют
правильную структуру из двух пар скобок от правильной структуры из двух пар скобок.
Таким образом, становится понятен смысл формулы (1): для того, чтобы посчитать
количество правильных структур из пяти пар скобок нужно рассмотреть зафиксировать
первую пару скобок, а затем поставить две правильные структуры, суммарное количество
скобок в которых равно четырем.
Аналогичная ситуация имеет место и в случае с многоугольниками: мы фиксируем
некоторое ребро и рассматриваем треугольник, примыкающий к этому ребру, см. рис. 2.
Он разбивает (n+2)–угольник на (p+2)–угольник и (q+2)–угольник, где p+q=n-1. Эти два
3
многоугольника должны быть разбиты на треугольники своими непересекающимися
диагоналями, которые являются диагоналями исходного многоугольника. Любое такое
разбиение двух “маленьких” многоугольников порождает разбиение изначального
многоугольника.
На рисунке 2 изображен восьмиугольник (8=6+2), разбиение которого на треугольники
непересекающимися диагоналями порождается такими разбиениями для
четырехугольника (4=2+2) и пятиугольника (5=3+2). При этом 6-1=2+3.
Таким образом, для количества разбиений (n+2)–угольника непересекающимися
диагоналями на треугольники имеет место та же рекуррентная формула, что и для
скобочных структур.
Перейдем, наконец, к описанию задачи про билеты в театр. Для каждого возможного
случая распределения пятирублевых и десятирублевых банкнот у стоящих в очереди
можно построить правильную скобочную структуру. Действительно, каждому
следующему стоящему в очереди будем приписывать скобку, которая будет
открывающей, если у него на руках пятирублевая купюра, и закрывающей, если
десятирублевая. Условие того, что у кассира всегда будет достаточно пятирублевых
купюр означает, что по ходу написания слова из скобок количество открывающих будет
всегда не меньше количества закрывающих, а то, что эти купюры иссякнут после
обслуживания последнего покупателя, значит, что во всем слове количество
открывающих скобок будет равно количеству закрывающих. Это и означает, что каждой
открывающей скобке будет однозначно соответствовать закрывающая. Для этого
человеку, давшему пять рублей, после чего у кассира стало m пятирублевых банкнот,
нужно сопоставить человека, давшего десять рублей и стоящего после первого, после чего
у кассира осталась (m-1) пятирублевая банкнота, причем между первым и вторым
человеком у кассира должно всегда быть не меньше n пятирублевых банкнот.
Пример. Для скобочной структуры ( ) ( ( ) ( ( ) ) ) из пяти пар скобок поставим в соответствие
такое распределение банкнот: 5, 10, 5, 5, 10, 5, 5, 10, 10, 10. При этом количество пятирублевых
банкнот у кассира после продажи очередного билета будет изменяться следующим образом:
1, 0, 1, 2, 1, 2, 3, 2, 1, 0
( ) ( ( ) ( ( ) ) )
Из сказанного выше следует, что правильные скобочные структуры из n скобок
однозначно соответствуют “хорошим” распределениям пяти– и десятирублевых банкнот у
стоящих в очереди.
4
Таким образом, количество правильных очередей из 2n человек равно C(n) и ответ на
третью задачу, как и на первые две, связан с числами Каталана.
При этом у нас остается открытым еще один вопрос: как считать числа Каталана, т.е.
найти формулу для C(n) не рекуррентную, а в явном виде.
Производящие функции
Мы расскажем о том, как получать явные формулы для последовательностей,
определяемых рекуррентными соотношениями, в частности, для чисел Фибоначчи и для
чисел Каталана.
Пусть имеется некоторая последовательность чисел a(n), n=0,1,… Запишем формальный
ряд (бесконечную сумму) S (a)  a(0)  t  a(1)  t 2 a(2)  t 3 a(3)  ... , где t обозначает
некоторую формальную переменную, т.е. букву, удобную для записи формальных
выражений и произведения операций с ними. Такой ряд называется производящей
функцией или генератрисой для последовательности a(n). Так, для чисел Фибоначчи мы
получим производящую функцию t  t 2  2t 3  3t 4  5t 5  8t 6  13t 7  21t 8  ... , а для чисел
Каталана — ряд 1  t  2t 2  5t 3  14t 4  42t 5  132t 6  ... Оказывается, что вычислять
такие ряды в целом легче, чем каждый их член по отдельности. Проиллюстрируем это на
примере чисел Фибоначчи.
Числа Фибоначчи, золотое сечение и цепные дроби
Явная формула для чисел Фибоначчи
Итак, для чисел Фибоначчи (мы их будем обозначать через F(n), нулевой и первый члены
равны единице) имеем: F(n+1)=F(n)+F(n-1).Попробуем теперь записать это равенство в
терминах S, где S—производящая функция от переменной t для F. Нетрудно заметить, что
оно будет выглядеть так:
t 2 S (t )  tS (t )  t  S (t ) .
Действительно, умножение на степень переменной t означает сдвиг последовательности
вправо, а единица в левой части равенства — свободный член последовательности S(t).
Это равенство можно записать еще так:
0  0  0  t 3  t 4  2t 5  3t 6  ...
0  0  t 2  t 3  2t 4  3t 5  5t 6  ...
0t
___________________________
0  t  t 2  2t 3  3t 4  5t 5  8t 6  ...
Теперь рассмотрим S(t) как обычную функцию от переменной t и проделаем следующие
преобразования:
S (t )(t 2  t  1)  t  S (t )  
t
.
t  t 1
2
5
Квадратное уравнение t 2  t  1  0 легко решается. Его решения равны
1 5
. Отсюда
2
  1  5   1  5 
 t 
. Таким
следует, что t 2  t  1   t 


2
2







1
1
1
 1 .
образом, 2



t  t 1
1 5
1 5  5
t
t 

2
2 

Итак, в правой части у нас стоят дроби, а нам нужен ряд. Как получить этот ряд?
Предположим, что k—некоторое малое число. Тогда, как известно, имеет место
1
 1  k  k 2  k 3  ... Предположим теперь, что переменная t в производящих
формула
1 k
функциях — как раз очень маленькое число. Следовательно, мы можем расписать
интересующие нас дроби как ряды:




    5  1j


1
1
1
1
 t
 .







2
  5  1    1  5  j0 
1 5 1 5  


 1  t



t

 2 




2
2



  2 
Таким образом, получаем окончательную явную формулу для S(t):
j
j


t   2    5  1    2     5  1   
 
 
S (t ) 
 
   t
 t
  
2    1  5  j0 
2
5   1  5  j0 
 




,
j
j
  


1 
1 5   1 5  
  t

 t

2  
2   
5  j1 

 
которая дает нам явную формулу для вычисления чисел Фибоначчи F(n), где F(n) —
коэффициент при n–й степени переменной t для ряда S(t).
n
n
1  1  5   1  5  
 
 

Итак, F (n) 
(2).
5  2   2  


При этом все числа Фибоначчи являются целыми, т.е. какое бы n мы ни подставили в эту
формулу, мы получим целое число, несмотря на присутствующие в формуле корни из
пяти.
У чисел Фибоначчи есть замечательное свойство. Давайте напишем первые несколько
чисел (нулевое число Фибоначчи по определению считается равным нулю). 1, 1, 2, 3, 5, 8,
13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10949, 17711, 28657,
46368, 75625, 121393 … Как видно, каждое пятое число (они выделены красным) делится
на пять. Это красивое и простое свойство легко проверяется, если перейти от чисел
Фибоначчи к их остаткам от деления на пять. В этом случае мы легко увидим, что они
чередуются с периодом двадцать, причем на каждом пятом месте остаток от деления на
пять равен нулю: 0,1,1,2,3,0,3,3,1,4,0,4,4,3,2,0,2,2,4,1,0,1,1… Тот факт, что дальше
последовательность будет всегда повторяться, объясняется тем, что она полностью
определена любыми двумя соседними членами.
6
При этом свойство делимости на пять каждого пятого члена последовательности
Фибоначчи достаточно несложно выводится из (2). Более того, верно и гораздо более
сильное утверждение: каждое 25–е число Фибоначчи делится на 25, каждое 125–е — на
125 каждое 625–е — на 625, и т.д, которое также можно проверить, используя явную
формулу (2).
Действительно, зафиксируем число n, делящееся на некоторую степень пятерки 5 l .
Рассмотрим формулу (2). Она состоит из двух слагаемых, каждое из которых — n-я
степень некоторого иррационального числа, деленная на 5 . При этом можно считать,
что выражения, возводимые в степень, не имеет двойки в знаменателе: умножая
выражение (2) на 2 n , мы получим некоторое целое число, которое делится на ту же
степень пятерки, что и F(n), так как числа Фибоначчи все целые, а два и пять — взаимно
простые числа. Для того, чтобы сосчитать эти суммы, воспользуемся известной формулой
разложения по биному Ньютона:
a  bn  a n  na n1b  Cn2 a n2b 2  ...  nab n1  b n ,
где в качестве a и b в первом случае будут фигурировать 1 и 5 , а во второй будут 1 и
 5 . Для каждого члена каждого из двух биномиальных разложений будем следить за
степенью пятерки. Эта степень пятерки складывается из двух степеней, одна из которых
происходит от корня из пяти, а вторая — из числа сочетаний из n по m, где m пробегает
значения от 0 до l. Легко видеть, что при суммировании биномиальных разложений все
p


p
члены при четных степенях переменной b сократятся, т.к. 5   5 для четных
значений переменной p. В том числе сократятся и члены при нулевой степени переменной
b, которые равны единице каждый. Будем следить за оставшимися членами.
В обоих разложениях каждый член будет представлять собой целое число, умноженное на
5 , а после деления на 5 все числа станут целыми. Вспомним теперь, что наше число n
делится на степень пятерки 5 l .
Заметим следующий факт. Пусть m — число, делящееся на k–ю степень пятерки (k<l), но
не делящееся на (k+1)–ю. Тогда число C mn делится на 5 l  k .
n!
n(n  1)    (n  m  1)
. Запишем

m!(n  m)!
m!
(n  1)    (n  m  1)( n  m)
теперь число C nm1 
. Это число является числом сочетаний, и,
m!
следовательно, оно — целое. При этом оно отличается от первого числа ( C mn ) лишь одним
сомножителем в числителе: в нем вместо n стоит n-m. Таким образом, (максимальная)
степень пятерки, на которую делится C mn ровно настолько больше степени пятерки, на
Действительно, по формуле мы имеем C nm 
которую делится C n m1 , насколько степень пятерки, на которую делится n больше степени
пятерки, на которую делится число n-m. По определению в n пятерка входит в качестве
сомножителя l раз. Число n-m, как и число m, делится лишь на k–ю степень пятерки.
Таким образом, количество вхождений пятерки в качестве сомножителя в число C mn не
меньше l-k.
Это означает, что в обоих разложениях по биному степеней слагаемое na n 1b будет равно
корню из пяти, умноженному на целое число, делящееся на 5 l . Таким образом, эти члены
дают вклад, делящийся на 5 l . Рассмотрим теперь числа C n2 , C n3 , C n4 , C n5 , C n6 ,... Ясно, что
первое из них, не делящееся на 5 l , будет C n5 , первое число, не делящееся на 5 l 1
7
будет C n25 , и т.д. Однако в каждой из двух сумм эти числа, не делящиеся на ту или иную
степень пятерки, будут коэффициентами при большой степени корня из пяти. Так, для
5
пятого члена мы получим Cn5 5l 1 , 5  5 2 5 , для двадцать пятого получим
25
Cn25 5l 2 , 5  512 5 . Следовательно, степень пятерки растет очень быстро за счет корня
из пяти, а убывание степени пятерки в числе сочетаний — очень медленное, поэтому
каждый член нашей суммы, а, следовательно, и вся сумма, будет делиться на 5 l .
Упражнение. Напишите явную формулу, для чисел, каждое следующее из которых равно
разнице двух предыдущих, и которые начинаются с 1, 1.
Аналогичным образом можно вычислять явные формулы для последовательностей чисел,
в которых каждое следующее выражается через три, четыре предыдущих с некоторыми
коэффициентами. Однако для этой цели придется находить корни уже не квадратного
уравнения, а кубического или четвертой степени.
Золотое сечение
С древних времен известна задача архитектурного происхождения о нахождении золотого
сечения — такого вещественного числа a, чтобы при приклеивании к кирпичу с
отношением сторон, равным a, квадратного кирпича мы снова получали кирпич с
отношением сторон, равным a,см. рис. 3.
Без труда можно сообразить, что искомое число будет решением квадратного уравнения
a 2  a  1  0. Корни этого уравнения нам хорошо известны в связи с изучением чисел
1 5
1 5
, а так как число
является отрицательным и поэтому
2
2
длиной кирпича служить не может, то единственным решением этой задачи остается
1 5
.
2
1 1 2 3 5
Рассмотрим последовательные отношения соседних чисел Фибоначчи: , , , , ,...
1 2 3 5 8
Нетрудно заметить, что возрастание этих чисел чередуется с убыванием:
1 1 2 3 5
     ... При этом интуитивно понятно, что эти отношения к чему–то
1 2 3 5 8
стремятся. Из рекуррентной формулы (2) для чисел Фибоначчи видно, что числа
1 5
Фибоначчи являются суммами двух геометрических прогрессий со знаменателями
2
Фибоначчи. Они равны
8
1 5
. При этом знаменатель первой геометрической прогрессии по модулю больше
2
единицы, значит, прогрессия стремится к бесконечности. Знаменатель второй прогрессии,
напротив, убывает, следовательно, прогрессия стремится к нулю. Поэтому начиная с
некоторого момента последовательность чисел Фибоначчи ведут себя как эта прогрессия,
1 5
следовательно, искомый предел соотношений равен золотому сечению
. Это можно
2
трактовать еще и так: каждый раз прибавляя одно число Фибоначчи к соседнему, мы
стремимся получить золотое сечение, и все ближе и ближе к нему подходим, см. рисунок
4.
и
Кстати, приближение золотого сечения числами Фибоначчи дает нам возможность найти
сколь угодно точную оценку для числа 5 .
Цепные дроби
Предположим, что у нас есть два взаимно простых натуральных числа p и q — два числа,
не имеющих общих делителей. Тогда существуют целые числа r и s такие, что pr+qs=1.
Эти числа обычно ищутся с помощью алгоритма Евклида . Берется большее из чисел p и q
и с остатком делится на меньшее. Остаток является суммой двух изначальных чисел с
целыми коэффициентами. Затем берется меньшее число и остаток и с ними проделывается
то же самое. Так как изначальные два числа были взаимно простые, то на каждом шаге мы
будем получать два взаимно простых числа и алгоритм можно продолжать. В конце
концов, мы дойдем до единицы. Оказывается, этот алгоритм можно формализовать и
сделать более наглядным с помощью так называемых цепных дробей. Рассмотрим два
взаимно простых числа, например, 100 и 31. Попытаемся найти целые числа r и s такие,
100
что 100r+31s=0. Для этого рассмотрим дробь
и будем ее преобразовывать
31
следующим образом: как только возникает дробь, большая единицы, будем выделять из
нее целую часть, а остаток обращать. Число, обратное к остатку, снова будет больше
единицы, и мы с ним проделаем то же самое. Процесс закончится, когда мы получим
целое число. Итак,
100
7
1
1
1
1
3 3
3
3
3
3
1
1
31
31
 31 
4
4
4
 
1
7
7
7
2
 
3
3
9
Получившуюся цепную дробь можно обрубить, откинув последний член
1
. Тогда мы
3
1
1
2 29
. Понятно, что мы нашу дробь изменили совсем
3
3 
1
9
9 9

4
 
2
2
100 29

немного, т.е.
. Попытаемся оценить близость этих дробей. Для этого умножим
31
9
100 на 9, а 31 на 29. Получим: 100  9  900,31  29  899  900  1 . Вот и решение! Положив
r=9, s=-29, мы в точности получим 100r+31s=1. На самом деле, если действовать так и
обрубать последнюю дробь, то изначальная дробь будет либо немного уменьшаться, либо
немного увеличиваться, в зависимости от того, на каком “ярусе” мы ее обрубаем — на
четном или на нечетном. Так, уменьшение числителя уменьшает дробь, а уменьшение
знаменателя — увеличивает. Поэтому, действуя так, как указано выше, мы будем
получать pr+qs=1 или pr+qs=-1. В последнем случае решением будет являться пара (-r,s): -pr-qs=1.
получим дробь 3
Упражнение. Найдите решение уравнения в целых числах 21r+8s=1.
Как мы видим, любую дробь можно разложить в цепную дробь; при этом процесс завершится.
Оказывается, точно так же можно разлагать в цепные дроби и иррациональные числа. В этом
случае, очевидно, мы будем получать бесконечную цепную дробь.
Рассмотрим, например, такую дробь:
1
1
Она будет стремиться к некоторому числу (иррациональному). Если вычесть из
1
1
1
1
1
1
1
1
1...
этой дроби единицу, а затем обратить, то получим снова эту же дробь. Обозначим ее через
1
x. Тогда для нахождения значения x нужно решить уравнение
 x или
( x  1)
1 5
. Теперь уже видно, что
2
если обрубить эту дробь в каком-нибудь конечном месте, мы получим дробь,
выражающую отношение двух соседних чисел Фибоначчи.
x 2  x  1  0 . Ответом будет то самое золотое сечение x 
Упражнение. Покажите, что для чисел Фибоначчи справедливо равенство
F 2 (n)  F (n  1) F (n  1)  1 для любого натурального n.
Числа Каталана
Перейдем к описанию производящей функции S(t) для ряда C(n) из чисел Каталана. В
некотором смысле нахождение этой производящей функции будет даже проще, чем
нахождение производящей функции для чисел Фибоначчи. Попробуем записать формулу
(1) для генератрисы S(t). Здесь нам придется умножать ее саму на себя. Действительно,
коэффициент при n–й степени переменной t в ряде S 2 (t ) равен сумме произведений
коэффициентов при степенях j,k ряда S(t) при j+k=n, т.е. C(0)C(n)+C(1)C(n10
1)+…+C(n)C(0). Это в точности формула для C(n+1). Таким образом, нам нужно возвести
S(t) в квадрат, сдвинуть не единицу (т.е. умножить на t) и добавить на нулевое место
коэффициент 1. Тогда мы и получим S(t). Более строго:
S (t )  1  tS 2 (t ) .
Посмотрим теперь на S(t) как на обычную функцию от переменной t и для ее нахождения
решим квадратное уравнение:
(3)
tS 2 (t )  S (t )  1  0.
В отличие от чисел Фибоначчи, в данное квадратное уравнение рассматривается уже не
как уравнение относительно переменной t, а как уравнение относительно производящей
функции S(t).
1  1  4t
. Но как ее понимать? Мы
2t
ведь должны получить ряд, а получаем квадратный корень, да еще t в знаменателе.
Научимся сначала трактовать квадратный корень. Квадратный корень — это половинная
степень числа. Попробуем выразить эту степень по биному Ньютона. При этом надо
1
понимать, какое число должно играть роль “числа сочетаний из
по k” . Поступим
2
формальным образом. Для этого просто запишем формулу для получения числа сочетаний
также как и в случае целых чисел:
Решая это уравнение, мы получим формулу S (t ) 
C 1k 
12   12  3 2    12  k  1
(4)
k!
2
Замечание. Сейчас мы просто пытаемся провести аналогии со случаем целых чисел, что
дает нам эвристический подход к вычислению чисел Каталана. В дальнейшем, получив
результат, нам останется лишь убедиться в том, что он верен.
Заметим, что в отличие от целого числа n, для которого при k>n C nk  0 , для 1
числа C
k
1
2
никогда не обращаются в нуль, так как числитель формулы (4) содержит лишь
2
полуцелые числа. Это значит, что для разложения корня по “биному Ньютона” нам
потребуется не конечная сумма слагаемых, а бесконечный ряд. Таким образом, мы
получим:
1   4t  2
1
1
1
1
2
1
 ( 1 )1
2
2
3
(4t )  C 12 1
2
(4t ) 2  ... 
2
4t
1 1  3
 1
 1 1  3  5 
5  11  3  5  7 
 16t 2     64t 3 3
 256t 4   4
  1024t 
  ... 
5
2
2  3!
 8
 2  4! 
 2  5! 
(5)
4t 2 8t 3 (1  3) 16t 4 (1  3  5) 32t 5 (1  3  5  7)



 ...
2!
3!
4!
5!
Теперь получившееся в (5) выражение нужно прибавить к единице (или вычесть из
единицы) и разделить на 2t для получения производящей функции для чисел Каталана.
1  2t 
Так как все члены формулы (5), кроме свободного, стоят со знаком минус, а числа
Каталана положительные, понятно, что этот ряд из единицы нужно вычитать.
11
Следовательно, мы получаем
2t 4t 2 (1  3) 8t 3 (1  3  5)
2 n t n (1  3    (2n  1))
S (t )  1  

 ... 
 ...
2!
3!
4!
(n  1)!
Коэффициент, стоящий при t n , и есть n–е число Каталана. Попытаемся упростить его.
Имеем:
C 2nn
2 n (1  3  5    (2n  1)) (2  4  6    2n)(1  3  5    (2n  1))
(2n)!
(6)
C (n) 



1  2  3    (n  1)
(1  2  3    n)(1  2  3    (n  1))
n!n!(n  1) (n  1)
Итак, мы получили явную (не рекуррентную) формулу для вычисления чисел Каталана. В
том, что эта формула действительно описывает числа Каталана, мы убедимся чуть позже.
Если эту формулу принять на веру, то мы получим, что число C 2nn нацело делится на (n+1)
— факт далеко не очевидный.
Числа Каталана и теория вероятностей
Билеты в театр и хождение по треугольнику Паскаля
Хорошо известно правило, по которому строятся числа в треугольнике Паскаля.
Его нулевая строка содержит один член, равный единице. Далее, в первой строке стоят
два числа, оба равные единице, происходящие от единице в нулевой строке, одно —
справа от элемента нулевиой строки, другое — слева.. Вторая строка состоит из трех
чисел: крайние (нулевое и второе) — единицы, а среднее — двойка, представляющая
собой сумму двух единиц из первой строки. Средний элемент второй строки стоит в
точности под элементом нулевой строки. В третьей строке уже четыре числа, крайние
(нулевое и третье) равны единицы, а средние (первое и второе) — тройке. Каждая
следующая строка содержит на один элемент больше чем предыдущая, при этом каждый
элемент следующей строки равен сумме двух ближайших к нему элементов предыдущей
строки: сверху слева и сверху справа. Элементы треугольника Паскаля имеют важную
комбинаторную интерпретацию: элемент из n–й строки и k–го столбца обозначается через
C nk и равен числу возможных выборов k различных неупорядоченных элементов из числа
n данных. Проверка этого факта оставляется читателю в качестве приятного и полезного
упражнения.
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
………..……………
Треугольник Паскаля
Так, например, число 21— второе в седьмой строке, если не считать начального
(нулевого) числа 1— равно сумме первого и второго чисел в шестой строке.
12
Рассмотрим начальную вершину треугольника Паскаля, в которой стоит число 1, и
будем бросать монету. При выпадении орла будем двигаться вниз и направо, а при
выпадении решетки — вниз и налево. После n бросаний мы попадем в n–ю строку
треугольника Паскаля на какое–то место. На этом месте будет стоять число, равное
всевозможному количеству различных последовательностей исходов бросания монетки,
при котором мы попадаем на это место. Так как на каждое место мы можем попасть либо
сверху справа, либо сверху слева, то и соответствующее число будет равно сумме чисел,
над ним стоящих. При этом, так как всего различных исходов бросания монетки
существует 2 n , то этому же числу будет равна сумма всех чисел в n–й строке
треугольника Паскаля.
Вернемся теперь к нашей задаче о числах Каталана и билетах в театр. Каждому человеку,
стоящему в очереди, можно сопоставить результат бросания монетки следующим
образом. Если у него в наличии пятирублевая купюра, то это соответствует выпадению
орла, а если десятирублевая — выпадению решетки. Таким образом, произвольная
очередь в театр, состоящая из людей с пяти– и десятирублевыми купюрами, также
соответствует хождению по треугольнику Паскаля. При этом мы помним, что в задаче у
нас было ограничение: в кассе всегда должно хватать пятирублевых банкнот. Это
означает, что при нашем хождении мы не должны заходить левее начальной точки. Таким
образом, нам нужно построить “урезанный” треугольник Паскаля — соответствующий
хождению только по правой стороне. Вот как он будет выглядеть:
1
1
1
1
2
2
1
3
5
5
1
4
9
1
5
1
14 14 6 1
14 28 20 7 1
42 48 27 8 1
42 90 75 35 9
1
132 165 110 44 10 1
132 297 275 154 54 11 1
Как мы видим и как должно быть на самом деле, в столбце, расположенном под начальной
точкой, как раз расположились числа Каталана — количества всевозможных
“правильных” очередей в театр или правильных хождений по (урезанному) треугольнику
Паскаля. Попытаемся отыскать общую закономерность построения такого треугольника.
13
Принцип отражения в теории вероятностей
Продолжим наши бросания монет и хождения по треугольнику Паскаля. Попытаемся
разобраться со следующей задачей. Предположим, что два человека играют в орлянку и
бросают монету n раз. При выпадении орла первый из них выигрывает рубль, при
выпадении решетки — второй. После n бросаний выигрыш первого (если первый
проиграл, мы будем писать выигрыш со знаком минус) составляет некоторое число от –n
до n той же четности, что и число n. Количества возможных исходов такого бросания
записаны в n–й строке треугольника Паскаля. Зафиксируем число k от 1 до n той же
четности, что и число n, и число l>k. Задача. В каком количестве случаев окончательный
выигрыш первого игрока будет равен k, в то время как по ходу игры он никогда не
выигрывает более чем l-1.
Очевидно, нужно рассмотреть все случаи, когда суммарный выигрыш первого игрока
равен n, и вычесть из этого числа те случаи, когда выигрыш первого игрока доходил до l.
Первое число как раз стоит в n–й строке треугольника Паскаля. Действительно, если
первый игрок выиграл k, то О-Р=k, О+Р=n, где О и Р — количества выпадений орла и
решетки соответственно. Тогда количество выпадений орла равно полусумме n и k, и
нужно посмотреть в n–й строке треугольника Паскаля элемент, соответствующий именно
такому количеству орлов. Рассмотрим теперь случаи, когда в некоторый момент выигрыш
первого игрока доходит до l. Для каждого такого случая рассмотрим то бросание, после
которого его выигрыш первый раз стал равен l. После этого выигрыш первого игрока
каким–то образом колеблется, доходя в последний момент до числа k. Нарисуем
соответствующий путь на треугольнике Паскаля, см. рис. 5а.
Отразим этот остаток путь относительно линии, соответствующей выигрышу l, т.е.
заменим все шаги вниз вправо на шаги вниз влево и наоборот. Тогда мы получим путь,
идущий в симметричный элемент треугольника Паскаля, соответствующий выигрышу 2lk. Более того, любой путь γ, идущий в симметричный элемент получается таким образом.
Действительно, такой путь должен пересекать линию с выигрышем l, т.к. сначала
выигрыш был меньше, чем l (он был просто равен нулю), а в конце выигрыш стал равен
2l-k>l. Рассмотрим первое прохождение пути γ через выигрыш, равный l, а затем отразим
нижнюю часть пути γ относительно прямой, соответствующей выигрышу первого игрока,
равному l. Получим путь, заканчивающийся выигрышем k, в процессе которого выигрыш
доходит до l.
14
Таким образом мы получаем вывод: количество путей, оканчивающихся выигрышем
k, во время которых выигрыш доходит до l>k, равно количеству путей,
оканчивающихся выигрышем 2l-k.
Это замечательное утверждение называется принципом отражения в теории
вероятностей.
По очевидным причинам этот же принцип применим и в случаях, когда выигрывает
второй игрок.
Пример. Если применить принцип отражения к ситуации, показанной на рисунке 5, мы
получим, что количество исходов семи бросаний монеты, при которых окончательный
выигрыш первого игрока равен единице, при этом по ходу игры он достигал трех, равен
количеству исходов, при которых окончательный выигрыш равен пяти. Следовательно,
интересующее нас количество исходов, при которых окончательный выигрыш равен
одному, а по ходу игры выигрыш не превышал трех, равен разнице двух элементов
треугольника Паскаля 35-7=28.
Упражнение. Найдите количество различных исходов десяти бросаний монеты, при
которых окончательный выигрыш первого игрока равен шести, но за все время бросаний
никогда не превосходит семи.
Принцип отражения и числа Каталана
Попробуем применить принцип отражения для вычисления значений чисел Каталана. Для
этого нам нужно оценить количество хождений по треугольнику Паскаля до линии c
номером 2n, при которых выигрыш первого игрока всегда не меньше нуля, а в конце равен
нулю.
Сделать это непосредственно не получается, так как все три “выигрыша” — и начальный,
и конечный, и промежуточный, соответствующий границе, которую мы не должны
пересекать, одинаковы и равны нулю.
Решить задачу можно следующим образом. В любом интересующем нас случае первое
бросание монеты должно оканчиваться выпадением орла, поэтому достаточно
рассматривать лишь пути, выходящие из точки, находящейся на первом (а не на нулевом)
ряду правее начальной. Наша задача описывается хождениями по треугольнику Паскаля,
начинающимися в точке справа в первом ряду. Но можно представить себе, что эта точка
является началом своего (нового) треугольника Паскаля, по которому мы и ходим. Тогда
наша задача легко сводится к следующей задаче.
Задача. Сколько существует возможных исходов (2n-1) бросаний монеты, после которых
второй игрок, не выигрывая по ходу игры двух или более рублей, в конце игры будет
иметь выигрыш один рубль?
Эта задача уже напрямую решается с помощью метода отражений. Для этого нужно
посчитать количество всех исходов, при которых второй игрок выиграет рубль, и вычесть
количество исходов, при которых второй игрок выиграет три рубля. Оба этих числа стоят
в (2n-1)–й строке треугольника Паскаля.
В итоге получим еще одну формулу для чисел Каталана:
С (n)  C 2nn11  C 2nn21 .
(7)
И действительно, 1=1-0, 2=3-1, 5=10-5, 14=35-21, 42=126-84, 132=462-330, …
15
Теперь можно легко вывести “старую формулу” для чисел Каталана:
С 2nn
 (2n  1)!  1
2n!
(2n  1)! 
2n
1 








n  1 n!(n  1)! n!(n  2)!  n(n  1)( n  1)  n!(n  2)!  n  1 n  1
(2n  1)!
(2n  1)!

 C 2nn11  C 2nn21
n!(n  1)! (n  1)!(n  2)!
Упражнение. Покажите, что верна формула C 2nn12  C 2nn32  С 2nn11  C 2nn21 .
Распределение времени выигрыша
Зададим читателю один естественный и на первый взгляд очень простой вопрос. Пусть
двое играют в орлянку и бросают монету достаточно много раз (N). Какую–то часть
времени выигрывает первый игрок, какую–то часть времени второй. Для большей
точности скажем, что между двумя последовательными моментами бросания монеты в
выигрыше находится тот игрок, который либо до, либо после бросания монеты выигрывал
(т.е. если сначала у первого игрока выигрыш был ноль, а затем стал равен единице, то
считается, что на таком промежутке времени выигрывает первый игрок). Будем считать,
что игра длится одну единицу времени, а монета бросается с одинаковой частотой.
Получим некоторое отношение выигрышей: время t в выигрыше находится первый игрок,
время 1-t в выигрыше находится второй игрок. При всевозможных N–кратных бросаниях
монеты будут выпадать разные пары (t,1-t). Какие распределения выигрыша по
времени встречаются наиболее часто?
Неискушенный в теории вероятностей и игре в орлянку читатель возможно скажет, что
скорее всего примерно половину времени в выигрыше будет находиться один игрок и
примерно половину времени другой.
И будет не прав! На самом деле ответ прямо противоположный. Наиболее вероятно, что
почти все время в выигрыше находится один из игроков — либо первый, либо второй.
Смена лидерства — очень редкое явление.
Процитируем здесь фразу из предисловия к знаменитому учебнику по теории
вероятностей В. Феллера [2]:
“Результаты, связанные со случайными колебаниями при
бросании монеты, показывают, что широко распространенное
представление о законе больших чисел ошибочно. Эти
результаты столь неожиданны и в такой степени не
согласуются с обычной интуицией, что даже искушенные
люди сомневались, что монета ведет себя в самом деле так
плохо, как предсказывает теория”.
Приведем лишь одно утверждение, из которого все станет ясно. Пусть бросание монеты
происходит 2n раз (без ограничения общности можно считать, что наше очень большое
число бросаний является четным).
Какова вероятность того, что все время первый игрок будет находиться в
выигрыше?
Всего количество различных исходов бросания монеты равно 2 2 n . Количества исходов,
соответствующие постоянному выигрышу первого игрока считаются с применением
принципа отражения. Если его конечный выигрыш будет равен нулю, то, как мы знаем,
мы получим число Каталана, равное C 2nn11  C 2nn21 . Если конечный выигрыш первого
игрока равен единице, то по тому же принципу отражения нам нужно рассмотреть
16
разность двух других чисел в (2n-1)–й строке треугольника Паскаля: C 2nn 1  C 2nn31 . Если
окончательный выигрыш равен двум, то мы получим C2nn11  C2nn41 , и так далее. В итоге
получим сумму элементов (2n+1)–й строки треугольника Паскаля, при которой все
элементы, кроме двух центральных, сокращаются по симметричности, а эти центральные
и дают искомую сумму: С 2nn 1  C 2nn11  C 2nn .
Таким образом, количество исходов, при которых первый игрок выигрывает все время,
равно C 2nn . При различных исходах 2n–кратного бросания монеты первый игрок может
2n  2
2n  4
2
,... ,0 частей
находиться в выигрыше все время (т.е. 1),
часть времени,
2n
2n
2n
времени (нетрудно заметить, что количество долей времени, в течении которых
выигрывает один игрок, обязательно четно). Все эти случаи встречаются с некоторой
частотой. Как мы только что сосчитали, первый игрок постоянно выигрывает в
C 2nn случаях. Из соображений симметричности то же можно сказать и о случаях
постоянного лидерства второго игрока.
Пусть для четного числа 2k<2n число A(k) означает количество случаев, когда первый
k
игрок выигрывает в течении
единиц времени и проигрывает оставшееся время.
n
Чуть более сложно можно доказать следующую формулу (мы этого делать не будем,
желающие могут найти подробное доказательство в учебнике Феллера):
A(k )  C2kk C2n(nkk )
(8)
Покажем, что величина A(k) достигает максимума при k=0 и k=n, т.е. когда один из
игроков выигрывает все время. Действительно, при значениях k, отличных от нуля,
формула (8) показывает, что A(k) равно количеству путей на треугольнике Паскаля,
идущих от начала до середины (2k)–й строки, умноженное на количество путей, идущих
от начала до середины (2n-2k)–й строки. Это же количество, очевидно, можно трактовать
как число путей, выходящих из начала и идущих в середину (2n)–й строки, проходящих
через середину (2k)–й строки. В то же время A(0)=A(n) означает число всех путей, идущих
из начала и доходящих до середины (2n)–й строки, что очевидно, больше, чем A(k).
Заметим, что число A(k) тем больше, чем дальше находится k от n, и достигает своего
максимума при k=0 и k=n.
На самом деле верно и более сильное утверждение: функция A(k) имеет минимум при
n
k  если n четно. И вообще:
2
наименее вероятными являются ситуации, при которых игроки
выигрывают в течение примерно одинакового времени.
Литература:
17
[1] С.К.Ландо, Комбинаторика, изд. Независимого Московского
университета, 1995.
[2] В.Феллер, Введение в теорию вероятностей и ее приложения,
т.2.,М.:Мир, 1967.
[3] В.О.Мантуров, Теория узлов, М.–Ижевск: РХД, 2005.
18
Download