Generování náhodných čísel

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pondělí Únor 2 11:16:48 CET 2004


On Mon, 2 Feb 2004, Jan Kokoska wrote:

> On Mon, 2004-02-02 at 09:06, DAVID_NOVY na LION.CZ wrote:
> > Ahoj, potřeboval bych do textového souboru vygenerovat několik
> > milionů náhodných čísel.
[...]
> cat /dev/random | hexdump -d | cut -f2- -d" " | tr -d " \n"
> A pak uz jenom poradne hybat mysi ;)

Ovsem hybat mysi je treba nahodne, coz neni tak uplne samozrejme.

Opravdu zalezi na tom, jake podminky jsou na ta "nahodna cisla"
kladeny. Zda je opravdu treba, aby byla nahodna, nebo staci dostatecne
kvalitni pseudonahodna cisla. V prvnim pripade muze byt nezbytne
specializovane hw zarizeni (dobra zprava je, ze snad i celkem kvalitni
zdroj nahodnych bitu je vestaveny v kazdem intelskem cipsetu
kompatibilnim s 810...a dokonce je na nej v Linuxu driver, jmenuje
se i810_rng).

Pak jeste zalezi na tom, co ma byt vysledkem. Vetsina nahodnych i
pseudonahodnych generatoru produkuje proud bitu resp. bajtu s uniformnim
rozdelenim. Vami navrzeny postup generuje pseudonahodnou sekvenci znaku
z mnoziny { '0'..'9', 'A'..'F' } (take s uniformnim rozdelenim). V praxi
jsou vetsinou potreba (pseudo)nahodne hodnoty s nejakym rozdelenim,
napr. uniformne cela cisla v intervalu 0-100. Pritom prevod (dokonce
i z jednoho diskretniho uniformniho rozdeleni na jine diskrektni uniformni
rozdeleni) neni tak uplne trivialni, pokud je tolerance vuci chybam velmi 
mala.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux