Tilfeldighetstall – RNG, PRNG og TRNG

Å regne ut tilfeldige tall er en vanskelig jobb, selv for en datamaskin. I mange tilfeller bruker vi en tilfeldighetsgenerator (Random Number Generator), som for eksempel ved lotteri, datakryptering, simulatorer og på nettkasinoer. For å forstå konseptet, er det enkleste å se på kasinospill, både spilleautomater og bordspill som rulett og poker viser hvordan tilfeldigheter kan skapes, i form av tall. Det finnes dog ulike typer tilfeldighetstall.

RNG

Når man tenker på enkelttall, vil det si at et tilfeldig nummer hentes fra et sett av variabler som har like stor sannsynlighet for å komme opp. Det betyr at de da må ha en jevn spredning i massen for å ha like stor mulighet for å bli trukket. I en rekke av tilfeldig valgte tall, må hvert eneste tall som skal trekkes være statistisk uavhengig av de andre tallene. Det er dette som er utfordringen i tilfeldighetsgeneratorer – en datamaskin følger bare ordre, og vil dermed være 100 % forutsigbar. Mange nettkasinoer, som for eksempel PokerStars, har valgt å være åpen om sin RNG-informasjon.

PRNG

Denne betegnelsen står for pseudo RNG, det vil si at det egentlig ikke er et «ekte» tilfeldig nummer, som når man ruller terninger. Dette er algoritmer, altså blir det tilfeldige tallet regnet ut ved hjelp av enten en tabell som allerede er kalkulert frem i tilfeldig rekkefølge, eller en matematisk formel. Dette er en praktisk metode når man behøver effektivitet. Upraktisk er det dog at sekvensen er periodisk, altså vil man etter en tid få samme mønsteret på nytt.

TRNG

Dette er det som kalles for true RNG, altså den «ekte» tilfeldighetsberegningen. Her finner du ingen beregninger, bare installerte tilfeldige data fra fysiske registrerte tilfeldigheter. Dette gjøres ved at for eksempel en musebevegelse trigger en respons i datamaskinen. Medaljens bakside er at TRNG er lite effektivt, noe som gjør at dette ikke egner seg for simulering eller modeller. Stort sett alt av lotteritrekninger og spill bygges dog på TRNG.