🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217530

Re: Jak zrobić test za pomocą PractRand?

#217530
From: osobli...
Date: Mon, 23 Aug 2021 00:08
89 lines
11469 bytes
poniedziałek, 23 sierpnia 2021 o 00:58:55 UTC+2 M.M. napisał(a):
> On Sunday, August 22, 2021 at 11:28:24 PM UTC+2, osobli...@gmail.com wrote: 
> > Z nowym plikiem i z nowym konwerterem znowu mam pełno faili. Napisałem generator: 
> > 
> > x=440298129029124338965764381130484736423 
> > 
> > key1 = 47026247687942121848144207491837523525 
> > key2 = 83866140218348733064738400095399246195 
> > 
> > def LCG(x,key1,key2): 
> > x=(x * key1 + key2) & 340282366920938463463374607431768211455 
> > x = x >> 96 
> > return x 
> > 
> > Nie wiem, czy stałe są dobrze dobrane, ale chyba powinno być ok. Zaraz go przetestuję.
> U mnie generator tego typu przeszedł kilkugodzinne testy: 
> 
> x = 1; 
> A = 79908886691; 
> B = 8143076871913; 
> x = x * A + B; 
> return x >> 123; 
> 
> Uwaga, tylko 5 bitów jest pseudo losowych. Początkowych 500 bitów odrzucałem. 
> 
> Pozdrawiam

Rozumiem, że liczysz x = x * A + B mod 2^128, a jako nowe wejście traktujesz x, a nie tylko 5 bitów, czyli x >> 123? Taki generator radzi sobie u mnie lepiej niż mój autorski generator:

RNG_test using PractRand version 0.93
RNG = RNG_stdin, seed = 0x7f77051e
test set = normal, folding = standard(unknown format)

rng=RNG_stdin, seed=0x7f77051e
length= 2 megabytes (2^21 bytes), time= 3.2 seconds
  Test Name                         Raw       Processed     Evaluation
  BCFN(2+3,13-7,T)                  R= +14.8  p =  4.4e-5   mildly suspicious
  DC6-9x1Bytes-1                    R= +11.7  p =  1.5e-6   very suspicious
  Gap-16:A                          R= +16.4  p =  9.7e-13    FAIL
  Gap-16:B                          R= +66.6  p =  8.0e-48    FAIL !!!!
  FPF-14+6/16:(0,14-3)              R=+371.6  p =  1.7e-325   FAIL !!!!!!
  FPF-14+6/16:all                   R=+249.4  p =  1.0e-220   FAIL !!!!!!
  FPF-14+6/16:all2                  R=+36026  p = 0           FAIL !!!!!!!!
  [Low1/8]BCFN(2+0,13-8,T)          R= +13.6  p =  2.1e-4   mildly suspicious
  [Low1/8]BCFN(2+2,13-9,T)          R= +17.3  p =  5.3e-5   mildly suspicious
  [Low1/8]BCFN(2+3,13-9,T)          R= +22.8  p =  3.1e-6   suspicious
  [Low1/8]BCFN(2+4,13-9,T)          R= +18.8  p =  2.4e-5   mildly suspicious
  [Low4/32]BCFN(2+0,13-8,T)         R= +10.0  p =  1.8e-3   unusual
  [Low4/32]BCFN(2+2,13-9,T)         R= +13.1  p =  4.7e-4   unusual
  ...and 75 test result(s) without anomalies

Traceback (most recent call last):
  File "LCGkeyed.py", line 27, in <module>
    print(binary, end='')
BrokenPipeError: [Errno 32] Broken pipe
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
BrokenPipeError: [Errno 32] Broken pipe

Ale oblewa zaledwie po 2 MB. Czyli znów zupełnie inaczej niż u Ciebie. Bez konwertera oblewa standardowo bardzo wiele testów, z konwerterem jest lepiej, ale nadal inaczej, niż u Ciebie. Nie ucinałem pierwszych bitów. Podam kilka pierwszych wyników:

