Spring til indholdet
Quaestio

Tilfældigt tal

Vælg interval og antal, så trækkes tallene med en tilfældighed, ingen kan forudsige.

Hurtigvalg

Resultat

Tryk på Træk.

Indlejr

Indlejr værktøjet på dit website

Kopiér koden, og indsæt den, hvor værktøjet skal vises, f.eks. i et blogindlæg eller på en skoleside. Det er gratis, boksen har ingen annoncer, og værktøjet regner i den besøgendes browser.

Sådan virker det

Tallene trækkes med browserens kryptografiske tilfældighedskilde, den samme som bruges til adgangskoder og krypteringsnøgler. Den almindelige tilfældighedsfunktion i JavaScript kan forudsiges af den, der har set nok tal, og duer derfor ikke til en lodtrækning.

Hvert tal i intervallet er nøjagtig lige sandsynligt, grænserne medregnet. En simpel omregning ville ellers favorisere de laveste tal; her kasseres de trækninger, der giver skævhed, og trækkes igen.

Uden gentagelse kommer hvert tal højst én gang, som fra en hat. Det passer til lodtrækninger og til at dele en liste op. Med gentagelse kan samme tal komme igen, som når man kaster en terning igen og igen.

Intet gemmes, og intet sendes nogen steder. Tryk igen for en ny trækning.

Sådan undgås skævheden

Browseren giver et heltal mellem 0 og 4.294.967.295. For intervallet 1–100 går 100 op 42.949.672 gange i de 4.294.967.296 mulige værdier, med 96 til overs. Hvis tallet blot blev delt med 100 og resten brugt, ville 1–96 få 42.949.673 chancer hver og 97–100 én færre. Værktøjet kasserer derfor de 96 øverste værdier og trækker igen, hvilket sker omtrent to gange pr. hundrede millioner trækninger.

NIST beskriver i SP 800-90A lignende metoder, hvor overskydende værdier kasseres, og konstaterer, at de giver tal helt uden skævhed, mens en simpel restmetode kun bliver tilstrækkeligt jævn, hvis tallet har mindst 64 bit mere, end intervallet kræver.

Uden gentagelse: to veje til samme resultat

Når antallet af tal gange fire er mindre end intervallets størrelse, trækkes tallene ét ad gangen, og dubletter trækkes om. Ellers blandes hele intervallet med Fisher–Yates-metoden, og de første tal tages. Begge veje gør hver kombination lige sandsynlig. Felterne tager heltal mellem −1.000.000.000.000.000 og 1.000.000.000.000.000, og et tomt felt godtages ikke. Rummer intervallet flere end 4.294.967.296 tal, sættes to tal fra browseren sammen til 53 tilfældige bit med samme afvisning. Rækkefølgen mellem Fra og Til er ligegyldig: 10 til 1 giver samme interval som 1 til 10.

Eksempel: hurtigvalget 7 af 36

Hurtigvalget trækker 7 tal ud af 36 uden gentagelse. Da 7 × 4 er 28, mindre end 36, trækkes tallene ét ad gangen. I gennemsnit kræves 7,66 trækninger for at få syv forskellige tal, fordi et tal, der allerede er trukket, sommetider kommer igen.

Der findes 8.347.680 forskellige rækker med syv tal ud af 36, og hver række har samme chance: én ud af 8.347.680. Det samme tal giver den videnskabelige lommeregner for ncr(36, 7). At sortere i rækkefølge ændrer kun, hvordan rækken vises, ikke hvilke tal der blev trukket.

Kilder

Sådan kontrolleres værktøjerne