Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #29078

Re: kontynuacja generatory: mersen vs ranlux

Newsgroups pl.comp.programming
Date 2016-10-09 14:12 -0700
References <f646bd6b-6d53-4bdc-9ca2-3c1579d20e7e@googlegroups.com> <ntdi7m$boj$1@node1.news.atman.pl>
Message-ID <36cac237-fa1a-4622-93ff-1cf4bfb42696@googlegroups.com> (permalink)
Subject Re: kontynuacja generatory: mersen vs ranlux
From "M.M." <mmarszik@gmail.com>

Show all headers | View raw


On Sunday, October 9, 2016 at 3:55:03 PM UTC+2, bartekltg wrote:
> On 09.10.2016 15:26, M.M. wrote:
> > Wywaliłem diehardera. Napisałem na kolanie kilka swoich
> > testów, pewnie moje są gorsze,
> 
> Jak wspominałęm, cppCon w "telewizji" leci.
> Oglądam do kotlera powolutku co IMHO ciekawsze odcinki.
> M.in ten:
> https://www.youtube.com/watch?v=6DPkyvkMkk8
> W sumie niewiele się dowiedziałem, to wstęp do użycia
> <random> (choć jak ktoś nie zna za dobrze, pewnie warto
> obejrzeć). Wytępuje tam jednak jedna powracająca dygresja.
> 
> Nie jesteś spacjalistą, nie rób własnego PRNG. Popsujesz.
> Jesteś zajebistym programistą? A jesteś przy okazji
> matematykiem/statystykiem? Albo chociaż przeczytałęś
> z pełnym zrozumieniem tę górę prac na ten temat Nie?
> Prawdopodobnie coś zwalisz.

Nie można użyć gotowca, dieharder ma zwalone testy a
dla tych poprawnych wyświetla że generator ich nie
zalicza. Im dłuższy test, tym większe prawdopodobieństwo
że dieharder wyświetli failed. Nie twierdzę że przez
dwie godziny napisałem coś super rewelacyjnego, ale
chyba nie mam wyboru.


> Historia usiana jest dobrymi na pozór generatorami,
> które był← powszechnie używane, a potem okazywało się,
> że są OKDP. Z RANDU na czele ;-)
Nie mówię że nie.


> Moja intuicja podpowiada mi, że z testowaniem jest
> identycznie ;-)
Gdy wady wyjdą, to pomyśli się nad poprawkami. Gdy
wady wyszły w dieharderze to nie ma sensu abym nawet
myślał nad poprawkami.


> Zauważ*) że i w dieharder znajdują się tsty określane
> jako niepoprawne! A ktoś je tam kiedyś wsadził myśląc,
> że są dobre. Spac z dziedziny!
No wiem, tak to już bywa w tworzeniu oprogramowaniu. 
Pewne jest, że ja tego kodu nie poprawię. A jak są
nie działa, to używać też nie mogę.


> Tak sobie marudzę.
> Przez cały post!
Lubię konstruktywną krytykę. 


> 
> 
>  > ale przynajmniej mam jasność
>  > co do zasady działania
> 
> <złośliwość> Jakbyś dokłądnie p[rzeczytał dokumentację,
> wiedziałbyś też jak działa dieharder <\złośliwosć>
> ;-)
> 
> *) mozna to zauważyć czytając pdfy od dieharder;>
Nie sądzę abym zrozumiał w kilka chwil na tyle, aby
go poprawić. Swój kod mogę w kilka godzin napisać.


> > Pierwszy wniosek: Do tej pory nigdy nie zaobserwowałem aby MT
> > oblał stabilny test.
> 
> A MT idealny nie jest... ;>
Idealny nie jest, ale żeby FAILED?



> > Odpaliłem kilka testów dla ranluxa,
> > na oko bylo widać że ranlux zalicza testy lepiej.
> 
> Co to znaczy lepiej?
Tylko to co napisałem - na oko. Częściej było prawdopodobieństwo
z przedziału 10-40% niż w MT.


> Nie opisałeś kryterium 'dobroci' wyniku.
Porównanie z oczekiwanym rozkładem i całka po rozkładzie 
chi-kwadrat.


> To, że daje wynik bliższy całce nie musi oznaczać,
> że jest lepszy ;>
I tak i nie. Generalnie porównanie rozkładu jest
lepsze. Ale przy pewnych założeniach porównanie do
wartości oczekiwanej całki też jest niczego sobie.