0000000000000001111110101001000001101001010010011111001011000111110000110000101110100011101100111011101010101010000011011000010101010011000011101001101111011100010001000111100000010100001
0001100111000001011101010010011001111001001100010000011110010110111000010100110011100100011010110000110011111110001111101100100110110000101111001000100010000110000001110100101110010100110
1010001111010110101001010110011001110100101000001011010011010010010100001100001111010110111001011101010011101101100100101000000001111101110000011111000010110111110010101101100010001001110
1111000001110010011010001101111111000001111101011100100000110110110011010001011001001100101110111111010001110110110010111011011000010001111101000011001000100000101101011111101101101111100
0000110111010011101010010010000101000111110000110011111001110010101101010111101000110100110000001101110000001011001010011000010011001110011101110001100100111110100111011001101001100100110
0100010110100010110111111010010000101101111010111001011111110001110110101010101111011000010001001110100100001110001011011110011001010000010011011011001010001000111101110010010100100000001
0110010111010001110100100111110010000000001101100110110110011100100001101110010101101011001001101000000101001110010111011100011000111011101001100111101110111000001100100010010011111001101
1101110000110011010101101101100101000100000111001000010101001000001011101010110011001001110111011000111000000010000000011100000111010000101100110010111100010100011101000000100100110010111
0100001110110111111000001111000110001001011101110010001101110011100111111000000100011010000011010101100100111011101000100010110001111111110100111111100010110010011101111011001000100001110
1111100100011000110000100100001100000000010111001001011110101001111000010011010111110010110111111001010011001011001000011010101100000010010110001000000010011110100000101111111010100100111
1100101010111011110101100100111010101010011000101110101000100110010100110000011000111010111100100010111111001001011001100111000001011111011111110111101011111010000101000110111110010001000
1100111110010000101011111011010010001101011001110101100111111011100100000110000000110111111101100100010010101111110010100101101111110101110011111100001001000111100100000000101111011111011
1000011111010001010111011010011001111000111110110010010001111010111111110001110000000101001011010100000000110101011100001011001010100010110101101111000000011000110111010010000110110000010
0011110111001101111001111111100011011001010010111000100000111100100001011111001101111011011000010100111100000101001000111110001010100001111110111111100011100101001011111010101011110101101
1111110001101001001001100000110011001000111011111111100100011010110000010011010001111010001111100001111110101100010100111000110011101100110100011100100000001101110111011111111101101100000
0010100110110011110111000011010011101110000101111101011000010000111010010001000001000110001001010000000000001011100010000100001000101011111111110001110100110111010111110101000000001100111
0101100111010011000010000101010101000011001010001001110110100011110100110100101001010110111011000111101001001001001111011110001000101010011001101000000011010001100010001111001110000100101
0010110110001101011010011111001100010011001100001001000010000011000110111011001110101110010001110001001010111110011001110011011101110110101010010001110000110101110100011011010111010010111
1111110010001110011000000101101010001010001000001110111111111111010110010001010100110011011110010000011110110001011011010010110000000011111001100001110001011011101111100100001011010010010
1100010101111110000101111000011010001000011110100111010101000001101000010010010100100011110101010101000111111010001011010000000101011100111110010101011011100001001011011001011101010111111
1111100111011001000011000010101010101000100110000110110011010101000001011110010110101101011110101111110101101011011001010100110101000000010101000010101110101110101000101111010001000000100
1010000100000111110000001110100110110111011111110011011110101101110010001100011001100001001110010101010111011010111010001110010011101101011010001110010001000000111010101100001000110011001
0011000100000010101011011101111010110100111011111000000110101010100110011100011110010010111100111001101000000000001111010101100000001000011100010010000111111111001101001010011101101011000
0101011101001100111100111100010000001001001010011110110000000000100010100100010011000111010100110100100110101101011100000110100111100011001000101100111011100000001000110111101100010100101
1100101000100101101001011000101101110111010111000111101011111011100011001010110000011001110101100000010111001001101001001110110010011001010011111001111101101111001110101111111010010011010
1100110101001100100111100101010111100100100010000000100010001010100111000100111000100101010010101111101100100000001111001001100000010110111001001101101110001011000000000111000101101001001
101110110010001011110101110000111110011000110101011101001100101100100011000010111000110001011001100100101101000100100000111110101011111010

Czy testujesz to samo?
Technical Details
Message-ID: <715772df-0454-47c9-8dba-ea9f1feb4f77n@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!border1.nntp.ams1.giganews.com!nntp.giganews.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
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> <21f1661f-f0bc-40af-819b-67e491912f03n@googlegroups.com> <bede20ee-7292-489d-8159-c4460dd09ccdn@googlegroups.com> <1fcfa96a-47ba-4e47-8eea-f9df6a87099bn@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:4f44:: with SMTP id i4mr27580837qtw.266.1629677280737;        Sun, 22 Aug 2021 17:08:00 -0700 (PDT)
X-Received: by 2002:ac8:1498:: with SMTP id l24mr27111165qtj.169.1629677280538; Sun, 22 Aug 2021 17:08:00 -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!border1.nntp.ams1.giganews.com!nntp.giganews.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!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 17:08:00 -0700 (PDT)
In-Reply-To: <1fcfa96a-47ba-4e47-8eea-f9df6a87099bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.169.12.87; posting-account=5sNFBgoAAAAxlae8lv99mPyGsDs6ynwB
NNTP-Posting-Host: 77.169.12.87
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> <21f1661f-f0bc-40af-819b-67e491912f03n@googlegroups.com> <bede20ee-7292-489d-8159-c4460dd09ccdn@googlegroups.com> <1fcfa96a-47ba-4e47-8eea-f9df6a87099bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <715772df-0454-47c9-8dba-ea9f1feb4f77n@googlegroups.com>
Subject: Re: Jak zrobić test za pomocą
 PractRand?
From: "osobli...@gmail.com" <osobliwy.nick@gmail.com>
Injection-Date: Mon, 23 Aug 2021 00:08:00 +0000
Lines: 160
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit