На бирже курсовых и дипломных проектов можно найти образцы готовых работ или получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ, диссертаций, рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


Диплом Задача о ханойской башне. Задача о разрезании пиццы. Задача Иосифа Флавия. Дискретная математика. Теория возвратных последовательностей - особая глава математики. Исчисление конечных разностей. Последовательности.

Информация:

Тип работы: Диплом. Предмет: Математика. Добавлен: 08.08.2007. Сдан: 2007. Уникальность по antiplagiat.ru: --.

Описание (план):


4
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Вятский государственный гуманитарный университет
Математический факультет
Кафедра алгебры и геометрии
Выпускная квалификационная работа
Возвратные задачи
Выполнила:
студентка V курса математического факультета
Ковязина Юлия Николаевна
Научный руководитель:
кандидат физико-математических наук, доцент кафедры алгебры и геометрии И.А.Семенова
Рецензент:
ст. преподаватель кафедры алгебры и геометрии
А.Н.Семенов

Допущена к защите в государственной аттестационной комиссии
«___» __________2005 г. Зав. Кафедрой Е.М. Вечтомов
«___»___________2005 г. Декан факультета В.И. Варанкина
Киров 2005
Содержание
Введение 3
Глава 1. 6
1.1 Задача о ханойской башне 6
1.2 Задача о разрезании пиццы 7
1.3 Задача Иосифа Флавия 10
Глава 2. Решение задач 19
Заключение 41
Библиографический список 42
Введение
Дискретная математика в настоящее время играет большую роль в разработке принципов работы компьютера, т.к. работа компьютера представляет собой выполнение последовательности дискретных шагов, приводящих к решению поставленной перед компьютером задачи.
Рассмотренная мною тема «Возвратные задачи» является небольшой частью дискретной математики, поэтому данная тема на сегодняшний момент является не менее актуальной.
Цель моей работы - изучить имеющийся теоретический и практический материал по данной теме и применить его к решению задач.
Данная работа состоит из введения, двух глав и заключения. Во введении приводятся примеры рекуррентных соотношений, с помощью которых можно задать некоторые последовательности, а так же рекуррентные соотношения, которые могут использоваться при решении задач. В первой главе описываются три задачи: задача о ханойской башне, задача о разрезании пиццы и задача Иосифа Флавия, а также доказываются некоторые факты, которые в литературе предлагаются для самостоятельного доказательства. Вторая глава посвящена решению задач на данную тему. В заключении делаются выводы о проделанной работе и указываются дальнейшие перспективы.
В основе решения возвратных задач лежит идея возвратности (или рекуррентности), согласно которой решение всей задачи зависит от решения той же самой задачи меньших размеров.
Тема «Возвратные последовательности» не является изолированной, нигде не используемой теорией. Наоборот, возвратные последовательности близки к школьному курсу математики (арифметическая и геометрическая прогрессии, последовательности квадратов и кубов натуральных чисел и т.д.), используются в высшей алгебре, геометрии, математическом анализе и других математических дисциплинах. Теория возвратных последовательностей составляет особую главу математической дисциплины, называемой исчислением конечных разностей; представляет собой частную главу о последовательностях.
Таким образом, возвратные последовательности являются настоящей маленькой теорией, законченной, простой, ясной.
Определение: Пусть имеется последовательность {un}:
u1, u2, u3,…, un, … (1)
Если существует натуральное число k и числа a1, a2, a3, …,ak (действительные или мнимые) такие что, начиная с некоторого номера n и для всех следующих номеров
un+k=a1•un+k-1 + a2•un+k-2 +…+ak•un при n ? 1 (2)
то последовательность (1) называется возвратной последовательностью порядка k , а соотношение (2) - возвратным (рекуррентным) уравнением порядка k.
Таким образом, зная k первых членов последовательности можно определить всю последовательность, т.е. вычислить любой наперед заданный член последовательности.
С помощью рекуррентных соотношений можно задать следующие последовательности:
1). Геометрическая прогрессия
un+1 = q•un
2). Арифметическая прогрессия
un+1 = un + d
другой вид un+2 = 2•un+1 ? un
3). Последовательность чисел Фиббоначи
un+2 = un+1 +un
4). Последовательность квадратов натуральных чисел
un+1 = un + 2•n + 1
другой вид un+3 = 3•un+2 ? 3•un+1 + un
5). Последовательность кубов натуральных чисел
un+4 = 4•un+3 ? 6•un+2 +4•un+1 ? un
6). Все периодические последовательности: u1, u2, …, uk+1, …
un+k = un.
Также рекуррентные соотношения могут использоваться при решении задач (в частности, при доказательстве равенств):
7). Интегрирование простейших рациональных дробей IV типа
Обозначим Im= , где t = x+
Im= •Im-1
8). Интеграл In=
In=•In-2
9). Формула длины стороны при удвоении числа сторон правильного вписанного многоугольника
an= , при n ? 2
R - радиус описанной окружности
Если сторона a1 исходного правильного вписанного многоугольника задана, то an есть сторона многоугольника, полученного из исходного (n-1) кратным удвоением числа сторон.
10). Дифференциальные уравнения высших порядков
y(n) = f(x, y, y', y», …, y(n-1))
11). Определитель Вандермонда
?n=?(x1, x2, …, xn)=
? (x1, x2, …, xn) =(xn ?x1)(xn-1?x1)…(x2?x1)•?(x2, x3, …,xn).
Глава 1
1.1. Задача о ханойской башне
Рассмотрим сначала маленькую изящную головоломку под названием ханойская башня, которую придумал французский математик Эдуард Люка в 1883 г. Башня представляет собой восемь дисков, нанизанных в порядке уменьшения размеров на один из трех колышков. Задача состоит в том, чтобы переместить всю башню на один из других колышков, перенося каждый раз только один диск, и не помещая больший диск на меньший.
Будем решать эту задачу в общем виде, т.е. посмотрим, что будет в случае n дисков.
Будем говорить, что Tn есть минимальное число перекладываний, необходимых для перемещения n дисков с одного колышка на другой по правилам Люка.
Рассмотрим крайние случаи: Т0=0, T1=1, T2=3, T3=7. Эксперимент с тремя дисками дает ключ к общему правилу перемещения n дисков: сначала мы перемещаем (n?1) меньших дисков на любой из колышков (что требует Тn-1 перекладываний), затем перекладываем самый большой диск (одно перекладывание ) и, наконец, помещаем (n?1) меньших дисков обратно на самый большой диск (еще Тn-1 перекладываний). Таким образом, n дисков (при n>0) можно переместить самое большое за 2Tn-1+1 перекладываний (т.е. достаточно перекладываний): Tn ? 2Tn-1+1.
Сейчас покажем, что необходимо 2Tn-1+1 перекладываний. На некотором этапе мы обязаны переместить самый большой диск. Когда мы это делаем, (n?1) меньших дисков должны находиться на одном колышке, а для того чтобы собрать их вместе, потребуется по меньшей мере Тn-1 перекладываний. Самый большой диск можно перекладывать и более одного раза. Но после перемещения самого большого диска в последний раз мы обязаны поместить (n?1) меньших дисков (которые опять должны находиться на одном колышке) обратно на наибольший диск, что также требует Тn-1 перекладываний. Следовательно, Tn ? 2Tn-1+1.
Эти два неравенства вместе с тривиальным решением при n=0 дают рекуррентное соотношение:
Т0=0
Tn = 2Tn-1+1 при n>0
При достаточно большом n для вычисления Тn потребуется слишком много времени, поэтому получим Тn в простой, компактной, «замкнутой форме», что позволит вычислить Тn быстро.
Первый способ решения (угадывание правильного решения с последующим доказательством, что наша догадка верна).
Вычислим: Т3=2•3+1=7; Т4=2•7+1; Т5=2•15+1; Т6=2•31+1=63. Теперь можно сделать предположение, что
Тn =2n ? 1 при n?0. (2)
Докажем методом математической индукции по числу n:
1) База: n=0, Т0=20-1=1-1=0 (верно);
2) Индуктивный переход: пусть доказано для всех чисел t ? (n-1). Докажем для t=n: Тn= 2Tn-1+1 2(2n-1?1)+1 = 2•2n-1?2+1 = 2n ? 1
Из пунктов 1 и 2 следует: при n?0 Тn = 2n ? 1
Второй способ решения.
К обеим частям соотношения (1) прибавим 1:
Т0+1 = 1,
Тn+1 = 2Tn-1+2 при n>0.
Обозначим Un = Tn+1, тогда получим
U0 = 1
Un = 2Un-1 при n>0.
Решением этой рекурсии есть Un=2n; следовательно Тn = 2n?1.
1.2. Задача о разрезании пиццы
Формулировка задачи: сколько кусков пиццы можно получить, делая n прямолинейных разрезов ножом? Или, каково максимальное число Ln областей, на которые плоскость делится n прямыми?
Снова начнем с рассмотрения крайних случаев. 4
Эксперимент с тремя прямыми показывает, что добавленная третья прямая может рассекать самое большое три старых области вне зависимости от того, как расположены первые две прямые:
Таким образом, L3=4+3=7 - самое большое, что можно сделать.
Обобщая, приходим к следующему выводу: новая n-я прямая (при n>0) увеличивает число областей на k когда рассекает k старых областей когда пересекает прежние прямые в (k?1) различных местах. Две прямые могут пересекаться не более чем в одной точке. Поэтому новая прямая может пересекать (n?1) старых прямых не более чем в (n?1) различных точках, и мы должны иметь k ? n. Установлена верхняя граница:
Ln ? Ln-1+ n при n>0
В этой формуле можно достичь равенства следующим образом: проводим n-ю прямую так, чтобы она не была параллельна никакой другой прямой (следовательно, она пересекает каждую из них) и так, чтобы она не проходила ни через одну из имеющихся точек пересечения (следовательно, она пересекает каждую из прямых в различных местах). Поэтому рекуррентное соотношение имеет вид:
L0 = 1
Ln = Ln-1+ n при n > 0
Теперь получим решение в замкнутой форме.
Ln = Ln-1+ n = Ln-2+ (n?1) + n = Ln-3+ (n?2) + (n?1) + n = … = L0+ 1 + 2+ +… + (n?2) + (n?1) + n = 1 +
Ln = + 1 при n ? 0 (3)
Докажем полученное равенство методом математической индукции.
1) База: n=0, L0= = 1 (верно);
2) Индуктивный переход: пусть доказано для всех чисел t ? (n-1). Докажем для t=n:
Ln = Ln-1+ n = =
Из пунктов 1 и 2 следует: при n ? 0 Ln = + 1
А теперь небольшая вариация на тему прямых на плоскости: предположим, что вместо прямых линий мы используем ломаные линии, каждая из которых представлена одним «зигом». Каково максимальное число Zn областей, на которые плоскость делится n такими ломаными линиями?
Частные случаи:
Ломаная линия подобна двум прямым с тем лишь отличием, что области сливаются, если «две» прямые не продолжать после их пересечения:
Области 2, 3 и 4, которые были бы разделены при наличии двух прямых, превращаются в единую область в случае одной ломаной линии, т.е. мы теряем две области. И если привести все в надлежащий порядок, то точка излома должна лежать «по ту сторону» пересечений с другими линиями, и мы теряем только две области на одну линию. Таким образом,
Zn = L2n ? 2n = = 2n2 ?n+1 при n ? 0 (4)
Сравнивая решения в замкнутой форме (3) и (4), мы приходим к выводу, что при большом n,
Ln ~ ,
Zn ~ 2n2 ,
так что ломаные линии дают примерно в четыре раза больше областей, чем прямые.
1.3. Задача Иосифа Флавия
Формулировка задачи: в круг выстроено n человек, пронумерованных числами от 1 до n, и исключается каждый второй из оставшихся до тех пор, пока не уцелеет только один человек. Определить номер уцелевшего, J(n).
Например, при n = 10 порядок исключения - 2, 4, 6, 8, 10, 3, 7, 1, 9, так что остается номер 5, т.е. J(10) = 5. При n = 2 номер уцелевшего J(2) = 1. Можно было бы предположить, что J(n) = при четном n. Однако это не так - предположение нарушается при n = 4 и n = 6.
N
1
2
3
4
5
6
J(n)
1
1
3
1
3
5
J(n) всегда будет нечетно, т.к. первый обход по кругу исключает все четные номера. К тому же, если само n четно, мы приходим к ситуации, подобной той, с которой начали, за исключением того, что остается вдвое меньше людей, и их номера меняются.
Итак, решим поставленную задачу.
Допустим, что первоначально имеется 2n людей. После первого обхода мы остаемся с номерами:
Следующий обход будет начинаться с номера 3. Это тоже самое, если бы мы начинали с n людей, за исключением того, что номер каждого уцелевшего удваивается и уменьшается на 1. Тем самым
J(2n) = 2•J(n) ? 1 при n ? 1 (5)
Теперь можно быстро продвигаться к большим n. Например, нам известно, что J(10) = 5, поэтому J(20) = 2•J(10) ? 1 = 2•5 ? 1 = 9, аналогично J(40) = 2•J(20) ? 1 = 17, и вообще можно вывести, что
J(5•2m) = 2m+1+1.
J(5•2m) = J(2•2m-1•5) = 2•J(2m-1•5) ? 1 = 2•J(2•2m-2•5) ? 1 = 22•J(2m-2•5)? 21 ? 1 = =23•J(2m-3•5) ? 22 ? 21 ? 1=24•J(2m-4•5) ? 23 ? 22 ? 21 ? 1= …= 2m•J(5) ? (2m-1+2m-2+ +…+23+22+21+1) = 2m•J(5) ? = 2m•3 ? 2m + 1 = 2m+1+1.
Теперь посмотрим, что будет в случае, когда имеется 2n+1 людей. После первого обхода жертва с номером 1 уничтожается сразу после жертвы с номером 2n, и мы остаемся с номерами:
Получили почти первоначальную ситуацию с n людьми, но на этот раз номера уцелевших удваиваются и увеличиваются на 1. Таким образом,
J(2n+1) = 2•J(n) + 1 при n ? 1 (6)
Объединение уравнений (5) и (6) с уравнением J(1)=1 дает рекуррентное соотношение, которое определяет J во всех случаях:
J(1) = 1
J(2n) = 2•J(n) ? 1 при n ? 1 (7)
J(2n+1) = 2•J(n) + 1 при n ? 1
Решим данное рекуррентное соотношение. Составим таблицу первых значений J(n):
n
1
2 3
4 5 6 7
8 9 10 11 12 13 14 15
16
J(n)
1
1 3
1 3 5 7
1 3 5 7 9 11 13 15
1
Если сгруппировать значения n по степеням двойки (в таблице эти группы отделены вертикальными линиями), то в каждой группе J(n) всегда будет начинаться с 1, а затем увеличиваться на 2. Итак, если записать n в виде n = 2m+k, где 2m - наибольшая степень 2, не превосходящая n, а k - то, что остается, то решение рекуррентного соотношения должно иметь вид:
J(2m+k) = 2k+1 при m ? 0 и 0 ? k < 2m (8)
(Если 2m ? n < 2m+1, то остаток k = n?2m удовлетворяет неравенству 2m?k+2m<2m+1, т.е. 0 ? k < 2m)
Докажем (8) методом математической индукции по m.
1) База: m = 0 => k = 0
J(20+0) = J(1) = 2•0 + 1 = 1 (верно);
2) Индуктивный переход: пусть верно для всех чисел t ? (m ? 1). Докажем для t=m:
a) если m > 0 и 2m+k=2n, то k - четно и J(2m+k) = J(2(2m-1+)) = 2•J(2m-1+) ? 1 2(2• + 1) ?1 = 2k + 1
b) если m > 0 и 2m+k=2n+1, то k - нечетно (т.е. k=2t+1) и J(2m+k) = = J(2m+(2t+1)) = J(2(2m-1+t) +1) 2•J(2m-1+ t) + 1 2(2t+1) + 1 = 2k + 1
Другой способ доказательства, когда k - нечетно:
Можно заметить, что J(2n+1) ? J(2n) = 2, тогда J(2m+k) = 2 + J(2m + (k? ?1)) J(2m+k) = 2 + 2(k ?1) + 1 => J(2m+k) = 2k+1.
Из пунктов 1 и 2 следует: при m ? 0 и 0 ? k < 2m J(2m+k) = 2k+1.
Решение всякой задачи может быть обобщено так, что его можно применить к более широкому кругу задач. Поэтому изучим решение (8) и исследуем некоторые обобщения рекуррентного соотношения (7).
Обратимся к двоичным представлениям величин n и J(n) (т.к. степени 2 играли важную роль в нашем поиске решения).
n = (bm bm-1 … b1 b0)2 ;
т.е. n = bm2m + bm-12m-1 + … + b12 + b0
где каждое bi равно 0 или 1, причем старший бит bm равен 1. Вспоминая, что n=2m+k, последовательно получаем:
n = (1 bm-1 … b1 b0)2
k = (0 bm-1 … b1 b0)2
(т.к. k= n?2m = 2m + bm-12m-1 + … + b12 + b0 ? 2m = 0•2m + bm-12m-1 + …+ b12 + b0)
2k = (bm-1 … b1 b0 0)2
(т.к. 2 k=2(bm-12m-1 +bm-22m-2 …+ b12 + b0)=bm-12m + bm-22m-1 + … + b122 + b02+0)
2k+1 = (bm-1 … b1 b0 1)2
J(n) = (bm-1 … b1 b0 bm)2
(т.к. J(n) = 2k+1 и bm = 1)
Таким образом, мы получили, что
J((bm bm-1 … b1 b0)2) = (bm-1 … b1 b0 bm)2 (9)
т.е. J(n) получается путем циклического сдвига двоичного представления n влево на один сдвиг.
Рассмотрим свойства функции J(n).
Если мы начнем с n и итерируем J-функцию m+1 раз, то тем самым осуществляем циклический сдвиг на m+1 битов, а т.к. n является (m+1)-битовым числом, то мы могли бы рассчитывать в итоге снова получить n. Но это не совсем так. К примеру, если n = 27, то J(11011) = ((10111)2), но затем J(10111) = ((1111)2), и процесс обрывается: когда 0 становится старшим битом - он пропадает (т.к. принято, что коэффициент при старшей степени не равен 0). В действительности J(n) всегда должно быть ? n по определению, т.к. J(n) есть номер уцелевшего; и если J(n) < n, мы никогда не сможем получить снова n в следующих итерациях.
Многократное применение J порождает последовательность убывающих значений, достигающих, в конце концов «неподвижной точки» n, такой, что J(n)=n. Докажем, что J порождает последовательность убывающих значений, т.е. покажем, что 2n > 2n-1 + 2n-2 +…+21 + 1 при n ? 1.
Докажем методом математической индукции по n:
1) База: n=1, 21 > 20 (верно);
2) Индуктивный переход: пусть верно для всех чисел t ? (n-1) , т.е. выполняется неравенство 2t-1 > 2t-2 + 2t-3 +…+21 + 1. Докажем для t=n:
(2n-1 > 2n-2 + 2n-3 +…+21 + 1) умножим на 2, получим 2n > 2n-1 + 2n-2 +…+22 + 21. Левая и правая части неравенства четные числа, тогда между ними есть хотя бы одно нечетное число, следовательно, прибавление 1 к правой части неравенства (четное число +1 = нечетное число) неравенство не изменит. Т.о. получаем нужное нам неравенство: 2n > 2n-1 + 2n-2 +…+21 + 1 при n ? 1.
Свойство циклического сдвига позволяет выяснить, чем будет «неподвижная точка»: итерирование функции m и более раз всегда будет порождать набор из одних единиц со значением , где н(n) - число равных 1 битов в двоичном представлении n (это следует из того, что имеем последовательность 20 , 21 , 22 ,…,2n-1, 2n, и по формуле суммы геометрической прогрессии получаем ). Так, например: н(27) = н(11011) = 4, тогда J(J(…J(27)…)) =24 ?1=15
Теперь давайте вернемся к нашему первоначальному предположению, что J(n) = при четном n. Вообще-то это неверно, но мы выясним, когда это верно: J(n) = , тогда 2k+1 = => k = . Если число k = = целое, то n= 2m + k будет решением, т.к. k < 2m. Нетрудно убедиться, что (2m ? 2) кратно 3, когда m нечетно, но не когда m четно. Действительно, если m - нечетно, то 2m ? 2 = 22k+1 ? 2 = 2(4k ? 1). Докажем методом математической индукции, что (4k ? 1) делится на три (где ):
1) База: k=1, 4?1=3, три делится на три (верно);
2) Индуктивный переход: пусть верно для всех чисел t ?(k?1), т.е (4t?1) делится на три. Докажем для t=k:
4k ? 1 = 4(4k-1 ? 1) + 3 (4k-1 ? 1) делится на три, и 3 делится на три => (4к?1) делится на три.
Таким образом, показали, что для m - нечетного (2m ? 2) делится на 3.
Теперь покажем, что при m - четном (2m ? 2) не делится на 3. Предположим противное: пусть (2m ? 2) делится на 3 при четном m, тогда , числа 2 и 3 взаимнопростые, следовательно, () должно делится на 3, т.е. =3q , но , a , т.е. получили, что , а это не верно. Следовательно, наше предположение не верно и 2m ? 2 не делится на 3 при четном m.
Таким образом, имеем бесконечно много решений уравнения J(n) = , и первые такие:
m
k
N= 2m + k
J(n) =2k+1=
n (двоичное)
1
0
2
1
10
3
2
10
5
1010
5
10
42
21
101010
7
42
170
85
10101010
Правый крайний столбец содержит двоичные числа, циклический сдвиг которых на одно позицию влево дает тот же самый результат, что и обычный сдвиг на одну позицию вправо (деление пополам).
Далее обобщим J - функцию, т.е. рассмотрим рекуррентность схожую с (7), но с другими константами: б, в и г; найдем решение в замкнутой форме.
f(1) = б,
f(2n) = 2f(n) + в при n ? 1, (10)
f(2n + 1) = 2f(n) + г при n ? 1.
Составим таблицу для малых значений n:
Анализируя таблицу можно сделать предположение, что коэффициенты при б равны наибольшим степеням 2, не превосходящим n; между последовательностями 2 коэффициенты при в уменьшаются на 1 вплоть до 0, а при г увеличиваются на 1, начиная с 0. Если выразить f(n) в виде:
f(n) = A(n)•б + B(n)•в + C(n)•г (11)
то, по-видимому,
A(n) = 2m ,
B(n) = 2m ?1?k, (12)
С(n) = k.
Здесь n = 2m + k и 0 ? k < 2m при n ? 1.
Докажем соотношения (11) и (12).
Докажем (11) методом математической индукции по числу n и при этом будем полагать, что (12) выполняется.
1) База: n=1=20+0 (m=k=0), f(1)=A(1)•б+B(1)•в+C(1)•г= =20•б+(20?1?0)•в+0•г = б (верно);
2) Индуктивный переход: пусть верно для всех чисел t ? (n-1) , т.е. выполняется равенство f(t) = A(t)•б + B(t)•в + C(t)•г. Докажем для t=n:
a) если n - четное, тогда k тоже четное, т.е. k = 2t, и f(n) = f(2m+2t) = =f(2(2m-1 + t)) 2•f(2m-1 + t)+в 2•(A(2m-1 + t)•б + B(2m-1 + t)•в + C(2m-1 + +t)•г) + в 2(2m-1•б + (2m-1?1?t)•в + t•г) + в = 2m•б + (2m?1?2t)•в + 2t•г = 2m•б+ + (2m?1?k)•в + k•г = A(n)•б + B(n)•в + C(n)•г;
b) если n - нечетное, тогда k тоже нечетно, т.е. k=2t+1, и f(n) = =f(2m+2t+1) = f(2(2m-1 + t)+1) 2•f(2m-1 + t)+ г 2•(A(2m-1 + t)•б + B(2m-1 + +t)•в + C(2m-1 + t)•г) + г 2(2m-1•б + (2m-1?1?t)•в + t•г) + г = 2m•б + +(2m?1?(2t+1))•в + (2t+1)•г = 2m•б+ + (2m?1?k)•в + k•г = A(n)•б + B(n)•в + C(n)•г.
Из пунктов 1 и 2 следует: для n ? 1 f(n) = A(n)•б + B(n)•в + C(n)•г.
Теперь докажем (12) в предположении, что (11) выполняется.
Если n - четное, тогда по соотношению (10) f(2n) = 2f(n) + в. Подставляя в данное равенство соотношение (11) получим:
A(2n)•б + B(2n)•в + C(2n)•г = 2(A(n)•б + B(n)•в + C(n)•г) + в
(A(2n) ? 2A(n))•б + (B(2n) ? 2B(n)?1)•в + (C(2n) ? 2C(n))•г = 0
Теперь подставим соотношение (12) в данное равенство и посмотрим, будет ли оно выполнятся: т.к. n = 2m + k => 2n = 2m+1+2k, тогда A(2n) = 2m+1 , B(2n)=2m+1?1?2k, С(n)=2k. Подставляем: (2m+1 ?2•2m)•б + +(2m+1?1?2k?2(2m?1?k)?1)•в + (2k ?2k)•г = 0 0•б + 0•в + 0•г = 0, получили 0=0 (верно);
Если n - нечетное, тогда по соотношению (10) f(2n+1) = 2f(n) + г. Снова подставляя в данное равенство соотношение (11) получим:
A(2n+1)•б + B(2n+1)•в + C(2n+1)•г = 2(A(n)•б + B(n)•в + C(n)•г) + г
(A(2n+1) ? 2A(n))•б + (B(2n+1) ? 2B(n))•в + (C(2n+1) ? 2C(n)?1)•г = 0
Теперь подставим соотношение (12) в данное равенство и посмотрим, будет ли оно выполнятся: n = 2m + k => 2n+1 = 2m+1+2k+1, тогда A(2n+1) = 2m+1 , B(2n+1) = 2m+1 ?1?(2k+1), С(n+1) = 2k+1. Подставляем : (2m+1 ?2•2m)•б + +(2m+1?2?2k?2(2m?1?k))•в + (2k+1 ?2k?1)•г=0 0•б + 0•в + 0•г = 0, получили 0=0 (верно).
Таким образом, мы показали, что соотношения (11) и (12) верные.
Выше было показано, что J - рекуррентность имеет решение в двоичной записи: J((bm bm-1 … b1 b0)2) = (bm-1 … b1 b0 bm)2, где bm = 1. Можно показать, что и обобщенная рекуррентность (10) имеет похожее решение.
Запишем соотношение (10) следующим образом:
f(1) = б,
f(2n + j) = 2f(n) + вj при j = 0, 1 и n ? 1,
если положить в0 = в и в1 = г. Тогда:
f((bm bm-1 … b1 b0)2) = 2f((bm bm-1 … b1)2) + вb = 4f((bmbm-1…b2)2)+2вbb= =…=2mf((bm)2)+2m-1вb+ … + 2вbb= 2m б + 2m-1вb+ … + 2вbb.
Если мы расширим систему счисления с основанием 2 таким образом, что в ней допустимы произвольные числа, а не только 0 и 1, тогда предыдущий вывод означает, что
f((bm bm-1 … b1 b0)2) = (б вb вb вb вb)2 (16)
Итак, изменение системы счисления привело нас к компактному решению (16) обобщенной рекуррентности (15).
Глава 2
Решение задач
Задача 1. То, что все лошади одной масти, можно доказать индукцией по числу лошадей в определенном табуне. Вот так:
«Если существует только одна лошадь, то она своей масти, так что база индукции тривиальна. Для индуктивного перехода предположим, что существует n лошадей (с номерами от 1 до n). По индуктивному предположению лошади с номерами от 1 до n?1 одинаковой масти, и, аналогично, лошади с номерами от 2 до n имеют одинаковую масть. Но лошади посередине с номерами от 2 до n?1 не могут изменять масть в зависимости от того, как они сгруппированы, - это лошади, а не хамелеоны. Поэтому в силу транзитивности лошади с номерами от 1 до n также должны быть одинаковой масти. Таким образом, все n лошадей одинаковой масти. Что и требовалось доказать».
Есть ли ошибка в приведенном рассуждении и, какая именно?
Решение. Ошибка в данном рассуждении есть, и она заключается в доказательстве по индуктивному предположению. Для доказательства того, что n лошадей имеют одинаковою масть, используется пересечение двух множеств от 1 до n?1 и от 2 до n, но для n = 2 этого пересечения нет. Поэтому, если есть две лошади, имеющие разную масть, то утверждение неверно. Если же любые две лошади имеют одинаковую масть, то доказательство будет верным для любого n.
Задача 2. Найдите кратчайшую последовательность перекладываний, перемещающих башню из n дисков с левого колышка А на правый колышек B, если прямой и т.д.................


Перейти к полному тексту работы



Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.