Проводка

Числа Фибоначчи и золотое сечение: взаимосвязь. Числа Фибоначчи: нескучные математические факты Что значит число фибоначчи

Числа Фибоначчи и золотое сечение: взаимосвязь. Числа Фибоначчи: нескучные математические факты Что значит число фибоначчи
Здравствуйте, дорогие читатели!

Золотое сечение - что это такое? Числа Фибоначчи - это ? В статье - ответы на эти вопросы кратно и понятно, простыми словами.

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

Другие полезные статьи:

Числа Фибоначчи - это что?

Поразителен тот факт, что при делении каждого последующего числа числовой последовательности на предыдущее получается число, стремящееся к 1,618.

Обнаружил эту загадочную последовательность счастливчик математик средневековья Леонардо Пизанский (более известный под именем Фибоначчи) . До него Леонардо да Винчи обнаружил в строении тела человека, растений и животных удивительным образом повторяющуюся пропорцию Фи = 1,618 . Это число (1,61) ученые еще называют «Числом Бога».


До Леонардо да Винчи эта последовательность чисел была известна в Древней Индии и Древнем Египте . Египетские пирамиды построены с применением пропорции Фи = 1,618.

Но и это еще не все, оказывается законы природы Земли и Космоса каким-то необъяснимым образом подчиняются строгим математическим законам последовательности чисел Фидоначчи .

Например, и ракушка на Земле, и галактика в Космосе построены с применением чисел Фибоначчи. Абсолютное большинство цветов имеет 5, 8, 13 лепестков. В подсолнухе, на стеблях растений, в закрученных вихрях облаков, в водоворотах и даже в графиках изменения курсов валют на Форексе, всюду работают числа Фибоначчи.

Посмотрите простое и занимательное пояснение, что такое последовательность чисел Фибоначчи и Золотое сечение в этом КОРОТКОМ ВИДЕО (6 минут):

Что такое Золотое сечение или Божественная пропорция?

Итак, что такое Золотое сечение или Золотая или Божественная пропорция? Фибоначчи также обнаружил, что последовательность, которая состоит из квадратов чисел Фибоначчи является еще большей загадкой. Попробуем графически изобразить в виде площади последовательность:

1², 2², 3², 5², 8²…


Если вписать спираль в графическое изображение последовательности квадратов чисел Фибоначчи, то мы получим Золотое сечение, по правилам которого построено все во вселенной, включая растения, животных, спираль ДНК, человеческое тело, … Список этот можно продолжать до бесконечности.


Золотое сечение и Числа Фибоначчи в природе ВИДЕО

Предлагаю посмотреть короткий фильм (7 минут), в котором раскрываются некоторые загадки Золотого сечения. При размышлениях о законе чисел Фибоначчи, как о первостепенном законе, который управляет живой и неживой природой, появляется вопрос: Эта идеальная формула для макромира и микромира возникла сама или ее кто-то создал и удачно применил?

Что ВЫ думаете по этому поводу? Давайте вместе подумаем над этой загадкой и быть может мы приблизимся к .

Очень надеюсь, что статья была полезной для Вас и Вы узнали, что это такое Золотое сечение *и Числа Фибоначчи ? До новых встреч на страницах блога, подписывайтесь на блог. Форма подписки — под статьей.

Всем желаю много новых идей и вдохновения для их реализации!

1,6180339887 4989484820 4586834365 6381177203 0917980576 2862135448 6227052604 6281890244 9707207204 1893911374 8475408807 5386891752 1266338622 2353693179 3180060766 7263544333 8908659593 9582905638 3226613199 2829026788 0675208766 8925017116 9620703222 1043216269 5486262963 1361443814 9758701220 3408058879 5445474924 6185695364 8644492410 4432077134 4947049565 8467885098 7433944221 2544877066 4780915884 6074998871 2400765217 0575179788 3416625624 9407589069 7040002812 1042762177 1117778053 1531714101 1704666599 1466979873 1761356006 7087480710 1317952368 9427521948 4353056783 0022878569 9782977834 7845878228 9110976250 0302696156 1700250464 3382437764 8610283831 2683303724 2926752631 1653392473 1671112115 8818638513 3162038400 5222165791 2866752946 5490681131 7159934323 5973494985 0904094762 1322298101 7261070596 1164562990 9816290555 2085247903 5240602017 2799747175 3427775927 7862561943 2082750513 1218156285 5122248093 9471234145 1702237358 0577278616 0086883829 5230459264 7878017889 9219902707 7690389532 1968198615 1437803149 9741106926 0886742962 2675756052 3172777520 3536139362

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

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

