Test generátoru náhodných čísel - exponenciální rozdělení

Zdravim.

Dostali jsme za úkol otestovat generátor náhodných čísel (například ZXSpectrum). A máme zjistit nejmenší vzdálenost mezi všemi páry. Ta vzdálenost podléha exponenciálnímu rozdělení.

Náhodné body mám vygenerované, nejmenší vzdálenost mezi všemi páry též.

Ale nemám ponětí jak přistupovat na vykreslení toho exponenciálního rozdělení. V příloze je obrázek - mělo by tak vypdat to expnenciální rozdělení právě pro generátor ZXSpectrum.

Jak mám však dosáhnout podobného grafu, pokud zatím mám pouze pole těch nejmenších vzdáleností? Pokud chci vykreslit nějaké rozdělení, potřebuju nějakou pravděpodobnost výskytu jednotlivých vzdáleností, že?

Budu vděčný za každou radu!

✓   Téma bylo vyřešeno.
Felix Š.

Felix Š.

08. 05. 2016   15:01

1 odpověď

Tomáš B.
Tomáš B.
08.05.2016 15:01:43

Felixi, abych se přiznal, tak moc nechápu, co máš za úkol nebo kde je problém?

Jestli testuješ Lehmerův generátor, tak to je cyklická grupa Z[n]* s n=2^16+1 a generátorem g=7^5 ve tvém případě.

Minima vzdáleností na cyklické grupě budou dvojice hodnot vzdálené 1 až n/2 s uniformním výskytem, kde jsi vzal exponenciální distribuci?

A ten obrázek vypadá, že ho generovalo R.

V tom případě je na ose x seřazená distribuce čtverce vzdáleností a na ose y jsou pravděpodobnosti jevů.

Takže si vezmeš frekvence vzdáleností F, F[i^2]<-frekvence vzdalenosti i^2, pak uděláš normu přes velikost univerza.

plot(F / sum(F) , type='l')

Alternativně mě napadá, že pokud neuděláš test korektně, dostaneš triangulární distribuci místo uniformní.

Kvadrátem vzdáleností získáš transformaci osy x a vypadá to jako exponenciální, i když je to kvadratická transformace.

Pro napsání komentáře se musíte přihlásit.