Opracowanie:
Ciąg Fibonacciego
Ciąg Fibonacciego
1. Wstęp
Ciąg Fibonacciego jest jednym z najbardziej znanych w matematyce ciągów liczbowych. Możemy go zdefiniować następująco:
Pierwszym wyrazem Ciągu Fibonacciego jest 0. F0 = 0.
Drugim wyrazem Ciągu Fibonacciego jest 1. F1 = 1.
Każdy kolejny wyraz Ciągu Fibonacciego jest sumą dwóch poprzednich wyrazów. Fn = Fn-2 + Fn-1.
Za pomocą tego wzoru, możemy wypisać pierwsze wyrazy Ciągu Fibonacciego:
F0 = 0
F1 = 1
F2 = F0 + F1 = 0 + 1 = 1
F3 = F1 + F2 = 1 + 1 = 2
F4 = F2 + F3 = 1 + 2 = 3
F5 = F3 + F4 = 2 + 3 = 5
F6 = F4 + F5 = 3 + 5 = 8
Podążając dalej tym samym algorytmem, możemy obliczyć i wypisać dalsze wyrazy Ciągu Fibonacciego. Pierwsze 15 wyrazów wygląda następująco:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377…
W niniejszym wypracowaniu opiszę dokładnie Ciąg Fibonacciego i związane z nim zagadnienia. Przedstawię dokładnie jego historię, zastosowania, a także implementację w informatyce oraz pojęcie Złotej Liczby.
2. Historia Ciągu Fibonacciego
Fibonacci to tak naprawdę przydomek Leonarda Bonacciego z Pizy, średniowiecznego włoskiego matematyka. Jego przydomek został mu nadany wiele lat po jego śmierci i pochodzi od określenia „Fibius Bonacci”, czyli „Syn Bonacciego”. Fibonacci żył w latach 1175-1250, czyli odległym średniowieczu, kiedy to wiedza matematyczna była znacznie mniejsza niż obecnie, a wiele pojęć i praw było jeszcze nieodkrytych. Fibonacci, jako syn znanego kupca i urzędnika, miał okazję podróżować po świecie i uczyć się matematyki od arabskich naukowców, co skłoniło go do zainteresowania się światem, otaczającym go zjawiskami i ich matematycznym wytłumaczeniem.
Jedną z ogromnych zasług Fibonacciego dla matematyki jest rozpowszechnienie systemu liczbowego, znanego obecnie jako arabski, w ówczesnej Europie. Przed Fibonaccim, Europejczycy używali systemu rzymskiego (I, II, III, IV, V, X, L, C, D, M…). Wprowadzenie systemu arabskiego pozwoliło na rozwój matematyki w Europie, a najwybitniejsze dzieło Fibonacciego – wydane w 1202 roku Liber Abbaci („Księga Rachunków”) – było tego najlepszym potwierdzeniem. W księdze tej Fibonacci nie tylko opisał system arabski, lecz wykorzystał go do rozwiązania zagadnień dotyczących liczb pierwszych i niewymiernych, a także tematów praktycznych dotyczących rachunkowości, walut czy procesów występujących w przyrodzie. Najbardziej znanym zagadnieniem jest problem rozmnażania się królików – czyli znalezienia wzoru matematycznego, który będzie opisywał rozrost danej populacji bez wpływu czynniku zewnętrznych.
Fibonacci opisał to zagadnienie w następujący sposób:
•Zakładamy, że każda para królików po miesiącu rodzi dwa nowe króliki, które potem dalej się rozmnażają. Zakładamy też, że króliki nigdy nie umierają.
•W zerowym punkcie czasu, mamy 0 par królików
•W pierwszym miesiącu, zaczynamy z jedną parą królików zdolną do rozrodu.
•W drugim miesiącu, pierwsza para spodziewa się potomstwa, lecz nadal mamy 1 parę królików.
•W trzecim miesiącu pierwsza para królików rodzi parę potomstwa i nadal się rozmnaża. Mamy więc 2 pary królików.
•W czwartym miesiącu pierwsza para królików rodzi kolejną parę potomstwa. Ich pierwsza para potomstwa spodziewa się swojego potomstwa, lecz nadal mamy 3 paru królików.
•W piątym miesiącu pierwsza i druga para królików rodzą potomstwo. Mamy 3+2=5 par królików.
•W szóstym miesiącu mamy 5 par królików, a 3 pary, które były obecne w czwartym miesiącu, rodzą potomstwo. Czyli mamy 8 par królików.
•W siódmym miesiącu mamy 8 par królików, a potomstwo rodzi 5 par królików, które były obecne w piątym miesiącu, czyli mamy w sumie 13 par królików.
Jak możemy wywnioskować ze słownego opisu, w każdym kolejnym miesiącu będziemy mieli tyle par królików, ile było miesiąc wcześniej, plus tyle par królików, ile było 2 miesiąc wcześniej. Otrzymujemy więc wzór na Ciąg Fibonacciego – Fn = Fn-2 + Fn-1.
3. Obliczanie dalszych wyrazów Ciągu Fibonacciego
Jak możemy zauważyć, po dość powolnym wzroście pierwszych wyrazów Ciągu Fibonacciego, kolejne wyrazy będą wzrastały coraz szybciej i szybciej. Oznacza to, że obliczanie dalszych wyrazów ręcznie, dodając dwie poprzednie liczby, szybko stanie się ciężkie i czasochłonne. W tym celu możemy napisać prosty program komputerowy w wybranym przez nas języku programowania, który korzystając z mocy obliczeniowych komputera będzie w stanie szybko wypisać wybraną liczbę wyrazów Ciągu Fibonacciego. Poniżej napiszę prosty pseudokod, czyli algorytm, który można potem zaimplementować w wielu językach, używając ich zasad i składni.
int fibonacci (int n)
Definiujemy funkcję
fibonacci(0) = 0
fibonacci(1) = 1
Ręcznie podajemy dwa pierwsze wyrazy ciągu – 0 i 1
for (n = 2, n
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
Dla drugiego i każdego kolejnego elementu (których liczbę możemy określić podstawiając wybraną liczbę za x), obliczamy sumę dwóch poprzednich wyrazów.
Za pomocą takiego prostego kodu, możemy w krótkich czasie wypisać bardzo dużą liczbę wyrazów Ciągu Fibonacciego, bez potrzeby obliczeń ręcznie lub kalkulatorem.
4. Złoty podział
Złoty podział, znany też jako złota liczba lub boska proporcja, to liczba przedstawiana często jako ciekawostka matematyczna, jego przedstawienie jako charakterystyczna spirala jest częstym motywem przewodnim kompozycji architektonicznych lub artystycznych. Jednakże matematyczna definicja złotego podziału jest bezpośrednio związana z Ciągiem Fibonacciego – chociaż sam Fibonacci właściwości tej nie odkrył.
Aby zdefiniować złoty podział, narysujmy odcinek, i podzielmy go na dwa mniejsze odcinki a i b:
Złotym podziałem jest taki dobór długości a i b, że prawdziwa jest proporcja:
(a + b)/a = a/b = φ
φ to grecka litera phi, którą zwyczajowo oznaczamy złoty podział.
Wartość złotego podziału możemy obliczyć za pomocą podstawowych umiejętności algebraicznych. Wykonajmy następujące kroki:
(a + b)/a = a/b = φ
(a + b)/a możemy przedstawić jako (a/a) + (b/a)
Za a/b możemy podstawić φ, zatem za b/a możemy podstawić 1/φ, natomiast a/a = 1
Otrzymujemy więc postać:
(a + b)/a = (a/a) + (b/a) = 1 + 1/φ = φ
Mnożymy teraz równanie przez φ:
φ + 1 = φ2
φ2 – φ – 1 = 0
Rozwiązujemy równanie kwadratowe za pomocą delty:
a = 1, b = -1, c = -1
Δ = b2 – 4ac = (-1)2 – (4*1*(-1)) = 5
φ = (-b – √Δ)/2a lub φ = (-b + √Δ)/2a)
φ = (1 – √5)/2 lub φ = (1 + √5)/2
Pierwsze rozwiązanie jest ujemne, a φ to stosunek długości dwóch odcinków, więc musi być liczbą dodatnią, tak więc bierzemy drugie rozwiązanie – dodatnie.
Czyli otrzymaliśmy wartość φ = (1 + √5)/2.
Przybliżenie tego wyniku to φ = 1.6180339….
Teraz może powstać pytanie – jaki to wszystko ma związek z Ciągiem Fibonacciego?
Okazuje się, że jeśli przyjrzymy się wartościom Ciągu Fibonacciego, to stosunek n-tego wyrazu ciągu do poprzedniego wyrazu będzie zmierzał do φ = (1 + √5)/2, czyli do mniej więcej 1.618.
Sprawdźmy przykładowo:
233/144 = 1.6180555…
377/233 = 1.6180257…
Każdy kolejny wynik będzie coraz bardziej zbliżał się do wartości φ
Możemy to zapisać za pomocą granicy:
lim F(n+1)/F(n+0) = φ
n->∞
5. Interpretacja graficzna – Złota Spirala
Interpretacją graficzną Ciągu Fibonacciego jest Złota Spirala. Jest to spirala, której długość zmniejsza się o współczynnik φ co 90°. Poglądowy rysunek można znaleźć poniżej:
Ze względu na swoją estetykę, spirala ta nazywana jest również „Boską Spiralą”, i była bardzo często używana jako element obrazów czy dzieł architektonicznych. Co ciekawe, bardzo podobne spirale możemy znaleźć też naturalnie w przyrodzie – jako wzory na muszelkach czy kwiatach.
6. Zastosowanie Ciągu Fibonacciego
Oprócz wielu ciekawych własności matematycznych i teoretycznych, Ciąg Fibonacciego znajduje również sporo zastosowań praktycznych. Najbardziej znanym przykładem jest opisane przez Fibonacciego rozmnażanie królików, jednak możemy ten wzór przenieść na inne organizmy występujące w przyrodzie. Rozwój pędów, gałęzi czy liści wielu roślin podąża za Ciągiem Fibonacciego. Dlatego też tak ciężko znaleźć czterolistną koniczynkę – ponieważ czwórka nie występuje w Ciągu Fibonacciego. Rozwiążmy przykładowe zadanie:
Zadanie 1.
Agnieszka hoduje paprotki. Jedna paprotka ma obecnie 8 liści, a druga ma 55 liści. Zakładając, że rozwój paprotek podąża za Ciągiem Fibonacciego w cyklu miesięcznym, o ile starsza jest druga paprotka?
Rozwiązanie:
Możemy rozwiązać to zadanie na dwa sposoby. Pierwszy sposób to ten oczywisty – wypisanie wszystkich wyrazów Ciągu Fibonacciego aż do 55, i obliczenie, którym wyrazem są 8 i 55. Wypiszmy je więc:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55
8 jest siódmym wyrazem, a 55 jest jedenastym wyrazem. Tak więc różnica między nimi to 4 wyrazy, czyli druga paprotka jest o cztery miesiące starsza.
Jak jednak podejść do tego zadania w przypadku, gdy liczby będą ogromne, i nie będzie możliwe łatwe wypisanie wszystkich wyrazów?
Użyjmy faktu, że każdy kolejny wyraz to φ razy poprzedni wyraz.
Obliczmy iloraz naszych dwóch liczb:
55/8 = 6.875
Oznacza to, że φn = 6.875, gdzie n to liczba, której szukamy.
Aby obliczyć n, przekształcamy to wyrażenie na logarytm:
logφ 6.875 = n
Podstawiając 1.618 za n i wpisując wyrażenie w kalkulator logarytmów, otrzymamy rozwiązanie:
log φ 6.875 = 4
Jest to poprawne rozwiązanie, które otrzymaliśmy również licząc ręcznie. W przypadku znacznie większych liczb, byłoby to jedyne poprawne rozwiązanie.
Ciąg Fibonacciego znajduje również swoje zastosowanie w bankowości, analityce, analizie rynku czy wykresów finansowych. Są to tematy, których zgłębianie może zająć wiele lat studiów ekonomicznych czy pracy w instytucjach. Na naszą potrzebę rozwiążmy bardzo podstawowe zadanie:
Zadanie 2.
Pewien sklep obuwniczy sprzedaje średnio 1200 par butów dziennie. Na podstawie analizy wyników sprzedażowych, główny analityk finansowy tego sklepu stwierdził, że w przypadku sprzedaży o 1/φ mniejszej niż średnia przez 5 dni pod rząd możemy mówić o kryzysie i należy wdrożyć nowe metody marketingowe. W zeszłym tygodniu sklep sprzedał 3900 par butów. Czy należy uruchomić procedurę kryzysową?
Rozwiązanie:
Zadanie to nie jest trudne, jednak musimy zrozumieć, co dokładnie chcemy obliczyć.
Jeżeli średnio sklep sprzedaje 1200 par butów dziennie, to w ciągu tygodnia wynik ten będzie wynosił 5*1200 = 6000.
Procedurę kryzysową uruchamiamy, jeśli tygodniowa sprzedaż spadnie poniżej 1/φ średniej.
1/φ to często używany w finansach przelicznik, i jego wartość wynosi w przybliżeniu 0.618 – jest ona równa φ – 1 (1.618… – 0.618…. )
Obliczmy więc, przy jakiej sprzedaży tygodniowej jej wartość spadnie poniżej 1/φ średniej:
1/φ * 6000 = 3708.
Oznacza to, że jeśli sklep sprzedał w danym tygodniu 3900 osób, sprzedaż nie spadła jeszcze poniżej wartości kryzysowej.
Podsumowując – Ciąg Fibonacciego to jeden z najbardziej znanych i najciekawszych ciągów liczbowych. Znajomość jego własności i zastosowań jest nie tylko przydatna, ale przede wszystkim bardzo ciekawa, i nawet najbardziej opornym pokaże piękno matematyki.