Testy generaratora liczb pseudolosowych

Definicja klasyczna. Prawdopodobieństwo warunkowe i całkowite. Zmienne losowe i ich parametry. Niezależność. Prawa wielkich liczb oraz centralne twierdzenia graniczne i ich zastosowania.
Awatar użytkownika
Borneq
Użytkownik
Użytkownik
Posty: 220
Rejestracja: 23 lip 2010, o 07:50
Płeć: Mężczyzna
Lokalizacja: geo:lat=0 geo:lon=0
Podziękował: 13 razy

Testy generaratora liczb pseudolosowych

Post autor: Borneq » 24 cze 2011, o 08:36

Są opisane na http://en.wikipedia.org/wiki/Statistical_randomness
Podstawowym testem jest test częstotliwości. Jeżeli mamy orła czy reszkę czy też 256 wartości, wszystkie powinny wypadać mniej więcej równą ilość razy. Ale dopuszczalne są odchyłki. Taka odchyłka jest proporcjonalna do pierwiastka z wielkości próbki, ale ile dokładnie? Jak rozstrzygnąć przypadki, gdy jedna na 256 wartości będzie miała znacząco różną częstotliwość? A jak gdy kilka wartości będzie miało trochę mniej ale też rożną częstotliwość? Najlepiej gdyby była jakaś funkcja która dla częstotliwości obliczyłaby prawdopodobieństwo że dzieje się to losowo. Mielibyśmy np. wynik 0.5 - ok lub 0.001 - coś źle. A co z innymi testami?

Awatar użytkownika
Zordon
Gość Specjalny
Gość Specjalny
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 909 razy

Testy generaratora liczb pseudolosowych

Post autor: Zordon » 24 cze 2011, o 09:55

No to liczysz odchylenie standardowe, moze nawet kolejne momenty i porównujesz ze wzorcem: czyli odpowiednimi wskaźnikami dla rozkładu jednostajnego.

Awatar użytkownika
Borneq
Użytkownik
Użytkownik
Posty: 220
Rejestracja: 23 lip 2010, o 07:50
Płeć: Mężczyzna
Lokalizacja: geo:lat=0 geo:lon=0
Podziękował: 13 razy

Testy generaratora liczb pseudolosowych

Post autor: Borneq » 24 cze 2011, o 23:13

Liczę wartość średnią i wychodzi mi np. 0.55 zamiast 0.5.
Liczę wariancję - dla wzoru przyjmuje się oczekiwane 0.5 czy wyliczone 0.55?
Teraz muszę tą wariancję porównać z teoretyczną - jaką? Jak zinterpretować różnicę, co jeśli wariancja różni się o 40%?
Mam 10 cyfr, jedna z nich występuje w 15% przypadku a druga w 7%, jakie prawdopodobieństwo że tak może być?
Weźmy prosty przykład: mam trzy cyfry 0,1 i 2 na 15 prób wypadły 9,3 i 3 razy - spory rozrzut, innym razem 4,6,5 czy 5,7,3 ale jak obliczyć prawdopodobieństwo tego? Może być wzór z silniami, choć dla dużej próbki jest jego przybliżenie.
Drugi test to niezależność następnej cyfry od poprzedniej. Gdy z powyższego otrzymam np. prawdopodobieństwa że po 0: cyfry występują z prawdopodobieństwem 0.3, po 1 z 0.4 a po 2 z 0.1 - jakie jest ogólne?
Albo coś takiego: jest 256 cyfr do wylosowania. Wypadło 97, prawdopodobieństwo tego to raczej powinno być bliskie 1 a nie 1/256, losujemy drugą cyfrę, wzór powinien dawać 255/256 dla każdej innej i 1/256 gdy wylosujemy dwa razy tą samą cyfrę obojętnie jaką.-- 25 cze 2011, o 10:51 --Dla zmiennej przyjmującej dwie wartości da się rozwiązać (dla małej ilości prób).
W zasadzie dla 4 rzutów mamy trzy możliwości:
OORR - wyrzucone po dwie, określamy jako sytuację najbardziej prawdopodobną
OOOR - jedna z wartości wypadłą 3 razy a druga raz
OOOO - jedna z wartości wypadła 4 razy
K(OOOO) = \(\displaystyle{ {4 \choose 0} + {4 \choose 4}}\) = 2
K(OOOR) = \(\displaystyle{ {4 \choose 1} + {4 \choose 3}}\) = 8
K(OORR) = \(\displaystyle{ {4 \choose 2} + {4 \choose 2}}\) = 6
gdzie K(x) jest ilością kombinacji dla zadanej klasy abstrakcji
Widać że dla rzutów 3+1 mamy więcej kombinacji niż dla 2+2 a nas interesuje jak bardzo różni się od optymalnego rozkładu, więc trzeba obliczyć sumaryczną ilość kombinacji dla zadanego i _mniej_ równomiernego.
K1(OOOR) = K(OOOR)+K(OOOO) = 8
K1(OORR) = K(OORR)+K1(OOOR) = K(OORR)+K(OOOR)+K(OOOO) - wszystkie
Wzory dobre dla małej ilości rzutów, jakie zastosować gdy będziemy mieli 100 tys rzutów?
Sytuacja komplikuje się gdy mamy więcej niż dwie możliwości, np trzy rzuty, trzy możliwości.
Mamy trzy sytuacje:
1.aaa,bbb,ccc - jedna możliwość wypadła 3 razy - 3 kombinacje
2.abc - każda po raz - 3! = 6 kombinacji
3.Jedna dwa razy, druga raz, trzecia wcale - pozostałe 18 <- jak to wyliczyć
Pojawia się następny problem: do prawdopodobieństwa danej sytuacji dodawaliśmy prawdopodobieństwa bardziej odległe od równomierności, natomiast dla 6 rzutów i 5 możliwości w każdym rzucie porównajmy dwie sytuacje: (najbardziej równomierna to 123456)
111234
112233
która bardziej odbiega od równomierności? W jednej więcej powtarza się jedna cyfra, w drugiej powtarza się tak więcej cyfr.
Myślę że może koncentrować się jednej cyfrze, łącząc pozostałe? W ten sposób mielibyśmy rozkład dwumianowy, tylko nie z prawdopodobieństwem 1/2,1/2 a np 1/6,5/6
Potem jednak trzeba by koncentrować się na następnej cyfrze i następnej obliczając prawdopodobieństwa. Jak obliczyć prawdopodobieństwo łączne gdy otrzymamy 0.5, 0.4 i 0.2 ?

ODPOWIEDZ