Generator Fibonacciego

Z Wikipedii, wolnej encyklopedii

Generator Fibonacciego – jeden z wielu wariantów uogólnionego generatora liniowego liczb losowych.

Generator korzysta z ciągu Fibonacciego, stąd wzór:

Generator Fibonacciego ma dużo lepsze parametry jakościowe od innych generatorów liniowych, ale wymaga dużo większego nakładu obliczeń przy generowaniu, co wiąże się z czasem. Wadą tego generatora są duże korelacje między wyrazami ciągu. Ciągi te spełniają warunek rozkładu, ale nie spełniają warunku niezależności. Wady tej można się pozbyć poprzez uogólnienie wzoru do postaci (tzw. lagged Fibonacci generator):

gdzie i są opóźnieniami generatora.

Generator taki można jeszcze bardziej uogólnić zastępując działanie dodawania innym operatorem np. operatorem odejmowania, mnożenia, XOR itd.

generator taki oznaczamy

Przykład:

itd.

7, 16, 5, 12, 11, 16, 11, 5, 4, 15, 3, 7,...

Kolejnym uogólnieniem jest użycie większej ilości poprzednich punktów:

Kilka znanych generatorów tego typu przedstawiono poniżej:

Na przykład generator Marsagli (Marsa-LFIB4),

Generator Ziffa (Ziff98),

Bibliografia[edytuj | edytuj kod]