Свидетельства использования древними мыслителями золотой пропорции приведены в книге Эвклида «Начала», написанной еще в 3 в. до н.э., который применял это правило для построения правильных 5-угольников. У пифагорейцев эта фигура считается священной, поскольку является одновременно симметричной и асимметричной. Пентаграмма символизировала жизнь и здоровье.

Числа Фибоначчи

Знаменитая книга Liber abaci математика из Италии Леонардо Пизанского, который в последующем стал известен, как Фибоначчи, увидела свет в 1202 г. В ней ученый впервые приводит закономерность чисел, в ряду которых каждое число является суммой 2-х предыдущих цифр. Последовательность чисел Фибоначчи заключается в следующем:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377 и т.д.

Также ученый привел ряд закономерностей:

Любое число из ряда, разделенное на последующее, будет равно значению, которое стремится к 0,618. Причем первые числа Фибоначчи не дают такого числа, но по мере продвижения от начала последовательности это соотношение будет все более точным.

Если же поделить число из ряда на предыдущее, то результат устремится к 1,618.

Одно число, поделенное на следующее через одно, покажет значение, стремящееся к 0,382.

Применение связи и закономерностей золотого сечения, числа Фибоначчи (0,618) можно найти не только в математике, но и в природе, в истории, в архитектуре и строительстве и во многих других науках.

Для практических целей ограничиваются приблизительным значением Φ = 1,618 или Φ = 1,62. В процентном округлённом значении золотое сечение - это деление какой-либо величины в отношении 62 % и 38 %.

Исторически изначально золотым сечением именовалось деление отрезка АВ точкой С на две части (меньший отрезок АС и больший отрезок ВС), чтобы для длин отрезков было верно AC/BC = BC/AВ. Говоря простыми словами, золотым сечением отрезок рассечён на две неравные части так, что меньшая часть относится к большей, как большая ко всему отрезку. Позже это понятие было распространено на произвольные величины.

Число Φ называется также золотым числом.

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

Теперь подробности:

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

То есть, если мы примем весь отрезок c за 1, то отрезок a будет равен 0,618, отрезок b - 0,382. Таким образом, если взять строение, например, храм, построенный по принципу ЗС, то при его высоте скажем 10 метров, высота барабана с куполом будут равны 3,82 см, а высота основания строения будет 6, 18 см. (понятно, что цифры взяты ровными для наглядности)

А какова связь между ЗС и числами Фибоначчи?

Числа последовательности Фибоначчи это:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597…

Закономерность чисел в том, что каждое последующее число равно сумме двух предыдущих чисел.
0 + 1 = 1;
1 + 1 = 2;
2 + 3 = 5;
3 + 5 = 8;
5 + 8 = 13;
8 + 13 = 21 и т.д.,

а отношение смежных чисел приближается к отношению ЗС.
Так, 21: 34 = 0,617, а 34: 55 = 0,618.

То есть в основе ЗС лежат числа последовательности Фибоначчи.

Считается, что термин «Золотое сечение» ввел Леонардо Да Винчи, который говорил, «пусть никто, не будучи математиком, не дерзнет читать мои труды” и показывал пропорции человеческого тела на своём знаменитом рисунке «Витрувианский человек». “Если мы человеческую фигуру – самое совершенное творение Вселенной – перевяжем поясом и отмерим потом расстояние от пояса до ступней, то эта величина будет относиться к расстоянию от того же пояса до макушки, как весь рост человека к длине от пояса до ступней”.

Ряд чисел Фибоначчи наглядно моделируется (материализуется) в форме спирали.

А в природе спираль ЗС выглядит вот так:

При этом, спираль наблюдается повсеместно (в природе и не только):

