eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Testy losowości liczb
Ilość wypowiedzi w tym wątku: 46

  • 21. Data: 2016-09-25 14:20:41
    Temat: Re: Testy losowości liczb
    Od: bartekltg <b...@g...com>

    On 23.09.2016 00:16, Borneq wrote:

    BTW, zerknij na wątek
    "test randomizacyjny w C"
    z lipca na grupie grupy pl.comp.c

    Zaczęło się od pytania o zadanie domowe, ale ostetecznie
    padło trochę ciekawych informacji linków;>

    pzdr
    bartekltg




  • 22. Data: 2016-09-25 14:47:19
    Temat: Re: Testy losowości liczb
    Od: bartekltg <b...@g...com>

    On 25.09.2016 14:20, Borneq wrote:
    > 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?

    Do kryptografii, musi!
    Musisz mieć co najmniej tyle bitów entropii, ile bitów liczby.
    Ale tam nie jest istotne w teście, tylko w wybieraniu liczb
    pierwszych.

    Test MR dobrze sobie radzi, jak wiekszosć algorytmów losowych,
    na ciągu pseudolosowym.

    Przeformuuj swoje pytanie tak: dlaczego całkowanie MC działa,
    skoro wsadziłem tam tylko 32 albo 0 (bo zasedowałem stałą,
    aby z pewnych powódów mieć powtarzalne wyniki, bo no testuje
    drobne różnice w implementacji i chcę powtarzalnych warunków*)
    bitów entropii?
    Przecież użyłem 10 GB losowych danych! A zainicjowałem wierszykiem
    o wróbelku.

    Inicjalizowanie prawidzwymi bitami losowymi nie zmienia własnośći
    'losowych' ciągu pseudolosowego.



    pzdr
    bartekltg

    *) oczywiście nie mogę tego potem zostawić, bo jak będę chaił odpalić
    program drugi raz, by poprawić wyniki, będą one skorelowane i nie
    dostanę poprawy oszacowania wyniku ;-)


  • 23. Data: 2016-09-25 15:07:25
    Temat: Re: Testy losowości liczb
    Od: Borneq <b...@a...hidden.pl>

    W dniu 25.09.2016 o 14:47, bartekltg pisze:
    > Test MR dobrze sobie radzi, jak wiekszosć algorytmów losowych,
    > na ciągu pseudolosowym.

    są:
    https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_p
    rimality_test
    https://en.wikipedia.org/wiki/AKS_primality_test
    i cała kategoria:
    https://en.wikipedia.org/wiki/Category:Primality_tes
    ts

    Trudno ocenić który test najszybszy


  • 24. Data: 2016-09-25 15:11:29
    Temat: Re: Testy losowości liczb
    Od: bartekltg <b...@g...com>

    On 25.09.2016 15:07, Borneq wrote:
    > W dniu 25.09.2016 o 14:47, bartekltg pisze:
    >> Test MR dobrze sobie radzi, jak wiekszosć algorytmów losowych,
    >> na ciągu pseudolosowym.
    >
    > są:
    > https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_p
    rimality_test
    > https://en.wikipedia.org/wiki/AKS_primality_test
    > i cała kategoria:
    > https://en.wikipedia.org/wiki/Category:Primality_tes
    ts
    >
    > Trudno ocenić który test najszybszy


    ?

    Znów pomyliłeś wątki/posty?

    pzdr
    bartekltg




  • 25. Data: 2016-09-25 19:15:04
    Temat: Re: Testy losowości liczb
    Od: bartekltg <b...@g...com>

    On Saturday, September 24, 2016 at 3:06:29 AM UTC+2, M.M. wrote:
    > 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.

    jest znacznie gorzej,
    tu się okazuje, że nawet teoretycznie nie można ;-)

    https://en.wikipedia.org/wiki/Kolmogorov_complexity#
    Uncomputability_of_Kolmogorov_complexity

    " there is no program which takes a string s as input and produces
    the integer K(s) as output."

    Polecam dowod, bardzo ładny.

    pzdr
    bartekltg


  • 26. Data: 2016-09-25 20:25:26
    Temat: Re: Testy losowości liczb
    Od: "M.M." <m...@g...com>

    On Sunday, September 25, 2016 at 7:15:06 PM UTC+2, bartekltg wrote:
    > On Saturday, September 24, 2016 at 3:06:29 AM UTC+2, M.M. wrote:
    > > 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.
    >
    > jest znacznie gorzej,
    > tu się okazuje, że nawet teoretycznie nie można ;-)
    >
    > https://en.wikipedia.org/wiki/Kolmogorov_complexity#
    Uncomputability_of_Kolmogorov_complexity
    >
    > " there is no program which takes a string s as input and produces
    > the integer K(s) as output."
    >
    > Polecam dowod, bardzo ładny.

    Kwestia modelu obliczeń. To tak jak z problemem stopu, na komputerze
    zarówno jeden i drugi problem jest obliczalny. Można podać algorytm
    który zarówno jedno i drugie zadanie rozwiąże.

    Pozdrawiam


  • 27. Data: 2016-09-25 20:48:13
    Temat: Re: Testy losowości liczb
    Od: bartekltg <b...@g...com>

    On Sunday, September 25, 2016 at 8:25:34 PM UTC+2, M.M. wrote:
    > On Sunday, September 25, 2016 at 7:15:06 PM UTC+2, bartekltg wrote:
    > > On Saturday, September 24, 2016 at 3:06:29 AM UTC+2, M.M. wrote:
    > > > 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.
    > >
    > > jest znacznie gorzej,
    > > tu się okazuje, że nawet teoretycznie nie można ;-)
    > >
    > > https://en.wikipedia.org/wiki/Kolmogorov_complexity#
    Uncomputability_of_Kolmogorov_complexity
    > >
    > > " there is no program which takes a string s as input and produces
    > > the integer K(s) as output."
    > >
    > > Polecam dowod, bardzo ładny.
    >
    > Kwestia modelu obliczeń. To tak jak z problemem stopu, na komputerze
    > zarówno jeden i drugi problem jest obliczalny. Można podać algorytm
    > który zarówno jedno i drugie zadanie rozwiąże.


    Hmmm. Pewien jesteś?
    Bo mi to wygląda na bzdury, i to z gatunku, za które A.L. wyrzucał za drzwi;>
    Zwłaszcza, że w linkoanym dowodzie nie ma nic o modelu obliczeń;>

    Jakbym jednak ja się mylił, podrzuć mi ten algorytm rozwiązujący problem
    stopu na komputerze.

    Bo ja bym sobie odpalił go na prostym programie:


    for (bigint n=1;;n+=2){
    bigint aku=0;
    for (d=n-1;d>0;d--)
    if (n%d==0) aku+=d;
    if (aku==n) return n;
    }

    Bardzo bym chciał wiedzieć, czy ten programik się zatrzyma,
    a skoro jest to wykonalne... ;-)

    Zerknąłem jeszzce do dowodu na problem stopu. tam też nic
    o modelu obliczeniowym nie ma. Żadnych turigów (którym zresztą
    komputer jest) i podobnych pierdół.

    pzdr
    bartekltg



  • 28. Data: 2016-09-25 21:36:46
    Temat: Re: Testy losowości liczb
    Od: "M.M." <m...@g...com>

    On Sunday, September 25, 2016 at 8:48:17 PM UTC+2, bartekltg wrote:
    > On Sunday, September 25, 2016 at 8:25:34 PM UTC+2, M.M. wrote:
    > > On Sunday, September 25, 2016 at 7:15:06 PM UTC+2, bartekltg wrote:
    > > > On Saturday, September 24, 2016 at 3:06:29 AM UTC+2, M.M. wrote:
    > > > > 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.
    > > >
    > > > jest znacznie gorzej,
    > > > tu się okazuje, że nawet teoretycznie nie można ;-)
    > > >
    > > > https://en.wikipedia.org/wiki/Kolmogorov_complexity#
    Uncomputability_of_Kolmogorov_complexity
    > > >
    > > > " there is no program which takes a string s as input and produces
    > > > the integer K(s) as output."
    > > >
    > > > Polecam dowod, bardzo ładny.
    > >
    > > Kwestia modelu obliczeń. To tak jak z problemem stopu, na komputerze
    > > zarówno jeden i drugi problem jest obliczalny. Można podać algorytm
    > > który zarówno jedno i drugie zadanie rozwiąże.
    >
    >
    > Hmmm. Pewien jesteś?
    > Bo mi to wygląda na bzdury, i to z gatunku, za które A.L. wyrzucał za drzwi;>
    > Zwłaszcza, że w linkoanym dowodzie nie ma nic o modelu obliczeń;>
    >
    > Jakbym jednak ja się mylił, podrzuć mi ten algorytm rozwiązujący problem
    > stopu na komputerze.
    >
    > Bo ja bym sobie odpalił go na prostym programie:
    >
    >
    > for (bigint n=1;;n+=2){
    > bigint aku=0;
    > for (d=n-1;d>0;d--)
    > if (n%d==0) aku+=d;
    > if (aku==n) return n;
    > }
    >
    > Bardzo bym chciał wiedzieć, czy ten programik się zatrzyma,
    > a skoro jest to wykonalne... ;-)
    >
    > Zerknąłem jeszzce do dowodu na problem stopu. tam też nic
    > o modelu obliczeniowym nie ma. Żadnych turigów (którym zresztą
    > komputer jest) i podobnych pierdół.
    >
    > pzdr
    > bartekltg

    Była rozmowa może z 10 lat temu w której podałem algorytm, myślałem że
    też śledziłeś, widocznie coś pomyliłem.

    Generalnie osobiście nie lubię MT jako modelu obliczeń. MT ma
    nieskończoną pamięć, komputery - nie. Jest to na tyle mylące, że potem
    pewne problemy uważa się za niemożliwe do wykonania, a tymczasem one są
    możliwe, tylko wymagają koszmarnego nakładu obliczeń i/albo pamięci.
    Niemniej różnica pomiędzy możliwe a niemożliwe jest zasadnicza. Ludzie
    mają już wyryty kanion obok synapsy którą przepływa słowo 'nieobliczalność'.
    A tym czasem problem stopu na komputerze jest całkowicie rozstrzygalny i
    to banalnie prostym algorytmem, który przyśnił mi się po godzinie
    zastanawiania, nie musiałem nawet sięgać do żadnych mądrych książek. MT
    powoduje, że ludzie nie chcą się zastanowić nad prostym zadaniem, tylko
    ślepo wierzą że nie można - nie lubię MT.

    Do rzeczy. Bierzemy jeden komputer. Osadzamy w jego pamięci dowolny
    program, np. implementację tego algorytmu który w poście wyżej
    podałeś. Na drugim komputerze monitorujemy wykonanie programu w
    pierwszym komputerze. Monitorowanie polega na zrzucaniu wszystkich
    stanów pierwszego komputera do pamięci komputera drugiego. Innymi
    słowy w komputerze drugim zapamiętujemy wszystkie stany jakie
    kolejno pojawiają się w komputerze pierwszym. Jeśli program osiągnął
    stop, to wiadomo, kończy się. Jeśli jakikolwiek stan się powtórzył, to
    będzie się pętlił teoretycznie w nieskończoność, w praktyce do
    uszkodzenia/wyłączenia komputera.

    Pozdrawiam


  • 29. Data: 2016-09-25 23:03:27
    Temat: Re: Testy losowości liczb
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2016-09-25, M.M. <m...@g...com> wrote:
    [...]
    >> > Kwestia modelu obliczeń. To tak jak z problemem stopu, na komputerze
    >> > zarówno jeden i drugi problem jest obliczalny. Można podać algorytm
    >> > który zarówno jedno i drugie zadanie rozwiąże.
    >>
    >>
    >> Hmmm. Pewien jesteś?
    >> Bo mi to wygląda na bzdury, i to z gatunku, za które A.L. wyrzucał za drzwi;>
    >> Zwłaszcza, że w linkoanym dowodzie nie ma nic o modelu obliczeń;>
    [...]
    > Generalnie osobiście nie lubię MT jako modelu obliczeń. MT ma
    > nieskończoną pamięć, komputery - nie. Jest to na tyle mylące, że potem
    > pewne problemy uważa się za niemożliwe do wykonania, a tymczasem one są
    > możliwe, tylko wymagają koszmarnego nakładu obliczeń i/albo pamięci.
    > Niemniej różnica pomiędzy możliwe a niemożliwe jest zasadnicza.

    W swoim rozumowaniu mieszasz ze sobą wiele rzeczy.

    Po pierwsze, twój algorytm, co to przyśnił ci się po godzinie
    zastanawiania, to coś, co jest niewykonalne na gruncie fizyki
    (potrzebuje więcej bitów pamięci niż wszechświat ma atomów), a operuje
    na danych, które fizycznie wykonalne już są. Mieszanie rzeczy
    praktycznie wykonalnych i teoretycznie wykonalnych (ale potrzebujących
    zasobów nie do zdobycia na gruncie fizyki) daje de facto bezużyteczne
    wyniki. Albo się trzymamy praktycznej wykonalności, albo mówimy
    o granicach teoretycznych (pewnym wyjątkiem jest tu kryptografia, ale to
    inna para kaloszy).

    Po drugie, model obliczeń nie ma tu nic do rzeczy. Może być sobie
    maszyną Turinga, maszyną RAM, maszyną Lispową albo nietypowanym
    wyrażeniem lambda; nierozstrzygalność zostaje dokładnie tym samym.
    Natomiast nijak nie wiem, co _ty_ rozumiesz przez "model obliczeń",
    skoro "zmieniasz" go zostając przy tym samym.

    A twoje rozumowanie jako dowód na "da się" jest jeszcze bardziej
    bezużyteczne, bo trywialnym jest uzyskać znacznie mocniejsze
    twierdzenie: zbiór programów, które się zakończą i które mieszczą się
    w fizycznie wykonalnym komputerze, jest _językiem regularnym_, więc
    wystarczy automat skończony i nie potrzeba maszyny Turinga. Jest tylko
    jeden szkopuł: liczba stanów tego automatu będzie większa niż
    astronomiczna.

    --
    Secunia non olet.
    Stanislaw Klekot


  • 30. Data: 2016-09-26 00:53:12
    Temat: Re: Testy losowości liczb
    Od: "M.M." <m...@g...com>

    On Sunday, September 25, 2016 at 11:03:28 PM UTC+2, Stachu 'Dozzie' K. wrote:
    > On 2016-09-25, M.M. <m...@g...com> wrote:
    > [...]
    > >> > Kwestia modelu obliczeń. To tak jak z problemem stopu, na komputerze
    > >> > zarówno jeden i drugi problem jest obliczalny. Można podać algorytm
    > >> > który zarówno jedno i drugie zadanie rozwiąże.
    > >>
    > >>
    > >> Hmmm. Pewien jesteś?
    > >> Bo mi to wygląda na bzdury, i to z gatunku, za które A.L. wyrzucał za drzwi;>
    > >> Zwłaszcza, że w linkoanym dowodzie nie ma nic o modelu obliczeń;>
    > [...]
    > > Generalnie osobiście nie lubię MT jako modelu obliczeń. MT ma
    > > nieskończoną pamięć, komputery - nie. Jest to na tyle mylące, że potem
    > > pewne problemy uważa się za niemożliwe do wykonania, a tymczasem one są
    > > możliwe, tylko wymagają koszmarnego nakładu obliczeń i/albo pamięci.
    > > Niemniej różnica pomiędzy możliwe a niemożliwe jest zasadnicza.
    >
    > W swoim rozumowaniu mieszasz ze sobą wiele rzeczy.
    >
    > Po pierwsze, twój algorytm, co to przyśnił ci się po godzinie
    > zastanawiania, to coś, co jest niewykonalne na gruncie fizyki
    > (potrzebuje więcej bitów pamięci niż wszechświat ma atomów), a operuje
    > na danych, które fizycznie wykonalne już są. Mieszanie rzeczy
    > praktycznie wykonalnych i teoretycznie wykonalnych (ale potrzebujących
    > zasobów nie do zdobycia na gruncie fizyki) daje de facto bezużyteczne
    > wyniki. Albo się trzymamy praktycznej wykonalności, albo mówimy
    > o granicach teoretycznych (pewnym wyjątkiem jest tu kryptografia, ale to
    > inna para kaloszy).
    Wydaje Ci się że coś mieszam. To tak samo jakbyś napisał, że lepiej
    nie robić projektu collatz, bo fizyka na to nie pozawala. Super-komputery
    są coraz mocniejsze. Coraz więcej problemów dla coraz większych zbiorów
    danych można na super komputerach sprawdzać. Fizyka z roku na rok
    przeszkadza coraz mniej. Gdy uda się zbudować komputer 10^20 razy
    szybszy, to też powiesz żeby lepiej nie sprawdzać, bo problem stopu
    przeszkadza? Niektóre problemy, właśnie dla ważnych danych z praktycznego
    punktu widzenia, można sprawdzać. Często dla dużych wartości danych
    da się przeprowadzić dowód teoretyczny, a dla małych potrzebne są
    szybkie komputery - jedna metoda właśnie z drugą współgra.



    > Po drugie, model obliczeń nie ma tu nic do rzeczy. Może być sobie
    > maszyną Turinga, maszyną RAM, maszyną Lispową albo nietypowanym
    > wyrażeniem lambda; nierozstrzygalność zostaje dokładnie tym samym.
    > Natomiast nijak nie wiem, co _ty_ rozumiesz przez "model obliczeń",
    > skoro "zmieniasz" go zostając przy tym samym.
    Maszyna turinga może przyjąć nieskończoną ilość stanów. Komputer
    póki co ma ich ilość skończoną. Dlaczego uważasz ze to żadna różnica?



    > A twoje rozumowanie jako dowód na "da się" jest jeszcze bardziej
    > bezużyteczne, bo trywialnym jest uzyskać znacznie mocniejsze
    > twierdzenie: zbiór programów, które się zakończą i które mieszczą się
    > w fizycznie wykonalnym komputerze, jest _językiem regularnym_, więc
    > wystarczy automat skończony i nie potrzeba maszyny Turinga. Jest tylko
    > jeden szkopuł: liczba stanów tego automatu będzie większa niż
    > astronomiczna.
    A jeden akapit wyżej pisałeś, że obojętne jest czy się weźmie MT czy
    komputer. Nie wiem co chcesz właściwie powiedzieć. Nic co powiedziałem
    nie jest bezużyteczne. W mniejszych problemach od dawna się to stosuje w
    praktyce i nikt nie marudzi że się nie uda bo problem stopu.


    Nie wiem gdzie Ty widzisz mieszanie. Na MT problem stopu przeszkadza nawet
    teoretycznie. Na komputerze problem stopu przeszkadza z powodów technicznych.
    Proste, jasne, łatwe do udowodnienia stwierdzenie - nie wiem co naprawdę
    chcesz powiedzieć, chyba doszukałeś się czegoś w moich slowach, czego nie
    powiedziałem.


    Pozdrawiam

strony : 1 . 2 . [ 3 ] . 4 . 5


Szukaj w grupach

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: