Test generatorów

Test generatorów

Wybrano test bazujący na błądzeniu punktu i teście chi-kwadrat.

Opis testu

Stworzono punkt o położeniu początkowym (0,0) oraz listę możliwych kroków (góra, dół, lewo, prawo). Za pomocą generatora wygenerowano losowe wartości zmiany położenia punktu. Po n=1001 krokach sprawdzano, w której ćwiartce płaszczyzny punkt zakończył błądzenie.

Przykładowa trajektoria błądzącego punktu:

Punkt zielony oznacza start (0,0). Punkt końcowy oznaczony jest na czerwono. Zatrzymanie nastąpiło po 1001 krokach.

Analiza testu :

Test przeprowadzono dla 5 generatorów, w tym również dla zadanego w projekcie Ran3.

Wartość statystyki chi-kwadrat wyliczono ze wzoru:


$$V = \frac{4}{n} + \sum_{n = 1}^{4}\left( n_{i} - \frac{n}{4} \right)^{2}$$

Ustalono poziom istotności 0.02, co dla 3 punktów swobody (4-1) pozwala na zdawalność generatorom posiadającym V<11.34

Wyniki:

N1 N2 N3 N4 V
Ranlux3 25223 24969 25022 24786 3.8788
Mt19937 25285 24865 24838 25012 5.03352
Ranlxs0 24993 25020 24812 25175 2.65672
cmrg 24807 25057 24779 25357 8.67152
Ran3 25254 25436 24975 24334 27.95172

Test przeprowadzono 3-krotnie, dla pewności. Za każdym razem wartości były do siebie podobne. W granicach V +/- 1.0

Wnioski:

Po przeprowadzonych badaniach widać, że 4 z 5 generatorów zdały ten test. Ran3, główny generator, który należało zbadać, tego testu nie zdał, co świadczy o niezbyt dobrym odzwierciedlaniu wyników losowych.


Wyszukiwarka