Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дискретная математика & математическая логика

..pdf
Скачиваний:
48
Добавлен:
15.11.2022
Размер:
19.42 Mб
Скачать

Получаем 7 частей:

х(3) = 7.

Как быть при n = 4? Возникает сомнение, что число частей будет зависеть от расположения четвёртой прямой – рис. 2.5:

Рис. 2.5. Разбиение плоскости четырьмя прямыми – первый вариант

Или иначе – рис. 2.6?

Рис. 2.6. Разбиение плоскости четырьмя прямыми – второй вариант

К счастью, всё едино, х(4) = 11 – рис. 2.7:

51

 

4

6

 

 

3

 

10

 

9

2

 

8

 

 

1

Рис. 2.7. Разбиение плоскости четырьмя прямыми

Если взять пятую прямую, то х(5) = 16. Получаем ряд чисел

2, 4, 7, 11, 16.

Разностьсоседнихчиселдаётнатуральныйряд, начинающийсяс2:

4 – 2 = 2,

7 – 4 = 3,

11 – 7 = 4,

16 – 11 = 5…

Получается, что очередная, n-я прямая увеличивает число имевшихся частей на n!

Похоже, что х(n) = х (n – 1) + n.

Пусть (n – 1)-я прямая уже есть. Начинаем проводить n-ю из бесконечности. Новая прямая идёт по одной из областей, на которые разделена плоскость. Но вот она встретила какую-то прямую – и эта область разбилась на две части. Новая прямая идёт дальше, встречает другую, «старую» прямую и разделяет надвое и эту область. Таким образом, новая прямая встречает и пересекает все n – 1 «старых» прямых и при пересечении с последней число частей уве-

52

личится на n – 1. Но на этом новая прямая не останавливается: прощаясь с (n – 1)- й прямой, она режет очередную n-ю область, уходя в бесконечность! Таким образом, действительно, х (n) = х (n – 1) + n. Эторекурсия!

Попробуем найти формулу числа частей в зависимости от n, т.е. раскроем рекурсию.

Возьмём, например, формулу

x(n) = an2 + bn + c,

где коэффициенты пока неизвестны. Их надо подобрать так, чтобы

х(n) – х(n – 1) = n,

х(1) = 2.

Возьмём х(n – 1), тогда

x(n 1) = a(n 1)2 + b(n 1) + c = (an2 + bn + c) 2an (b a) = = x(n) 2an (b a),

или x(n 1) = x(n) [2an + (b a)].

Таким образом, из первого условия получим, что x(n 1) x(n) = [2an + (b a)] = n.

Это возможно только в случае, если

2а = 1, b а = 0,

поэтому

a = b = 1 , 2

т.е. x(n) = 1 n2 + 1 n + c. 2 2

Но из первого условия

53

x(1) = 1 + 1 + c, 2 2

тогда с = 1.

В результате имеем

x(n) = 1 n2 + 1 n + 1,

 

 

2

2

 

или иначе:

 

 

 

 

 

x(n) =

n2

+

n

+ 1 =

n2 + n + 2

.

 

 

 

2

2

2

 

Мы раскрыли рекурсию!

Задача о разбиении пространства плоскостями

На сколько частей у(n) разбивает пространство n плоскостей, если никакие две из них не параллельны, никакие три не пересекаются по одной прямой и никакие четыре не проходят через одну точку [5]?

Ясно, что у(1) = 2. Пусть уже имеется n плоскостей и пространство разбито на у(n) частей. Проведём (n + 1)-ю плоскость. Каждая из ранее построенных плоскостей пересекается с ней по какой-либо прямой, и эти n прямых разбивают новую плоскость на х(n) частей. А каждая из этих частей плоскости делит некоторую ранее «отрезанную» область пространства на две части, т.е. (n + 1)-я плоскость увеличивает число частей на х(n).

Посему

y(n + 1) = y(n) + x(n) = y(n) + n2 + n + 2 . 2

Можно раскрыть эту рекурсию по аналогии с предыдущей задачей, взяв y(n) = an3 + bn2 + cn + d.

54

Можно показать, что

y(n) = n3 + 5n + 6 . 6

2.6. ОБОБЩЁННЫЙ ФАКТОРИАЛ И ЧИСЛА КАТАЛАНА

На окружности заданы 2n точек. Сколькими способами их можно попарно соединить с помощью n отрезков, чтобы не было их пересечений [5]?

