Vlákno názorů k článku ENT - Program pro testování sekvencí pseudonáhodných čísel od sleza - O zadnem generatoru (pseudo)nahodnych cisel se nemuze rict,...

  • Článek je starý, nové názory již nelze přidávat.
  • 24. 1. 2005 16:58

    sleza (neregistrovaný)

    O zadnem generatoru (pseudo)nahodnych cisel se nemuze rict, ze generuje realizace uniformniho rozdeleni jen proto, ze tak proste funguje. (viz Yeti)

    Obecne generator produkuje vysledne hodnoty, u kterych hypoteticky predpokladame nahodnost, tj. - laicky receno - shodnost s uniformnim rozdelenim. Takovouto hypotezu muzeme pak otestovat "jakymkoli vhodnym" testem. Uspech generatoru u daneho testu sice jeste nezarucuje kvalitu, ale cim vice testy generator projde bez ztraty kyticky tim lepe.

    O ENTu slysim prvne, ale dle mych zdroju je nejznamejsi baterii testu asi Marsaglia Diehard - viz http://stat.fsu.edu/pub/diehard/.

    Jinak pokud bych se ja mel spolehnout na kvalitu vyslednych (pseudo)nahodnych cisel, doporucujil bych prostredi R (www.r-project.org), ktere si pro vlastni potrebu programuji sami statistici. V helpu k .Random.seed se da mimojine najit seznam prislusne literatury a zminka o nekolika vhodnych generatorech. R standardne pouziva Mersenne-Twister s uctyhodnou periodou 2^19937 - 1.

  • 2. 3. 2005 20:32

    Václav Štěpán (neregistrovaný)
    Clanek se mi zrovna docela hodil, takze jsem pres dale uvedene rad, ze se tu objevil. Par poznamek:
    • Text neni tak docela originalni a autor neuvadi odkud cerpa. Pokud se podivate treba na http://www.fourmilab.ch/random/ tak bude hned jasnejsi, kde se v textu vzaly ty z hlediska cestiny trochu zvlastni kousky. Ale aspon to autor hezky preusporadal a trochu doplnil.
    • Vzhledem k zamereni ROOTa by byvalo asi bylo na miste testnout soubor s rand() funkci na Linuxu. Coz autor zjevne neudelal a doslovne prevzal text:

      Applying this test to the output of various pseudorandom sequence generators is interesting. The low-order 8 bits returned by the standard Unix rand() function, for example, yields: Chi square distribution for 500000 samples is 0.01, and randomly would exceed this value 99.99 percent of the times.

      Podrobnosti k tematu viz kapitolu o random number generatorech v ,,Numerical recipes'' (Google). Mimo jine je tam popsana i ta stara implementace rand() -- a je to docela zabavne cteni.

    • Neni tu literatura, odkazy a sirsi kontext.