> >  Odpaliłem
> > dłuższy test, jak ktoś ma ochotę, niech odpali u siebie.
> >
> > Wyniki dla std::mt19937_64
> > test1 24.592034%
> ...
> > test6  0.035693%
> 
> Co oznaczają te procenty?
Oznaczają prawdopodobieństwo że rozkład był uzyskany generatorem 
równomiernym.


> Co dokładnie robią te testy?
Na razie sześć prościutkich testów. Generalnie wszystkie budują
jakiś rozkład i porównują uzyskany z teoretycznym. Jest po
jednym zdaniu komentarza do każdego testu, nazwy parametrów są
intuicyjne.


> Jasna, mogę poczytać kod. Ale mi się nie chce ;>
> 
> Chyba nie wkleiłąś wyników ranluxa.
Robią się bardzo długo. Bronek zaczął dyskusję, mógłby 
też odpalić u siebie dla ranluxa - wystarczy skompilować i
uruchomić. Potrzebuję w nocy kompa, więc chyba na jutro też
nie dam wyników, może za dwa dni.



> > Ostatni wynik niby jest niski, ale paradoks dnia urodzin dla 100 dni
> > wymaga bardzo dużo liczb losowych,
> 
> Gdyby tylko istniał jakiś sposób na zweryfikowanie, czy taki
> wynik mocno odstaje od normy... gdyby mo można było
> przypisać p-value, przedział ufnośći czy coś takiego...
>   ;-)
Nie rozumiem. Można policzyć jakie jest prawdopodobieństwo uzyskania
danej odchyłki od rozkładu teoretycznego.



> > a po drugie ten kod może już
> > tracić stabilność numeryczną dla 99 punktów swobody. No i jeszcze
> > mogą być jakieś błędy w kodzie, zobaczymy jak długi test
> > przejdzie ranlux, gdy przejdzie źle, to bedzie wskazówka do
> > szukania błędu.
> 
> Zaraz, bo się gubię. Jeszcze raz: to jakie są zalety używania
> własnego kodu w stosunku do dieharder? ;-)
Będę wiedział co poprawić gdy się okaże że mam literówkę w kodzie.
Po drugie, po 10 godzinach testowania nie ma FAILED dla
dobrych generatorów. Po trzecie nie muszę czytać pdfów i 
blokować testów złych z definicji.


> Myślałem, ze zaletami, o których pisałeś na początku są
> właśnie stabilność i dokłądna zjanomość granic, w jakich
> testy zachowują się porządnie.
Bo póki co widzę, że zachowują się porządnie, a 100 dni
dałem specjalnie aby sprawdzić co się dzieje na krawędzi
możliwości.


Pozdrawiam

Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

kontynuacja generatory: mersen vs ranlux "M.M." <mmarszik@gmail.com> - 2016-10-09 06:26 -0700
  Re: kontynuacja generatory: mersen vs ranlux bartekltg <bartekltg@gmail.com> - 2016-10-09 15:55 +0200
    Re: kontynuacja generatory: mersen vs ranlux "M.M." <mmarszik@gmail.com> - 2016-10-09 14:12 -0700
      Re: kontynuacja generatory: mersen vs ranlux "M.M." <mmarszik@gmail.com> - 2016-10-10 00:31 -0700
      Re: kontynuacja generatory: mersen vs ranlux bartekltg <bartekltg@gmail.com> - 2016-10-11 22:00 +0200
        Re: kontynuacja generatory: mersen vs ranlux "M.M." <mmarszik@gmail.com> - 2016-10-11 19:14 -0700
  Re: kontynuacja generatory: mersen vs ranlux Borneq <borneq@antyspam.hidden.pl> - 2016-10-11 17:44 +0200
    Re: kontynuacja generatory: mersen vs ranlux "M.M." <mmarszik@gmail.com> - 2016-10-11 11:20 -0700
      Re: kontynuacja generatory: mersen vs ranlux "M.M." <mmarszik@gmail.com> - 2016-10-11 11:53 -0700
    Re: kontynuacja generatory: mersen vs ranlux bartekltg <bartekltg@gmail.com> - 2016-10-11 21:47 +0200

csiph-web