n = 1. Здесь возможен один способ – рис. 2.8:

Рис. 2.8. Соединение двух точек окружности при n = 1

n = 2. Здесь возможны два способа – рис. 2.9, 2.10:

Рис. 2.9. Соединение четырёх точек окружности – первый вариант

55

Рис. 2.10. Соединение четырёх точек окружности – второй вариант

Пронумеруем точки. Обозначим варианты, как множества:

первый – {1, 2}, {3, 4},

второй – {1, 4}, {2, 3}.

Теперь n = 3. Вот, например, первый вариант – рис. 2.11:

Рис. 2.11. Соединение шести точек окружности – первый вариант

Для этого варианта {1, 2}, {3, 6}, {4, 5}.

Далее – рис. 2.12:

56

Рис. 2.12. Соединение шести точек окружности – второй вариант

Второй вариант – {1, 4}, {2, 3}, {5, 6}.

Далее – рис. 2.13:

Рис. 2.13. Соединение шести точек окружности – третий вариант

Третий вариант – {1, 6}, {2, 5}, {3, 4}.

Попробуем иначе – рис. 2.14:

57

Рис. 2.14. Соединение шести точек окружности – четвёртый вариант

Четвёртый вариант – {1, 2}, {3, 4}, {5, 6}.

И наконец – рис. 2.15:

Рис. 2.15. Соединение шести точек окружности – пятый вариант

Пятый вариант – {1, 6}, {2, 3}, {4, 5}.

Построим таблицу вариантов для шести точек:

58

{1, 2}, {3, 6}, {4, 5}

{1, 4}, {2, 3}, {5, 6}

{1, 6}, {2, 5}, {3, 4}

{1, 2}, {3, 4}, {5, 6}

{1, 6}, {2, 3}, {4, 5}

Таким образом, возможны пять способов.

Обозначим искомое число способов z(n). Предположив, что значения z(1), z(2), …, z(n) известны, попробуем найти z(n + 1).

Расположим на окружности 2(n + 1) точек и выберем любую из них – например, А – рис. 2.16:

Рис. 2.16. Соединение 2(n + 1) точек окружности

Точку А можно соединить с любой из оставшихся, при этом все точки разобьются на две группы. Точки разных групп соединять нельзя – иначе получим пересечение отрезков. Будем соединять точки внутри групп. Но если точек внутри групп нечётное количество – то одной точке не хватит пары! Значит, точку А надо соединять не беспорядочно, а через одну, так, чтобы в первой и второй группах осталось соответственно 0 и 2n точек; 2 и 2n – 2; 4 и 2n – 4; …; 2 n и 0. Если в одной группе 0 точек, то все соединения дают 2n точек другой группы, а это z(n).

Если в одной из групп z(m) ≠ 0 точек, то в другой 2(n m) ≠ 0 точек, тогда число возможных соединений по комбинаторному правилу умножения получим:

59

z(m) · z(n m).

Следовательно,

z(n + 1) = z(n) + z(1) z(n – 1) + z(2) z(n – 2) + … + + z(n – 2) z(2) + z(n – 1) z(1) + z(n).

Итак: z(1) = 1,

z(2) = 1 + 1 = 2,

z(3) = 2 + 1 1 + 2 = 5,

z(4) = 5 + 1 2 + 2 1 + 5 = 14,

z(5) = 14 + 1 5 + 2 2 + 5 1 + 14 = 42.

Эти числа рассматривал в XVII веке Эйлер, правда, в связи с другой задачей. Он подобрал (как сам признавался, с большим трудом) формулу для z(n):

z(n) = (4n − 2)!!!!, (n + 1)!

где в числителе – обобщённый факториал, n! – произведение всех натуральных чисел до n включительно; n!! – двойной факториал – натуральные числа перемножаются через одно и наибольший сомножитель тоже равен n, т.е. если n – чётное, то n!! – произведение

всех чётных, не превышающих n: 2 4 6 … n.

 

Если n – нечётное,

то

n!! – произведение

всех нечётных,

не превышающих n: 1 3 5 …

 

n. Аналогично n!!! –

перемножается

каждое третье число, а n!!!! – каждое четвёртое.

У Эйлера (4n – 2)!!!! = 2 6 10 … (4n – 2).

Эти числа принято называть числами Каталана – в честь бельгийского математика XIX века, хотя Эйлер открыл их много раньше.

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]