eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjeden generator liczb losowych do testowania drugiego? › Re: jeden generator liczb losowych do testowania drugiego?
  • Data: 2017-12-21 20:33:50
    Temat: Re: jeden generator liczb losowych do testowania drugiego?
    Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Thursday, December 21, 2017 at 9:25:55 AM UTC+1, M.M. wrote:
    > On Thursday, December 21, 2017 at 12:46:19 AM UTC+1, M.M. wrote:
    > > On Wednesday, December 20, 2017 at 7:40:52 PM UTC+1, M.M. wrote:
    > > > On Wednesday, December 20, 2017 at 8:30:32 AM UTC+1, M.M. wrote:
    > > > > On Tuesday, December 19, 2017 at 5:11:43 AM UTC+1, bartekltg wrote:
    > > > >
    > > > > > [...]
    > > > > > Weź dobry generator h i zrób z niego kiepski:
    > > > > > Niech G daje liczbę będącą średnią dwóch odpaleń
    > > > > > generatora h. G nie jest nawet w przybliżeniu jednorodny.
    > > > > > A Twój test przejdzie.
    > > > > > [...]
    > > > >
    > > > > Co myślisz o tym na dole? Porównałem ranlux48 z ranlux48 na innych
    > > > > seedach. Długość roku dałem 2^20, ilość urodzin 2^12. Ilość
    > > > > kubełków zredukowałem, jak radziłeś. Cały kod:
    > > > >
    > > > > https://pastebin.com/JhLN12C5
    > > > >
    > > > >
    > > > > P-value wyszło 0.9999927195600541432. Może jednak taki test jest trochę
    > > > > lepszy niż myślimy?
    > > >
    > > >
    > > > MT testowany sam ze sobą raczej też nie przechodzi testu:
    > > >
    > > > test 1
    > > > chi-dist-cum: 0.9999997015849526988
    > > >
    > > > test 2
    > > > chi-dist-cum: 0.9999228118927154972
    > >
    > > I generator Fibonacciego z tamtego kodu powyżej ( przypomnę:
    > > https://pastebin.com/JhLN12C5 ), gdy jest testowany sam ze sobą,
    > > też nie przechodzi testu urodzinowego. Albo mam błąd, albo to
    > > jest lepszy (bo trudniejszy) test niż można było się spodziewać :)
    > > Ale błędu raczej nie mam, bo ten sam kod generuje oba rozkłady i
    > > inne narzędzia dają tę samą wartość p-value. Mam prośbę, spójrzcie
    > > na tamten kod, może znajdziecie błędy?
    > >
    > > Przy założeniu, że nie mam błędu, jakie płyną z tego wnioski? Proszę,
    > > jeden ważny wniosek: Jeśli uruchamiacie symulację na klastrze, jeśli
    > > używacie nawet tak dobrych generatorów jak std::ranlux48 lub
    > > std::mt19937_64 i w każdym procesie/wątku liczycie to samo zadanie z
    > > innym seedem, to wyniki z poszczególnych wątków/procesów prawdopodobnie
    > > nie są niezależne :)
    > >
    > >
    > > Ułatwię test. Zrobię rok o długości 2^24 i dam 32 urodziny. Generatory
    > > powinny przejść ułatwione testy.... zobaczymy. Z jakiś czas dam wyniki.
    > >
    >
    > Generator Fibonacciego na ułatwionym teście zachował się przyzwoicie.
    > P-value jest równe 0.6862016765421758663. W teście było wygenerowanych
    > 3E11 liczb pseudo-losowych, ponad 11 godzin obliczeń.
    >
    > Kod:
    > https://pastebin.com/1huv7HP5
    >
    >
    > Test:
    >
    > time ./frnd
    > rnd seed1: 252276773
    > rnd seed2: 1201639756
    >
    > --------------------------------------
    > loops: 4763156481
    > 0 465935620 465937865 0.0108169465901
    > 1 2253109 2250870 2.22719259664
    > 2 456 450 0.08
    > chi-square: 2.318009543230488209
    > chi-dist: 0.1568991632651941654
    > chi-dist-cum: 0.6862016765421758663
    > --------------------------------------
    >
    > ^C
    > real 679m37.501s
    > user 679m28.800s
    > sys 0m2.584s

    Uproszczony test przechodzą:

    Generator std::ranlux48

    rnd seed1: 1898900298
    rnd seed2: 16827081

    loops: 141295617
    0 141229121 141228768 0.000882320236625
    1 66489 66834 1.78090492863
    2 7 15 4.26666666667
    chi-square: 6.048453915532432401
    chi-dist: 0.02429768651465504778
    chi-dist-cum: 0.9514046559756827399
    ----------------------------------------------------
    ---------------


    Generator std::mt19937_64

    rnd seed1: 1661541351
    rnd seed2: 1506358270


    loops: 4062183425
    0 4060261981 4060263019 0.000265363104547
    1 1921054 1919983 0.597422477178
    2 390 423 2.57446808511
    chi-square: 3.172155925389113521
    chi-dist: 0.1023634930368723807
    chi-dist-cum: 0.7952730205949993346


    Pozdrawiam

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 21.12.17 22:53 AK
  • 22.12.17 00:05 M.M.
  • 22.12.17 09:55 AK

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: