eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingLiniowy generator liczb pseudolosowych › Liniowy generator liczb pseudolosowych
  • X-Received: by 2002:a05:620a:205d:: with SMTP id d29mr6759994qka.411.1574329778475;
    Thu, 21 Nov 2019 01:49:38 -0800 (PST)
    X-Received: by 2002:a05:620a:205d:: with SMTP id d29mr6759994qka.411.1574329778475;
    Thu, 21 Nov 2019 01:49:38 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.p
    l!3.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.1
    60.216.MISMATCH!j16no10019871qtl.0!news-out.google.com!g53ni647qtg.0!nntp.googl
    e.com!j16no10019861qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com
    !not-for-mail
    Newsgroups: pl.comp.programming
    Date: Thu, 21 Nov 2019 01:49:38 -0800 (PST)
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.217.178;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 178.36.217.178
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <e...@g...com>
    Subject: Liniowy generator liczb pseudolosowych
    From: "M.M." <m...@g...com>
    Injection-Date: Thu, 21 Nov 2019 09:49:38 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:214471
    [ ukryj nagłówki ]

    Jak wiadomo od zawsze, liniowy generator liczb pseudolosowych jest
    uznawany za bardzo kiepski. Potrzebowałem jednak szybkiego, prostego
    generatora (właściwie to ciągle potrzebuję), więc postanowiłem przyjrzeć
    się temu z bliska. Nawet jak używam generatora Fibonacciego, to muszę
    go zainicjować jakiś innym, np. liniowym, więc prosty generator i tak, i tak
    jest potrzebny.

    Co się okazało? Generator liniowy, choć jest prosty, to wcale nie jest
    taki szybki, bo ma operację modulo. A po drugie, przeszedł wszystkie
    (słownie WSZYSTKIE) testy z diehardera. Pamiętajmy, że testy z diehardera
    są trudne, tak zaawansowany generator jak Mersenne Twister wszystkie
    przechodzi rzadko, chyba jeszcze nie widziałem żeby przeszedł wszystkie.

    Wypada wkleić kod źródłowy, żeby pokazać, czy nie robię jakiś błędów, ale w
    przypadku błędów to chyba by nie przechodził testów. Czy miałem szczęście i
    wylosował się dobrze zarodek? Ale jeśli generator jest zły, to trudno tak
    wylosować zarodek, aby przeszedł wszystkie testy. Czy może parametry (A, B i M)
    tak dobrałem że liniowy generator nabrał lepszych właściwości?

    Tutaj kod źródłowy:
    https://pastebin.com/qQYKGAYY

    Pod kodem jest kompilacja, uruchomienie testu i wyniki. W wynikach ani
    razu nie ma FALIED.

    Pozdrawiam

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

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: