Stworzyłem generator liczb pseudolosowych i ...

0

... chciałbym przetestować jego losowość, skuteczność, przewidywalność, itp. Czy znacie jakieś programy lub strony internetowe? Przeszukałem Google, ale nic konkretnego nie znalazłem(także po angielsku). Zamieszczam poniżej wygenerowany kod 512 bitowy :

`$)ÍłĐÚ˙ŘŃdu)ZřM}#¤»$ęřd˝Ś‰ęx8i%jóµŔ~•DŃqQÝÁXP#«°ë=˛ČP(¨ĆŮ°}иçöWl+•ÉtČ\˙1ŔsŁfŘ\ÂÉ0Â*ď­Đ/÷iĚĘcˇhrL»ţJ±9¬n!Ě÷!4„ń„íĐu༱Ý( Dö>I@YÉůäzŮßŐŞZÄç"Á˛ńGLDhil<–„Ótz@´’@Ć°j@@<TM™h{çL÷ŕB׉>©{Ů®u˙‰ă|ZµP'wťHÍ×Ú;qőŔĐřs¦ňQÖ¤O‡]<“ŕ_U´‰Áľ»üOh>¨Q`J¨ąävhő"P2Řź‰Ěżj¨9ĚN“R—`ˇ,g§É§°m•Á YŚMÝXŠ6žźDPŁk^Üh)ľ¤»ŕđÚ‹°EŢBîöHtď…äśłW™đŻđdpířháÉâa‘°ăÍČ“3tuHTŃ,é]90H~í¸@@¶1LřˇuLJŚ|É™ĆT]Iqř˛Ţ޵Íţ[éŃ8QŔ0]{ĎŔ1ö„‰tuެ8ă†äÍŽÉC¸Ëѡ!D¶A÷‰…řči`i”ŰÍe¬Á1&ţş§,*…¨úüňY6°ĽDľp(júµô¨)ţ;@ŕc@{¸wRŕć}ŮZü8Ë`u¨{~ˇĐpý÷91Ô¦6mäygRŢĹđĽka[.–őŮn’g;A˘NŔ`

Powiem jeszcze, że program opiera się o wzór Blum Blum Shub, który jest jednym z najbezpieczniejszych(jak twierdzi autor artykułu na Wikipedii) generatorów liczb losowych. Ja jednak trochę go zmodyfikowałem i pytam, jak mogę to sprawdzić.

Mogę załączyć w osobnym poście kod źródłowy (C++) tego programu w wersji polskiej lub angielskiej.

0

Histogram zrób, tak z ze 100k liczb

0

Masz przecież testy Π. Potrzeba czegoś więcej?

0

Dzięki za odpowiedź, znalazłem te testy, tylko nie wiedziałem, jaką miały nazwę.
Spróbuję też z histogramem.

0

Wykonałem kilka testów na tym samym zestawem danych : 10 tys. liczb z zakresu 32-255, oprócz testu PI-kwadrat.

Daję histogram punktowy (oś Y to dziedzina (32-255), X to liczba losowana (wylosowałem 10.000 liczb):
(obraz jest już niedostępny)

Wykonałem też test Weila (idealnej średniej) :
średnia liczb 143,2952705
średnia idealna 143,5
Im bliżej średniej idealnej tym lepiej.

Test PI :
r=25 (promień koła wpisanego w kwadrat o boku 2r, czyli dziedzina to <1-50>)
N=5000 (liczba wygenerowanych wartości)
n=3901 (ilość trafień we wnętrze koła)

--------------PI = 3,14159 2653 ...
N/(n*r^2)-PI = -3,13954 1844
Im bliżej poszczególnym cyfrom PI, tym lepiej.

Test własny, czyli sprawdzenie współczynnika wypełnienia pola. Dla zdania testu współczynnik powinien wynieść ok. 100%

Wynik: 87,531%, test niezdany.
Test wykonano ponownie, wynik: 99,24%

Podsumowanie:
Algorytm ten jest prawie idealnym generatorem liczb losowych. Daję mu 5/5.

Jaka jest wasza opinia?

0

Tak mi jeszcze przyszło do głowy - może jeszcze sprawdzić losowość jako funkcję poprzedniego znaku?
Tzn czy po bajcie X nie pojawia się za często bajt Y, albo czy takie same bajty nie pojawiają się zbyt często niedaleko siebie.
Ciekawe...

0

Powtarzalność jest średnia, na 100 liczb średnio 6 się powtórzyło w prawie równych odległościach.

0

możesz też sprawdzić autokorelację wygenerowanego ciągu

0

Aż tak wysokiej matematyki jeszcze nie rozumiem :P (licealista)
A przy okazji, planuję używać go do generacji haseł, np. do Wi-fi, kont bankowych, itp. Myślę, że się nada.

1 użytkowników online, w tym zalogowanych: 0, gości: 1