eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjeden generator liczb losowych do testowania drugiego? › jeden generator liczb losowych do testowania drugiego?
  • X-Received: by 10.31.2.144 with SMTP id 138mr1865437vkc.5.1513571582565; Sun, 17 Dec
    2017 20:33:02 -0800 (PST)
    X-Received: by 10.31.2.144 with SMTP id 138mr1865437vkc.5.1513571582565; Sun, 17 Dec
    2017 20:33:02 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.interia.pl!news.nask.pl!news.nask.
    org.pl!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer03.iad!feed-m
    e.highwinds-media.com!news.highwinds-media.com!m31no3056312qtf.0!news-out.googl
    e.com!t48ni1113qtc.1!nntp.google.com!g35no3046814qtk.1!postnews.google.com!gleg
    roupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sun, 17 Dec 2017 20:33:02 -0800 (PST)
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.35.124;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 77.254.35.124
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <1...@g...com>
    Subject: jeden generator liczb losowych do testowania drugiego?
    From: "M.M." <m...@g...com>
    Injection-Date: Mon, 18 Dec 2017 04:33:02 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 2916
    X-Received-Body-CRC: 204839659
    Xref: news-archive.icm.edu.pl pl.comp.programming:211922
    [ ukryj nagłówki ]

    Co by było, gdyby rozkład wzorcowy wygenerować innym generatorem,
    albo tym samym z innym zarodkiem?

    Otóż są problemy z liczeniem chi-square, bo inny generator może
    dać w jakimś kubełku zero i by trzeba dzielić przez zero. Założyłem więc, że
    jeśli w kubełku wzorcowym jest zero, to tego nie liczę tego kubełka i
    zmniejszam ilość stopni swobody. U mnie na komputerze, dla kilku
    wypróbowanych zarodków, generator Fibonacciego przeszedł testy.

    Kod źródłowy:
    https://pastebin.com/KXuKNbws


    Przykładowy wynik testu:
    time ./frnd
    rnd seed1: 1857908775
    rnd seed2: 1964250306

    --------------------------------------
    loops: 100000000
    // kubełek fibonacci ranlux48 chi-square
    0 60806992 60810278 0.177565312232
    1 30434294 30435295 0.032922335729
    2 7431596 7428134 1.61352016536
    3 1177391 1176480 0.705427206582
    4 136542 136582 0.0117145743949
    5 12269 12265 0.00130452507134
    6 864 911 2.4248079034
    7 51 54 0.166666666667
    8 1 1 0
    chi-square: 5.13392868943979798
    chi-dist: 0.1082081103103416237
    chi-dist-cum: 0.2568322098770508233
    --------------------------------------


    real 130m0.354s
    user 129m55.568s
    sys 0m3.164s

    Generator Fibonacciego naprawdę jest bardzo szybki i dobrze
    przechodzi testy.

    Ciekawe jak się zachowa std::mt19937_64 w takim teście.

    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: