Materijali o slučajnim brojevima: kako generatori rade i gdje griješe

Slučajni broj djeluje kao najjednostavnija stvar koju računar može proizvesti, a zapravo je jedna od onih gdje se najlakše neprimjetno pogriješi. Materijali u ovoj sekciji objašnjavaju odakle brojevi dolaze, šta razlikuje generator na koji se možete osloniti od onoga kojem ne treba vjerovati, i po koji alat posegnuti kada ishod mora izdržati svaku provjeru — bilo da je to izvlačenje u učionici, nagradna igra ili skup testnih podataka.

Od čega početi

Pročitajte šta je generator slučajnih brojeva: hardverski, pseudonasumični i kriptografski sigurni generatori, zašto se brojevi ponavljaju i šta pretraživač nudi. Kada su vam potrebni brojevi umjesto objašnjenja, generator slučajnih brojeva izvlači ih u vašem pretraživaču u bilo kojem rasponu, sa ponavljanjem ili bez njega.

Gdje generatori neprimjetno griješe

Pouzdan izvor slučajnosti samo je pola posla. Druga polovina je preslikavanje njegovih sirovih vrijednosti na vaš raspon, a upravo tu griješe mnogi samostalno napisani generatori. Uzimanje ostatka pri dijeljenju vrijednosti s veličinom raspona očigledan je pristup, ali stvara neprimjetno nejednake šanse: osim ako veličina raspona ravnomjerno ne dijeli prostor rezultata izvora, najmanji brojevi u rasponu pojavljuju se nešto češće od ostalih. Ova mana naziva se odstupanje po modulu (modulo bias). Jedno od rješenja je uzorkovanje s odbacivanjem (rejection sampling): vrijednosti koje upadnu u neravnomjerni rep se odbacuju i izvlačenje se ponavlja. Naš generator radi upravo to, tako da svaki broj u vašem rasponu ima potpuno jednaku šansu pri svakom izvlačenju.

Isto razmatranje isključuje i prečice kojima ljudi prvo pribjegavaju. Math.random() ne obećava ništa po pitanju sigurnosti, a funkcije tabelarnih kalkulatora poput RAND() i RANDBETWEEN() pripadaju istoj klasi: dobre su za grubo miješanje, ali neprikladne za bilo šta što bi neko mogao osporiti.

Brojevi, liste i kockice

Generator slučajnih brojeva vraća brojeve iz raspona koji sami postavite. Alat za nasumični izbor s liste radi s listom koju unesete — imenima, prijavama, opcijama — tako da nikada ne morate ručno spajati brojeve s redovima. Za društvene igre bacanje kockica baca kockice i sabira rezultate, a za izbor između dvije opcije dovoljno je bacanje novčića. Kada slučajnost treba nešto da zaštiti, a ne da presudi, upotrijebite generator sigurnih lozinki. Svi oni koriste isti kriptografski siguran izvor u vašem pretraživaču.

Spremni da isprobate alat?

Isprobajte naš besplatan i siguran alat Generator slučajnih brojeva direktno u vašem pretraživaču.

Otvori alat