Спираль фибоначчи — зашифрованный закон природы. Последовательность фибоначчи, проиллюстрированная природой

  • Перевод

Введение

Программистам числа Фибоначчи должны уже поднадоесть. Примеры их вычисления используются везде. Всё от того, что эти числа предоставляют простейший пример рекурсии. А ещё они являются хорошим примером динамического программирования. Но надо ли вычислять их так в реальном проекте? Не надо. Ни рекурсия, ни динамическое программирование не являются идеальными вариантами. И не замкнутая формула, использующая числа с плавающей запятой. Сейчас я расскажу, как правильно. Но сначала пройдёмся по всем известным вариантам решения.

Код предназначен для Python 3, хотя должен идти и на Python 2.

Для начала – напомню определение:

F n = F n-1 + F n-2

И F 1 = F 2 =1.

Замкнутая формула

Пропустим детали, но желающие могут ознакомиться с выводом формулы . Идея в том, чтобы предположить, что есть некий x, для которого F n = x n , а затем найти x.

Что означает

Сокращаем x n-2

Решаем квадратное уравнение:

Откуда и растёт «золотое сечение» ϕ=(1+√5)/2. Подставив исходные значения и проделав ещё вычисления, мы получаем:

Что и используем для вычисления F n .

From __future__ import division import math def fib(n): SQRT5 = math.sqrt(5) PHI = (SQRT5 + 1) / 2 return int(PHI ** n / SQRT5 + 0.5)

Хорошее:
Быстро и просто для малых n
Плохое:
Требуются операции с плавающей запятой. Для больших n потребуется большая точность.
Злое:
Использование комплексных чисел для вычисления F n красиво с математической точки зрения, но уродливо - с компьютерной.

Рекурсия

Самое очевидное решение, которое вы уже много раз видели – скорее всего, в качестве примера того, что такое рекурсия. Повторю его ещё раз, для полноты. В Python её можно записать в одну строку:

Fib = lambda n: fib(n - 1) + fib(n - 2) if n > 2 else 1

Хорошее:
Очень простая реализация, повторяющая математическое определение
Плохое:
Экспоненциальное время выполнения. Для больших n очень медленно
Злое:
Переполнение стека

Запоминание

У решения с рекурсией есть большая проблема: пересекающиеся вычисления. Когда вызывается fib(n), то подсчитываются fib(n-1) и fib(n-2). Но когда считается fib(n-1), она снова независимо подсчитает fib(n-2) – то есть, fib(n-2) подсчитается дважды. Если продолжить рассуждения, будет видно, что fib(n-3) будет подсчитана трижды, и т.д. Слишком много пересечений.

Поэтому надо просто запоминать результаты, чтобы не подсчитывать их снова. Время и память у этого решения расходуются линейным образом. В решении я использую словарь, но можно было бы использовать и простой массив.

M = {0: 0, 1: 1} def fib(n): if n in M: return M[n] M[n] = fib(n - 1) + fib(n - 2) return M[n]

(В Python это можно также сделать при помощи декоратора, functools.lru_cache.)

Хорошее:
Просто превратить рекурсию в решение с запоминанием. Превращает экспоненциальное время выполнение в линейное, для чего тратит больше памяти.
Плохое:
Тратит много памяти
Злое:
Возможно переполнение стека, как и у рекурсии

Динамическое программирование

После решения с запоминанием становится понятно, что нам нужны не все предыдущие результаты, а только два последних. Кроме этого, вместо того, чтобы начинать с fib(n) и идти назад, можно начать с fib(0) и идти вперёд. У следующего кода линейное время выполнение, а использование памяти – фиксированное. На практике скорость решения будет ещё выше, поскольку тут отсутствуют рекурсивные вызовы функций и связанная с этим работа. И код выглядит проще.

Это решение часто приводится в качестве примера динамического программирования.

Def fib(n): a = 0 b = 1 for __ in range(n): a, b = b, a + b return a

Хорошее:
Быстро работает для малых n, простой код
Плохое:
Всё ещё линейное время выполнения
Злое:
Да особо ничего.

Матричная алгебра

И, наконец, наименее освещаемое, но наиболее правильное решение, грамотно использующее как время, так и память. Его также можно расширить на любую гомогенную линейную последовательность. Идея в использовании матриц. Достаточно просто видеть, что

А обобщение этого говорит о том, что

Два значения для x, полученных нами ранее, из которых одно представляло собою золотое сечение, являются собственными значениями матрицы. Поэтому, ещё одним способом вывода замкнутой формулы является использование матричного уравнения и линейной алгебры.

Так чем же полезна такая формулировка? Тем, что возведение в степень можно произвести за логарифмическое время. Это делается через возведения в квадрат . Суть в том, что

Где первое выражение используется для чётных A, второе для нечётных. Осталось только организовать перемножения матриц, и всё готово. Получается следующий код. Я организовал рекурсивную реализацию pow, поскольку её проще понять. Итеративную версию смотрите тут.

