Kezdőoldal » Számítástechnika » Programozás » Mi a gond a php rand ()...

Mi a gond a php rand () függvénnyel?

Figyelt kérdés

Generáltam 10000 számot (1,2 lehetett) és azt vettem észre , hogy miután összeszámoltam a leghosszabb sorozatokat rendre 11 vagy 14 lett az eredmény.

Tehát vagy 11 vagy 14(legeneráltam vagy 100 esetet-tehát 100*10000 számot) a leghosszabb azonos szám sorozat egymás után. Először azt hittem ,hogy valamit elrontok az összeszámolásnál , de nem találtam hibát, minden számlálóm tökéletesen működött. Erre kipróbáltam az mt_rand() függvényt és ezzel meg sikerült 11,12..16,17.. max hosszúságú sorozatokat generálnom.

Miért? Miért nem hajlandó a rand() 15ször ugyanazt a számot kiadni soha?



2015. okt. 15. 20:12
 1/3 anonim ***** válasza:
100%

Mert a rand és mt_rand által visszaadott értékek nem igazi véletlen számok, csak pszeudo random számok.

A 2 közül az mt_rand "okosabb", de még igy sem igazi véletlen.

2015. okt. 15. 20:25
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Hiába generálsz 1 és 2 közül, nagyjából azt csinálhatja a függvény, hogy rand(0, RAND_MAX)%2+1

Valószínűleg lineáris kongruencia generátor, mint ahogy az összes többi egyszerűbb random függvény.

Ezekről itt egy kis szösszenet, de érdemes még keresgetni:

[link]


Az mt_rand-ban az mt a "Mersenne Twister" rövidítése, az már kicsit(sokkal) jobb, de nem valódi véletlenszám az sem.

2015. okt. 16. 00:03
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:

Értem én ,hogy nincs 100%-ban random szám, viszont attól még léteznie kellene matematikailag hosszútávon bármekkora sorozatnak.

Olyan mintha a 14. azonos szám után 100%-ban jön be a másik szám

2015. okt. 16. 14:09

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!