Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii.pdf
Скачиваний:
81
Добавлен:
22.05.2015
Размер:
403.19 Кб
Скачать

Приложение Б. Рекуррентные соотношения

39

Приложение Б. Рекуррентные соотношения

С рекуррентными соотношениями мы уже встречались, например, в разделе «Комбинаторика». Под рекуррентными соотношениями понимаются соотношения (формулы), в которых некоторая величина, обычно функция, выражена через саму себя, но с другим параметром. К уже знакомым рекуррентным соотношениям относятся факториал, биномиальный коэффициент, числа Стирлинга, числа Белла, НОД. В этой лекции мы рассмотрим некоторые интересные задачи, приводящие к рекуррентным соотношениям, и способы их разрешения, то есть преобразования их к простой вычисляемой формуле.

Задача о ханойских башнях

Пожалуй одна из самых известных задач, решаемых рекурсивно. Сформулировал задачу в качестве головоломки Франсуа Эдуард Люка в XIX веке. Если коротко, то задача формулируется так: есть три колышка, на один из них нанизано n дисков разного размера так, что меньшие диски располагаются на больших. Требуется переложить эти диски с сохранением их порядка на один из двух других колышков, используя в качестве промежуточного один из них, при этом запрещается класть диски большего размера на меньшие.

Рассмотрим для начала решения этой задачи для небольших значений n: при n = 0, то есть когда дисков совсем нет, потребуется 0 перемещений; при n = 1 – одно, сразу на целевой колышек; при n = 2 – три, меньший диск переместим на второй колышек, затем больший диск на целевой (третий) диск и затем меньший диск со второго на целевой; при n = 3 – семь перемещений.

Обозначим количество перемещений дисков через T(n), тогда

T(0)=0,T (1)=1, T(2)=3, T(3)=7 .

Давайте подумаем, сколько перемещений дисков потребуется при произвольном их количестве n. Для перемещения одного, самого нижнего диска достаточно одного перемещения его на целевой колышек. Но сколько раз мы должны переместить остальные n1 дисков, прежде чем сможем переместить этот самый нижний? Не трудно догадаться, что эти n1 дисков будут расположены также как и первоначальные n дисков, но уже на втором колышке. Самое интересно, что ответ для этого случая у нас уже есть, это T(n1) . После того как мы переместим самый нижний диск на третий колышек нам потребуется вновь переместить остальные n1 дисков со второго колышка на него. И количество таких перемещений нам уже известно, это T(n1) . В итоге получаем формулу:

T(n)=2 T (n1)+1 .

Избавиться от рекуррентности можно разными способами. Рассмотрим их.

Задача о разрезании пиццы

Задача Иосифа Флавия

40

Симоненко Е.А. Дискретная математика. Лекции

Библиография

Наилучшее введение в рекуррентные соотношения и производящие функции сделано в [Грэхем, Кнут, Паташник]. Можно также почитать соответствующее дополнение к [Хаггарти]. Производящим функциям посвящён отдельный учебник [Ландо]. Очень интересная книга [Окулов, Лялин], посвящённая единственной задаче – о ханойских башнях.

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