Ero sivun ”Näennäissatunnaislukugeneraattori” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
Epiq (keskustelu | muokkaukset)
p ei tynkä
Ei muokkausyhteenvetoa
Rivi 1:
'''Näennäissatunnaislukugeneraattori''' on matemaattinen [[algoritmi]], joka annetun siemenen perusteella pyrkii luomaan mahdollisimman satunnaisen luvun. Luonnollisesti pelkillä matemaattisilla operaatioilla[[operaatio]]illa ei voida luoda täysin satunnaista lukua, minkä vuoksi puhutaankin näennäissatunnaisluvuista.
 
Tyypillinen näennäissatunnaislukugeneraattori tuottaa tasajakautuneella [[todennäköisyys|todennäköisyydellä]] lukuja välillä 0...1, jonka jälkeen arvottu luku voidaan muokata jonkun muun jakauman mukaiseksi.
 
Satunnaislukugeneraattorin tasoa arvioidaan sen perusteella, kuinka sen tuottama satunnaislukujono käyttäytyy. Hyvä generaattori pystyy tuottamaan suunnattoman määrän toisistaan riippumattomia satunnaislukuja joiden jakauma noudattaa satunnaisjakaumaa. Huono generaattori tuottaa vain esim. tuhannen luvun jonon, jonka jälkeen lukujono alkaa toistaa itseään. Tällöin myös merkkijonon jakauma on epätasainen, ja satunnaisuuden näennäinen matkiminen ei toteudu.
Rivi 7:
== Käytännön satunnaislukugeneraattorit ==
Tyypillinen näennäissatunnaislukugeneraattori laskee seuraavan arvon edellisestä satunnaisluvusta
jollain sopivalla funktiolla[[funktio]]lla.
x<sup>n+1</sup> = f(x<sup>n</sup>)
Ensimmäinen luku on valittava, ja sitä sanotaan '''siemeneksi'''.
Rivi 17:
x<sup>n+1</sup> = c * x<sup>n</sup> mod m
 
Jotta jaksosta saadaan mahdollisimman pitkä, luvut c ja m on valittava erittäin hyvin. Käytännössä parhaat tulokset on mahdollista saavuttaa [[alkuluku|alkuluvuilla]].
 
Esimerkiksi arvoilla c=23 ja n=101 ja siemenen ollessa 1: