Pseudonáhodné číslo

Pseudonáhodné číslo je číslo vygenerované generátorom zdanlivo náhodných čísel. Postupnosť vygenerovaných náhodných čísel je tvorená pomocou nejakej funkcie.

Pri prvom obrátení sa na generátor náhodných čísel je náhodne zvolené číslo , napríklad podľa nejakej funkcie dátumu a času, nulté číslo je naozaj vygenerované náhodne. Obvykle sú generované čísla z intervalu (0,1). Keďže pseudonáhodné čísla sú vygenerované deterministickým algoritmom, nie sú to skutočne náhodné čísla, ale ak je použitý dobrý algoritmus, charakteristiky vygenerovanej postupnosti sa na postupnosť náhodných čísel veľmi podobajú (priemerná hodnota, disperzia, ...).

Metóda stredu mocniny
Prvý generátor pseudonáhodných čísel navrhol v roku 1946 John von Neumann. Metóda umožňovala generovať čísla s ľubovoľným počtom číslic. Keď potrebujeme pseudonáhodné čísla so štyrmi znakmi, na začiatku zvolíme nejaké štvorciferné číslo napríklad . Toto číslo umocníme na druhú dostaneme číslo 67551961, vyberieme štyri stredné číslice, číslo . Takto postupujeme ďalej a ďalej, pokiaľ mocnina čísla má menej znakov, ako osem, pripíšeme na začiatok mocniny toľko cifier, aby výsledné číslo malo 8 cifier.

Pseudonáhodné čísla z intervalu (0,1) získame z  takto .

Na prvý pohľad sa táto metóda zdala byť vyhovujúca, jej skúmaním sa však zistili mnohé nedostatky a v súčasnosti sa už nepoužíva. Napríklad ak sa ako  zvolí číslo 3792, jeho mocnina je 14379264 takže . Postupnosť čísel tiež často končí nulami alebo periodickou postupnosťou 6100, 2100, 8100, 6100.

Lineárný kongruentný generátor
Vyberieme štyri celé kladné čísla:
Činiteľ 
zdvih 
modul 
prvé číslo postupnosti 
Metóda je založená na nasledujúcom vzorci:

Je evidentné, že vygenerované číslo je .

Rovnomerne rozdelené čísla na intervale (0,1) dostaneme zo vzorca

Zďaleka nie pre všetky štvorice zvolených čísel dostaneme "dobré" pseudonáhodné čísla.

V prvom rade je zrejmé, že postupnosť vygenerovaných pseudonáhodných čísel bude periodická a jej perióda  bude nanajvýš , teda 

Dobrý generátor náhodných čísel je napríklad pre čísla: 

Perióda tohto generátora je .

Veľkosť periódy generátora nie je jediným kritériom toho, či je generátor "dobrý". Napríklad pre
 periodicky sa opakujúce čísla budú 0, 1, 2,..., m-1. Perióda je síce m ale je zjavné, že takúto postupnosť nemožno pokladať za postupnosť pseudonáhodných čísel.

Generátory náhodných čísel sa zložito testujú, či vyhovujú požiadavkám kladeným na pseudonáhodné čísla a treba používať preverené generátory, inak výsledky získané neprevereným generátorom môžu byť veľmi vzdialené od reality.

Napríklad generátor RANDU ( je nepárne číslo) používaný okolo roku 1970, generoval čísla, ktoré na prvý pohľad vyzerali náhodne, keď sa však tri po sebe idúce hodnoty pokladali za súradnice v priestore vygeneroval body, na 15 rovinách a nie rovnomerne rozložené v priestore - obrázok vľavo (pozri RANDU). Štandardným štatistickým testom pritom generátor vyhovel.

Generátor Blum Blum Shub 
Generátor Blum Blum Shub navrhli v roku 1986 Lenore Blum, Manuel Blum a Michael Shub.

Blum Blum Shub používa vzorec:

kde  sú veľké prvočísla, pričom sú kongruentné 3 modulo 4.

Jednotlivé čísla Blum Blum Shub generátora možno vypočítať aj priamo:

Aplikácie
Jednou z najnámejších aplikácii využitia pseudonáhodných čísel je Metóda Monte Carlo, ktorá umožňuje namiesto časovo, finančne, či inak náročných reálnych experimentov modelovať náhodné deje na počítačoch, možno ňou tiež s veľkou presnosťou odhadnúť nenáhodné veličiny.
V počítačových hrách generátor vygeneruje číslo kocky, zamieša karty, simuluje náhodné správanie sa virtuálnych súperov, ...
Genetické algoritmy

Referencie
A.L. Efros: Fizika i geometrija besporjadka. Izdateľstvo nauka, Moskva 1982 - pôvodný zdroj článku

Externé odkazy
 www.danciwo.net – Lineárny kongruentný generátor v Pascale.

Pravdepodobnosť
Štatistika
Informatika