-
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