Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #29070

Re: testowanie generatorów liczb losowych (kontynuacja)

From bartekltg <bartekltg@gmail.com>
Newsgroups pl.comp.programming
Subject Re: testowanie generatorów liczb losowych (kontynuacja)
Date 2016-10-07 19:58 +0200
Organization ATMAN - ATM S.A.
Message-ID <nt8nnm$56f$1@node2.news.atman.pl> (permalink)
References (8 earlier) <0168ba6a-5609-42ab-acd7-d5f91c8804a8@googlegroups.com> <bff6dacc-9f92-4f03-bc1e-a0886c0072d1@googlegroups.com> <9216121f-7c5a-4687-b999-52e5f0797563@googlegroups.com> <3118d1bf-46a1-47dc-b9fb-85da7f2fd7f8@googlegroups.com> <0ce270cc-f76d-47c5-a9b5-0a566ac9fe50@googlegroups.com>

Show all headers | View raw


On 07.10.2016 19:40, M.M. wrote:
> On Friday, October 7, 2016 at 6:02:59 PM UTC+2, bartekltg wrote:
>> Nie. Podałem Ci kontrprzykład.
>> Ciagów bardzo nielosowych, które dają znacznie lepsze oszacowania MC.
> Ok, nie ciągnijmy, bo za dużo obwarowań. Generalnie wiadomo, że ciąg
> doskonale równomierny może dać lepsze oszacowanie całki niż ciąg
> naprawdę losowy - nie o to chciałem się kłócić.
>
>
> Popatrzmy lepiej na wpływ parametru k w dieharder.
>
>
> Upewnijmy się, że mamy ciągle ten sam seed i ten sam ciąg liczb
> pseudo losowych:
>
> x@x:~$ time dieharder -s 1 -S 1234 -d 0 -g 15 -m 1 -k 1
> #=============================================================================#
> #            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
> #=============================================================================#
>    rng_name    |rands/second|
>    mt19937_1998|  7.99e+07  |
> #=============================================================================#
>         test_name   |ntup| tsamples |psamples|  p-value |Assessment|    Seed
> #=============================================================================#
>    diehard_birthdays|   0|       100|     100|0.92170613|  PASSED  |      1234
>
> real    0m1.822s
> user    0m1.817s
> sys     0m0.004s
> x@x:~$ time dieharder -s 1 -S 1234 -d 0 -g 15 -m 1 -k 0
> #=============================================================================#
> #            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
> #=============================================================================#
>    rng_name    |rands/second|
>    mt19937_1998|  8.08e+07  |
> #=============================================================================#
>         test_name   |ntup| tsamples |psamples|  p-value |Assessment|    Seed
> #=============================================================================#
>    diehard_birthdays|   0|       100|     100|0.92170613|  PASSED  |      1234
> real    0m1.817s
> user    0m1.808s
> sys     0m0.008s
>
> Wynik ten sam z dokładnością do 8 miejsc po przecinku, więc ciąg ten sam.
>
>
>
> Zwiększamy m=100 (10tys testów)
>
> x@x:~$ time dieharder -s 1 -S 1234 -d 0 -g 15 -m 100 -k 0
> #=============================================================================#
> #            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
> #=============================================================================#
>    rng_name    |rands/second|
>    mt19937_1998|  8.40e+07  |
> #=============================================================================#
>         test_name   |ntup| tsamples |psamples|  p-value |Assessment|    Seed
> #=============================================================================#
>    diehard_birthdays|   0|       100|   10000|0.01512520|  PASSED  |      1234
>
> real    3m0.888s
> user    3m0.475s
> sys     0m0.436s
>
>
> x@x:~$
> x@x:~$ time dieharder -s 1 -S 1234 -d 0 -g 15 -m 100 -k 0
> #=============================================================================#
> #            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
> #=============================================================================#
>    rng_name    |rands/second|
>    mt19937_1998|  8.44e+07  |
> #=============================================================================#
>         test_name   |ntup| tsamples |psamples|  p-value |Assessment|    Seed
> #=============================================================================#
>    diehard_birthdays|   0|       100|   10000|0.01512520|  PASSED  |      1234
>
> real    3m6.036s
> user    3m5.858s
> sys     0m0.104s
>
> Znowu wynik ten sam, więc możemy być pewni że ciąg ten sam.
>
>
> Zmieniam k=1
>
>
> x@x:~$ time dieharder -s 1 -S 1234 -d 0 -g 15 -m 100 -k 1
> #=============================================================================#
> #            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
> #=============================================================================#
>    rng_name    |rands/second|
>    mt19937_1998|  8.36e+07  |
> #=============================================================================#
>         test_name   |ntup| tsamples |psamples|  p-value |Assessment|    Seed
> #=============================================================================#
>    diehard_birthdays|   0|       100|   10000|0.01514407|  PASSED  |      1234
>
> real    3m2.390s
> user    3m2.357s
> sys     0m0.052s
>
> Widać malą różnicę w wyniku.
>
> Dajemy k=2
>
>
> x@x:~$ time dieharder -s 1 -S 1234 -d 0 -g 15 -m 100 -k 2
> #=============================================================================#
> #            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
> #=============================================================================#
>    rng_name    |rands/second|
>    mt19937_1998|  8.43e+07  |
> #=============================================================================#
>         test_name   |ntup| tsamples |psamples|  p-value |Assessment|    Seed
> #=============================================================================#
>    diehard_birthdays|   0|       100|   10000|0.01514407|  PASSED  |      1234
>
> real    3m5.804s
> user    3m5.475s
> sys     0m0.315s
>
>
> Wynik taki sam jak dla k=1
>
> Teraz k=3
> x@x:~$ time dieharder -s 1 -S 1234 -d 0 -g 15 -m 100 -k 3
> #=============================================================================#
> #            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
> #=============================================================================#
>    rng_name    |rands/second|
>    mt19937_1998|  6.64e+07  |
> #=============================================================================#
>         test_name   |ntup| tsamples |psamples|  p-value |Assessment|    Seed
> #=============================================================================#
>    diehard_birthdays|   0|       100|   10000|0.00283496|   WEAK   |      1234
>
> real    3m16.142s
> user    3m15.666s
> sys     0m0.336s
>
> Upssss wynik zupełnie inny.
>
>
> teraz k=4
> x@x:~$ time dieharder -s 1 -S 1234 -d 0 -g 15 -m 100 -k 4
> #=============================================================================#
> #            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
> #=============================================================================#
>    rng_name    |rands/second|
>    mt19937_1998|  8.05e+07  |
> #=============================================================================#
>         test_name   |ntup| tsamples |psamples|  p-value |Assessment|    Seed
> #=============================================================================#
>    diehard_birthdays|   0|       100|   10000|0.00283496|   WEAK   |      1234
>
> real    3m12.022s
> user    3m11.777s
> sys     0m0.137s
>
> To samo co dla k=3
>
> Różnic w czasie wykonania dużych nie ma. Mój wniosek: testy mogą być
> liczone na precyzji jaką oferuje sprzętowo procesor, ale wzorek na
> chi-kwadrat powinien być liczony na bignumie. Jeśli wersja szybka
> pada już dla m=100, to wersja dokładna pewnie też padnie dla większych
> wartości m.