Def pow(x, n, I, mult): """ Возвращает x в степени n. Предполагает, что I – это единичная матрица, которая перемножается с mult, а n – положительное целое """ if n == 0: return I elif n == 1: return x else: y = pow(x, n // 2, I, mult) y = mult(y, y) if n % 2: y = mult(x, y) return y def identity_matrix(n): """Возвращает единичную матрицу n на n""" r = list(range(n)) return [ for j in r] def matrix_multiply(A, B): BT = list(zip(*B)) return [ for row_a in A] def fib(n): F = pow([, ], n, identity_matrix(2), matrix_multiply) return F

Хорошее:
Фиксированный объём памяти, логарифмическое время
Плохое:
Код посложнее
Злое:
Приходится работать с матрицами, хотя они не так уж и плохи

Сравнение быстродействия

Сравнивать стоит только вариант динамического программирования и матрицы. Если сравнивать их по количеству знаков в числе n, то получится, что матричное решение линейно, а решение с динамическим программированием – экспоненциально. Практический пример – вычисление fib(10 ** 6), числа, у которого будет больше двухсот тысяч знаков.

N = 10 ** 6
Вычисляем fib_matrix: у fib(n) всего 208988 цифр, расчёт занял 0.24993 секунд.
Вычисляем fib_dynamic: у fib(n) всего 208988 цифр, расчёт занял 11.83377 секунд.

Теоретические замечания

Не напрямую касаясь приведённого выше кода, данное замечание всё-таки имеет определённый интерес. Рассмотрим следующий граф:

Подсчитаем количество путей длины n от A до B. Например, для n = 1 у нас есть один путь, 1. Для n = 2 у нас опять есть один путь, 01. Для n = 3 у нас есть два пути, 001 и 101. Довольно просто можно показать, что количество путей длины n от А до В равно в точности F n . Записав матрицу смежности для графа, мы получим такую же матрицу, которая была описана выше. Это известный результат из теории графов, что при заданной матрице смежности А, вхождения в А n - это количество путей длины n в графе (одна из задач, упоминавшихся в фильме «Умница Уилл Хантинг»).

Почему на рёбрах стоят такие обозначения? Оказывается, что при рассмотрении бесконечной последовательности символов на бесконечной в обе стороны последовательности путей на графе, вы получите нечто под названием "подсдвиги конечного типа ", представляющее собой тип системы символической динамики. Конкретно этот подсдвиг конечного типа известен, как «сдвиг золотого сечения», и задаётся набором «запрещённых слов» {11}. Иными словами, мы получим бесконечные в обе стороны двоичные последовательности и никакие пары из них не будут смежными. Топологическая энтропия этой динамической системы равна золотому сечению ϕ. Интересно, как это число периодически появляется в разных областях математики.

Теги: Добавить метки

еонардо из Пизы, известный как Фибоначчи, был первым из великих математиков Европы позднего Средневековья. Будучи рожденным в Пизе в богатой купеческой семье, он пришел в математику благодаря сугубо практической потребности установить деловые контакты. В молодости Леонардо много путешествовал, сопровождая отца в деловых поездках. Например, мы знаем о его длительном пребывании в Византии и на Сицилии. Во время таких поездок он много общался с местными учеными.

Числовой ряд, носящий сегодня его имя, вырос из проблемы с кроликами, которую Фибоначчи изложил в своей книге «Liber abacci», написанной в 1202 году:

Человек посадил пару кроликов в загон, окруженный со всех сторон стеной. Сколько пар кроликов за год может произвести на свет эта пара, если известно, что каждый месяц, начиная со второго, каждая пара кроликов производит на свет одну пару?

Можете убедиться, что число пар в каждый из двенадцати последующих месяцев месяцев будет соответственно

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

Иными словами, число пар кроликов создает ряд, каждый член в котором - сумма двух предыдущих. Он известен как ряд Фибоначчи , а сами числа - числа Фибоначчи . Оказывается, эта последовательность имеет множество интересных с точки зрения математики свойств. Вот пример: вы можете разделить линию на два сегмента, так что соотношение между большим и меньшим сегментом будет пропорционально соотношению между всей линией и большим сегментом. Этот коэффицент пропорциональности, приблизительно равный 1,618, известен как золотое сечение . В эпоху Возрождения считалось, что именно эта пропорция, соблюденная в архитектурных сооружениях, больше всего радует глаз. Если вы возьмете последовательные пары из ряда Фибоначчи и будете делить большее число из каждой пары на меньшее, ваш результат будет постепенно приближаться к золотому сечению.

С тех пор как Фибоначчи открыл свою последовательность, были найдены даже явления природы, в которых эта последовательность, похоже, играет немаловажную роль. Одно из них - филлотаксис (листорасположение) - правило, по которому располагаются, например, семечки в соцветии подсолнуха. Семечки упорядочены в два ряда спиралей, один из которых идет по часовой стрелке, другой против. И каково же число семян в каждом случае? 34 и 55.

Последовательность Фибоначчи. Если смотреть на листья растения сверху, можно заметить, что они распускаются по спирали. Углы между соседними листьями образуют правильный математический ряд, известный под названием последовательности Фибоначчи. Благодаря этому каждый отдельно взятый лист, растущий на дереве, получает максимально доступное количество тепла и света.

Пирамиды в Мексике

Hе только египетские пиpамиды постpоены в соответствии с совеpшенными пpопоpциями золотого сечения, то же самое явление обнаpужено и у мексиканских пиpамид. Возникает мысль, что как египетские, так и мексиканские пиpамиды были возведены пpиблизительно в одно вpемя людьми общего пpоисхождения.
Hа попеpечном сечении пиpамиды видна фоpма, подобная лестнице.В пеpвом яpусе 16 ступеней, во втоpом 42 ступени и в тpетьем - 68 ступеней.
Эти числа основаны на соотношении Фибоначчи следующим обpазом:
16 x 1.618 = 26
16 + 26 = 42
26 x 1.618 = 42
42 + 26 = 68

После нескольких первых чисел последовательности отношение любого ее члена к последующему приблизительно равно 0,618, а к предшествующему – 1,618. Чем больше порядковый номер члена последовательности, тем ближе отношение к числу фи, являющемуся иррациональным числом и равному 0,618034… Отношение между членами последовательности, разделенными одним числом, примерно равно 0,382, а обратное ему число равно 2,618. На рис. 3-2 приведена таблица соотношений всех чисел Фибоначчи от 1 до 144.

Ф является единственным числом, которое, будучи прибавленным к 1, дает обратное себе число: 1 + 0,618 = 1: 0,618. Это родство процедур сложения и умножения приводит к следующей последовательности уравнений:

Если мы продолжим этот процесс, мы создадим прямоугольники размером 13 на 21, 21 на 34 и так далее.

Теперь проверьте это. Если вы разделите 13 на 8, вы получите 1,625. И если вы разделите большее число на меньшее число, то эти коэффициенты становятся всё ближе и ближе к числу 1.618, известному многим людям как Золотое сечение, числу, которое очаровывало математиков, учёных и художников на протяжении многих веков.

Таблица коэффициентов Фибоначчи

По мере роста новой прогрессии числа образуют третью последовательность, составленную из чисел, прибавленных к произведению четверки и числа Фибоначчи. Это делается возможным в связи с тем. что отношение между членами последовательности, отстоящими друг от друга на две позиции, равно 4.236. где число 0,236 является обратным к 4,236 и. кроме того, разностью между 4,236 и 4. Другие множители приводят к другим последовательностям, все они основаны на коэффициентах Фибоначчи.

1. Никакие из двух последовательных чисел Фибоначчи не имеют общих делителей.

2. Если члены последовательности Фибоначчи пронумеровать как 1, 2, 3, 4, 5, 6, 7 и т. д., мы обнаружим, что, за исключением четвертого члена (число 3), номер любого числа Фибоначчи, являющегося простым числом (т. е. не имеющим иных делителей, кроме себя самого и единицы), также является простым чистом. Сходным образом, за исключением четвертого члена последовательности Фибоначчи (число 3), все со ставные номера членов последовательности (то есть те, что имеют как минимум два делителя за исключением себя самого и единицы), соответствуют составным числам Фибоначчи, что и показывает приведенная ниже таблица. Обратное не всегда оказывается верным.

3. Сумма любых десяти членов последовательности делится на одиннадцать.

4. Сумма всех чисел Фибоначчи до определенной точки последовательности плюс единица равна числу Фибоначчи, отстоящему на две позиции от последнего прибавленного числа.

5. Сумма квадратов любых последовательных членов, начинающихся с первой 1, всегда будет равна последнему (из данной выборки) числу последовательности, умноженному на следующий член.

6. Квадрат числа Фибоначчи минус квадрат второго члена последовательности в сторону уменьшения всегда будет числом Фибоначчи.

7. Квадрат любого числа Фибоначчи равен предыдущему члену последовательности, умноженному на следующее число в последовательности, плюс или минус единица. Прибавление и вычитание единицы чередуются по мере развития последовательности.

8. Сумма квадрата числа Fn и квадрата следующего числа Фибоначчи F равна числу Фибоначчи F,. Формула F - + F 2 = F„ , применима к прямоугольным треугольникам, где сумма квадратов двух более коротких сторон равна квадрату самой длинной стороны. Справа приведен пример, использующий F5, F6 и квадратный корень из Fn.

10. Одно из удивительных явлений, которое, насколько нам известно, до сих пор не упоминалось, состоит в том, что отношения между числами Фибоначчи равны числам, очень близким к тысячным долям других чисел Фибоначчи, при разности, равной тысяч ной доле еще одного числа Фибоначчи (см. рис. 3-2). Так, в направлении возрастания отношение двух идентичных чисел Фибоначчи равно 1, или 0,987 плюс 0,013: соседние числа Фибоначчи имеют отношение 1.618. или 1,597 плюс 0,021; числа Фибоначчи, расположенные с двух сторон от некоторого члена последовательности, имеют отношение 2.618, или 2.584 плюс 0,034, и так далее. В обрат ном направлении соседние числа Фибоначчи имеют отношение 0.618. или 0,610 плюс 0,008: числа Фибоначчи, расположенные с двух сторон от некоторого члена последовательности, имеют отношение 0.382, или 0.377 плюс 0,005; числа Фибоначчи между которыми расположены два члена последовательности, имеют отношение 0.236, или 0,233 плюс 0,003: числа Фибоначчи, между которыми расположены три члена последовательности, имеют отношение 0 146. или 0.144 плюс 0,002: числа Фибоначчи, между которыми расположены четыре члена последовательности, имеют отношение 0,090, или 0,089 плюс 0.001: числа Фибоначчи, между которыми расположены пять членов последовательности, имеют отношение 0.056. или 0,055 плюс 0,001; числа Фибоначчи, между которыми расположено от шести до двенадцати членов последовательности, имеют отношения, которые сами являются тысячными долями чисел Фибоначчи, начиная с 0,034. Интересно, что в этом анализе коэффициент, связывающий числа Фибоначчи, между которыми располагаются тринадцать членов последовательности, снова начинает ряд с числа 0.001, с тысячной доли того числа, где он начался! При всех подсчетах мы действительно получаем подобие или «самовоспроизведение в бесконечном ряду», раскрывающее свойства «самой прочной связи среди всех математических отношений».

И, наконец, заметим, что(V5 + 1)/2 = 1.618 и[\^5- 1)/2 = 0.618. где V5 = 2,236. 5 оказывается наиболее важным для волнового принципа числом, а его квадратный корень является математическим ключом к числу ф.

Число 1,618 (или 0,618) известно как золотое отношение, или золотое среднее. Связанная с ним пропорциональность приятна для глаза и уха. Оно проявляется и в биологии, и в музыке, и в живописи, и в архитектуре. В своей статье, вышедшей в декабре 1975 года в журнале Smithsonian Magazine, Вильям Хоффер сказал:

«...Отношение числа 0,618034 к 1 является математической основой формы игральных карт и Парфенона, подсолнуха и морской раковины, греческих ваз и спиральных галактик внешнего космоса. В основании очень многих произведений искусства и архитектуры греков лежит эта пропорция. Они называли ее «золотая середина».

Плодовитые кролики Фибоначчи выскакивают в самых неожиданных местах. Числа Фибоначчи, несомненно, являются частью мистической природной гармонии, которая приятна для ощущений, приятно выглядит и даже звучит приятно. Музыка, к примеру, основана на октаве в восемь нот. На фортепиано это представлено 8 белыми и 5 черными клавишами - в целом 13. Не случайно, что музыкальный интервал, приносящий нашему слуху самое большое наслаждение - это секста. Нота «ми» вибрирует в отношении 0.62500 к ноте «до». Это всего лишь на 0.006966 отстоит от точной золотой середины. Пропорции сексты передают приятные для слуха вибрации улитке среднего уха - органа, который тоже имеет форму логарифмической спирали.

Постоянное возникновение чисел Фибоначчи и золотой спирали в природе точно объясняет, почему отношение 0,618034 к 1 настолько приятно в произведениях искусства. Человек видит в искусстве отражение жизни, которая имеет в основании золотую середину».

Природа использует золотое отношение в своих наиболее совершенных творениях - от таких мелких, как микроизвилины мозга и молекулы ДНК (см. рис. 3 9), до таких крупных, как галактики. Оно проявляется и таких различных явлениях, как рост кристаллов, преломление светового луча в стекле, строение мозга и нервной системы, музыкальные построения, структура растений и животных. Наука предоставляет все больше свидетельств того, что у природы действительно есть главный пропорциональный принцип. Кстати, вы держите эту книгу двумя из своих пяти пальцев, причем каждый палец состоит из трех частей. Итого: пять единиц, каждая из которых делится на три - прогрессия 5-3-5-3, подобная той, что лежит в основе волнового принципа.

Симметричная и пропорциональная форма, способствует наилучшему зрительному восприятию и вызывает ощущение красоты и гармонии. Целостный образ всегда состоит из частей разного размера, находящихся в определённом соотношении друг с другом и целым. Золотое сечение - высшее проявление совершенства целого и его частей в науке, искусстве и природе.

Если на простом примере, то Золотое Сечение - это деление отрезка на две части в таком соотношении, при котором большая часть относится к меньшей, как их сумма (весь отрезок) к большей.

Если мы примем весь отрезок c за 1, то отрезок a будет равен 0,618, отрезок b - 0,382, только так будет соблюдено условие Золотого Сечения (0,618/0,382=1,618; 1/0,618=1,618). Отношение c к a равно 2,618, а с к b 1,618. Это всё те же, уже знакомые нам, коэффициенты Фибоначчи.

Разумеется есть золотой прямоугольник, золотой треугольник и даже золотой кубоид. Пропорции человеческого тела во многих соотношениях близки к Золотому Сечению.

Но самое интересное начинается, когда мы объединим полученные знания. На рисунке наглядно показана связь между последовательностью Фибоначчи и Золотым сечением. Мы начинаем с двух квадратов первого размера. Сверху добавляем квадрат второго размера. Подрисовываем рядом квадрат со стороной, равной сумме сторон двух предыдущих, третьего размера. По аналогии появляется квадрат пятого размера. И так далее пока не надоест, главное, чтобы длина стороны каждого следующего квадрата равнялась сумме длин сторон двух предыдущих. Мы видим серию прямоугольников, длины сторон, которых являются числами Фибоначчи, и, как не странно, они называются прямоугольниками Фибоначчи.

Если мы проведём плавную линий через углы наших квадратов, то получим ни что иное, как спираль Архимеда, увеличение шага которой всегда равномерно.


Каждый член золотой логарифмической последовательности явлется степенью Золотой Пропорции (z ). Часть ряда выглядит примерно так: ... z -5 ; z -4 ; z -3 ; z -2 ; z -1 ; z 0 ; z 1 ; z 2 ; z 3 ; z 4 ; z 5 ... Если мы округлим значение Золотой пропорции до трёх знаков, то получим z=1,618 , тогда ряд выглядит так: ... 0,090 0,146; 0,236; 0,382; 0,618; 1; 1,618; 2,618; 4,236; 6,854; 11,090 ... Каждый следующий член может быть получен не только умножением предыдущего на 1,618 , но и сложением двух предыдущих. Таким образом экспоненциальный рост в последовательности обеспечивается путем простого сложения двух соседних элементов. Это ряд без начала и конца, и именно на него пытается быть похожей последовательность Фибоначчи. Имея вполне определённое начало, она стремится к идеалу, никогда его не достигая. Такова жизнь.

И всё-таки, в связи со всем увиденным и прочитанным, возникают вполне закономерные вопросы:
От куда взялись эти числа? Кто этот архитектор вселенной, попытавшийся сделать её идеальной? Было ли когда-то всё так, как он хотел? И если да, то почему сбилось? Мутации? Свободный выбор? Что же будет дальше? Спираль скручивается или раскручивается?

Найдя ответ на один вопрос, получишь следующий. Разгадаешь его, получишь два новых. Разберёшься с ними, появится ещё три. Решив и их, обзаведёшься пятью нерешёнными. Потом восьмью, потом тринадцатью, 21, 34, 55...

Вы слышали когда-нибудь, что математику называют «царицей всех наук»? Согласны ли вы с таким утверждением? Пока математика остается для вас набором скучных задачек в учебнике, вряд ли можно прочувствовать красоту, универсальность и даже юмор этой науки.

Но есть в математике такие темы, которые помогают сделать любопытные наблюдения за обычными для нас вещами и явлениями. И даже попытаться проникнуть за завесу тайны создания нашей Вселенной. В мире есть любопытные закономерности, которые могут быть описаны с помощью математики.

Представляем вам числа Фибоначчи

Числами Фибоначчи называют элементы числовой последовательности. В ней каждое следующее число в ряду получается суммированием двух предыдущих чисел.

Пример последовательности: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987…

Записать это можно так:

F 0 = 0, F 1 = 1, F n = F n-1 + F n-2 , n ≥ 2

Можно начинать ряд чисел Фибоначчи и с отрицательных значений n . При этом последовательность в таком случае является двусторонней (т.е. охватывает отрицательные и положительные числа) и стремится к бесконечности в обоих направлениях.

Пример такой последовательности: -55, -34, -21, -13, -8, 5, 3, 2, -1, 1, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55.

Формула в этом случае выглядит так:

F n = F n+1 - F n+2 или иначе можно так: F -n = (-1) n+1 Fn .

То, что мы сейчас знаем под названием «числа Фибоначчи», было известно древнеиндийским математикам задолго до того, как ими стали пользоваться в Европе. А с этим названием вообще один сплошной исторический анекдот. Начнем с того, что сам Фибоначчи при жизни никогда не называл себя Фибоначчи – это имя стали применять к Леонардо Пизанскому только спустя несколько столетий после его смерти. Но давайте обо всем по порядку.

Леонардо Пизанский, он же Фибоначчи

Сын торговца, который стал математиком, а впоследствии получил признание потомков в качестве первого крупного математика Европы периода Средних веков. Не в последнюю очередь благодаря числам Фибоначчи (которые тогда, напомним, еще так не назывались). Которые он в начале XIII века описал в своем труде «Liber abaci» («Книга абака», 1202 год).

Путешествую вместе с отцом на Восток, Леонардо изучал математику у арабских учителей (а они в те времена были в этом деле, да и во многих других науках, одними из лучших специалистов). Труды математиков Античности и Древней Индии он прочитал в арабских переводах.

Как следует осмыслив все прочитанное и подключив собственный пытливый ум, Фибоначчи написал несколько научных трактатов по математике, включая уже упомянутую выше «Книгу абака». Кроме нее создал:

  • «Practica geometriae» («Практика геометрии», 1220 год);
  • «Flos» («Цветок», 1225 год – исследование, посвященное кубическим уравнениям);
  • «Liber quadratorum» («Книга квадратов», 1225 год – задачи о неопределенных квадратных уравнениях).

Был большим любителем математических турниров, поэтому в своих трактатах много внимания уделял разбору различных математических задач.

О жизни Леонардо осталось крайне мало биографических сведений. Что же касается имени Фибоначчи, под которым он вошел в историю математики, то оно закрепилось за ним только в XIX веке.

Фибоначчи и его задачи

После Фибоначчи осталось большое число задач, которые были очень популярны среди математиков и в последующие столетия. Мы с вами рассмотрим задачу о кроликах, в решении которой и используются числа Фибоначчи.

Кролики – не только ценный мех

Фибоначчи задал такие условия: существует пара новорожденных кроликов (самец и самка) такой интересной породы, что они регулярно (начиная со второго месяца) производят потомство – всегда одну новую пару кроликов. Тоже, как можно догадаться, самца и самку.

Эти условные кролики помещены в замкнутое пространство и с увлечением размножаются. Оговаривается также, что ни один кролик не умирает от какой-нибудь загадочной кроличьей болезни.

Надо вычислить, сколько кроликов мы получим через год.

  • В начале 1 месяца у нас 1 пара кроликов. В конце месяца они спариваются.
  • Второй месяц – у нас уже 2 пары кроликов (у пара – родители + 1 пара – их потомство).
  • Третий месяц: Первая пара рождает новую пару, вторая пара спаривается. Итого – 3 пары кроликов.
  • Четвертый месяц: Первая пара рождает новую пару, вторая пара времени не теряет и тоже рождает новую пару, третья пара пока только спаривается. Итого – 5 пар кроликов.

Число кроликов в n -ый месяц = число пар кроликов из предыдущего месяца + число новорожденных пар (их столько же, сколько пар кроликов было за 2 месяца до настоящего момента). И все это описывается формулой, которую мы уже привели выше: F n = F n-1 + F n-2 .

Таким образом, получаем рекуррентную (пояснение о рекурсии – ниже) числовую последовательность. В которой каждое следующее число равно сумме двух предыдущих:

  1. 1 + 1 = 2
  2. 2 + 1 = 3
  3. 3 + 2 = 5
  4. 5 + 3 = 8
  5. 8 + 5 = 13
  6. 13 + 8 = 21
  7. 21 + 13 = 34
  8. 34 + 21 = 55
  9. 55 + 34 = 89
  10. 89 + 55 = 144
  11. 144 + 89 = 233
  12. 233+ 144 = 377 <…>

Продолжать последовательность можно долго: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987 <…>. Но поскольку мы задали конкретный срок – год, нас интересует результат, полученный на 12-ом «ходу». Т.е. 13-ый член последовательности: 377.

Ответ в задаче: 377 кроликов будет получено при соблюдении всех заявленных условий.

Одно из свойств последовательности чисел Фибоначчи очень любопытно. Если взять две последовательные пары из ряда и разделить большее число на меньшее, результат будет постепенно приближаться к золотому сечению (прочитать о нем подробнее вы сможете дальше в статье).

Говоря языком математики, «предел отношений a n+1 к a n равен золотому сечению» .

Еще задачи по теории чисел

  1. Найдите число, которое можно разделить на 7. Кроме того, если разделить его на 2, 3, 4, 5, 6, в остатке получится единица.
  2. Найдите квадратное число. О нем известно, что если прибавить к нему 5 или отнять 5, снова получится квадратное число.

Ответы на эти задачи мы предлагаем вам поискать самостоятельно. Свои варианты вы можете оставлять нам в комментариях к этой статье. А мы потом подскажем, верными ли были ваши вычисления.

Пояснение о рекурсии

Рекурсия – определение, описание, изображение объекта или процесса, в котором содержится сам этот объект или процесс. Т.е., по сути, объект или процесс является частью самого себя.

Рекурсия находит широкое применение в математике и информатике, и даже в искусстве и массовой культуре.

Числа Фибоначчи определяются с помощью рекуррентного соотношения. Для числа n>2 n- е число равно (n – 1) + (n – 2) .

Пояснение о золотом сечении

Золотое сечение – деление целого (например, отрезка) на такие части, которые соотносятся по следующему принципу: большая часть относится к меньшей так же, как и вся величина (например, сумма двух отрезков) к большей части.

Первое упоминание о золотом сечении можно встретить у Евклида в его трактате «Начала» (примерно 300 лет до н.э.). В контексте построения правильного прямоугольника.

Привычный нам термин в 1835 году ввел в оборот немецкий математик Мартин Ом.

Если описывать золотое сечение приблизительно, оно представляет собой пропорциональное деление на две неравных части: примерно 62% и 38%. В числовом выражении золотое сечение представляет собой число 1,6180339887 .

Золотое сечение находит практическое применение в изобразительном искусстве (картины Леонардо да Винчи и других живописцев Ренессанса), архитектуре, кинематографе («Броненосец «Потемкин» С. Эзенштейна) и других областях. Долгое время считалось, что золотое сечение – наиболее эстетичная пропорция. Такое мнение популярно и сегодня. Хотя по результатам исследований визуально большинство людей не воспринимают такую пропорцию наиболее удачным вариантом и считают слишком вытянутой (непропорциональной).

  • Длина отрезка с = 1, а = 0,618, b = 0,382.
  • Отношение с к а = 1, 618.
  • Отношение с к b = 2,618

А теперь вернемся к числам Фибоначчи. Возьмем два следующих друг за другом члена из его последовательности. Разделим большее число на меньшее и получим приблизительно 1,618. А теперь задействуем то же большее число и следующий за ним член ряда (т.е. еще большее число) – их отношение рано 0,618.

Вот пример: 144, 233, 377.

233/144 = 1,618 и 233/377 = 0,618

Кстати, если вы попробуете проделать тот же эксперимент с числами из начала последовательности (например, 2, 3, 5), ничего не получится. Ну, почти. Правило золотого сечения почти не соблюдается для начала последовательности. Но зато по мере продвижения вдоль ряда и возрастания чисел работает отлично.

И для того, чтобы вычислить весь ряд чисел Фибоначчи, достаточно знать три члена последовательности, идущих друг за другом. Можете убедиться в этом сами!

Золотой прямоугольник и спираль Фибоначчи

Еще одну любопытную параллель между числами Фибоначчи и золотым сечением позволяет провести так называемый «золотой прямоугольник»: его стороны соотносятся в пропорции 1,618 к 1. А ведь мы уже знаем, что за число 1,618, верно?

Например, возьмем два последовательных члена ряда Фибоначчи – 8 и 13 – и построим прямоугольник со следующими параметрами: ширина = 8, длина = 13.

А затем разобьем большой прямоугольник на меньшие. Обязательное условие: длины сторон прямоугольников должны соответствовать числам Фибоначчи. Т.е. длина стороны большего прямоугольника должна быть равной сумме сторон двух меньших прямоугольников.

Так, как это выполнено на этом рисунке (для удобства фигуры подписаны латинскими буквами).

Кстати, строить прямоугольники можно и в обратном порядке. Т.е. начать построение с квадратов со стороной 1. К которым, руководствуясь озвученным выше принципом, достраиваются фигуры со сторонами, равными числам Фибоначчи. Теоретически продолжать так можно бесконечно долго – ведь и ряд Фибоначчи формально бесконечен.

Если соединить плавной линией углы полученных на рисунке прямоугольников, получим логарифмическую спираль. Вернее, ее частный случай – спираль Фибоначчи. Она характеризуется, в частности, тем, что не имеет границ и не изменяет формы.

Подобная спираль часто встречается в природе. Раковины моллюсков – один из самых ярких примеров. Более того, спиральную форму имеют некоторые галактики, которые можно разглядеть с Земли. Если вы обращаете внимание на прогнозы погоды по телевизору, то могли заметить, что подобную спиральную форму имеют циклоны при съемке их со спутников.

Любопытно, что и спираль ДНК подчиняется правилу золотого сечения – соответствующую закономерность можно усмотреть в интервалах ее изгибов.

Такие удивительные «совпадения» не могут не будоражить умы и не порождать разговоры о неком едином алгоритме, которому подчиняются все явления в жизни Вселенной. Теперь вы понимаете, почему эта статья называется именно так? И двери в какие удивительные миры способна открыть для вас математика?

Числа Фибоначчи в живой природе

Связь чисел Фибоначчи и золотого сечения наводит на мысли о любопытных закономерностях. Настолько любопытных, что возникает соблазн попробовать отыскать подобные числам Фибоначчи последовательности в природе и даже в ходе исторических событий. И природа действительно дает повод для подобного рода допущений. Но все ли в нашей жизни можно объяснить и описать с помощью математики?

Примеры живой природы, которые могут быть описаны с помощью последовательности Фибоначчи:

  • порядок расположения листьев (и веток) у растений – расстояния между ними соотносимы с числами Фибоначчи (филлотаксис);

  • расположение семян подсолнуха (семечки располагаются двумя рядами спиралей, закрученных в разном направлении: один ряд по часовой стрелке, другой – против);

  • расположение чешуек сосновых шишек;
  • лепестки цветов;
  • ячейки ананаса;
  • соотношение длин фаланг пальцев на человеческой руке (приблизительно) и т.д.

Задачи по комбинаторике

Числа Фибоначчи находят широкое применение при решении задач по комбинаторике.

Комбинаторика – это раздел математики, который занимается исследованием выборки некого заданного числа элементов из обозначенного множества, перечислением и т.п.

Давайте рассмотрим примеры задач по комбинаторике, рассчитанных на уровень старшей школы (источник - http://www.problems.ru/).

Задача №1:

Леша поднимается по лестнице из 10 ступенек. За один раз он прыгает вверх либо на одну ступеньку, либо на две ступеньки. Сколькими способами Леша может подняться по лестнице?

Число способов, которыми Леша может подняться на лестницу из n ступенек, обозначим а n. Отсюда следует, что a 1 = 1, a 2 = 2 (ведь Леша прыгает либо на одну, либо через две ступеньки).

Оговорено также, что Леша прыгает по лестнице из n > 2 ступенек. Предположим, с первого раза он прыгнул на две ступеньки. Значит, по условию задачи, ему нужно запрыгнуть еще на n – 2 ступеньки. Тогда количество способов закончить подъем описывается как a n–2 . А если считать, что в первый раз Леша прыгнул только на одну ступеньку, тогда количество способов закончить подъем опишем как a n–1 .

Отсюда получаем такое равенство: a n = a n–1 + a n–2 (выглядит знакомо, не правда ли?).

Раз мы знаем a 1 и a 2 и помним, что ступенек по условию задачи 10, вычисли по порядку все а n : a 3 = 3, a 4 = 5, a 5 = 8, a 6 = 13, a 7 = 21, a 8 = 34, a 9 = 55, a 10 = 89.

Ответ: 89 способов.

Задача №2:

Требуется найти количество слов длиной в 10 букв, которые состоят только из букв «а» и «б» и не должны содержать две буквы «б» подряд.

Обозначим за a n количество слов длиной в n букв, которые состоят только из букв «а» и «б» и не содержат двух букв «б» подряд. Значит, a 1 = 2, a 2 = 3.

В последовательности a 1 , a 2 , <…>, a n мы выразим каждый следующий ее член через предыдущие. Следовательно, количество слов длиной в n букв, которые к тому же не содержат удвоенной буквы «б» и начинаются с буквы «а», это a n–1 . А если слово длиной в n букв начинается с буквы «б», логично, что следующая буква в таком слове – «а» (ведь двух «б» быть не может по условию задачи). Следовательно, количество слов длиной в n букв в этом случае обозначим как a n–2 . И в первом, и во втором случае далее может следовать любое слово (длиной в n – 1 и n – 2 букв соответственно) без удвоенных «б».

Мы смогли обосновать, почему a n = a n–1 + a n–2 .

Вычислим теперь a 3 = a 2 + a 1 = 3 + 2 = 5, a 4 = a 3 + a 2 = 5 + 3 = 8, <…>, a 10 = a 9 + a 8 = 144. И получим знакомую нам последовательность Фибоначчи.

Ответ: 144.

Задача №3:

Вообразите, что существует лента, разбитая на клетки. Она уходит вправо и длится бесконечно долго. На первую клетку ленты поместим кузнечика. На какой бы из клеток ленты он ни находился, он может перемещаться только вправо: или на одну клетку, или на две. Сколько существует способов, которыми кузнечик может допрыгать от начала ленты до n -ой клетки?

Обозначим число способов перемещения кузнечика по ленте до n -ой клетки как a n . В таком случае a 1 = a 2 = 1. Также в n + 1 -ую клетку кузнечик может попасть либо из n -ой клетки, либо перепрыгнув ее. Отсюда a n + 1 = a n – 1 + a n . Откуда a n = F n – 1 .

Ответ: F n – 1 .

Вы можете и сами составить подобные задачи и попробовать решить их на уроках математики вместе с одноклассниками.

Числа Фибоначчи в массовой культуре

Разумеется, такое необычное явление, как числа Фибоначчи, не может не привлекать внимание. Есть все же в этой строго выверенной закономерности что-то притягательное и даже таинственное. Неудивительно, что последовательность Фибоначчи так или иначе «засветилась» во многих произведениях современной массовой культуры самых разных жанров.

Мы вам расскажем про некоторые из них. А вы попробуйте поискать сами еще. Если найдете, поделитесь с нами в комментариях – нам ведь тоже любопытно!

  • Числа Фибоначчи упоминаются в бестселлере Дэна Брауна «Код да Винчи»: последовательность Фибоначчи служит кодом, при помощи которого главные герои книги открывают сейф.
  • В американском фильме 2009 года «Господин Никто» в одном из эпизодов адрес дома представляет собой часть последовательности Фибоначчи – 12358. Кроме этого, в другом эпизоде главный герой должен позвонить по телефонному номеру, который по сути – та же, но слегка искаженная (лишняя цифра после цифры 5) последовательность: 123-581-1321.
  • В сериале 2012 года «Связь» главный герой, мальчик, страдающий аутизмом, способен различать закономерности в происходящих в мире событиях. В том числе посредством чисел Фибоначчи. И управлять этими событиями также посредством чисел.
  • Разработчики java-игры для мобильных телефонов Doom RPG поместили на одном из уровней секретную дверь. Открывающий ее код – последовательность Фибоначчи.
  • В 2012 году российская рок-группа «Сплин» выпустила концептуальный альбом «Обман зрения». Восьмой трек носит название «Фибоначчи». В стихах лидера группы Александра Васильева обыграна последовательность чисел Фибоначчи. На каждый из девяти последовательных членов приходится соответствующее число строк (0, 1, 1, 2, 3, 5, 8, 13, 21):

0 Тронулся в путь состав

1 Щёлкнул один сустав

1 Дрогнул один рукав

2 Всё, доставайте стафф

Всё, доставайте стафф

3 Просьбой о кипятке

Поезд идёт к реке

Поезд идёт в тайге <…>.

  • лимерик (короткое стихотворение определенной формы – обычно это пять строк, с определенной схемой рифмовки, шуточное по содержанию, в котором первая и последняя строка повторяются или частично дублируют друг друга) Джеймса Линдона также использует отсылку к последовательности Фибоначчи в качестве юмористического мотива:

Плотная пища жён Фибоначчи

Только на пользу им шла, не иначе.

Весили жёны, согласно молве,

Каждая - как предыдущие две.

Подводим итоги

Мы надеемся, что смогли рассказать вам сегодня много интересного и полезного. Вы, например, теперь можете поискать спираль Фибоначчи в окружающей вас природе. Вдруг именно вам удастся разгадать «секрет жизни, Вселенной и вообще».

Пользуйтесь формулой для чисел Фибоначчи при решении задач по комбинаторике. Вы можете опираться на примеры, описанные в этой статье.

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

Если посмотреть на растения и деревья вокруг нас, то видно, сколь много листьев на каждом из них. Издалека кажется, что ветки и листья на растениях расположены случайным образом, в произвольном порядке. Однако во всех растениях чудесным образом, математически точно спланировано какая веточка откуда будет произрастать, как ветки и листья будут располагаться около стебля или ствола. С первого дня появления растение в точности следует в своём развитии этим законам, то есть ни один лист, ни один цветок не появляется случайно. Ещё до появления растение уже точно запрограммировано. Сколько будет веток на будущем дереве, где вырастут ветки, сколько будет листьев на каждой ветке, и как, в каком порядке будут располагаться листья. Совместная работа ботаников и математиков пролила свет на эти удивительные явления природы. Выяснилось, что в расположении листьев на ветке (филотаксис), в числе оборотов на стебле, в числе листьев в цикле проявляет себя ряд Фибоначчи, а стало быть, проявляет себя и закон золотого сечения.

Если вы зададитесь целью отыскать числовые закономерности в живой природе, то заметите, что эти числа часто встречаются в различных спиральных формах, которыми так богат мир растений. Например, черенки листьев примыкают к стеблю по спирали, которая проходит между двумя соседними листьями: полного оборота - у орешника, - у дуба, - у тополя и груши, - у ивы.

Семена подсолнечника, эхинацеи пурпурной и многих других растений, расположены спиралями, причем количества спиралей каждого направления - числа Фибоначчи.

Подсолнечник, 21 и 34 спирали. Эхинацея, 34 и 55 спиралей.

Чёткая, симметричная форма цветов также подчинена строгому закону.

У многих цветов количество лепесточков – именно числа из ряда Фибоначчи. Например:

ирис, 3леп. лютик, 5 леп. златоцвет, 8 леп. дельфиниум,


цикорий,21леп. астра, 34 леп. маргаритки,55леп.

Ряд Фибоначчи характеризует структурную организацию многих живых систем.

Мы уже говорили, что отношений соседних чисел в ряду Фибоначчи есть число φ = 1,618. Оказывается, что и сам человек – просто кладезь числа фи.

Пропорции различных частей нашего тела составляют число, очень близкое к золотому сечению. Если эти пропорции совпадают с формулой золотого сечения, то внешность или тело человека считается идеально сложенными. Принцип расчета золотой меры на теле человека можно изобразить в виде схемы.

M/m=1,618

Первый пример золотого сечения в строении тела человека:



Если принять центром человеческого тела точку пупа, а расстояние между ступней человека и точкой пупа за единицу измерения, то рост человека эквивалентен числу 1.618.

Рука человека

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

Кроме того, соотношение между средним пальцем и мизинцем также равно числу золотого сечения.

У человека 2 руки, пальцы на каждой руке состоят из 3 фаланг (за исключением большого пальца). На каждой руке имеется по 5 пальцев, то есть всего 10, но за исключением двух двухфаланговых больших пальцев только 8 пальцев создано по принципу золотого сечения. Тогда как все эти цифры 2, 3, 5 и 8 есть числа последовательности Фибоначчи.


Золотая пропорция в строении легких человека

Американский физик Б.Д.Уэст и доктор А.Л. Гольдбергер во время физико-анатомических исследований установили, что в строении легких человека также существует золотое сечение.

Особенность бронхов, составляющих легкие человека, заключена в их асимметричности. Бронхи состоят из двух основных дыхательных путей, один из которых (левый) длиннее, а другой (правый) короче.

Было установлено, что эта асимметричность продолжается и в ответвлениях бронхов, во всех более мелких дыхательных путях. Причем соотношение длины коротких и длинных бронхов также составляет золотое сечение и равно 1:1,618.

Художники, ученые, модельеры, дизайнеры делают свои расчеты, чертежи или наброски, исходя из соотношения золотого сечения. Они используют мерки с тела человека, сотворенного также по принципу золотой сечения. Леонардо Да Винчи и Ле Корбюзье перед тем как создавать свои шедевры брали параметры человеческого тела, созданного по закону Золотой пропорции.
Есть и другое, более прозаическое применение пропорций тела человека. Например, используя эти соотношения, криминальные аналитики и археологи по фрагментам частей человеческого тела восстанавливают облик целого.

(числа Фибоначчи, англ. Fibonacci sequence, Fibonacci numbers) – ряд чисел, выведенный известным математиком Фибоначчи. Имеет следующий вид: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181 и др.

История ряда Фибоначчи

Леонардо из Пизы (Фибоначчи) пришел в математику из-за практической потребности в установлении деловых контактов. В молодости Фибоначчи много путешествовал, сопровождал отца в разных деловых поездках, что позволяло ему общаться с местными учеными.

Ряд чисел, который сегодня носит его имя, был выведен благодаря проблеме с кроликами, которую автор изложил в книге под названием «Liber abacci» (1202 год): один человек посадил в загон, со всех сторон окруженный стеной, пару кроликов. Вопрос: сколько пар кроликов может произвести эта пара за год, если известно, что ежемесячно, начиная со второго месяца, каждая пара производит на свет еще одну пару кроликов.

В итоге Фибоначчи определил, что число пар кроликов в каждый из последующих двенадцати месяцев будет соответственно:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

Где каждое последующее число - это сумма двух предыдущих. Это ряд (числа) Фибоначчи. Данная последовательность имеет множество свойств, интересных с математической точки зрения. Например, если разделить линию на 2 сегмента таким образом, чтобы соотношение между меньшим и большим сегментом было пропорционально соотношению между большим сегментом и всей линией, получится коэффициент пропорциональности, известный как «золотое сечение». Он приблизительно равен 0,618. Ученые эпохи Возрождения считали, что именно эта пропорция, если ее соблюдать в архитектурных сооружениях, способна больше всего радовать глаз.

Применение ряда Фибоначчи

Ряд Фибоначчи нашел широкое применение в самых разных областях науки и жизни. Например, в природе: в строении ураганов, раковин и даже галактик. Не стал исключением и валютный рынок Форекс, где последовательный ряд чисел стал использоваться для прогнозирования трендов. Следует отметить, что между этими числами есть неизменные отношения. Например, как упоминалось выше, отношение предыдущего числа к следующему асимптотически стремится к 0,618 (золотое сечение). Отношения некоторого числа к предыдущему также стремится к величине 0,618.

Помимо прогнозирования трендов, числа Фибоначчи на Форекс используются для прогноза направления движения цены. Например, разворот тренда по золотому сечению происходит на уровне около 61,8% от предыдущего изменения цены (см. рис. 1). Соответственно, самым выгодным вариантом в таком случае будет закрытие позиции чуть ниже данного уровня. Опираясь на ряд Фибоначчи можно рассчитывать наиболее выгодные моменты закрытия и открытия сделок.

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

Выбираемые коэффициенты имеют значения 0.333, 0.382, 0.4, 0.5, 0.6, 0.618, 0.666. Расположение дуг определяет их роль: поддержки или сопротивления. Чтобы получить представление также о времени возникновения движений цены, дуги, как правило, используют совместно со скоростными или веерными линиями.

Принцип их построения аналогичен: нужно выбрать точки прошлых экстремумов и построить горизонтальную линию из вершины первого из них и вертикальную – из вершины второго. Затем следует поделить получившийся вертикальный отрезок на соответствующие коэффициентам части, нарисовать лучи, идущие из первой точки сквозь только что избранные. При использовании отношений 2/3 и 1/3 получаются скоростные линии, при более строгих 0,618, 0,5 и 0,382 – веерные линии. Все они служат линиями поддержки или сопротивления для ценового тренда (см. рис. 2).

Пересечения веерных дуг и линий служат сигналами для определения поворотных точек тренда – как по времени, так и по цене.

(Рис. 2 – Ряд Фибоначчи, построение дуг)

Более волатильные пары валют характеризуются достижением больших уровней Фибоначчи по сравнению с менее волатильными. Максимальные движения фиксируются по парам Доллар/Франк и Фунт/Доллар, затем идут Доллар/Йена и Евро/Доллар.

Использование ряда Фибоначчи на валютном рынке Форекс имеет одну особенность – их можно применять лишь для хороших импульсных движений.