Spring til indhold

Tilfældig Liste Blander - Gratis Online Liste Randomiseringsværktøj

Gratis tilfældig listeblander ved brug af den beviselige Fisher-Yates algoritme. Bland øjeblikkeligt navne, elever, hold eller opgaver. Perfekt til lærere, turneringer og upartiske beslutninger. Ingen tilmelding påkrævet.

Tilfældig Listeblander

Angiv elementer til at blande, en pr. linje. Tomme linjer fjernes automatisk.

Indlæsningsberegner...
📚

Dokumentation

Hvad er en tilfældig listeblander?

En tilfældig listeblander er et værktøj, der tager en liste med elementer og sætter dem i en ny, tilfældig rækkefølge. Skriv navne, opgaver eller noget andet, ét element pr. linje, så omarrangerer værktøjet dem, så alle mulige rækkefølger har lige stor sandsynlighed for at forekomme. Værktøjet bruger Fisher-Yates-algoritmen, en velkendt metode til at skabe upartiske tilfældige rækkefølger.

Sådan bruger du den tilfældige listeblander

  1. Skriv eller indsæt listen i feltet, ét element pr. linje.
  2. Klik på "Tilfældiggør liste". Elementerne omarrangeres med det samme.
  3. Læs den blandede liste under knappen, nummereret i sin nye rækkefølge.
  4. Klik på "Tilfældiggør liste" igen for at foretage en ny, uafhængig blanding.
  5. Klik på "Kopiér resultat" for at kopiere den nye rækkefølge, eller på "Ryd" for at begynde forfra.

Tomme linjer i inputtet fjernes automatisk, så ekstra linjeskift ikke opretter tomme poster i resultaterne.

Hvordan fungerer Fisher-Yates-algoritmen til blanding?

Fisher-Yates-blandingen gennemgår listen én gang, begyndende med det sidste element og arbejdende frem mod begyndelsen. Ved hvert trin vælger den ét element tilfældigt fra den del af listen, der endnu ikke er placeret, og bytter det ind på den aktuelle position.

Formel for Fisher-Yates-blandingen

For en liste med n elementer, nummereret fra position 0 til position n − 1:

1for i from n − 1 down to 1:
2    choose a random whole number j, where 0 ≤ j ≤ i
3    swap the items at positions i and j
4

Løkken kører n − 1 gange, så blandingen tager omkring n trin i alt. Det kaldes lineær tid, skrevet O(n). Fordi algoritmen behandler hver position nøjagtigt én gang og trækker fra en stadigt mindre, veldefineret pulje af elementer, har hver af de n! (n-fakultet: n × (n − 1) × ... × 1) mulige rækkefølger lige stor sandsynlighed for at blive resultatet.

Eksempel: blanding af en liste med fire elementer

Start med fire elementer på positionerne 0 til 3: Apple, Banana, Cherry, Date.

  • i = 3: det tilfældige valg er j = 0. Byt position 3 og 0 → Date, Banana, Cherry, Apple
  • i = 2: det tilfældige valg er j = 2. At bytte en position med sig selv ændrer ingenting → Date, Banana, Cherry, Apple
  • i = 1: det tilfældige valg er j = 0. Byt position 1 og 0 → Banana, Date, Cherry, Apple

Endelig rækkefølge: Banana, Date, Cherry, Apple.

Med fire elementer er der 4! = 24 mulige rækkefølger. Hver af dem, herunder denne, har en sandsynlighed på 1 ud af 24 for at forekomme ved en given blanding.

Hvorfor ikke bare bytte tilfældige par?

En metode, der ser enklere ud — vælg to tilfældige positioner, og byt dem, gentaget flere gange — ser tilfældig ud, men er det ikke. Nogle tidlige programmer til blanding fra 1950'erne fungerede på denne måde, og de favoriserede ubemærket bestemte rækkefølger frem for andre, selv om ingen enkelt kørsel så mistænkelig ud. Fisher-Yates-blandingen undgår dette, fordi hvert element flyttes nøjagtigt én gang til en position, der vælges fra et præcist stadigt mindre sæt af muligheder. Det er det, der gør alle endelige rækkefølger lige sandsynlige.

Hvor stammer Fisher-Yates-blandingen fra?

Statistikerne Ronald Fisher og Frank Yates beskrev metoden i 1938 i en bog med statistiske tabeller til manuel blanding i forbindelse med planlægning af eksperimenter. I 1964 tilpassede Richard Durstenfeld den til computere, så en liste kunne omarrangeres på stedet uden behov for en anden liste til at holde styr på, hvad der var tilbage. Donald Knuth inkluderede denne computerversion i sin bog The Art of Computer Programming fra 1969, og derfor kaldes den undertiden Knuth-blandingen. Webbrowsere bruger den samme algoritme i dag.

Almindelige anvendelser af en listemikser

  • Fastlæggelse af den rækkefølge, som elever fremlægger eller besvarer spørgsmål i i undervisningen
  • Lodtrækning til en turneringsstruktur eller fastlæggelse af turordenen i et spil
  • Opdeling af en gruppe i tilfældige hold
  • Valg af en restaurant, film eller opgave fra en kortliste uden at favorisere et bestemt valg

En almindelig blanding er ikke altid den rette løsning. Hvis nogle elementer skal forekomme oftere end andre, passer vægtet udvælgelse bedre. Hvis alle kategorier skal være repræsenteret med sikkerhed, fungerer stratificeret stikprøveudtagning bedre end én enkelt tilfældig blanding.

Ofte stillede spørgsmål

Er blandingen virkelig tilfældig?

Den er afhængig af webbrowserens pseudotilfældige talgenerator (PRNG), en formel, der producerer talfølger, som i praksis opfører sig tilfældigt. Det er tilstrækkeligt til rækkefølger i undervisningen, seedning af turneringer eller valg af en film. Den er ikke beregnet til kryptografi, hasardspil eller andre formål, hvor penge eller sikkerhed afhænger af uforudsigelighed; i sådanne tilfælde er der brug for certificerede tilfældige talgeneratorer.

Sender værktøjet min liste til en server?

Selve blandingen kører udelukkende i browseren ved hjælp af JavaScript, så der kræves ingen netværksanmodning for at omarrangere listen. Den aktuelle liste skrives også ind i sidens webadresse, så en genindlæsning eller et bogmærke ikke får den til at gå tabt. Hvis adressen kopieres, deles eller åbnes igen, følger listen med, også til den server, der senere indlæser siden. Undgå at indsætte følsomme oplysninger i listen, hvis det er relevant.

Hvad sker der med dubletter?

Dubletter bevares. Hvis "Sam" forekommer to gange i inputtet, vil det stadig forekomme to gange i det blandede resultat, muligvis på forskellige positioner.

Er der en grænse for, hvor mange elementer jeg kan blande?

Værktøjet har ingen indbygget grænse. Fordi blandingen kører i lineær tid, omarrangeres selv lange lister på en brøkdel af et sekund på enhver moderne enhed.

Hvordan adskiller blanding sig fra sortering?

Sortering arrangerer elementer efter en fast regel, f.eks. alfabetisk rækkefølge, og giver altid det samme resultat for det samme input. Blanding arrangerer elementer tilfældigt og giver næsten hver gang en anden rækkefølge, selv med identisk input.

Kan jeg blande den samme liste mere end én gang?

Ja. Hvert klik på "Tilfældiggør liste" kører algoritmen igen, uafhængigt af alle tidligere blandinger. Med en lille liste kan en gentagen rækkefølge forekomme ved et tilfælde; med en større liste bliver det yderst usandsynligt.