Альфред Реньи (1921—1970) – выдающийся венгерский математик, прекрасный рассказчик и популяризатор науки. Ранее я уже представлял одну из его работ – Записки студента по теории информации. Сегодня – небольшая новелла о числах Фибоначчи. Впервые эти числа описаны в вышедшей в 1202 г. Книге абака итальянского математика Леонардо Фибоначчи (1170–1250). Будучи купцом, почтенный Леонардо (его также называют Пизанским, поскольку родом он был из Пизы) неоднократно путешествовал по странам Востока и в своей книге использовал труды арабских математиков. Числа Фибоначчи часто встречаются в природе. Например, в первоисточнике (Книге Абака) числа Фибоначчи описывают закон размножения кроликов. 🙂
Альфред Реньи. Вариации на тему Фибоначчи // Трилогия о математике. – М.: Мир, 1980. – С. 326–352
Скачать заметку в формате Word или pdf
Вариации на избранную тему — жанр хорошо известный в музыке. Последуем ее примеру и, выбрав простую математическую тему (последовательность, образуемую числами Фибоначчи), рассмотрим ее вместе с многочисленными вариациями.
Основная тема. Возьмем числовую последовательность:
1, 2, 3, 5, 8, 13, 21, …
Можно ли усмотреть в ней какую-нибудь закономерность? Нетрудно видеть, что каждый член последовательности, начиная с третьего, равен сумме двух предыдущих членов: 3 = 1 + 2, 5 = 2 + 3, 8 = 3 + 5, 13 = 5 + 8, 21 = 8 + 13. Но коль скоро это установлено, нашу последовательность можно продолжать неограниченно:
(1) 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, …
Первая вариация. Попытаемся продолжить последовательность (1) в противоположную сторону, сохранив при этом основное правило: каждый член равен сумме двух предыдущих. Решить эту задачу совсем не трудно. К последовательности (1) можно приписать слева неограниченно много членов: необходимо лишь каждый раз вычесть из второго члена первый, а разность приписать к последовательности перед первым членом. Например, 2 – 1 = 1, 1 – 1 = 0, 0 – 1 = (–1), 1 – (–1) = 2, … В результате мы получим последовательность, неограниченно продолжающуюся в обе стороны:
(2) … –21, 13, –8, 5, –3, 2, –1, 1, 0, 1, 1, 2, 3, 5, …
Двигаясь от нуля влево, мы будем встречать с чередующимися знаками тех же чисел, которые встречаются при движении от нуля вправо.
Третья вариация. Задачу о кроликах, которая впервые была описана в трактате Фибоначчи можно сформулировать иначе, как задачу о росте деревьев. Пусть некоторое дерево растет так, что каждая новая ветвь в первый год только тянется вверх или в сторону, а затем (начиная со второго года) ежегодно дает по одному боковому побегу. Спрашивается, сколько ветвей будет на дереве, выросшем из саженца без единого бокового отростка, через 1, 2, 3, 4 года и т.д.? Такое дерево, выросшее в полном соответствии с условиями задачи, изображено на рис. 1. У двухлетнего дерева имеется лишь 1 ветвь, у трехлетнего дерева число ветвей возрастет до 2, у четырехлетнего — до 3, у пятилетнего — до 5, у шестилетнего — до 8. Если выписать эти числа подряд, то получится последовательность (1). Нетрудно понять, почему выполняется правило, по которому любой член последовательности равен сумме двух предыдущих. Какого бы возраста ни достигло дерево, число ветвей у него равно сумме числа ветвей, которые были год назад, и числа вновь появившихся боковых побегов. Последнее же в точности совпадает с числом ветвей, бывших у дерева два года назад, так как новые побеги могли пустить те и только те ветви, возраст которых не меньше двух лет.
Рис. 1. Дерево Фибоначчи
Четвертая вариация. Дома в новом поселке требуется окрасить так, чтобы каждый этаж оказался выкрашенным либо в белый, либо в синий цвет. Из эстетических соображений никакие два соседних этажа не должны быть окрашены в синий цвет. Сколькими способами можно окрасить дома в поселке с соблюдением указанных требований, если число этажей задано? Все возможные способы окраски одно-, двух-, трех- и четырехэтажных домов показаны на рис. 2.
Рис. 2. Дома в поселке
Ясно, что одноэтажные дома можно окрасить двумя способами, двухэтажные — тремя, трехэтажные — пятью и четырехэтажные — восемью способами. Это означает, что с увеличением числа этажей число способов возрастает следующим образом:
2, 3, 5, 8, …
Эта последовательность совпадает с последовательностью (1) чисел Фибоначчи, у которой отброшен первый член. Остается ли в силе замеченная нами закономерность для домов с большим числом этажей? Например, верно ли, что пятиэтажные дома можно окрасить 13 способами? В том, что это действительно так, можно убедиться следующим образом. Верхний этаж пятиэтажного дома можно красить либо в белый, либо в синий цвет. Способов окраски пятиэтажного дома, при которых верхний этаж выкрашен в белый цвет, существует столько же, сколько имеется способов правильной окраски четырехэтажных домов (то есть 8). Действительно, возведя на каждом из 8 четырехэтажных домов, изображенных на рис. 2, по одному этажу и выкрасив надстройку в белый цвет, мы получим все возможные варианты окраски пятиэтажных домов, при которых верхний этаж оказывается белым. Число способов окраски пятиэтажных домов, при которых верхний этаж выкрашен в синий цвет, можно найти при помощи следующих рассуждений. Если пятый этаж выкрашен в синий цвет, то четвертый этаж непременно выкрашен в белый цвет, так как по условиям задачи два соседних этажа не могут быть выкрашены в синий цвет. Следовательно, число всех возможных вариантов окраски пятиэтажных домов, при которых верхний этаж выкрашен в синий цвет, мы получим, возведя на каждом из 5 правильно окрашенных трехэтажных домов, изображенных на рис. 2, еще по два этажа и выкрасив четвертый этаж в белый, а пятый— в синий цвет. Итак, пятиэтажные дома можно окрасить 8 + 5= 13 способами. Как показывают аналогичные рассуждения, шестиэтажные дома можно окрасить в белый и синий цвета (с соблюдением условий задачи) 8 + 13 = 21 способом, семиэтажные — 13 + 21 =34 способами и т.д. Мы видим, что и на этот раз при решении задачи возникает последовательность Фибоначчи.
Пятая вариация. Рассмотрим следующую задачу. На банкете гостей рассаживают за круглым столом. Все места за столом перенумерованы. Сколькими способами можно рассадить за столом мужчин и женщин так, чтобы две дамы не сидели рядом. На рис. 3 представлены все возможные способы размещения за столом 2, 3, 4, 5 и 6 гостей (номера мест, доставшихся дамам, обведены кружками).
Рис. 3. Рассадка гостей
Число способов, которыми можно рассадить за круглым столом 2, 3, 4, 5 и 6 образуют последовательность:
(3) 3, 4, 7,11, 18, …
Чтобы установить, каким образом члены последовательности (3) связаны с числами Фибоначчи, выясним, почему за стол, накрытый на 5 персон, гостей можно рассадить 11 способами. На каждом месте за столом может сидеть мужчина или дама. Если за столом сидит мужчина, то на остальные четыре места гостей можно рассадить столькими же способами, сколько существует вариантов поэтажной окраски в белый или синий цвет четырехэтажного здания, то есть 8 способами. Если же за столом на каком-то месте сидит дама, то на соседних местах справа и слева от нее должны сидеть мужчины, а на остальных двух местах мужчин и дам можно рассадить столькими же способами, сколько существует вариантов окраски двухэтажного здания, то есть 3 способами, и 8 + 3 = 11. Аналогичным образом нетрудно убедиться в том, что за столом, накрытым на 6 персон, гостей можно рассадить 13 + 5 = 18 способами и т. д.
Следовательно, числовую последовательность (3) мы получим из последовательности (1), образуемой числами Фибоначчи, прибавив к каждому члену последовательности (1) (начиная с третьего) два предыдущих члена: 2 + 1 = 3, 3 + 1 = 4, 5 + 2 = 7, 8 + 3 = 11, 13 + 5 = 18 и т.д.
Заметим, что число способов, которыми можно разместить за столом, накрытым на 1 персону, удается включить в намеченную схему, если считать недопустимым, чтобы дама сидела за столом в одиночестве. Приняв это предположение, мы сможем рассадить гостей за одноместным столом в полном соответствии с общим правилом 1 + 0 = 1 способом.
Заметим, что требование, предъявляемое к размещению гостей за столом, допускает разумную интерпретацию: мужчины развлекают дам застольной беседой и поэтому рядом с каждой дамой по правую и левую руку от нее должны сидеть мужчины. У тех же, кто сидит за столом, накрытым на 1 персону, нет соседей (можно считать, что сидящие в одиночестве за отдельными столиками, являются соседями сами себе), их развлекать некому. Именно поэтому дам запрещается рассаживать за одноместные столики. Итак, мы видим, что решение нашей задачи также приводит к числам Фибоначчи, но ответ задачи дает не соответствующее число Фибоначчи, а сумма двух таких членов последовательности (1), больший из которых расположен на два места правее меньшего.
Шестая вариация. Выпишем снова числовую последовательность, полученную в предыдущей вариации:
(4) 3, 4, 7, 11, 18, 29, 47, 76, 123, …
Рассматривая разности соседних членов, нетрудно заметить, что эта последовательность обладает таким же свойством, как и последовательность, образуемая числами Фибоначчи. Каждый член последовательности (4) равен сумме двух предыдущих: 7 = 3 + 4, 11 = 4 + 7, 18 = 7 + 11, 29 = 11 + 18, 47 = 18 + 29, 76 = 29 + 47.
В чем здесь причина? Как связано это свойство последовательности (4) с тем, что она скреплена «родственными узами» с последовательностью (1)? Чтобы ответить на эти вопросы, удобно воспользоваться обозначениями, принятыми в математике при изучении последовательностей. Пусть Fn— n-й член последовательности (1). Тогда F1 = 1, F2 = 2, F3 = 3, F4 = 5, F5 = 8 и т.д.
По определению чисел Фибоначчи при любом n (большем или равном 3) справедливо соотношение
(5) Fn = Fn–1 + Fn–2
Обозначим через Gn число способов, которыми (в соответствии с условиями задачи) можно рассадить за круглым столом n гостей. Тогда G1 = 1, G2 = 3, G3 = 4, G4 = 7, G5 = 11 и т.д. Завершая предыдущую вариацию, мы доказали, что
(6) Gn = Fn + Fn–2
Требуется доказать, что
(7) Gn = Gn–1 + Gn–2
Это соотношение без труда выводится из соотношений (6) и (7):
Gn = Fn + Fn–2 = (Fn–1 + Fn–2) + (Fn–3 + Fn–4) = (Fn–1 + Fn–3) + (Fn–2 + Fn–4) = Gn–1 + Gn–2
Седьмая вариация. Поскольку теперь мы располагаем уже двумя последовательностями, каждый член которых равен сумме двух предыдущих, то естественно попытаться составить общее представление о всех таких последовательностях. Назовем последовательностью типа Фибоначчи любую числовую последовательность, в которой всякий член (начиная с третьего) равен сумме двух предыдущих членов. Если n-й член такой последовательности обозначить через аn (n = 1, 2, …), то по определению при любом n выполняется соотношение
(8) аn = аn–1 + аn–2 (n = 3, 4, …)
Два начальных члена последовательности а1 и а2 можно выбирать произвольно, поскольку соотношение (8) не накладывает никаких ограничений ни на первый, ни на второй из них. Но если a1 и а2 заданы, то все остальные члены последовательности уже полностью определены и при желании можно выписать любое число членов последовательности. Например, если а1 = 1, а2 = 6, то мы получаем последовательность
(9) 1, 6, 7, 13, 20, 33, 53, 86, …
Разумеется, чтобы полностью определить последовательность типа Фибоначчи, не обязательно задавать первые два члена, а достаточно указать любые два члена последовательности.
Рассмотрим, например, последовательность типа Фибоначчи, первый член которой равен 1, а четвертый член равен 9. Пусть х — второй член этой последовательности. Тогда третий член равен 1 + х, а четвертый х + (1 + х) = 1 + 2х. Поскольку по предположению четвертый член равен 9, то можно составить уравнение 1 + 2х = 9, откуда х = 4. Следовательно, речь идет о последовательности
(10) 1, 4, 5, 9, 14, 23, …
Восьмая вариация. Выясним, могут ли быть простейшие числовые последовательности, известные со школьной скамьи, последовательностями типа Фибоначчи. Нетрудно убедиться в том, что арифметическая прогрессия может быть последовательностью типа Фибоначчи лишь в том случае, если все члены ее равны нулю. Действительно, разность последовательных членов арифметической прогрессии постоянна, в то время как разности «соседних» членов последовательности типа Фибоначчи сами образуют такую же последовательность.
Обратимся теперь к геометрической прогрести и попытаемся ответить на вопрос, может ли она быть последовательностью типа Фибоначчи. Геометрической прогрессией называется последовательность, в которой отношение двух соседних членов постоянно.
Если а1, а2, …, аn, … — геометрическая прогрессия и q — отношение двух соседних членов, то а2 = a1q, а3 = a2q = a1q2 и т.д., или
(11) an = a1qn–1 (n = 1, 2, …)
Итак, если (аn) — геометрическая прогрессия, которая в то же время является последовательностью типа Фибоначчи, то должны выполняться тождества а3 = а1 + а2, а4 = а2 + а3, … или в общем случае аn = аn–1 + аn–2. Подставляя в них выражение (11), при соответствующих значениях получаем
(12) a1q2 = a1 + a1q
a1q3 = a1q + a1q2
…
a1qn–1 = a1qn–2 + a1qn–3
Нетрудно видеть, что каждое из соотношений (12) получается из предыдущего при умножении правой и левой части на q. Следовательно, если выполняется соотношение, стоящее в первой строке, то выполняются и все остальные соотношения (12). Это означает, что геометрическая прогрессия (11) может быть последовательностью типа Фибоначчи в том и только в том случае, если
(13) a1q2 = a1 + a1q
Предположим, что а1 ≠ 0. Тогда правую и левую части соотношения (13) можно разделить на а1 и получить уравнение
(14) q2 = 1 + q
Это означает, что геометрическая прогрессия (11) является последовательностью типа Фибоначчи в том и только в том случае, если q — корень уравнения (14). Квадратное уравнение (14) имеет два корня:
Итак, если q1 и q2 — числа (15), то геометрические прогрессии an = a1q1n–1 и an = a1q2n–1 последовательности типа Фибоначчи (а1 — произвольное число).
Девятая вариация. Поскольку – иррациональное число, то q1 и q2 – также иррациональные числа, при этом полученная последовательность типа Фибоначчи состоит не из целых чисел. Например, если а1 = + 3, то числа аn = a1qn–1 (n = 1, 2, …) образуют последовательность типа Фибоначчи
Подчеркнем, что члены этой последовательности мы получим, суммируя члены последовательности типа Фибоначчи 1, 2, 3, 5, умноженные на , и соответствующие члены последовательности типа Фибоначчи 3, 4, 7, 11, …
Нетрудно убедиться в том, что, умножив все члены последовательности типа Фибоначчи на одно и то же число, мы снова получим последовательность типа Фибоначчи и почленное сложение любых двух последовательностей типа Фибоначчи также порождает последовательность типа Фибоначчи. В общем случае, если (аn) и (bn) – две произвольные последовательности типа Фибоначчи, а и В – любые два числа, то числа
(17) cn = Aan + Bbn
также образуют последовательность типа Фибоначчи.
Действительно, если аn = аn–1 + аn–2 и bn = bn–1 + bn–2, то из соотношений (17) получаем
(18) cn = Aan + Bbn = A(аn–1 + аn–2) + B(bn–1 + bn–2) = Aаn–1 + Bbn–1 + Aаn–2 + Bbn–2 = cn–1 + cn–2
Таким образом, выбрав наугад две различные последовательности типа Фибоначчи, мы получаем возможность построить любую последовательность типа Фибоначчи. Это означает, что справедливо, например, следующее утверждение: любую последовательность (аn) типа Фибоначчи можно представить в виде
(19) an = AFn + BGn
где (Fn) — последовательность (1, 2, 3, 5, 8, …), а (Gn) — последовательность (1, 3, 4, 7, 11, …).
Действительно, если члены a1 и а2 последовательности (аn) заданы, то постоянные А и В можно выбрать так, чтобы соотношение (19) выполнялось при n = 1 и n = 2: для этого числа А и В должны удовлетворять системе уравнений
(20) a1 = A + B, a2 = 2A + 3B
Система уравнений (20) разрешима, и ее решение имеет вид
(21) A = 3a1 – a2, B = a2 – 2a1
Итак, мы доказали, что любую последовательность (аn) типа Фибоначчи можно представить в виде
(22) an = (3a1 – a2)Fn + (a2 – 2a1)Gn
Соотношение (22) показывает, каким образом (при заданных «базисных» последовательностях Fn и Gn) можно выразить произвольный член любой последовательности типа Фибоначчи через ее первые два члена. Например, если взять последовательность 1, 4, 5, 9, 14, 23, … с a1 = 1 и а2 = 4, то по формуле (22) ее n-й член можно представить в виде
(23) an = 2Gn – Fn
Следовательно, ее пятый член должен быть равен a5 = 2G5 – F5 = 2*11 – 8 = 14, и действительно, пятый член последовательности 1, 4, 5, 9, 14, 23, … равен 14. Аналогичным образом любой член аn последовательности типа Фибоначчи можно выразить через последовательности (q1n) и (q2n) типа Фибоначчи, где . Для чисел Фибоначчи Fn получаем
Это выражение называется формулой Бине.
Десятая вариация. Выясним теперь, как ведут себя отношения чисел Фибоначчи с номерами, отличающимися на единицу:
Продолжив эту последовательность, мы заметим, что отношения колеблются, становясь то больше, то меньше, но колебания постепенно затухают.
Нетрудно доказать, что отношения, то есть числа Fn+1/Fn, стремятся к пределу
Одиннадцатая вариация. Число q1 = ( + 1)/2 кажется нам знакомым, и оно действительно очень известно. Если отрезок прямой разделить на две части так, чтобы отношение большей из них к меньшей было равно q1 и длину всего отрезка принять за единицу, то длина большей части составит 1/q1 а длина меньшей части будет равна 1 – 1/q1 = (q1 – 1)/q1. Равенство q1 = 1 + 1/q1 можно представить в виде равенства двух отношений
Следовательно, если отрезок разделен на две части так, что длина большей из них составляет 1/q1 от длины всего отрезка, то большая часть относится ко всему отрезку так же, как меньшая часть к большей. Такое разбиение отрезка древнегреческие математики называли золотым сечением (рис. 4). Золотое сечение играло важную роль в античном искусстве. Оно встречается в пропорциях древнегреческих зданий и классических статуй, особенно приятных (в чем нетрудно убедиться) для глаза.
Рис. 4. Золотое сечение. [1] Последовательность построения: (1) Из точки В восстанавливается перпендикуляр, равный половине АВ. Полученная точка С соединяется линией с точкой А. (2) На линии АС с помощью циркуля из точки С откладывается отрезок ВС, заканчивающийся в точке D. (3) Отрезок AD с помощью циркуля переносится на прямую АВ. Точка Е делит отрезок АВ в соотношении золотой пропорции.
Двенадцатая вариация. Рассмотрим следующую практическую задачу. Требуется определить, при какой скорости автомашина будет наиболее экономичной; то есть, при какой скорости расход горючего на 100 км пути будет наименьшим. Построив график зависимости расхода горючего (измеряемого количеством бензина в литрах, потребляемого двигателем автомашины на расстоянии 100 км) от скорости (измеряемой в км/час), мы получим кривую, изображенную на рис. 6. Нетрудно видеть, что на этой кривой имеется лишь одна точка минимума. При приближении к ней слева кривая убывает, а миновав точку минимума, начинает возрастать. Нам необходимо найти скорость х, соответствующую наименьшему расходу горючего, то есть минимуму кривой. Вся кривая, разумеется, неизвестна, но измерить расход горючего при нескольких скоростях в наших силах. Впрочем, производить замеры — занятие трудоемкое, особенно, если они должны быть достаточно точными, поэтому желательно научиться определять наиболее экономичную скорость с заданной точностью за наименьшее число измерений. Можно доказать, что если наиболее экономичная скорость заключена в пределах от а до b и ее требуется определить с наименьшей ошибкой за заданное число измерений n, то удобнее всего первым делом разделить интервал [а, b] на Fn равных частей и рассмотреть значения функции (то есть расход горючего) в Fn–1-й и Fn–2-й точках деления. (Таким образом, если допустимое число измерений велико, то, как показано в предыдущей вариации, мы каждый раз будем производить золотое сечение интервала скоростей.)
Рис. 5. Зависимость расхода топлива (в литрах) от скорости движения (в км/ч)
Например, если оптимальную скорость требуется определить за 5 замеров, то поступить можно следующим образом. Выберем интервал скоростей, заведомо содержащий наиболее экономичную скорость, например, интервал 0–160 км/час, разделим его на F5 = 8 равных частей и границами следующего интервала будем считать точки деления с номерами F3 = 3 и F4 = 5, то есть скорости 60 и 100 км/час. Измерив расход топлива при этих скоростях, получим значения функции f(60) и f(100). Нетрудно убедиться в том, что при f(60) ≥ f(100) наиболее экономичная скорость заключена между 60 и 160 км/час, а при f(60) ≤ f(100) наиболее экономичная скорость лежит между 0 и 100 км/час. Предположим, что f(60) ≤ f(100). Теперь у нас осталось лишь 4 замера, поэтому интервал скоростей необходимо разделить на 5 равных частей и рассмотреть вторую точку деления, то есть скорость 40 км/час. (Третья точка деления соответствует скорости 60 км/час, и значение функции (расход горючего) в ней нам уже известно.) Измерив расход горючего при скорости 40 км/час, мы получим значение f(40). Предположим, что f(40) > f(60). Тогда можно с уверенностью утверждать, что оптимальная скорость заключена в интервале от 60 км/час до 80 км/час. Для определения ее у нас остался еще лишь 1 замер. Разделив интервал скоростей 60–80 км/час пополам и измерив расход горючего в его середине, то есть при скорости 70 км/час, мы получим значение f(70). Если f(70) < f(60), то это означает, что оптимальная скорость больше 70 км/час, но меньше 80 км/час. Можно доказать, что никаким другим способом невозможно определить оптимальную скорость за 5 замеров с меньшей ошибкой.
Рассмотренная нами задача представляет лишь одну из интересных проблем математической теории поиска, решение которых приводит к числам Фибоначчи. Разумеется, несущественно, что означает на практике та функция, максимум (или минимум) которой требуется найти. Например, изложенный выше способ позволяет найти оптимальное число оборотов бобины ткацкого станка или наиболее эффективный план капиталовложений.
Тринадцатая вариация. Начнем с хорошо известного треугольника Паскаля (рис. 6а). Все знают, что k-й член (k = 0, 1, …) n-й строки (n = 0, 1, 2, …) указывает, сколькими способами можно выбрать k предметов из n, то есть совпадает с биномиальным коэффициентом . Не менее известно и другое свойство треугольника Паскаля: каждый элемент равен сумме двух соседних элементов, стоящих в строке над ним (например, 21 = 6 + 15). Это свойство треугольника Паскаля аналогично определяющему свойству чисел Фибоначчи. Нетрудно доказать, что между треугольником Паскаля и числами Фибоначчи действительно существует взаимосвязь. Если строки треугольника Паскаля записать так, чтобы каждый элемент располагался на строку ниже, чем элемент, стоящий слева от него в первоначальной записи треугольника Паскаля, то есть если числа, принадлежащие одной строке треугольника Паскаля в новом расположении расставить «ходом коня» (каждое число, начиная со второго, переставить на два места вправо и на одно место вниз), то суммы чисел в каждой строке полученного «косого» треугольника Паскаля будут числами Фибоначчи (рис. 6б)
Рис. 5. Треугольник Паскаля [2]
В общем виде соотношение, о котором идет речь, можно представить следующим образом:
В правильности соотношения (31) нетрудно убедиться, если воспользоваться правилом построения треугольника Паскаля, но можно доказать его и иначе, исходя из комбинаторного смысла биномиальных коэффициентов и приведенной в четвертой вариации комбинаторной интерпретации чисел Фибоначчи. Действительно, нетрудно убедиться в том, что существуют допустимых способов окраски n-этажного дома, при которых в синий цвет оказываются выкрашенными k этажей, и тем самым вывести формулу (31).
Четырнадцатая вариация. Обратимся снова к числовой последовательности (2). На этот раз нас будет интересовать четность ее членов. Обратим внимание на то, что после двух нечетных чисел в выписанном отрезке ее идет одно четное число. Наше замечание заведомо верно для чисел 1, 1, 2. Правило, по которому мы вычисляем члены последовательности (2), позволяет поэтому утверждать, что, сколько бы мы ни продолжали ее, за двумя нечетными числами всегда будет идти одно четное число, затем снова два нечетных числа и т.д. Выясним теперь, как обстоит дело с делимостью членов последовательности (2) на 3. Выпишем под каждым членом последовательности (2) остаток от деления его на 3:
Заметим, что в последовательности остатков группа чисел 0, 1, 1, 2, 0, 2, 2, 1 повторяется, то есть что последовательность остатков от деления чисел Фибоначчи на 3 периодическая. К аналогичному выводу мы придем, рассматривая последовательность остатков от деления чисел Фибоначчи на 4:
Справедливо и более общее утверждение: остатки от деления чисел Фибоначчи на любое целое число N всегда образуют периодическую последовательность, то есть для любого целого N всегда найдется такое число dN, что разность будет делиться на N при любом n. Из примеров видно, что d2 = 2, d3 = 8, d4 = 6. Это обстоятельство играет важную роль при генерировании так называемых «псевдослучайных чисел». «Случайные» числа необходимы при решении задач по методу Монте-Карло, и ЭВМ генерирует их по специально составленной программе. Если алгоритм, при помощи которого ЭВМ имитирует случайные числа, генерируя так называемые псевдослучайные числа, устроен так, что каждая очередная цифра вычисляется по нескольким предыдущим, то, как показывают приведенные выше рассуждения, полученная числовая последовательность непременно будет периодической. Разумеется, это отнюдь не означает, что члены последовательности невозможно использовать в качестве случайных чисел: необходимо лишь позаботиться о том, чтобы длина периода была очень большой.
Пятнадцатая вариация. Рассмотрим частичные суммы ряда Фибоначчи, то есть члены числовой последовательности
и т.д. Если каждый из членов этой последовательности
(30) 1, 3, 6, 11, 19, 32, …
увеличить на 2, то получатся числа 3, 5, 8, 13, 21, 34, .., то есть все числа Фибоначчи, начиная с третьего. Это утверждение можно записать более кратко в виде формулы
Заметим, что сами по себе частичные суммы Sn не образуют последовательности типа Фибоначчи: если говорить о правиле, по которому образованы члены последовательности (Sn), то каждый член, начиная со второго, равен не сумме двух предыдущих, а больше этой суммы на 2, то есть
Рассмотрим теперь последовательность, которая получится, если из последовательности чисел Фибоначчи вычеркнуть каждый второй член, то есть последовательность
(33) 1, 3, 8, 21, 55, 144, …
Выясним, по какому правилу образуются члены последовательности (33). Как нетрудно проверить, каждый член этой последовательности, начиная с третьего, равен разности между утроенным предыдущим членом и членом, номер которого на 2 меньше (то есть 8 = 3*3 – 1, 21 = 3*8 – 3, 55 = 3*21 – 8, 144 = 3*55 – 21 и т.д.). Если n-й член последовательности (33) обозначить через Нn то
Правило (34) представляет собой частный случай рекурсивных алгоритмов. Рекурсивным называется алгоритм, позволяющий вычислять любой член последовательности по предыдущим членам. Алгоритм (34) не только рекурсивен, но и линеен, то есть сводится к вычислению новых членов последовательности как суммы предыдущих членов, взятых с соответствующими коэффициентами. Нелинейный рекурсивный алгоритм используется, например, при вычислении членов последовательности
(35) 2, 4, 8, 32, 256, 8192, …
Каждый член этой последовательности (начиная с третьего) равен произведению двух предыдущих членов. Нетрудно проверить, что n-й член последовательности (35) равен , где Fn — n-е число Фибоначчи, Рекурсивные алгоритмы обладают одной замечательной особенностью: программировать вычисление на ЭВМ членов последовательности, задаваемых рекурсивным алгоритмом, сравнительно просто, так как ЭВМ должна производить над различными числами одни и те же операции. Такие программы называются циклическими.
Заключение
Начав «вариации» с чисел Фибоначчи, мы затронули множество интересных вопросов, относящихся к алгебре, теории чисел, комбинаторике, геометрии, теории разностных и дифференциальных уравнений, теории поиска, рекурсивных алгоритмов и методу Монте-Карло. Разумеется, избранная нами тема отнюдь не исчерпана, но и приведенных выше «вариаций» достаточно для того, чтобы понять простую истину: подобно тому как незатейливая мелодия таит в себе несравненно больше, чем кажется при первом прослушивании, простая математическая задача (например, задача Леонардо Фибоначчи о размножении кроликов) при всестороннем рассмотрении позволяет заглянуть в широкий круг актуальных проблем современной математики.
[1] Изображение с сайта Энциклопедия людей и идей
[2] Картинка 6a с сайта www-formula.ru