Forum ŚFiNiA Strona Główna ŚFiNiA
ŚFiNiA - Światopoglądowe, Filozoficzne, Naukowe i Artystyczne forum - bez cenzury, regulamin promuje racjonalną i rzeczową dyskusję i ułatwia ucinanie demagogii. Forum założone przez Wuja Zbója.
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Generowanie losowości i nieprzewidywalności - idea MD

 
Napisz nowy temat   Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi    Forum ŚFiNiA Strona Główna -> Kretowisko / Blog: Michał Dyszyński
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Michał Dyszyński
Bloger na Kretowisku



Dołączył: 04 Gru 2005
Posty: 33359
Przeczytał: 64 tematy

Skąd: Warszawa
Płeć: Mężczyzna

PostWysłany: Pią 17:21, 10 Cze 2022    Temat postu: Generowanie losowości i nieprzewidywalności - idea MD

Trochę sprowokowany dyskusjami o losowości i jej mechanizmach na sfinii, zdecydowałem się (powtórnie, bo chyba gdzieś już o tym pisałem, ale chyba nie opatrując opisu stosownym tytułem, więc może być problem z odszukaniem tego) tutaj przedstawić rozumowanie, które by pokazywało jak można uzyskać pseudolosowość za pomocą czystej matematyki.

Bardzo prostym mechanizmem losowości zaszytej w matematyce jest wzięcie cyfr rozwinięcia dowolnej liczby przestępnej - np. liczby pi. Biorąc cyfry od pewnego miejsca w rozwinięciu otrzymamy (nie wiem na ile idealny) ciąg losowy.
Ale tu występuje ten problem, że tak do końca nie mamy gwarancji, iż ów ciąg losowym na pewno jest. Być może istnieje jakaś reguła, która rządzi pojawianiem się kolejnych cyfr rozwinięcia liczby pi, e, czy pi+1, czy dowolnych innych liczb przestępnych. Poza tym w tym wątku chcę uzyskać coś nieco bardziej subtelnego, niż tylko losowość wynikającą z braku wiedzy o obliczanych cyfrach jakiegoś tam wyrażenia matematycznego. Dlatego przedstawię tu pomysł nieco bardziej skomplikowany.

Wyobraźmy sobie, że chcę uzyskać coś w rodzaju losowego momentu stopu dla programu. Program ma się zatrzymać, ale tak, aby nie dało się przewidzieć KIEDY to nastąpi. Można to zrealizować następującą rekurencyjną procedurą:
1. Obliczamy rozwinięcie właśnie jakiejś liczby przestępnej, obliczając pierwsze naście jej cyfr. Jeślibyśmy chcieli włączyć tu ziarno pobrane z jakiegoś procesu, to też nic nie stoi na przeszkodzie - można bowiem pobrać dowolną wartość liczbową, skończoną, a potem dodać ją do liczby przestępnej i całą procedurę wykonywać na tej sumie (można też zastosować iloczyn, iloraz, potęgę, czy dowolną inną algebraiczną kombinację)..
2. Teraz startujemy od któregoś tam miejsca, obliczonego ciągu - np. od 10-ego miejsca.
3. Ponieważ na tym miejscu może się pojawić jedna z 10 cyfr (od 0 do 9), to możemy np. ustalić, iż jeśli liczba będzie miała wartość mniejszą od 4, to robimy stop, a jeśli większą, to idziemy dalej z rekurencją. Prawdopodobieństwo zastopowania ciągu w tym kroku jest 4/10
4. Ponieważ z prawdopodobieństwem 6/10 stopu nie dostaniemy, to bierzemy kolejną cyfrę rozwinięcia i znowu patrzymy jest ona nie mniejsza niż 4.
itd...

Otrzymamy dla różnych liczb wiele różnych sygnałów stopu, które bardzo trudno jest przewidzieć. Zmniejszając prawdopodobieństwo zastopowania w danym kroku (np. biorąc pod uwagę próg nie z prawdopodobieństwem 4/10, lecz np. 1/10, czyli żądając pojawienia się konkretnej cyfry, otrzymamy różne wartości oczekiwane kroków, po których następować będzie stop. Można też brać na raz nie 1, a więcej cyfr rozwinięcia i zarządzać stop w wyniku uzyskania w nich dowolnej z możliwych konfiguracji (uzyskując praktycznie dowolna wartość prawdopodobieństwa dla stopu w danym kroku).
Można też urozmaicać ten algorytm zmniejszając szansę na stop z każdym kolejnym krokiem. To pozwala tak manewrować wartością oczekiwaną stopu, że będzie ona dowolnie odległa w czasie (ilości kroków), nawet odsuwając ją aż do nieskończoności.
Nie jest to losowość idealna, jest to wciąż raczej rodzaj pseudolosowości, ale uważam, iż jest to algorytm o tyle ciekawy, że właśnie wartość oczekiwana czasu, po którym następuje stop - jako możliwa do dowolnego ustalenia - jest bardzo znaczącym zdesynchronizowaniem funkcji stopu od zadanego procesu.
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi    Forum ŚFiNiA Strona Główna -> Kretowisko / Blog: Michał Dyszyński Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin