rand ?

Snail Instruments snail
Středa Březen 17 11:54:13 CET 2004


>Zdravim,
>uz  jsem to tu psal jednou. Na jednocipu na to muzete uplne zapomenout, ze
>byste vytvorili nahodny generator. TECKA. Nepodari se vam to s uspokojivym
>vysledkem ani na PC. 
...
>J. Polivka

Zasadni problem je asi pochopit rozdil mezi nahodnym a pseudonahodnym
cislem. Vzdyt navic ta pseudonahodna cisla vypadaji na prvni pohled tak
dokonale nahodna :-).

Snazil jsem se rozdil vysvetlit, ale chce to problem si 'osahat' vlastnima
rukama. Bohuzel do toho se rade lidi asi nechce, ostatne dotazy typu
'nemate hotove XYZ, at nemusim nic delat' jsou na dennim poradku :-(.

Pro radu ucelu muze pseudonahodne cislo stacit, ale zaznamenal jsem jednu
zkusenost, kdy se omezeni pseudonahodneho generatoru markantne projevilo,
byla to shodou okolnosti funkce rand v Pascalu. Strucne popisu: v
matematice se k urcitym vypoctum pouziva metoda trefne pojmenovana 'Monte
Carlo'. Jeji princip je prosty, mame-li nejake rovnice a v nich treba 4
nezname, generujeme ctverice nahodnych cisel, ta dosazujeme do rovnic a
vzdy zjistime, jak dobre jsou ty rovnice splnene. Cisla, ktera vykazuji
nejmensi odchylku, vetsinou predstavuji velmi blizkou aproximaci reseni.
Jeden spoluzak si tohle naprogramoval v Pascalu a byl velmi zklaman, ze mu
to nefunguje. A navic, kdyz nechal probehnout dostatecny pocet cyklu (asi
tak 65536), dostal vzdycky dokonale stejny, ale nepresny vysledek.
Nepomohlo ani zavedeni dvojite presnosti realnych cisel. Duvod - cisla
nebyla nahodna.

J. Hanzal








Další informace o konferenci Hw-list