Семена в большинстве растений расположены по спирали
- Паук плетет паутину по спирали
- Спиралью закручивается ураган
- Испуганное стадо северных оленей разбегается по спирали.
- Молекула ДНK закручена двойной спиралью. Молекулу ДНК составляют две вертикально переплетенные спирали длиной 34 ангстрема и шириной 21 ангстрема. Числа 21 и 34 следуют друг за другом в последовательности Фибоначчи.
- Эмбрион развивается в форме спирали
- Спираль «улитки во внутреннем ухе»
- Вода уходит в слив по спирали
- Спиральная динамика показывает развитие личности человека и его ценностей по спирали.
- Ну и конечно, сама Галактика имеет форму спирали

Таким образом можно утверждать, что сама природа построена по принципу Золотого Сечения, оттого эта пропорция гармоничнее воспринимается человеческим глазом. Она не требует «исправления» или дополнения получаемой картинки мира.

Фильм. Число Бога. Неопровержимое доказательство Бога; The number of God. The incontrovertible proof of God.

Золотые пропорции в строении молекулы ДНК

Все сведения о физиологических особенностях живых существ хранятся в микроскопической молекуле ДНК, строение которой также содержит в себе закон золотой пропорции. Молекула ДНК состоит из двух вертикально переплетенных между собой спиралей. Длина каждой из этих спиралей составляет 34 ангстрема, ширина 21 ангстрема. (1 ангстрем - одна стомиллионная доля сантиметра).

21 и 34 - это цифры, следующие друг за другом в последовательности чисел Фибоначчи, то есть соотношение длины и ширины логарифмической спирали молекулы ДНК несет в себе формулу золотого сечения 1:1,618

Золотое сечение в строении микромиров

Геометрические фигуры не ограничиваются только лишь треугольником, квадратом, пяти- или шестиугольником. Если соединить эти фигуры различным образом между собой, то мы получим новые трехмерные геометрические фигуры. Примерами этому служат такие фигуры как куб или пирамида. Однако кроме них существуют также другие трехмерные фигуры, с которыми нам не приходилось встречаться в повседневной жизни, и названия которых мы слышим, возможно, впервые. Среди таких трехмерных фигур можно назвать тетраэдр (правильная четырехсторонняя фигура), октаэдр, додекаэдр, икосаэдр и т.п. Додекаэдр состоит из 13-ти пятиугольников, икосаэдр из 20-и треугольников. Математики отмечают, что эти фигуры математически очень легко трансформируются, и трансформация их происходит в соответствии с формулой логарифмической спирали золотого сечения.

В микромире трехмерные логарифмические формы, построенные по золотым пропорциям, распространены повсеместно. К примеру, многие вирусы имеют трехмерную геометрическую форму икосаэдра. Пожалуй, самый известный из таких вирусов - вирус Adeno. Белковая оболочка вируса Адено формируется из 252 единиц белковых клеток, расположенных в определенной последовательности. В каждом углу икосаэдра расположены по 12 единиц белковых клеток в форме пятиугольной призмы и из этих углов простираются шипообразные структуры.

Впервые золотое сечение в строении вирусов обнаружили в 1950-хх гг. ученые из Лондонского Биркбекского Колледжа А.Клуг и Д.Каспар. 13 Первым логарифмическую форму явил в себе вирус Polyo. Форма этого вируса оказалась аналогичной с формой вируса Rhino 14.

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

«Доктор Каспар и я показали, что для сферической оболочки вируса самой оптимальной формой является симметрия типа формы икосаэдра. Такой порядок сводит к минимуму число связующих элементов… Большая часть геодезических полусферических кубов Букминстера Фуллера построены по аналогичному геометрическому принципу. 14 Монтаж таких кубов требует чрезвычайно точной и подробной схемы-разъяснения. Тогда как бессознательные вирусы сами сооружают себе столь сложную оболочку из эластичных, гибких белковых клеточных единиц.»

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

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

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

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

Пример последовательности: 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 Просьбой о кипятке

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример последовательности: 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 Просьбой о кипятке

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

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

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

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

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

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

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

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

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

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

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

  • Перевод

Введение

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

Код предназначен для 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}. Иными словами, мы получим бесконечные в обе стороны двоичные последовательности и никакие пары из них не будут смежными. Топологическая энтропия этой динамической системы равна золотому сечению ϕ. Интересно, как это число периодически появляется в разных областях математики.

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