Mój algorytm pseudolosujący

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
kerajs
Użytkownik
Użytkownik
Posty: 8581
Rejestracja: 17 maja 2013, o 10:23
Płeć: Mężczyzna
Podziękował: 307 razy
Pomógł: 3349 razy

Re: Mój algorytm pseudolosujący

Post autor: kerajs »

RafalMajewskiPL pisze:Chciałeś żebym sprawdził czy odchylenia się powtarzają przy zwiększeniu ilości wylosowanych liczb. Można to sprawdzić na filmach.
I jakie wyciągnąłeś wnioski z tych filmików?
RafalMajewskiPL pisze:Co za problem wziąć czas uniksowy i przekonwertować na liczbę od (mniej więcej) 2 do 4 i wrzucić do \(\displaystyle{ p_{2}}\)
..., co niestety daje powtarzalność sekwencji dalszych wyników czyli brak losowości.
Awatar użytkownika
RafalMajewskiPL
Użytkownik
Użytkownik
Posty: 17
Rejestracja: 5 kwie 2017, o 19:44
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Pomógł: 1 raz

Re: Mój algorytm pseudolosujący

Post autor: RafalMajewskiPL »

kerajs pisze:I jakie wyciągnąłeś wnioski z tych filmików?
Że odchylenie standardowe jest podobne do wbudowanej w Love2D biblioteki i odchylenia zmieniają się przy wzroście ilości wygenerowanych liczb.
kerajs pisze: ..., co niestety daje powtarzalność sekwencji dalszych wyników czyli brak losowości.
Ale właśnie jest losowość. Wystarczy tylko zrobić żeby \(\displaystyle{ p_{2}}\) się nie powtarzało. Bez użycia specjalnego sprzętu do generowania liczb losowych (TRNG) nie jest możliwe zrobienie funkcji zwracającej losową liczbę bez argumentu.
Awatar użytkownika
kerajs
Użytkownik
Użytkownik
Posty: 8581
Rejestracja: 17 maja 2013, o 10:23
Płeć: Mężczyzna
Podziękował: 307 razy
Pomógł: 3349 razy

Re: Mój algorytm pseudolosujący

Post autor: kerajs »

RafalMajewskiPL pisze:
kerajs pisze:I jakie wyciągnąłeś wnioski z tych filmików?
Że odchylenie standardowe jest podobne do wbudowanej w Love2D biblioteki i odchylenia zmieniają się przy wzroście ilości wygenerowanych liczb.
Fajny żart. Wiadomo że z tym stwierdzeniem filmik nie ma nic wspólnego, a porównywalna wartość odchylenia standardowego nie oznacza dobrego rozkładu (bo przykładowo wzorek daje same liczby nieparzyste).
Jakie wnioski naprawdę wyciągnąłeś z tych filmików?
RafalMajewskiPL pisze:
kerajs pisze: ..., co niestety daje powtarzalność sekwencji dalszych wyników czyli brak losowości.
Ale właśnie jest losowość. Wystarczy tylko zrobić żeby \(\displaystyle{ p_{2}}\) się nie powtarzało.
Teraz zjarzyłem. Wskazanie zegara w chwili inicjacji generatora określa parametr p2 na jedną z dwudziestu możliwych wartości: od 2,1 do 4,0.
Czyli istnieje dwadzieścia możliwych sekwencji wyników. To jest losowość?
Przy okazji zupełnie ignorujesz fakt że niektóre z nich mogą mieć gorsze lub fatalne parametry.
Awatar użytkownika
RafalMajewskiPL
Użytkownik
Użytkownik
Posty: 17
Rejestracja: 5 kwie 2017, o 19:44
Płeć: Mężczyzna
Lokalizacja: Gdańsk
Pomógł: 1 raz

Re: Mój algorytm pseudolosujący

Post autor: RafalMajewskiPL »

