Dyskusja:Generator liczb pseudolosowych
Z Wikipedii
Zrevertowałem zmiany redakcyjne użytkownika 83.11.21.48, przez co czuję się nieco winny - ale wydaje mi się, że powinny one zostać uzgodnione z innymi, i w paru aspektach obniżają jakość artykułu:
- Wstawiono przypisy o braku źródła i dowodu w wielu punktach, które w sposób oczywisty wynikają z podstawowej matematyki - na przykład to, że n bitów seeda daje 2n możliwych dalszych strategii pracy zamkniętego generatora. Zadaniem Wikipedii nie jest definiowanie w każdym artykule nawet podstawowych twierdzeń, a takie przypisy są mylące (użytkownik zastanawia się, czy artykuł nie jest błędny).
- Wstawiono mylące sformułowania, typu że kryptograficznie bezpieczny generator buduje się przez wybranie wystarczająco "losowego" algorytmu (co jest sformułowaniem nieścisłym i mylącym, bo PRNG w ogóle nie są losowe).
- rand() nie bierze parametrów (void), a nie bierze unsigned int.
Przy okazji mogłem skasować kilka drobnych, korzystnych zmian technicznych, co postaram się naprawić później. Generalnie uważam, że redakcja artykułu się przyda, ale przed revertem prosiłbym o ich uzgodnienie, lub odniesienie się do w/w kwestii... -- (lcamtuf) 08:33, 8 wrz 2006 (CEST)
- Zmiany stylistyczne uwzględnione. -- (lcamtuf) 10:44, 8 wrz 2006 (CEST)
jak to nie bierze, a skąd on niby ten RAND_MAX ma wziąść?
- RAND_MAX to stała zdefiniowana w bibliotekach. -- (lcamtuf) 10:44, 8 wrz 2006 (CEST)
Co przywracanie bzdur?! Jak można pisać, że "Generowane wartości będą w praktyce każdorazowo praktycznie nieprzewidywalne dla osób postronnych (np. przez wykorzystanie odpowiednich źródeł danych przy tworzeniu seeda)." przecież ziarno jest jednym z mniej ważnych elementów decydujących o sprawności generatora! znacznie ważniejszy jest wybór algorytmu generującego. Poza tym w polsce używa się słowa "ziarno" a nie seed.
- Nie rozumiem, do czego się tutaj odnosisz (i bardzo proszę o zachowanie chłodnego podejścia i dystansu do sprawy), ale ziarno (co jest oczywiście poprawną nazwą, poprawiłem to w artykule w większości miejsc, jeśi jeszcze gdzieś widzisz seed, popraw) jest bardzo istotne gdy mamy już dobry algorytm - tj. jeśli ziarno jest przewidywalne dla atakującego, nic nam nie da najlepszy nawet PRNG. To jest bardzo poważny problem np. na serwerach, gdzie dzieje się stosunkowo mało niedeterministycznych zdarzeń I/O, i może się zdarzyć, że kilka identycznych serwerów długo po stacie ma takie same seedy. -- (lcamtuf) 20:59, 8 wrz 2006 (CEST)
Co do dowodu, to sformułowanie nie jest wcale jasne i jeśli jest prawdziwe to powinno być udowodnione: "generator jako ziarno przyjmuje jako parametr wejściowy k bitów informacji, to będzie w stanie wygenerować dane wyjściowe tylko na 2k sposobów"
- To sformułowanie jest oczywiste. Jeśli ziarno ma k bitów, może mieć tylko 2^k możliwych różnych wartości, zgadza się? Jeśli zachowanie zamkniętego PRNG (którego parametrem jest tylko ziarno) zależy tylko od ziarna, to w związku z tym może wygenerować tylko tyle ciągów, ile jest unikalnych ziaren. Czyli 2^k. -- (lcamtuf) 20:59, 8 wrz 2006 (CEST)
Zresztą powinno się wykreślić, bo to nie jest prawda. Owszem może wygenerować jedną z 2k liczb, ale genertor oparty o zjawiska mechaniczne zrobi to w sposób mniejwięcej losowy.
- Nie rozumiemy się tutaj, artykuł nie mówi o liczbie możliwych liczb, tylko o liczbie możliwych zachowań generatora (generowanych ciągów). Pozdrawiam. -- (lcamtuf) 20:59, 8 wrz 2006 (CEST)
http://www.i-lo.tarnow.pl/edu/inf/alg/primes/pages/015.php fajny link - można by dodać ale nie wiem jak ..