-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!.POSTED!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: testowanie generatorów liczb losowych (kontynuacja)
Date: Fri, 7 Oct 2016 19:58:14 +0200
Organization: ATMAN - ATM S.A.
Lines: 188
Message-ID: <nt8nnm$56f$1@node2.news.atman.pl>
References: <7...@g...com>
<nt6oi5$1q7$1@node1.news.atman.pl>
<b...@g...com>
<nt6pts$339$1@node1.news.atman.pl>
<f...@g...com>
<nt8691$ihf$1@node1.news.atman.pl>
<3...@g...com>
<1...@g...com>
<0...@g...com>
<b...@g...com>
<9...@g...com>
<3...@g...com>
<0...@g...com>
NNTP-Posting-Host: 89-70-119-159.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1475863094 5327 89.70.119.159 (7 Oct 2016 17:58:14 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 7 Oct 2016 17:58:14 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
Thunderbird/45.3.0
In-Reply-To: <0...@g...com>
Xref: news-archive.icm.edu.pl pl.comp.programming:209897
[ ukryj nagłówki ]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
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=