De unde să începi
Citește ce este un generator de numere aleatorii: generatoare hardware, pseudoaleatorii și criptografic sigure, de ce se repetă numerele și ce oferă browserul. Când ai nevoie de numere, nu de o explicație, generatorul de numere aleatorii le extrage în browserul tău, în orice interval, cu sau fără repetiții.
Unde greșesc generatoarele pe tăcute
O sursă puternică de aleatorietate este doar jumătate din treabă. Cealaltă jumătate este transpunerea valorilor ei brute în intervalul tău, și aici eșuează multe generatoare făcute în casă. Restul împărțirii unei valori la dimensiunea intervalului este abordarea evidentă și are o abatere subtilă: dacă dimensiunea intervalului nu împarte exact spațiul de valori al sursei, cele mai mici numere din interval ies puțin mai des decât celelalte. Defectul se numește modulo bias. O soluție este eșantionarea prin respingere (rejection sampling): valorile care cad în coada inegală sunt aruncate și se extrage din nou. Generatorul nostru face asta, așa că fiecare număr din intervalul tău are aceeași șansă la fiecare extragere.
Același raționament exclude scurtăturile la care oamenii apelează primele. Math.random() nu promite nimic în privința securității, iar funcțiile din foile de calcul precum RAND() și RANDBETWEEN() fac parte din aceeași clasă: potrivite pentru o amestecare aproximativă, nepotrivite pentru orice ar putea contesta cineva.
Numere, liste și zaruri
Un generator de numere aleatorii returnează numere dintr-un interval stabilit de tine. Un selector aleatoriu lucrează cu o listă pe care o lipești — nume, înscrieri, opțiuni —, așa că nu trebuie niciodată să potrivești de mână numerele cu rândurile. Pentru jocurile de masă, zarurile online dau cu zarurile și adună totalurile, iar pentru o alegere între două variante aruncarea monedei este suficientă. Când aleatorietatea trebuie să protejeze ceva, nu să decidă ceva, folosește generatorul de parole puternice. Toate folosesc aceeași sursă criptografic sigură din browserul tău.