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

Slučajni broj čini se kao najjednostavnija stvar koju računalo može proizvesti, a zapravo je jedno od područja gdje je najlakše napraviti neprimjetnu pogrešku. Članci u ovom odjeljku objašnjavaju odakle brojevi dolaze, što razlikuje pouzdan generator od onoga u koji se ne možete pouzdati te za kojim alatom posegnuti kada ishod mora biti neupitan — bilo da je riječ o izvlačenju u razredu, nagradnoj igri ili testnom skupu podataka.

Odakle početi

Pročitajte što je generator slučajnih brojeva: hardverski, pseudonasumični i kriptografski sigurni generatori, zašto se brojevi ponavljaju i što preglednik nudi. Kada vam umjesto objašnjenja trebaju sami brojevi, generator slučajnih brojeva stvara ih izravno u vašem pregledniku u bilo kojem rasponu, s ponavljanjem ili bez njega.

Gdje generatori neprimjetno griješe

Snažan izvor slučajnosti samo je pola posla. Druga polovica je preslikavanje sirovih vrijednosti na vaš raspon, a upravo tu mnogi samostalno napisani generatori zakazuju. Računanje modula vrijednosti prema veličini raspona čini se kao očit pristup, no ono stvara suptilnu pristranost: osim ako veličina raspona točno ne dijeli izlazni prostor izvora, najmanji brojevi u rasponu pojavljivat će se malo češće od ostalih. Taj se nedostatak naziva pristranost modula (modulo bias). Jedno od rješenja je uzorkovanje odbacivanjem (rejection sampling): odbacite vrijednosti koje padaju u neravnomjerni ostatak i povucite ponovno. Naš generator radi upravo to, tako da svaki broj u vašem rasponu ima jednaku šansu pri svakom izvlačenju.

Isti razlog isključuje prečace za kojima ljudi najčešće prvo posegnu. Math.random() ne jamči nikakvu sigurnost, a funkcije proračunskih tablica kao što su RAND() i RANDBETWEEN() pripadaju istoj kategoriji: prikladne su za grubo miješanje, ali neprihvatljive za bilo što što bi netko mogao osporiti.

Brojevi, popisi i kockice

Generator slučajnih brojeva vraća brojeve iz raspona koji sami postavite. Alat za nasumični odabir s popisa radi s popisom koji zalijepite — imena, sudionici, opcije — tako da nikada ne morate ručno povezivati brojeve s recima. Za društvene igre bacanje kockica baca kockice i zbraja rezultate, a za odabir između dvije mogućnosti dovoljno je bacanje novčića. Kada slučajnost treba nešto zaštititi umjesto donijeti odluku, upotrijebite generator sigurnih lozinki. Svi oni koriste isti kriptografski siguran izvor u vašem pregledniku.

Jeste li spremni isprobati alat?

Isprobajte naš besplatan i siguran alat Generator slučajnih brojeva izravno u svom pregledniku.

Otvori alat