Fibonaccis talföljd
<< Förra avsnitt] | Genomgång | Övningar | Nästa avsnitt >> |
Fibonaccis talföljd
Ett exempel på problem som med fördel kan modelleras med diskreta funktioner är följande uppgift som den italienske matematikern Leonardo Pisano Fibonacci år 1202
formulerade i sin bok Liber abaci (Boken om räknekonsten). Uppgiften handlar om kaniners fortplantning:
Ett kaninpar föder från den andra månaden av sin tillvaro
ett nytt par varje månad. Samma gäller för de nya paren.
Hur många par kommer det att finnas om ett år?
De två första månaderna finns det \( \, {\color{Red} 1} \, \) kaninpar. De föder sitt första barnpar först efter 2 månader dvs i månad nr 3, varför det finns \( \, {\color{Red} 2} \, \) kaninpar i månad 3.
I månad 4 föder det första paret sitt andra barnpar, varför det finns \( \, {\color{Red} 3} \, \) par i månad 4. I månad 5 föder det första paret sitt tredje barnpar, men även deras
första barnpar föder ett nytt par, eftersom det har gått 2 månader sedan deras födelse. Därför finns det \( \, {\color{Red} 5} \, \) par i månad 5 osv. \( \cdots \).
Praktiskt taget blir det allt svårare att hålla reda på kaninpopulationen när tiden går. Antalet kaninpar för varje månad bildar en s.k. talföljd som kallas för:
Undersöker man denna talföljd noga kan man upptäcka följande mönster:
Mönster för fibonaccitalen:
Summan av två på varandra följande fibonaccital ger nästa fibonaccital.
Vi kan använda detta mönster för att bygga en algoritm för beräkning av fibonaccitalen.
En algoritm är ett specificerat tillvägagångssätt för att lösa ett problem. Läs här mer om algoritmer.
Ännu smartare är det att anlita digitala verktyg för att låta datorn göra jobbet. T.ex. lämpar sig kalkylprogrammet Excel utmärkt för en sådan beräkning.
Algoritm för fibonaccitalen i Excel
Följande algoritm beskriver hur man kan använda Excel för att låta datorn beräkna fibonaccitalen:
I övning 6 kommer du att behöva använda denna algoritm för att låta datorn beräkna de första \( \, 24 \, \) fibonaccitalen.
Här är de \( \, 12 \, \) första fibonaccitalen beräknade:
|
Med denna värdetabell kan vi rita grafen
till höger som illustrerar fibonaccitalens snabba tillväxt. Den horisontella axeln visar antal månader och den vertikala antal kaninpar.
Fibonaccitalen bildar en diskret funktion därför att dess definitionsmängd är heltal, bestående av månaderna \( \, {\color{Red} 1}\)-\({\color{Red} {12}}\). |
Fil:Fibonacci 465p.jpg |
Som man ser ökar kaninpopulationen ganska fort, så att vi nu äntligen kan besvara den inledande frågan:
Det kommer att finnas \( \, 144 \, \) kaninpar om ett år.
Fibonaccis funktion
När vi beräknade fibonaccitalen konstaterade vi redan att de bildar en funktion. Vi beräknade värdetabellen och ritade även grafen till denna funktion. Men vad är dess formel? För att kunna formulera formeln inför vi följande beteckningar:
- \[ n \, = \, {\rm Antalet\;månader} \]
- \[ F(n)\, = \, {\rm Antalet\;kaninpar\;i\;månaden} \, n \]
De första två fibonaccitalen tar vi från värdetabellen ovan. Det är \( \, 1 \, \) och \( \, 1 \, \). Resten \(-\) Fibonaccis funktion som följer \(-\) är en översättning till matematiskt språk av det mönster vi upptäckte tidigare och lade till grund för beräkningsalgoritmen:
Fibonaccis rekursionsformel
\( F(n) \; = \; \begin{cases} 1 & \mbox{om} \quad n = 1 \\ 1 & \mbox{om} \quad n = 2 \qquad\qquad n \quad\mbox{heltal} \\ F(n-1) \; + \; F(n-2) & \mbox{om} \quad n = 3,\,4,\,5,\,\cdots \\ \end{cases} \)
Så här brukar man skriva för att för en och samma funktion definiera olika uttryck i olika delar av dess definitionsmängd. Kanske blir det enklare att förstå definitionen ovan om vi skriver den på följande förenklat sätt:
- \[\begin{array}{rcl} F(1) & = & 1 \\ F(2) & = & 1 \\ F(n) & = & F(n-1) \; + \; F(n-2) \qquad \mbox{om} \quad n = 3,\,4,\,5,\,\cdots \end{array}\]
De första raderna i definitionen ovan säger att de första två fibonaccitalen är \( \, 1 \, \) och \( \, 1 \). Den andra raden säger att det \( \, n\)-te fibonaccitalet är summan av de två föregående, vilket är mönstret vi upptäckte tidigare.
Fibonaccifunktionens egenskaper
Egenskapen att vara en diskret hade vi redan konstaterat för Fibonaccis funktion. Detta pga dess definitionsmängd var heltal: antalet kaninpar.
En annan intressant egenskap är att Fibonaccis funktion är rekursiv, vilket betyder att den i sin definition anropar sig själv, genom att ett värde beräknas med hjälp av föregående värden. För att se detta titta på raden i definitionen:
- \[ F(n) \; = \; F(n-1) \; + \; F(n-2) \]
I en vanlig funktion står \( F(n) \, \) till vänster om likhetstecknet och den oberoende variabeln \( n \, \) till höger. Men här står \( \, F(n) \, \) på båda sidor likhetstecknet, fast för olika månader (= argument). För att beräkna ett fibonaccital måste man känna till de två föregående. Men eftersom vi har de två första \( F(1) = 1 \, \) och \( F(2) = 1 \, \), s.k. startvärden, kan vi beräkna alla andra successivt dvs rekursivt utgående från dessa startvärden. Att \( F(n) \, \) anropas på båda sidor likhetstecknet är just den rekursiva egenskapen. Därav namnet Fibonaccis rekursionsformel.
Fibonaccis funktion har många intressanta kopplingar till andra delar inom matematiken. En av dem är sambandet mellan fibonaccitalen och det s.k. gyllene snittet se övning 6. En annan är följande vacker formel som upptäcktes först 1718 \(-\) mer än 500 år senare än själva fibonaccitalen \(-\) och som ger oss möjligheten att direkt beräkna vilket fibonaccital som helst utan att känna till något föregående fibonaccital:
Explicit formel för fibonaccitalen
\( \displaystyle F(n) \; = \; {1\over\sqrt{5}}\,\left({1+\sqrt{5}\over 2}\right)^n\,-\;{1\over\sqrt{5}}\,\left({1-\sqrt{5}\over 2}\right)^n\; , \qquad n \;\mbox{heltal } \geq 1 \)
I övning 11 får du till uppgift att bevisa den, vilket görs genom att visa att den uppfyller rekursionsformeln. Den är i själva verket lösningen till rekursionsformeln när denna uppfattas och behandlas som en differensekvation \(-\) något som studeras inom Diskret matematik.
Copyright © 2024 Lieta AB. All Rights Reserved.