eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak zrobić test za pomocą PractRand?Re: Jak zrobić test za pomocą PractRand?
  • Data: 2021-08-23 02:08:00
    Temat: Re: Jak zrobić test za pomocą PractRand?
    Od: "o...@g...com" <o...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    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, o...@g...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:

    0000000000000001111110101001000001101001010010011111
    0010110001111100001100001011101000111011001110111010
    1010101000001101100001010101001100001110100110111101
    1100010001000111100000010100001
    0001100111000001011101010010011001111001001100010000
    0111100101101110000101001100111001000110101100001100
    1111111000111110110010011011000010111100100010001000
    0110000001110100101110010100110
    1010001111010110101001010110011001110100101000001011
    0100110100100101000011000011110101101110010111010100
    1110110110010010100000000111110111000001111100001011
    0111110010101101100010001001110
    1111000001110010011010001101111111000001111101011100
    1000001101101100110100010110010011001011101111110100
    0111011011001011101101100001000111110100001100100010
    0000101101011111101101101111100
    0000110111010011101010010010000101000111110000110011
    1110011100101011010101111010001101001100000011011100
    0000101100101001100001001100111001110111000110010011
    1110100111011001101001100100110
    0100010110100010110111111010010000101101111010111001
    0111111100011101101010101011110110000100010011101001
    0000111000101101111001100101000001001101101100101000
    1000111101110010010100100000001
    0110010111010001110100100111110010000000001101100110
    1101100111001000011011100101011010110010011010000001
    0100111001011101110001100011101110100110011110111011
    1000001100100010010011111001101
    1101110000110011010101101101100101000100000111001000
    0101010010000010111010101100110010011101110110001110
    0000001000000001110000011101000010110011001011110001
    0100011101000000100100110010111
    0100001110110111111000001111000110001001011101110010
    0011011100111001111110000001000110100000110101011001
    0011101110100010001011000111111111010011111110001011
    0010011101111011001000100001110
    1111100100011000110000100100001100000000010111001001
    0111101010011110000100110101111100101101111110010100
    1100101100100001101010110000001001011000100000001001
    1110100000101111111010100100111
    1100101010111011110101100100111010101010011000101110
    1010001001100101001100000110001110101111001000101111
    1100100101100110011100000101111101111111011110101111
    1010000101000110111110010001000
    1100111110010000101011111011010010001101011001110101
    1001111110111001000001100000001101111111011001000100
    1010111111001010010110111111010111001111110000100100
    0111100100000000101111011111011
    1000011111010001010111011010011001111000111110110010
    0100011110101111111100011100000001010010110101000000
    0011010101110000101100101010001011010110111100000001
    1000110111010010000110110000010
    0011110111001101111001111111100011011001010010111000
    1000001111001000010111110011011110110110000101001111
    0000010100100011111000101010000111111011111110001110
    0101001011111010101011110101101
    1111110001101001001001100000110011001000111011111111
    1001000110101100000100110100011110100011111000011111
    1010110001010011100011001110110011010001110010000000
    1101110111011111111101101100000
    0010100110110011110111000011010011101110000101111101
    0110000100001110100100010000010001100010010100000000
    0000101110001000010000100010101111111111000111010011
    0111010111110101000000001100111
    0101100111010011000010000101010101000011001010001001
    1101101000111101001101001010010101101110110001111010
    0100100100111101111000100010101001100110100000001101
    0001100010001111001110000100101
    0010110110001101011010011111001100010011001100001001
    0000100000110001101110110011101011100100011100010010
    1011111001100111001101110111011010101001000111000011
    0101110100011011010111010010111
    1111110010001110011000000101101010001010001000001110
    1111111111110101100100010101001100110111100100000111
    1011000101101101001011000000001111100110000111000101
    1011101111100100001011010010010
    1100010101111110000101111000011010001000011110100111
    0101010000011010000100100101001000111101010101010001
    1111101000101101000000010101110011111001010101101110
    0001001011011001011101010111111
    1111100111011001000011000010101010101000100110000110
    1100110101010000010111100101101011010111101011111101
    0110101101100101010011010100000001010100001010111010
    1110101000101111010001000000100
    1010000100000111110000001110100110110111011111110011
    0111101011011100100011000110011000010011100101010101
    1101101011101000111001001110110101101000111001000100
    0000111010101100001000110011001
    0011000100000010101011011101111010110100111011111000
    0001101010101001100111000111100100101111001110011010
    0000000000111101010110000000100001110001001000011111
    1111001101001010011101101011000
    0101011101001100111100111100010000001001001010011110
    1100000000001000101001000100110001110101001101001001
    1010110101110000011010011110001100100010110011101110
    0000001000110111101100010100101
    1100101000100101101001011000101101110111010111000111
    1010111110111000110010101100000110011101011000000101
    1100100110100100111011001001100101001111100111110110
    1111001110101111111010010011010
    1100110101001100100111100101010111100100100010000000
    1000100010101001110001001110001001010100101011111011
    0010000000111100100110000001011011100100110110111000
    1011000000000111000101101001001
    1011101100100010111101011100001111100110001101010111
    0100110010110010001100001011100011000101100110010010
    1101000100100000111110101011111010

    Czy testujesz to samo?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: