Rekursion. Inledning En trädgårdsmästare skall lägga en gång med cementplattor. Gången skall vara en fot bred. Han har tre slags plattor. En är omönstrad och kvadratisk med sidan en fot, två är rektangulära med sidorna en respektive två fot. En av dessa är omönstrad, den andra mönstrad. Hur många olika gångar kan han lägga som är (a) fot, (b) 0 fot och (c) n fot långa? För att lösa detta låter vi p n, n =,, 3,... vara antalet sådana gångar som är n fot långa. När trädgårdsmästaren lägger den första plattan har han tre val. Om han börjar med den lilla plattan skall han sedan fortsätta med en gång som är n fot lång. Det kan han göra på p n sätt. Börjar han med någon av de stora plattorna skall han fortsätta med en gång som är n fot lång. Det kan han göra på p n sätt. Detta ger att om n 3 så gäller Ekvivalent kan vi skriva p n = p n + p n, n = 3, 4... p n+ = p n+ + p n, n =,, 3, 4... (.) Nu gäller p = och p = 3 (Varför?). Så () ger med n = att p 3 = p +p = 3+ =. Med n = får vi p 4 = p 3 +p = + 3 = och sedan ger n = 3 att p = p 4 + p 3 = + = och vi har löst (a)-uppgiften.
Det är klart att vi kan fortsätta på det här sättet och räkna ut att p 0 = 683 (Gör det!) och i princip kan vi också beräkna p n för varje heltal n men beräkningarna blir jobbiga när n är stort. En dator kan underlätta beräkningarna (t.ex. gäller p = 3696) men helst vill vi ha en formel för p n. I det här exemplet gäller p n = 3 (n+ + ( ) n ) n =,, 3,... och vi får p 0 = 3 ( + ) = 683. Vi skall här beskriva hur man kan visa denna formel och lösa andra differensekvationer. Detta är ett stort område och vi kommer bara att ta upp de enklaste ekvationerna.. Första ordningens differensekvationer Exempel. En husköpare får ett banklån på en miljon kronor till fem procents årlig ränta. Hur stor är hans skuld efter hundra år? Låt S n vara skulden efter n år. Under ett år ökar skulden med fem procent av vad den var i början på året, dvs. med 0, 0S n. Så S n+ = S n + 0, 0S n =, 0S n. Så vi har S0 = 0 6 S n+ =, 0S n Detta ger succesivt S =, 0S 0, S =, 0S =, 0 S 0, S 3 =, 0S =, 0 3 S 0,..., S n =, 0S n =, 0 n S 0... Så skulden efter hundra år blir, 0 00 0 6 3 000. Problemet i exemplet var ett exempel på en första ordningens linjär differensekvation av formen S0 = A S n+ = cs n som har lösningen S n = c n A. Att detta är en lösning följer av att S 0 = A och S n+ = c n+ A = c c n A = cs n. 3. Andra ordningens homogena linjära differensekvationer med konstanta koefficienter Att ekvationen i förra avsnittet kallas för första ordningens beror på att man bara behövde veta ett värde, x n, för att beräkna nästa värde, x n+.
Nästa steg uppåt är när man behöver känna till två värden, x n och x n+, för att beräkna nästa värde, x n+, vi får en ekvation av andra ordningen. En allmän andra ordningens linjär, homogen differensekvation med konstanta koefficienter har formen xn+ = cx n+ + dx n x = a, x = b. Vi säger att ekvationen är linjär när den inte innehåller termer som x n, x n x n+, sin x n, etc. Att ekvationen är homogen betyder att den inte innehåller någon funktion som beror på n. Så t.ex. är ekvationen x n+ = cx n+ +dx n +n inte homogen. En homogen ekvation har alltid lösningen x n = 0 för alla n. För en linjär homogen ekvation gäller superpositionsprincipen: Om vi har två lösningar, multiplicerar dessa med var sin konstant och adderar får vi en ny lösning. Mer om detta om en liten stund. Låt oss återvända till exemplet i inledningen, pn+ = p n+ + p n p =, p = 3. För ekvationer av första ordningen såg vi att lösningarna hade formen av en konstant gånger r n. Låt oss pröva med en sådan lösning till vår nya ekvation. Vi får om p n = r n att p n+ = r n+ och p n+ + p n = r n+ + r n. Så ekvationen p n+ = p n+ + p n ger r n+ = r n+ + r n. Efter förkortning med r n får vi r = r + eller r r = 0. Denna ekvation kallas för den karakteristiska ekvationen till differensekvationen. Lösningarna till andragradsekvationen är (Räkna själv!) r = och r =. Så q n = n och r n = ( ) n löser ekvationen. Eftersom ekvationen är linjär ger superpositionsprincipen att p n = A n + B( ) n också är en lösning för alla A och B (Kontrollera det!). Det gäller nu att välja A och B så att begynnelsevillkoren p =, p = 3 blir uppfyllda. Eftersom p = A B och p = 4A + B får vi A B =. 4A + B = 3 Adderar vi ekvationerna får vi 6A = 4, dvs. A = 3 och sedan B = 3. Lösningen blir alltså p n = 3 n + 3 ( )n = 3 (n+ + ( ) n ). 3
Vi ser nu att p = 3 (6 ) = och p 0 = 3 ( + ) = (048 + ) = 3 049 = 683 som väntat. 3 Med samma resonomang som i det konkreta exemplet ser vi att om xn+ = cx n+ + dx n x = a, x = b. och r r är rötter till den karakteristiska ekvationen r cr d = 0 så uppfyller x n = Ar n + Br n differensekvationen. Bestämmer vi sedan A och B så att x = a och x = b har vi fått den önskade lösningen. Om den karakteristiska ekvationen har en dubbelrot r kan man visa att x n = (A+Bn)r n är den allmänna lösningen till differensekvationen och sedan väljer man A och B så att begynnelsevärdena är uppfyllda. Exempel. Lös ekvationen xn+ = 0x n+ x n x 0 =, x =. Den karakteristiska ekvationen r 0r+ = (r ) = 0 har dubbelroten r =. Så x n = (A + Bn) n. Begynnelsevärdena ger A = x 0 = och (A + B) = så A = och B = 7. Lösningen blir alltså 4. Fibonaccitalen x n = ( 7 n )n. Fibonaccitalen F n definieras av rekursionsekvationen Fn+ = F n+ + F n, n =,, 3,... F =, F =. Vi får alltså nästa tal i följden genom att lägga ihop dom två sista. Så följden börjar,,, 3,, 8, 3,, 34,,... En liten variant på detta är att lägga till talet F 0 = 0 och betrakta Fn+ = F n+ + F n, n = 0,,, 3,... (4.) F 0 = 0, F =. 4
i stället. Eftersom F = F 0 + F = 0 + = har denna ekvation samma lösningar F n, n =,, 3,.... Vi skall nu använda metoden i förra avsnittet för att lösa (4.). Den karakteristiska ekvationen är r r = 0 som har lösningen ( r = ) ± + = ± 4 = ±. Så den allmänna lösningen är ( + ) n ( ) n F n = A + B. Begynnelsevillkoren F 0 = 0 och F = ger A + B = 0 A + + B eller eftersom A + Adderar vi ekvationerna får vi A = = + B = (A + B) + (A B), A + B = 0 A B =. och B = så Fibonaccitalen är F n = (( n + ) n ( ) ) n. Vid ett första (och kanske också ett andra) ögonkast kan den här formeln verka lite överraskande. Fibonaccitalen är naturligtvis (eller hur?) heltal. Men att formeln för F n alltid ger ett heltal är kanske inte så uppenbart? Men det gör den. Om t.ex. n = 4 så ger binomialsatsen att F 4 = (( 4 + ) 4 ( ) ) 4 [ = 6 + 4 + 6( ) + 4( ) 3 + ( ) 4 ( 4 + 6( ) 4( ) 3 + ( ] ) 4 ) = 6 [(8 + 8( ) 3 ] = [8 + 40] = 3. 6 Använder vi räknedosan är det lätt att se att F (0) =. Övning för den ambitiösa: Visa att formeln för F n alltid ger ett heltal!
Anmärkning 4.. Fibonaccitalen dök upp för första gången 0 i den italienske matematikern Fibonaccis bok Liber Abaci. (På svenska: Boken om abakusen.) Problemet han studerade handlade om tillväxten hos kaniner. Exempel. På nyårsdagen finns ett nyfött kaninpar. Dom förökar sig på följande sätt. Det tar en månad tills kaninerna är könsmogna. Då parar dom sig genast och efter ytterligare en månad föds ett nytt kaninpar som beter sig på samma sätt. Hur många kaninpar finns det efter ett år? Låt antal kaninpar som finns den första dagen i den n:e månaden vara F n. Då gäller F n+ = F n+ + F n. Att det är så följer av att alla kaninparen månaden innan är F n+ stycken, och de lever alla vidare. Dessutom finns det F n kaninpar två månader innan och det är dessa som är könsmogna en månad tidigare och de föder alltså alla ett nytt kaninpar. Dessutom är F = och F = (Varför?). Alltså är antalet kaninpar detsamma som Fibonaccitalen och efter ett år finns det F 3 = (( 3 + ) 3 ( ) ) 3 = 33 stycken. Exempel. Låt oss återvända till trädgårdsmästaren i inledningen. När han skulle beställa plattorna fick han reda på att de mönstrade plattorna inte tillverkades längre. Hur många gångar kan han lägga då? Låt p n, n =,, 3,... vara antalet sådana gångar som är n fot långa. När trädgårdsmästaren lägger den första plattan har han två val. Om han börjar med den lilla plattan skall han sedan fortsätta med en gång som är n fot lång. Det kan han göra på p n sätt. Börjar han med den stora plattorna skall han fortsätta med en gång som är n fot lång. Det kan han göra på p n sätt. Detta ger att om n 3 så gäller Ekvivalent kan vi skriva p n = p n + p n, n = 3, 4... p n+ = p n+ + p n, n =,, 3, 4... (4.) Detta är samma rekursionsekvation som för Fibonaccitalen men nu blir startvärdena annorlunda. Vi har p = och p = (Varför?). Om vi lägger till p 0 = gäller alltså pn+ = p n+ + p n, n = 0,,, 3,... (4.3) p 0 =, p =. Från detta följer det att p n = F n+ så t.ex. finns det p 0 = F = (( + ) ( ) ) = 89 gångar som är tio fot långa. 6