Generatore di Fibonacci ritardato

Da testwiki.
Vai alla navigazione Vai alla ricerca

Template:F Un generatore di Fibonacci ritardato (LFG, dall'inglese Lagged Fibonacci Generator) è un algoritmo per la generazione di numeri pseudo-casuali basato su una generalizzazione della successione di Fibonacci. Dalla definizione della successione di Fibonacci:

Fn=Fn1+Fn2

Similmente, il generatore è definito come

Fn=FnjFnk(modm),0<j<k

dove

  • Fn è l'n-esimo termine della successione di numeri generati
  • Fnj e Fnk sono due qualunque termini precedenti della successione
  • è una qualsiasi operazione binaria. Può essere addizione, sottrazione, moltiplicazione, divisione, ma anche un operatore logico
  • modm indica il resto della divisione tra (FnjFnk) e (m)

Se l'operatore usato è l'addizione, il generatore sarà di tipo additivo, se l'operatore è la moltiplicazione si avrà un generatore di Fibonacci ritardato di tipo moltiplicativo.

Proprietà

Come tutti i generatori di numeri pseudo-casuali, il generatore di Fibonacci ritardato è una funzione periodica. Il periodo massimo varia a seconda dell'operatore usato. Nel caso di somma o sottrazione, il generatore ha periodo p tale che

p(2k1)2m1

In caso di moltiplicazione invece

p(2k1)2m3

Da notare che il periodo della moltiplicazione è un quarto di quello della somma.

Come dimostrato di seguito, l'operatore addizione genera una sequenza numerica con periodo molto maggiore dell'operatore moltiplicazione.

dimostriamo che

(2k1)2m1=4[(2k1)2m3]

dividendo entrambi i membri per una stessa quantità

(2k1)2m12m1=4[(2k1)2m3]2m1

Nel primo membro si semplifica, nel secondo si divide 2m3 per 2m1, ricordando che per le potenze vale che anam=anm

(2k1)=4(2k1)2m3m+1

semplificando

(2k1)=4(2k1)22

infine

(2k1)=(2k1)

Q.E.D.

Voci correlate

Collegamenti esterni

Template:Portale