eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingkontynuacja generatory: mersen vs ranlux › Re: kontynuacja generatory: mersen vs ranlux
  • X-Received: by 10.157.7.111 with SMTP id 102mr1143845ote.17.1476047549012; Sun, 09
    Oct 2016 14:12:29 -0700 (PDT)
    X-Received: by 10.157.7.111 with SMTP id 102mr1143845ote.17.1476047549012; Sun, 09
    Oct 2016 14:12:29 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!news.glorb.com!l13no1769319itl.0!news-out.g
    oogle.com!w143ni4990itb.0!nntp.google.com!l13no1769312itl.0!postnews.google.com
    !glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sun, 9 Oct 2016 14:12:28 -0700 (PDT)
    In-Reply-To: <ntdi7m$boj$1@node1.news.atman.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.35.87;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 77.254.35.87
    References: <f...@g...com>
    <ntdi7m$boj$1@node1.news.atman.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <3...@g...com>
    Subject: Re: kontynuacja generatory: mersen vs ranlux
    From: "M.M." <m...@g...com>
    Injection-Date: Sun, 09 Oct 2016 21:12:29 +0000
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:209905
    [ ukryj nagłówki ]

    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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: