Pseudonáhodná čísla

Pseudonáhodná čísla jsou čísla vytvářející posloupnost, která se zdá být náhodná, ale ve skutečnosti je generována deterministickým algoritmem. Používají se v mnoha odvětvích informatiky, kdy je pro nějakou aplikaci potřeba náhodnost, kterou ovšem na deterministickém počítači nelze přímo dosáhnout. K aplikacím patří počítačové hry, numerické metody (např. metoda Monte Carlo), kryptografie atd.

Předpona pseudo- se používá pro rozlišení tohoto typu náhodného čísla od „skutečně náhodných“ čísel, která vznikají jako výsledek náhodných fyzikálních procesů. Pro použití skutečně náhodných čísel v počítači je potřeba nějaký hardwarový generátor, který může být založen např. na měření šumu polovodičového přechodu.

Existuje mnoho různých algoritmických metod pro generování pseudonáhodných čísel, tzv. generátorů pseudonáhodných čísel (např. lineární kongruentní generátor). Posloupnost generovaných čísel je periodická, po určité (velmi dlouhé) době (periodě) se začne opakovat.

Pro určení kvality pseudonáhodné posloupnosti existují různé statistické testy, kterými se zjišťuje např.:

  • zda rozdělení jednotlivých čísel vyhovuje zadání,
  • zda jsou jednotlivé členy posloupnosti navzájem nezávislé,
  • četnost výskytu různých podposloupností.

Protože pseudonáhodná posloupnost je opakovatelná, používá se pro generování testovacích dat při ladění programů. Na rozdíl od skutečně náhodných čísel umožňuje opakované generování nalezených chybových dat efektivní analýzu programu.

Literatura

  • Donald E. Knuth: The Art of Computer Programming, Volume 2: Seminumerical Algorithms, (Addison-Wesley, 1997), ISBN 0-201-89684-2.

Související články