Fajny żart. Wiadomo że z tym stwierdzeniem filmik nie ma nic wspólnego, a porównywalna wartość odchylenia standardowego nie oznacza dobrego rozkładu (bo przykładowo wzorek daje same liczby nieparzyste).
Jakie wnioski naprawdę wyciągnąłeś z tych filmików?
To nie żart. Wyciągnąłem też wniosek ogólny: wzór działa bardzo dobrze.
Teraz zjarzyłem. Wskazanie zegara w chwili inicjacji generatora określa parametr p2 na jedną z dwudziestu możliwych wartości: od 2,1 do 4,0.
Czyli istnieje dwadzieścia możliwych sekwencji wyników. To jest losowość?
Tak?
Niech \(\displaystyle{ t}\) będzie czasem uniksowym. Powiedzmy że chcemy żeby sekwencje resetowały się co rok.
\(\displaystyle{ t/60/60/24/365.25-floor(t/60/60/24/365.25)=q}\) i mamy czas w latach od początku roku. Przymujemy że jeśli wyszło 0 to \(\displaystyle{ p_{2}}\) przyjmuje wartość 2, a jeśli 1 (co się nie zdarzy) to 4.
I liczymy \(\displaystyle{ p_{2}}\)
\(\displaystyle{ p_{2}=q\cdot(4-2)+2}\)
I mamy \(\displaystyle{ p_{2}}\) zmieniające się teoretycznie co sekundę. Czemu teoretycznie? Bo to zależy od dokładności zapisu. Jeśli utniemy wszystko po przecinku to będzie się zmieniać co 4 miesiące. Myślę że z 8 liczb po przecinku wystarczy. I dlatego dałem żeby sekwencje resetowały się co rok. Bo jeśli nie resetowały by się to potrzeba użyć więcej liczb po przecinku co może sprawiać problemy.
Awatar użytkownika
kerajs
Użytkownik
Użytkownik
Posty: 8581
Rejestracja: 17 maja 2013, o 10:23
Płeć: Mężczyzna
Podziękował: 307 razy
Pomógł: 3349 razy

Re: Mój algorytm pseudolosujący

Post autor: kerajs »

Sorry, trochę byłem zajęty i nieobecny.
RafalMajewskiPL pisze:To nie żart.
Oczywiście że żart, bo filmik nie ma nic wspólnego z wyliczoną przez program wariancją lub jej pierwiastkiem.
RafalMajewskiPL pisze: Wyciągnąłem też wniosek ogólny: wzór działa bardzo dobrze.
Dlaczego?
RafalMajewskiPL pisze:
Teraz zjarzyłem. Wskazanie zegara w chwili inicjacji generatora określa parametr p2 na jedną z dwudziestu możliwych wartości: od 2,1 do 4,0.
Czyli istnieje dwadzieścia możliwych sekwencji wyników. To jest losowość?
Tak?
Moim zdaniem nie. Załóżmy że w kasynie grasz blekdżeka. Po kilku kartach rozdaniach orientujesz się która to sekwencja i wyniki gry stają się przewidywalne. Pewnie że to skrajny przykład, ale jeśli użyjesz tego generatora do symulacji jakiegoś problemu to możliwa do wylosowania powtarzalność sekwencji może wypaczyć wynik takiej symulacji.
RafalMajewskiPL pisze:Niech \(\displaystyle{ t}\) będzie czasem uniksowym. Powiedzmy że chcemy żeby sekwencje resetowały się co rok.
\(\displaystyle{ t/60/60/24/365.25-floor(t/60/60/24/365.25)=q}\) i mamy czas w latach od początku roku. Przymujemy że jeśli wyszło 0 to \(\displaystyle{ p_{2}}\) przyjmuje wartość 2, a jeśli 1 (co się nie zdarzy) to 4.
I liczymy \(\displaystyle{ p_{2}}\)
\(\displaystyle{ p_{2}=q\cdot(4-2)+2}\)
I mamy \(\displaystyle{ p_{2}}\) zmieniające się teoretycznie co sekundę. Czemu teoretycznie? Bo to zależy od dokładności zapisu. Jeśli utniemy wszystko po przecinku to będzie się zmieniać co 4 miesiące. Myślę że z 8 liczb po przecinku wystarczy. I dlatego dałem żeby sekwencje resetowały się co rok. Bo jeśli nie resetowały by się to potrzeba użyć więcej liczb po przecinku co może sprawiać problemy.
Teraz to mnie zaskoczyłeś. Czyżby wprowadzenie zegara było przyznaniem że Twojemu generatorowi brakuje losowości?
Pewnie testowałeś już ten pomysł. Jak tam wyniki i jakie z nich wnioski?
ODPOWIEDZ