-
11. Data: 2016-09-23 19:47:20
Temat: Re: Testy losowości liczb
Od: bartekltg <b...@g...com>
On Friday, September 23, 2016 at 12:19:59 PM UTC+2, M.M. wrote:
> Jest jeden test, którego żaden deterministyczny generator nie
> przejdzie.
>
Jaki? Tylko nie mów "wykrycie okresu", bo dla wielu generatorów
nie jest to technicznie wykonalne;-)
pzdr
bartekltg
-
12. Data: 2016-09-24 03:06:28
Temat: Re: Testy losowości liczb
Od: "M.M." <m...@g...com>
On Friday, September 23, 2016 at 7:47:37 PM UTC+2, bartekltg wrote:
> On Friday, September 23, 2016 at 12:19:59 PM UTC+2, M.M. wrote:
>
> > Jest jeden test, którego żaden deterministyczny generator nie
> > przejdzie.
> >
>
>
> Jaki? Tylko nie mów "wykrycie okresu", bo dla wielu generatorów
> nie jest to technicznie wykonalne;-)
>
> pzdr
> bartekltg
Chodziło o to, że teoretycznie można. Teoretycznie każdy
deterministyczny ciąg da się mocno skompresować. W praktyce
jest to niewykonalne, ponieważ trzaby sprawdzać kolejno
wszystkie metody kompresji. Niemniej każdy deterministyczny
ciąg ma małą złożoność kołmogorowa.
Pozdrawiam
-
13. Data: 2016-09-24 13:35:54
Temat: Re: Testy losowości liczb
Od: Borneq <b...@a...hidden.pl>
W dniu 23.09.2016 o 19:45, bartekltg pisze:
> Co z tego, że jakiś Fibonacci czy MT daje więcej bitów,
> skoro nie sa one do konca losowe:)
> Jak mówiłem, albo szybkość, albo jakość.
> Chcesz 64 bity z 'papieram', składaj:)
Chodzi o to, że 24 bity oznacza tylko mniejszą prędkość, a składanie dla
Ranluxa nie popsuje losowości?
Bo weźmy prosty i szybki generator, który był kiedyś w bibliotece
Borlanda: okres 2^32, daje 32 bity, ale każda następna wartość zależna
od poprzedniej - można wyliczyć następną znając wartość tylko jednej
32-bitowej. Wtedy przy składaniu do 64 bitów, jedna połowa zależy od
drugiej.
-
14. Data: 2016-09-24 13:38:30
Temat: Re: Testy losowości liczb
Od: Borneq <b...@a...hidden.pl>
W dniu 23.09.2016 o 19:45, bartekltg pisze:
> http://hep.fi.infn.it/cernlib.pdf
CERN Program Library - wielka biblioteka i wszystko w Fortranie 77?
-
15. Data: 2016-09-24 13:56:01
Temat: Re: Testy losowości liczb
Od: bartekltg <b...@g...com>
On 24.09.2016 13:38, Borneq wrote:
> W dniu 23.09.2016 o 19:45, bartekltg pisze:
>> http://hep.fi.infn.it/cernlib.pdf
>
> CERN Program Library - wielka biblioteka i wszystko w Fortranie 77?
A ktoś każe Ci teog używać?
Opis miałęś poczytać
bartekltg
-
16. Data: 2016-09-24 14:09:42
Temat: Re: Testy losowości liczb
Od: Borneq <b...@a...hidden.pl>
W dniu 24.09.2016 o 13:56, bartekltg pisze:
>> CERN Program Library - wielka biblioteka i wszystko w Fortranie 77?
>
> A ktoś każe Ci teog używać?
> Opis miałęś poczytać
A da się połączyć biblioteki w Fortranie z programem w C++?
-
17. Data: 2016-09-24 14:12:20
Temat: Re: Testy losowości liczb
Od: "M.M." <m...@g...com>
On Saturday, September 24, 2016 at 1:35:43 PM UTC+2, Borneq wrote:
> W dniu 23.09.2016 o 19:45, bartekltg pisze:
> > Co z tego, że jakiś Fibonacci czy MT daje więcej bitów,
> > skoro nie sa one do konca losowe:)
> > Jak mówiłem, albo szybkość, albo jakość.
> > Chcesz 64 bity z 'papieram', składaj:)
>
> Chodzi o to, że 24 bity oznacza tylko mniejszą prędkość, a składanie dla
> Ranluxa nie popsuje losowości?
> Bo weźmy prosty i szybki generator, który był kiedyś w bibliotece
> Borlanda: okres 2^32, daje 32 bity, ale każda następna wartość zależna
> od poprzedniej - można wyliczyć następną znając wartość tylko jednej
> 32-bitowej. Wtedy przy składaniu do 64 bitów, jedna połowa zależy od
> drugiej.
Wszelkie składania generatorów niosą z sobą takie ryzyko. Pytanie, czy
zależy CI na wydajności generatora i na oszczędności pamięci? Możesz
wziąć dwie kopie tego generatora. Jedną kopią wygeneruj sobie z milion
liczb do tablicy. Durgą kopią wybierz liczbę:
idx = kopia1.get() % 1000000
ret = table[ idx ]
table[ idx ] = kopia2.get()
return ret;
Niestety trudno udowodnić że dla jakiegoś seeda to się nie złoży w
mało losowy ciąg...
W poniższej książeczce
https://www.sklep.gildia.pl/literatura/132460-robert
-wieczorkowski-ryszard-j-zielinski-komputerowe-gener
atory-liczb-losowych
był jakiś dowód na złożenie generatorów, ale chyba było trudne do
spełnienia wymaganie, że generatory muszą być niezależne. A generatory
deterministyczne zawsze są zależne od siebie.
-
18. Data: 2016-09-24 14:18:46
Temat: Re: Testy losowości liczb
Od: Borneq <b...@a...hidden.pl>
W dniu 24.09.2016 o 14:12, M.M. pisze:
> https://www.sklep.gildia.pl/literatura/132460-robert
-wieczorkowski-ryszard-j-zielinski-komputerowe-gener
atory-liczb-losowych
>
> był jakiś dowód na złożenie generatorów, ale chyba było trudne do
> spełnienia wymaganie, że generatory muszą być niezależne. A generatory
> deterministyczne zawsze są zależne od siebie.
Mam nawet tą książeczkę, tylko ją przeglądnąłem, a teraz zamierzam się
zabrać za nią.
-
19. Data: 2016-09-24 14:36:12
Temat: Re: Testy losowości liczb
Od: bartekltg <b...@g...com>
On 24.09.2016 14:09, Borneq wrote:
> W dniu 24.09.2016 o 13:56, bartekltg pisze:
>>> CERN Program Library - wielka biblioteka i wszystko w Fortranie 77?
>>
>> A ktoś każe Ci teog używać?
>> Opis miałęś poczytać
>
> A da się połączyć biblioteki w Fortranie z programem w C++?
-Tak.
-Na cholerę, skoro masz i tą, i lepszą(48bitów) funkcję
w biblitece standardowej.
pzdr
bartekltg
-
20. Data: 2016-09-25 14:20:28
Temat: Re: Testy losowości liczb
Od: Borneq <b...@a...hidden.pl>
W dniu 23.09.2016 o 10:32, bartekltg pisze:
> Po raz trzeci: po co ci ten zestaw liczb losowych?
> Jeśli to nie kryptografia, to nie ma to sensu.
> Jeśli to kryptografia - pewien jesteś, ze sam chcesz
Jeszcze jeden problem: istnieją wydajne algorytmy sprawdzania czy duża
liczba jest liczbą pierwszą. Potrzebują liczb losowych albo dobrych
pseudolosowych. Liczba do sprawdzenia ma tak z kilkaset lub kilka
tysięcy bitów natomiast generator zwraca po 24 bity i inicjowany jest
ziarnem do 100 bitów. Czy to nie za mało? Czy ziarno musi być co
najmniej wielkości badanej liczby?