Article View: pl.comp.programming
Article #217523Re: Jak zrobić test za pomocą PractRand?
From: M.M.
Date: Sun, 22 Aug 2021 20:06
Date: Sun, 22 Aug 2021 20:06
79 lines
7759 bytes
7759 bytes
On Sunday, August 22, 2021 at 8:59:10 PM UTC+2, osobli...@gmail.com wrote:
> niedziela, 22 sierpnia 2021 o 18:41:50 UTC+2 M.M. napisał(a):
> > On Sunday, August 22, 2021 at 3:08:25 PM UTC+2, osobli...@gmail.com wrote:
> > > Mam jeszcze taki pomysł, żeby przekonwertować moje liczby pseudolosowe na znaki ASCII, a nie jak dotychczas tylko na szczególne znaki ASCII w postaci samych zer i jedynek. Wtedy będę miał strumień losowych znaków ASCII. Następnie te znaki można przekonwertować na bity, jeżeli znajdzie się taki sposób.
> > A jakby tak jeszcze skompresować zipem?
> W jakim celu ta kompresja?
Potem wystarczy zdekompresować i można testować - żartowałem odnośnie tylu zmian
formatu. Myślałem że po prostu masz coś gotowego co daje zera i jedynki w formacie
ASCII - napisałem więc dla Ciebie konwerter do formatu binarnego który jest zgodny z
formatem PractRand. Wielokrotne zmiany z formatu do formatu nie mają sensu, jeśli
możesz to wypisuj od razu binarnie dla PractRand.
> Po wygenerowaniu danych do pliku data i wrzuceniu w konwerter terminal wyrzuca krzaki:
>
> n U I?U 9;?AXe@"^Kev6*mڗqdp<1 o{ mg }5 H&' X %p_Tfl Y~ pVjkOK r }zo1Fle F c?ybq8\N V d:4[ւz~ 9ueVtlڔ:ą@T>N6@r(fo郳g41)n$ѤJIM 6hc %xӺj ]k<g(<3 +3. =<Y mf~; PP|Ƶ W%-vu' ` oKn2#Qegor"a + Ma%v |/ցtr z> l pҞ% l?+uLA{U K˜N%dV eT^ ~ ۗXwUjF xr{`qk�� :l }g]<A\8 $4D "6@ X{g ijf$un)u cuفry SnsNhg㸚2\ĥ pBy W h*@Ἶ��NxoLl QԟzFD4Ĭ.g`4n[C!4 *<>: _.v?$]9P ; ўfPa? WGQ@js n NL4>5q2G[D 材Z{NE!>c` + > XGv [۽*1&
> ;9N) x j9ɓL` =h]eƉ{�� $P.ͶZi Y| FکUU+Nvwn# ^R@؆Y0 e*u4 l9zMj GICמ,
> ]i<Jq(ܖ4 ʺhJXzt f-h:[^T:,Cڬ4@8~nXI: R&sSceN C `<+=~ w <S#w}SǟM^ O4˪EMƞiq- "ElA<eX
> ӔbeK94a}Բ6A*
>
> Czyli wygląda na to, że działa poprawnie.
Nie wiem, ale u mnie prosty generator wraz z tym konwerterem przechodzi kilkugodzinne testy.
> Te same pliki, gdy są mniejsze niż około 1 GB skutkują nierozpoczęciem się testów i komunikatem:
> RNG_test using PractRand version 0.93
> RNG = RNG_stdin, seed = 0xae0bb968
> test set = normal, folding = standard(unknown format)
> Segmentation fault (core dumped)
Nie wiem dlaczego, czy używasz komendy:
cat plik.bin | PractRand stdin
?
> Dla większych niż 1 GB otrzymuję wciąż dużo faili i standardowy komunikat "abort()":
Powinno działać dla dowolnie dużych danych przy pomocy komendy:
Generator | Konwerter | Tester
Ale jak Tester przestanie czytać po failach, to konwerter nie może pisać i robi abort.
Może spróbuj wersji która nie robi abort gdy nie może pisać:
https://github.com/mmarszik/01ToBin/blob/main/main.cpp
Nie wiem gdzie jakiej komendy używasz.
> RNG_test using PractRand version 0.93
> RNG = RNG_stdin, seed = 0x9c049a18
> test set = normal, folding = standard(unknown format)
> rng=RNG_stdin, seed=0x9c049a18
> length= 32 megabytes (2^25 bytes), time= 3.1 seconds
Zwórć uwagę, że 2^25 to dużo mniej niż 1GB, a już był jakiś abort, nie
wiem jaki program daje abort, bo używasz trzech programów. Jeśli
konwerter daje abort, to spróbuj powyższej wersji.
> Test Name Raw Processed Evaluation
> BCFN(2+0,13-4,T) R= +85.2 p = 3.7e-37 FAIL !!!
> BCFN(2+1,13-4,T) R= +77.8 p = 6.2e-34 FAIL !!!
> BCFN(2+2,13-5,T) R= +79.5 p = 2.6e-31 FAIL !!!
> BCFN(2+3,13-5,T) R= +83.6 p = 6.3e-33 FAIL !!!
> BCFN(2+4,13-5,T) R= +80.2 p = 1.4e-31 FAIL !!!
> BCFN(2+5,13-6,T) R= +99.5 p = 1.6e-34 FAIL !!!
> BCFN(2+6,13-6,T) R=+102.2 p = 1.9e-35 FAIL !!!
> BCFN(2+7,13-7,T) R=+121.8 p = 2.9e-37 FAIL !!!
>
> Spróbuję jeszcze raz wygenerować plik 200 GB. Dlaczego wielkość pliku robi różnicę?
Nie wiem, ale powinno działać bez pośrednictwa pliku dyskowego. U mnie działa kilka
godzin i nie ma faili ani abortów. Może jakaś wersja PractRand nie kompiluje się poprawnie
jakimś kompilatorem, albo nie działa pod jakimś systemem? Osobiście uruchamiałem
PractRand na kilku linuxach i na kilku konfiguracjach sprzętowych - gołym okiem żadnych
problemów nie zaobserwowałem, podobno jest bardzo dobry.
Jeśli generator liczb losowych jest dobry, a PractRand zgłasza faile, to może być spowodowane
ucinaniem zer wiodących - jeśli nie usunąłeś nadal tego problemu. Tam w linkach pokazywali jak w
pythonie zachowuje się zera wiodące. Jeśli konwerter działa, to znaczy nie ma już znaków LF 0xa.
Pozdrawiam
Technical Details
Message-ID:
<21f1661f-f0bc-40af-819b-67e491912f03n@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<6a2d60cf-5d52-4f70-a0bb-67ac51f2ea47n@googlegroups.com> <0b0e0278-0506-4691-8051-1f73a327e87an@googlegroups.com> <1aabf0e1-8c01-4479-90fc-62d1026d221cn@googlegroups.com> <fcda7316-c8b0-445b-a5d5-2c8db0e2c939n@googlegroups.com> <59524bbe-00b1-4756-b359-19bb000e8641n@googlegroups.com> <2aec1845-1ec1-4e83-835a-ccc9aa089c23n@googlegroups.com> <f201e244-08b1-4ec6-977a-40aba70eac76n@googlegroups.com> <48a87319-4f87-4ace-b9e1-e8c9842514can@googlegroups.com> <5af4b1e3-4d68-4ea8-a5cf-7d2b1075041cn@googlegroups.com> <680b4111-0c0b-4406-ae78-fc27fa1a545an@googlegroups.com> <efe0a67a-6b05-40d2-b877-e5a51f57dd9fn@googlegroups.com> <cb8e26f0-392e-4848-b573-e232e943b6f5n@googlegroups.com> <08cd0111-4022-41af-a03a-a3a4a6307ef6n@googlegroups.com> <c66ce87b-7302-4c87-813b-187c36feffd1n@googlegroups.com> <4a215489-d501-49d5-ade6-cf771ffee901n@googlegroups.com> <7ccd7613-9d6d-4d46-b68f-1db4e9d7a5e3n@googlegroups.com> <9082e2ac-cd7d-436d-80a8-7d12109d3297n@googlegroups.com> <227b1c0e-5d3c-4323-a374-de316aec2ffcn@googlegroups.com> <11f92832-5699-4cf9-be0d-412f9248f4den@googlegroups.com> <97a8c494-64a8-46c0-a17a-114d86aa94d9n@googlegroups.com> <d5976242-a26f-4b4a-93c0-49f7c056c46dn@googlegroups.com> <bf97ae93-0973-4e7d-a7dc-36e681b2479bn@googlegroups.com> <bdc239bf-9878-4a79-a5c4-e007aee2c279n@googlegroups.com> <f453f15f-4c3f-4eee-9714-850a0fb56161n@googlegroups.com> <03af61d9-e808-4daf-82b1-82e45f41372dn@googlegroups.com> <8c2590d8-1517-49f7-b95e-40e5fcaf830bn@googlegroups.com> <f341cef1-76f8-4aa4-ab18-ddf45ba038f3n@googlegroups.com> <a4f24c35-46a4-4dc4-90c0-fa9ee06ce740n@googlegroups.com> <bab05158-796a-4b3f-a52a-42659629ff42n@googlegroups.com> <268d32c4-3f2f-47cd-9544-d15a448f801cn@googlegroups.com> <c9a68c22-8a39-4c63-86e6-cb54d35bfde5n@googlegroups.com> <867ac372-f472-44ea-9346-d99449427a7fn@googlegroups.com> <a1e5bdaf-1701-420b-b2cf-f6831b771a92n@googlegroups.com> <df195a86-c889-47f3-9e9f-e2cb1828efc9n@googlegroups.com> <d2a0fb33-27b9-493e-a88c-fe2e8ec7624bn@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:6447:: with SMTP id y68mr18025350qkb.296.1629662803421; Sun, 22 Aug 2021 13:06:43 -0700 (PDT) X-Received: by 2002:a37:a442:: with SMTP id n63mr12511842qke.302.1629662803248; Sun, 22 Aug 2021 13:06:43 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Sun, 22 Aug 2021 13:06:43 -0700 (PDT) In-Reply-To: <d2a0fb33-27b9-493e-a88c-fe2e8ec7624bn@googlegroups.com> Injection-Info: google-groups.googlegroups.com; posting-host=37.128.16.171; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj NNTP-Posting-Host: 37.128.16.171 References: <6a2d60cf-5d52-4f70-a0bb-67ac51f2ea47n@googlegroups.com> <0b0e0278-0506-4691-8051-1f73a327e87an@googlegroups.com> <1aabf0e1-8c01-4479-90fc-62d1026d221cn@googlegroups.com> <fcda7316-c8b0-445b-a5d5-2c8db0e2c939n@googlegroups.com> <59524bbe-00b1-4756-b359-19bb000e8641n@googlegroups.com> <2aec1845-1ec1-4e83-835a-ccc9aa089c23n@googlegroups.com> <f201e244-08b1-4ec6-977a-40aba70eac76n@googlegroups.com> <48a87319-4f87-4ace-b9e1-e8c9842514can@googlegroups.com> <5af4b1e3-4d68-4ea8-a5cf-7d2b1075041cn@googlegroups.com> <680b4111-0c0b-4406-ae78-fc27fa1a545an@googlegroups.com> <efe0a67a-6b05-40d2-b877-e5a51f57dd9fn@googlegroups.com> <cb8e26f0-392e-4848-b573-e232e943b6f5n@googlegroups.com> <08cd0111-4022-41af-a03a-a3a4a6307ef6n@googlegroups.com> <c66ce87b-7302-4c87-813b-187c36feffd1n@googlegroups.com> <4a215489-d501-49d5-ade6-cf771ffee901n@googlegroups.com> <7ccd7613-9d6d-4d46-b68f-1db4e9d7a5e3n@googlegroups.com> <9082e2ac-cd7d-436d-80a8-7d12109d3297n@googlegroups.com> <227b1c0e-5d3c-4323-a374-de316aec2ffcn@googlegroups.com> <11f92832-5699-4cf9-be0d-412f9248f4den@googlegroups.com> <97a8c494-64a8-46c0-a17a-114d86aa94d9n@googlegroups.com> <d5976242-a26f-4b4a-93c0-49f7c056c46dn@googlegroups.com> <bf97ae93-0973-4e7d-a7dc-36e681b2479bn@googlegroups.com> <bdc239bf-9878-4a79-a5c4-e007aee2c279n@googlegroups.com> <f453f15f-4c3f-4eee-9714-850a0fb56161n@googlegroups.com> <03af61d9-e808-4daf-82b1-82e45f41372dn@googlegroups.com> <8c2590d8-1517-49f7-b95e-40e5fcaf830bn@googlegroups.com> <f341cef1-76f8-4aa4-ab18-ddf45ba038f3n@googlegroups.com> <a4f24c35-46a4-4dc4-90c0-fa9ee06ce740n@googlegroups.com> <bab05158-796a-4b3f-a52a-42659629ff42n@googlegroups.com> <268d32c4-3f2f-47cd-9544-d15a448f801cn@googlegroups.com> <c9a68c22-8a39-4c63-86e6-cb54d35bfde5n@googlegroups.com> <867ac372-f472-44ea-9346-d99449427a7fn@googlegroups.com> <a1e5bdaf-1701-420b-b2cf-f6831b771a92n@googlegroups.com> <df195a86-c889-47f3-9e9f-e2cb1828efc9n@googlegroups.com> <d2a0fb33-27b9-493e-a88c-fe2e8ec7624bn@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <21f1661f-f0bc-40af-819b-67e491912f03n@googlegroups.com> Subject: Re: Jak zrobić test za pomocą PractRand? From: "M.M." <mmarszik@gmail.com> Injection-Date: Sun, 22 Aug 2021 20:06:43 +0000 X-Received-Bytes: 8493 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit