![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 26.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Na ile wynik zwracany przez funkcję rand() jest w istocie losowy? Czy ulega on fluktuacjom w zależności od czynników środowiskowych? (kompilacja php, os serwera, etc...)
Ten post edytował no-name 11.08.2006, 22:24:12 |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Odnoszę wrażenie, że:
1. ... albo pytasz o co innego niż Ci się wydaje. Może wstawiłeś złą nazwę funkcji do posta? Na pewno chodzi o round() ? 2. ... albo zakończyłeś edukację z matematyki w szkole ... nie, cofam, w podstawówce też tego uczyli ![]() W zaokrąglaniu nie ma żadnej losowości. Przenoszę to na Przedszkole. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
rand()" title="Zobacz w manualu php" target="_manual?
( ![]() ![]() -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
heh, php i JS chyba używają z tego samego algorytmu, bo jak sie robi rand na podstawie czasu, to w obu językach wychodzą identyczne liczby losowe. Kiedyś tak robiłem dla porównania i byłem zdziwiony
![]() W komputerach nie ma prawdziwych liczb losowych - te podobno uzyskje się z zużytych taśm magnetycznych z TV i radia. Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 7.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
temat losowosci jest fajnie omowiony w ksiazce "Cisza w sieci" polecam
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Cytat W komputerach nie ma prawdziwych liczb losowych Masz rację, w komputerach są liczby "pseudolosowe". Uzyskanie liczb "czysto losowych" przez program komputerowy jest bardzo trunde. (ponoć ![]() -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 26.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
oczywiście chodziło mi o rand()
![]() mike_mech: W przedszkolu raczej ten temat nikogo nie zajmie... Ale skoro jesteś taaaki mądry, to może podasz mi jakieś wartości współczynniki rzetelności dla standaryzowanego rozkładu średnich z prób dla tej instrukcji ? No chyba że Ciebie w szkole o takich rzeczach nie uczyli ![]() Cysiaczek: Tak, to IMO te same metody wzięte (chyba) żywcem z C. Ale na etapie implementacji mogły następować jakieś zmiany, lub uproszczenia w algorytmie. Dlatego pytam. A "prawdziwe" liczby losowe bierze się ze specjalnych tablic. Metoda przedpotopowa, ale nadal się ją stosuje. |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Hehe, masz trochę racji.
Tu nikogo to nie zainteresuje. Ale to będzie rozmowa bardzo teoretyczna, więc dam to na Hydepark bo z php tez nie za bardzo ma coś wspólnego. Są dwa najpopularniejsze sposoby generowania liczb losowych, wspomniany przez Ciebie oparty na tablicach i kolejny oparty na całkach. Oba popularne i oba stare, ale nadal wykorzystywane ![]() Tu masz fajny dokumencik: Matematyczna Ruletka” – Czyli jak się robi liczby (pseudo)losowe. Bardzo polecam ten tekst: Generatory liczb losowych: algorytmy, testowanie, zastosowania P.S. Jak mi za miesiąc już dadzą mgr. matematyki to będę mogł powiedzieć, że uczyli i nauczyli ![]() A jak nie dadzą to uczyli i nie nauczyli ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 0 Dołączył: 26.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki. Bardzo fajne teksty. Chyba sam będę musiał potestować tego rand()-a. Jeśli odchylenia będą systematyczne to pół biedy- da się je kontrolować... A tak na marginesie... Nie wiesz czasem jakich algorytmów używa SPSS i czy są one lepsze niż te standardowe z C?
Ps: Niestety, Java zawsze mnie jakoś odpychała. http://www.honeylocust.com/RngPack/doc/edu...ack/Ranlux.html Ten post edytował no-name 11.08.2006, 23:36:18 |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie mam pojącia :/
Nigdy nie interesowałem się ta tematyką jakoś dokladniej, tylko trochę. Ale tak poza tym: po co Ci tak "dokładne", liczby losowe? Może wystarczy mt_rand()? P.S. Tutaj: mt_rand() moją uwagę zwrócił fragment: Cytat (...) który generuje liczby losowe czterokrotnie szybciej niż średnio funkcja rand() z glibc A więc zagadka rozwiązana, rand() wgląda na kopię odpowednika z C a dokładniej GNU libc |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 09:50 |