Nie, wersja -k 2 jest stabilna numerycznie.
Tak twierdzi dokumentacja.
A nawet więcewj, wprost mówią, że wynik różni się od dokładnego
tylko o precyzje numeryczną. cyli jaskby uwarunkowanie było 1.


@Wersja szybka:
0 is fast but slightly sloppy for psamples > 4999 (default).
A Ty masz 10 000.

Na -k 3 szkoda procesora.
3 is kuiper ks, fast, quite inaccurate for small samples, deprecated.

pzdr
bartekltg




Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

testowanie  generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-06 13:42 -0700
  Re: testowanie generatorów liczb losowych (kontynuacja) Borneq <borneq@antyspam.hidden.pl> - 2016-10-07 02:00 +0200
    Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-06 17:12 -0700
      Re: testowanie generatorów liczb losowych (kontynuacja) Borneq <borneq@antyspam.hidden.pl> - 2016-10-07 02:23 +0200
        Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-06 17:29 -0700
          Re: testowanie generatorów liczb losowych (kontynuacja) Borneq <borneq@antyspam.hidden.pl> - 2016-10-07 15:00 +0200
            Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-07 06:20 -0700
              Re: testowanie generatorów liczb losowych (kontynuacja) bartekltg <bartekltg@gmail.com> - 2016-10-07 07:39 -0700
                Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-07 07:51 -0700
                Re: testowanie generatorów liczb losowych (kontynuacja) bartekltg <bartekltg@gmail.com> - 2016-10-07 08:00 -0700
                Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-07 08:21 -0700
                Re: testowanie generatorów liczb losowych (kontynuacja) bartekltg <bartekltg@gmail.com> - 2016-10-07 09:02 -0700
                Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-07 10:40 -0700
                Re: testowanie generatorów liczb losowych (kontynuacja) bartekltg <bartekltg@gmail.com> - 2016-10-07 19:58 +0200
                Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-07 15:25 -0700
                Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-07 17:32 -0700
                Re: testowanie generatorów liczb losowych (kontynuacja) bartekltg <bartekltg@gmail.com> - 2016-10-08 09:52 +0200
                Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-08 05:00 -0700
              Re: testowanie generatorów liczb losowych (kontynuacja) bartekltg <bartekltg@gmail.com> - 2016-10-07 07:47 -0700
                Re: testowanie generatorów liczb losowych (kontynuacja) bartekltg <bartekltg@gmail.com> - 2016-10-07 08:20 -0700
              Re: testowanie generatorów liczb losowych (kontynuacja) Borneq <borneq@antyspam.hidden.pl> - 2016-10-07 17:23 +0200
  Re: testowanie generatorów liczb losowych (kontynuacja) bartekltg <bartekltg@gmail.com> - 2016-10-07 02:58 +0200
    Re: testowanie generatorów liczb losowych (kontynuacja) "M.M." <mmarszik@gmail.com> - 2016-10-06 18:18 -0700

csiph-web