eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › dieharder dla dużych wartości m, np. m=1000
Ilość wypowiedzi w tym wątku: 4

  • 1. Data: 2017-12-13 15:03:52
    Temat: dieharder dla dużych wartości m, np. m=1000
    Od: "M.M." <m...@g...com>

    Dieharder chyba pada na dużych wartościach m.

    Testu dnia urodzin nie przechodzi generator ranlux48, ani mój generator
    fibonacciego z poprzedniego wątku:

    FIBONACCI
    time ./frnd | dieharder -d 0 -m 1000 -g 200
    #===================================================
    ==========================#
    # dieharder version 3.31.1 Copyright 2003 Robert G. Brown #
    #===================================================
    ==========================#
    rng_name |rands/second| Seed |
    stdin_input_raw| 4.97e+06 |1997299816|
    #===================================================
    ==========================#
    test_name |ntup| tsamples |psamples| p-value |Assessment
    #===================================================
    ==========================#
    diehard_birthdays| 0| 100| 100000|0.00000014| FAILED

    real 34m8.515s
    user 35m39.480s
    sys 1m20.016s



    RANLUX48
    time ./frnd | dieharder -d 0 -m 1000 -g 200
    #===================================================
    ==========================#
    # dieharder version 3.31.1 Copyright 2003 Robert G. Brown #
    #===================================================
    ==========================#
    rng_name |rands/second| Seed |
    stdin_input_raw| 3.78e+05 |1785358803|
    #===================================================
    ==========================#
    test_name |ntup| tsamples |psamples| p-value |Assessment
    #===================================================
    ==========================#
    diehard_birthdays| 0| 100| 100000|0.00000013| FAILED

    real 93m39.541s
    user 124m16.952s
    sys 0m41.020s

    Nie wiem co jest grane, ale chyba brakuje precyzji dieharderowi, rozkłady
    powinny być zaimplementowane chociaż na precyzji 1024 bitów.


    Pozdrawiam

    P.S.
    Uważajcie gdy patrzycie na czasy, bo to nieprawda że ranlux działa tylko 3 razy
    wolniej niż fibonacci.


  • 2. Data: 2017-12-13 18:38:13
    Temat: Re: dieharder dla dużych wartości m, np. m=1000
    Od: bartekltg <b...@g...com>

    On Wednesday, December 13, 2017 at 3:03:54 PM UTC+1, M.M. wrote:
    > Dieharder chyba pada na dużych wartościach m.
    >
    > Testu dnia urodzin nie przechodzi generator ranlux48, ani mój generator
    > fibonacciego z poprzedniego wątku:
    >
    > FIBONACCI
    > time ./frnd | dieharder -d 0 -m 1000 -g 200
    > #===================================================
    ==========================#
    > # dieharder version 3.31.1 Copyright 2003 Robert G. Brown #
    > #===================================================
    ==========================#
    > rng_name |rands/second| Seed |
    > stdin_input_raw| 4.97e+06 |1997299816|
    > #===================================================
    ==========================#
    > test_name |ntup| tsamples |psamples| p-value |Assessment
    > #===================================================
    ==========================#
    > diehard_birthdays| 0| 100| 100000|0.00000014| FAILED
    >
    > real 34m8.515s
    > user 35m39.480s
    > sys 1m20.016s
    >
    >
    >
    > RANLUX48
    > time ./frnd | dieharder -d 0 -m 1000 -g 200
    > #===================================================
    ==========================#
    > # dieharder version 3.31.1 Copyright 2003 Robert G. Brown #
    > #===================================================
    ==========================#
    > rng_name |rands/second| Seed |
    > stdin_input_raw| 3.78e+05 |1785358803|
    > #===================================================
    ==========================#
    > test_name |ntup| tsamples |psamples| p-value |Assessment
    > #===================================================
    ==========================#
    > diehard_birthdays| 0| 100| 100000|0.00000013| FAILED
    >
    > real 93m39.541s
    > user 124m16.952s
    > sys 0m41.020s
    >
    > Nie wiem co jest grane, ale chyba brakuje precyzji dieharderowi, rozkłady
    > powinny być zaimplementowane chociaż na precyzji 1024 bitów.
    >


    Dodaj opcje -k 2

    Sprawdź w dokumentacji (tym pdfie z dieherder) czy ten test nie jest
    jednym z tych, które się wywalają dla zbyt duzych danych.

    pzdr
    bartekltg



  • 3. Data: 2017-12-13 18:51:43
    Temat: Re: dieharder dla dużych wartości m, np. m=1000
    Od: "M.M." <m...@g...com>

    On Wednesday, December 13, 2017 at 6:38:16 PM UTC+1, bartekltg wrote:
    > On Wednesday, December 13, 2017 at 3:03:54 PM UTC+1, M.M. wrote:
    > > Dieharder chyba pada na dużych wartościach m.
    > >
    > > Testu dnia urodzin nie przechodzi generator ranlux48, ani mój generator
    > > fibonacciego z poprzedniego wątku:
    > >
    > > FIBONACCI
    > > time ./frnd | dieharder -d 0 -m 1000 -g 200
    > > #===================================================
    ==========================#
    > > # dieharder version 3.31.1 Copyright 2003 Robert G. Brown #
    > > #===================================================
    ==========================#
    > > rng_name |rands/second| Seed |
    > > stdin_input_raw| 4.97e+06 |1997299816|
    > > #===================================================
    ==========================#
    > > test_name |ntup| tsamples |psamples| p-value |Assessment
    > > #===================================================
    ==========================#
    > > diehard_birthdays| 0| 100| 100000|0.00000014| FAILED
    > >
    > > real 34m8.515s
    > > user 35m39.480s
    > > sys 1m20.016s
    > >
    > >
    > >
    > > RANLUX48
    > > time ./frnd | dieharder -d 0 -m 1000 -g 200
    > > #===================================================
    ==========================#
    > > # dieharder version 3.31.1 Copyright 2003 Robert G. Brown #
    > > #===================================================
    ==========================#
    > > rng_name |rands/second| Seed |
    > > stdin_input_raw| 3.78e+05 |1785358803|
    > > #===================================================
    ==========================#
    > > test_name |ntup| tsamples |psamples| p-value |Assessment
    > > #===================================================
    ==========================#
    > > diehard_birthdays| 0| 100| 100000|0.00000013| FAILED
    > >
    > > real 93m39.541s
    > > user 124m16.952s
    > > sys 0m41.020s
    > >
    > > Nie wiem co jest grane, ale chyba brakuje precyzji dieharderowi, rozkłady
    > > powinny być zaimplementowane chociaż na precyzji 1024 bitów.
    > >
    >
    >
    > Dodaj opcje -k 2
    >
    > Sprawdź w dokumentacji (tym pdfie z dieherder) czy ten test nie jest
    > jednym z tych, które się wywalają dla zbyt duzych danych.
    >
    > pzdr
    > bartekltg

    Sprawdzałem, dodawałem. Faktycznie pomaga, niestety pomaga w bardzo
    minimalnym stopniu.

    Za to widzę, że w boost rozkład czi-kwadrat jest jako szablon zależny
    od typu.

    http://www.boost.org/doc/libs/1_38_0/libs/math/doc/s
    f_and_dist/html/math_toolkit/dist/dist_ref/dists/chi
    _squared_dist.html

    Ciekawe czy można go zdefiniować na poniższym typie, a jak można, to czy to coś
    pomaga:

    http://www.boost.org/doc/libs/1_62_0/libs/multipreci
    sion/doc/html/boost_multiprecision/tut/floats/cpp_de
    c_float.html

    Jest też gotowiec do odwrotnego chi-kwadrat

    http://www.boost.org/doc/libs/1_52_0/libs/math/doc/s
    f_and_dist/html/math_toolkit/dist/dist_ref/dists/inv
    erse_chi_squared_dist.html

    Jest też kilka przykładów użycia:
    http://www.boost.org/doc/libs/1_38_0/libs/math/doc/s
    f_and_dist/html/math_toolkit/dist/stat_tut/weg/cs_eg
    .html

    By trzeba się wczytać... jeśli to działa tak jak mi się wydaje, to napisanie
    samemu (także dla dużej ilości punktów swobody) jest trywialne.

    Ale np. to ( typ cpp_bin_float<N> ) u mnie się nawet nie kompiluje:

    http://www.boost.org/doc/libs/1_62_0/libs/multipreci
    sion/doc/html/boost_multiprecision/tut/floats/cpp_bi
    n_float.html


    Więc nie wiem czy jest tak kolorowo jak piszą :/


    Pozdrawiam


  • 4. Data: 2017-12-13 21:00:35
    Temat: Re: dieharder dla dużych wartości m, np. m=1000
    Od: "M.M." <m...@g...com>

    On Wednesday, December 13, 2017 at 6:51:46 PM UTC+1, M.M. wrote:
    > On Wednesday, December 13, 2017 at 6:38:16 PM UTC+1, bartekltg wrote:
    > > On Wednesday, December 13, 2017 at 3:03:54 PM UTC+1, M.M. wrote:
    > > > Dieharder chyba pada na dużych wartościach m.
    > > >
    > > > Testu dnia urodzin nie przechodzi generator ranlux48, ani mój generator
    > > > fibonacciego z poprzedniego wątku:
    > > >
    > > > FIBONACCI
    > > > time ./frnd | dieharder -d 0 -m 1000 -g 200
    > > > #===================================================
    ==========================#
    > > > # dieharder version 3.31.1 Copyright 2003 Robert G. Brown
    #
    > > > #===================================================
    ==========================#
    > > > rng_name |rands/second| Seed |
    > > > stdin_input_raw| 4.97e+06 |1997299816|
    > > > #===================================================
    ==========================#
    > > > test_name |ntup| tsamples |psamples| p-value |Assessment
    > > > #===================================================
    ==========================#
    > > > diehard_birthdays| 0| 100| 100000|0.00000014| FAILED
    > > >
    > > > real 34m8.515s
    > > > user 35m39.480s
    > > > sys 1m20.016s
    > > >
    > > >
    > > >
    > > > RANLUX48
    > > > time ./frnd | dieharder -d 0 -m 1000 -g 200
    > > > #===================================================
    ==========================#
    > > > # dieharder version 3.31.1 Copyright 2003 Robert G. Brown
    #
    > > > #===================================================
    ==========================#
    > > > rng_name |rands/second| Seed |
    > > > stdin_input_raw| 3.78e+05 |1785358803|
    > > > #===================================================
    ==========================#
    > > > test_name |ntup| tsamples |psamples| p-value |Assessment
    > > > #===================================================
    ==========================#
    > > > diehard_birthdays| 0| 100| 100000|0.00000013| FAILED
    > > >
    > > > real 93m39.541s
    > > > user 124m16.952s
    > > > sys 0m41.020s
    > > >
    > > > Nie wiem co jest grane, ale chyba brakuje precyzji dieharderowi, rozkłady
    > > > powinny być zaimplementowane chociaż na precyzji 1024 bitów.
    > > >
    > >
    > >
    > > Dodaj opcje -k 2
    > >
    > > Sprawdź w dokumentacji (tym pdfie z dieherder) czy ten test nie jest
    > > jednym z tych, które się wywalają dla zbyt duzych danych.
    > >
    > > pzdr
    > > bartekltg
    >
    > Sprawdzałem, dodawałem.

    Z k=2 przykładowo tak wychodzi dla ranluxa48:

    time ./frnd | dieharder -d 0 -m 1000 -g 200 -k 2
    #===================================================
    ==========================#
    # dieharder version 3.31.1 Copyright 2003 Robert G. Brown #
    #===================================================
    ==========================#
    rng_name |rands/second| Seed |
    stdin_input_raw| 3.78e+05 |1730090406|
    #===================================================
    ==========================#
    test_name |ntup| tsamples |psamples| p-value |Assessment
    #===================================================
    ==========================#
    diehard_birthdays| 0| 100| 100000|0.00000224| WEAK

    real 114m28.414s
    user 149m0.160s
    sys 0m50.684s


    Pozdrawiam

strony : [ 1 ]


Szukaj w grupach

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: