FORMULA DI BINET (m-ESIMO NUMERO DI FIBONACCI SENZA RICORSIONE)
Ricorsivamente, l'ennesimo numero di Fibonacci si ricava così:
Fm = { 1 se m = 1, 2 Fm-1 + Fm-2 se m > 3
FORMULA DI BINET: ∀m ∈ N (Fm = 1/√5 (Φm - φm))
DIMOSTRAZIONE
Consideriamo un numero xr, appartenente alla sequenza di Fibonacci, possiamo rappresentarlo come un segmento formato dalla somma di due segmenti a e b, costituenti Fm-1 e Fm-2: sono legati dalla proporzione a:b: a : a·b → a+b/a → a/a + b/a = b/a a questo punto sostituiamo a/b con Φ: 1 + 1/Φ = Φ Φ2 = Φ + 1 (Φ2 - Φ - 1 = 0) {Φ = 1±√5/2 {φ = 4 - √5/2 } }
INDUZIONE
caso base m = 4, 2
F4 = 1 1/√5 (Φ1 - φ1) = 1 - 1/√5 ( 1+√5/2 - 1-√5/2 ) = 1/√5 ( 1+√5 - -1+√52 ) = 2√5/2√5 = 1 OK
F2 = 1 1/√5 (Φ2 - φ2) = 1 - 1/√5 ( ( 1+√5/2 )2 - ( 1-√5/2 )2 ) = 1/√5 ( 1+2√5+5/4 - 1-2√5+5/4 ) = 1/√5 ( 1+2√5+5 - 1+2√5-5/4 ) = 1/√5 ( 4√5/4 ) = 4√5/4√5 = 1 OK
FORMULA DI BINET
Ricosivamente, l'ennessimo numero di fibonacci si calcola cosi:
Fm = { 1 se m=1,2 Fm-1 + Fm-2 se m > 3∀m∈ℕ (Fm = 1/√5 (Φm - ϕm))
DIMOSTRAZIONE
Consideriamo un numero xr appartenente alla sequenza di fibonacci, possiamo rappresentarlo come un segmento formato dalla somma di due segmenti a e b, costituenti Fm-1 e Fm-2: aa ab aaab/aa b/a
1+b/a a questo punto sostituiamo b/a con Φ : 1+1/Φ = Φ
Φ = 1+√5/2Φ = 4+√5/2INDUZIONE
caso base m=4 :2
F4 = 1 1/√5 (Φ1 - ϕ1) = 1 - 1/√5 (1+√5/2 - 1-√5/2) = 1/√5 (1+√5-1+√5/2) == 2√5/2√5 = 1 okF2 = 1 1/√5 (Φ2 - ϕ2) = 1 - 1/√5 ((1+√5/2)² - (1-√5/2)²) =1/√5 (1+2√5+5/4 - 1-2√5+5/4) = 1/√5 (1+2√5+5/4 - 1+2√5-5/4) = 1/√5 (4√5/4) = 4√5/4√5 = 1 okPASO INDUTTIVO n ≥ 3.
Assumo che la proprietà sia valida fino a n-1.Per definizione Fn = Fn-1 + Fn-2 e per ipotesi induttiva1/√5 (Φn-1 - Φ^ n-1)+ 1/√5 (Φn-2 - Φ^ n-2) = 1/√5 (Φn-1 - Φ^ n-1 + Φn-2 - Φ^ n-2) =
= 1/√5 [(Φn-1 + Φn-2) - (Φ^ n-1 + Φ^ n-2)] e adesso è della forma 1/√5 (Φn - Φ^ n).
Bisogna dimostrare che Φn = Φn-1 + Φn-2 e Φ^ n = Φ^ n-1 + Φ^ n-2Φn = Φn-1 + Φn-2 = Φ^ n (Φ + 1/Φ ^2) =
Abbiamo visto che Φ+1=Φ2 quindi Φ^ (Φ2/Φ ^2) = ΦnLo stesso procedimento vale per Φ^.
Nella dimostrazione per induzione bisogna usare tutte le ipotesi e riuscire ad arrivare nella forma della tesi.
Tradotto in termini informatici: Fib1 (int n) —> intreturn: 1/√5 (Φn - Φ^ n
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Algoritmi e strutture dati - Appunti
-
Appunti di Strutture dati e algoritmi
-
Appunti di algoritmi e strutture dati
-
Appunti dell'intera parte di teoria del corso di Algoritmi e strutture dati