Hoppa till innehåll

Slumpmässig Listblandare - Gratis Online Verktyg för Listslumpning

Gratis slumpmässig listblandare som använder den beprövade Fisher-Yates algoritmen. Blanda namn, elever, lag eller uppgifter direkt. Perfekt för lärare, turneringar och opartiska beslut. Ingen registrering krävs.

Slumpmässig Listblandare

Ange objekt att blanda, en per rad. Tomma rader tas bort automatiskt.

Laddningsberäknare...
📚

Dokumentation

Vad är en slumpmässig listblandare?

Ett verktyg för att blanda listor slumpmässigt tar en lista med objekt och placerar dem i en ny, slumpmässig ordning. Skriv in namn, uppgifter eller något annat, ett per rad, så ordnar verktyget om dem så att varje möjlig ordning har lika stor chans att visas. Verktyget använder Fisher–Yates-algoritmen, en välkänd algoritm för att skapa opartiska slumpmässiga ordningar.

Så använder du den slumpmässiga listblandaren

  1. Skriv eller klistra in listan i rutan, ett objekt per rad.
  2. Klicka på ”Randomize List”. Objekten ordnas om direkt.
  3. Läs den blandade listan under knappen, numrerad i sin nya ordning.
  4. Klicka på ”Randomize List” igen för att göra en ny, oberoende blandning.
  5. Klicka på ”Copy Result” för att kopiera den nya ordningen, eller på ”Clear” för att börja om.

Tomma rader i inmatningen tas bort automatiskt, så extra radbrytningar skapar inte tomma poster i resultatet.

Hur fungerar Fisher–Yates-blandningsalgoritmen?

Fisher–Yates-blandningen går igenom listan en gång, med början vid det sista objektet och vidare mot början. Vid varje steg väljer den slumpmässigt ett objekt från den del av listan som ännu inte har placerats och byter plats på det med objektet på den aktuella positionen.

Formel för Fisher–Yates-blandningen

För en lista med n objekt, numrerade från position 0 till 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

Loopen körs n − 1 gånger, så blandningen tar totalt ungefär n steg. Det kallas linjär tidskomplexitet och skrivs O(n). Eftersom algoritmen beaktar varje position exakt en gång och väljer från en krympande, väldefinierad mängd objekt, har var och en av de n! (n-fakultet: n × (n − 1) × ... × 1) möjliga ordningarna lika stor chans att bli resultatet.

Exempel: blanda en lista med fyra objekt

Börja med fyra objekt på positionerna 0 till 3: Apple, Banana, Cherry, Date.

  • i = 3: det slumpmässiga valet är j = 0. Byt plats på positionerna 3 och 0 → Date, Banana, Cherry, Apple
  • i = 2: det slumpmässiga valet är j = 2. Att byta plats på ett objekt med sig självt ändrar ingenting → Date, Banana, Cherry, Apple
  • i = 1: det slumpmässiga valet är j = 0. Byt plats på positionerna 1 och 0 → Banana, Date, Cherry, Apple

Slutlig ordning: Banana, Date, Cherry, Apple.

Med fyra objekt finns 4! = 24 möjliga ordningar. Var och en, inklusive denna, har en chans på 1 av 24 att visas vid en given blandning.

Varför inte bara byta plats på slumpmässiga par?

En metod som ser enklare ut – välj två slumpmässiga positioner och byt plats på dem, upprepat flera gånger – ser slumpmässig ut men är det inte. Vissa tidiga program för blandning från 1950-talet fungerade på det sättet och gynnade i det tysta vissa ordningar framför andra, trots att ingen enskild körning såg misstänkt ut. Fisher–Yates-blandningen undviker detta eftersom varje objekt flyttas exakt en gång till en position som väljs ur en noggrant krympande mängd alternativ, vilket gör att varje slutlig ordning är lika sannolik.

Varifrån kommer Fisher–Yates-blandningen?

Statistikerna Ronald Fisher och Frank Yates beskrev år 1938 metoden i en bok med statistiska tabeller, för manuell blandning vid planering av experiment. År 1964 anpassade Richard Durstenfeld den för datorer, så att en lista kunde ordnas om på plats utan att en andra lista behövdes för att hålla reda på vad som återstod. Donald Knuth tog med denna datorversion i sin bok The Art of Computer Programming från 1969, och därför kallas den ibland Knuth-blandningen. Webbläsare använder samma algoritm i dag.

Vanliga användningsområden för en listblandare

  • Bestämma i vilken ordning elever presenterar eller svarar på frågor i klassen
  • Lottning av startordningen i en turnering eller turordningen i ett spel
  • Dela upp en grupp i slumpmässiga lag
  • Välja en restaurang, film eller uppgift från en kortlista utan att gynna något alternativ

En vanlig blandning passar inte alltid. Om vissa objekt behöver visas oftare än andra passar viktat urval bättre. Om varje kategori måste vara garanterad representation fungerar stratifierat urval bättre än en enda slumpmässig blandning.

Vanliga frågor

Är blandningen verkligen slumpmässig?

Den bygger på webbläsarens pseudoslumptalsgenerator (PRNG), en formel som producerar talföljder som i praktiken beter sig som slump. Det räcker för ordningsföljder i klassrummet, lottning av startordningen i turneringar eller val av film. Den är inte utformad för kryptografi, spelsystem eller något där pengar eller säkerhet är beroende av oförutsägbarhet; sådant kräver certifierade slumptalsgeneratorer.

Skickar verktyget min lista till en server?

Själva blandningen körs helt i webbläsaren med JavaScript, så ingen nätverksförfrågan behövs för att ordna om listan. Den aktuella listan skrivs också in i sidans webbadress, så en omladdning eller ett bokmärke gör inte att den går förlorad. Om adressen kopieras, delas eller öppnas igen följer listan med, även till den server som senare läser in sidan. Undvik att lägga in känslig information i listan om detta är viktigt.

Vad händer med dubbla objekt?

Dubbletter behålls. Om ”Sam” förekommer två gånger i inmatningen kommer det fortfarande att förekomma två gånger i den blandade listan, eventuellt på olika positioner.

Finns det en gräns för hur många objekt jag kan blanda?

Verktyget har ingen inbyggd gräns. Eftersom blandningen körs med linjär tidskomplexitet ordnas även långa listor om på en bråkdel av en sekund på alla moderna enheter.

Hur skiljer sig blandning från sortering?

Sortering ordnar objekt enligt en fast regel, till exempel alfabetisk ordning, och ger alltid samma resultat för samma indata. Blandning ordnar objekt slumpmässigt och ger nästan alltid en annan ordning, även med identisk indata.

Kan jag blanda samma lista mer än en gång?

Ja. Varje klick på ”Randomize List” kör algoritmen igen, oberoende av alla tidigare blandningar. Med en liten lista kan samma ordning uppstå av en slump; med en större lista blir det ytterst osannolikt.