Formule voor een dobbelsteen?
Math.floor(Math.random() * 6) + 1 geeft gehele getallen 1-6 met gelijke kans.
Genereer willekeurige getallen met aangepast bereik
Pseudo-willekeurig, statistisch goed verdeeld. Gebruik crypto.getRandomValues() voor beveiliging.
Math.floor(Math.random() * 6) + 1 geeft gehele getallen 1-6 met gelijke kans.
Gebruik Fisher-Yates op een array [1..45] en neem de eerste 6 elementen.
Computers gebruiken doorgaans pseudo-willekeurige getallen. Math.random() gebruikt een deterministisch algoritme met een seed.
Als een aanvaller de seed kent, kan hij alle "willekeurige" waarden reproduceren. Gebruik crypto.getRandomValues() voor beveiliging.
Fisher-Yates doorloopt de array van achteren en wisselt posities. Tijdscomplexiteit O(n).
Goede generatoren produceren een uniforme verdeling. Formule voor gehele getallen: Math.floor(Math.random() * (max - min + 1)) + min.
Het huisvoordeel in casino's is wiskundig ontwerp, geen bedrog met willekeurige getallen.