Willekeurige Lijst Shuffler - Gratis Online Lijst Willekeurig Maken Tool
Gratis willekeurige lijstschudder met bewezen Fisher-Yates algoritme. Instant willekeurig maken van namen, studenten, teams of taken. Perfect voor leraren, toernooien en onpartijdige beslissingen. Geen registratie vereist.
Willekeurige Lijst Shuffler
Voer items in om te schudden, één per regel. Lege regels worden automatisch verwijderd.
Documentatie
Wat is een willekeurige lijstschudder?
Een willekeurige lijstschudder is een hulpmiddel dat een lijst met items neemt en deze in een nieuwe, willekeurige volgorde terugzet. Typ namen, taken of iets anders in, één item per regel, waarna het hulpmiddel ze herschikt zodat elke mogelijke volgorde evenveel kans maakt. Dit hulpmiddel gebruikt het Fisher-Yates-shufflealgoritme, een bekend algoritme om onbevooroordeelde willekeurige volgordes te genereren.
Een willekeurige lijstschudder gebruiken
- Typ of plak de lijst in het vak, één item per regel.
- Klik op "Lijst willekeurig maken". De items worden direct herschikt.
- Lees de geschudde lijst onder de knop, genummerd in de nieuwe volgorde.
- Klik opnieuw op "Lijst willekeurig maken" om de lijst opnieuw en onafhankelijk te schudden.
- Klik op "Resultaat kopiëren" om de nieuwe volgorde te kopiëren, of op "Wissen" om opnieuw te beginnen.
Lege regels in de invoer worden automatisch verwijderd, zodat extra regeleinden geen lege items in de resultaten opleveren.
Hoe werkt het Fisher-Yates-schudalgoritme?
De Fisher-Yates-schudmethode doorloopt de lijst één keer, beginnend bij het laatste item en werkend in de richting van het begin. Bij elke stap kiest de methode willekeurig één item uit het deel van de lijst dat nog niet is geplaatst, en verwisselt het met het item op de huidige positie.
Formule van de Fisher-Yates-schudmethode
Voor een lijst met n items, genummerd van positie 0 tot positie 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
4De lus wordt n − 1 keer uitgevoerd, dus het schudden neemt in totaal ongeveer n stappen in beslag. Dat wordt lineaire tijd genoemd, genoteerd als O(n). Omdat het algoritme elke positie precies één keer verwerkt en bij elke stap kiest uit een krimpende, duidelijk afgebakende verzameling items, heeft elk van de n! (n-faculteit: n × (n − 1) × ... × 1) mogelijke ordeningen evenveel kans om het resultaat te zijn.
Voorbeeld: een lijst met vier items schudden
Begin met vier items op de posities 0 tot en met 3: Apple, Banana, Cherry, Date.
- i = 3: de willekeurige keuze is j = 0. Verwissel de posities 3 en 0 → Date, Banana, Cherry, Apple
- i = 2: de willekeurige keuze is j = 2. Een positie met zichzelf verwisselen verandert niets → Date, Banana, Cherry, Apple
- i = 1: de willekeurige keuze is j = 0. Verwissel de posities 1 en 0 → Banana, Date, Cherry, Apple
Eindvolgorde: Banana, Date, Cherry, Apple.
Met vier items zijn er 4! = 24 mogelijke volgordes. Elke volgorde, ook deze, heeft bij elke schudbewerking een kans van 1 op 24 om te verschijnen.
Waarom niet gewoon willekeurige paren verwisselen?
Een methode die eenvoudiger lijkt — twee willekeurige posities kiezen en deze herhaaldelijk verwisselen — lijkt willekeurig, maar is dat niet. Sommige vroege schudprogramma's uit de 1950s werkten op deze manier en bevoordeelden ongemerkt bepaalde volgordes boven andere, ook al zag geen enkele afzonderlijke uitvoering er verdacht uit. De Fisher-Yates-schudmethode voorkomt dit doordat elk item precies één keer wordt verplaatst naar een positie die wordt gekozen uit een nauwkeurig krimpende verzameling mogelijkheden. Daardoor is elke uiteindelijke volgorde even waarschijnlijk.
Waar komt de Fisher-Yates-schudmethode vandaan?
De statistici Ronald Fisher en Frank Yates beschreven de methode in 1938 in een boek met statistische tabellen, voor handmatig schudden bij het ontwerpen van experimenten. In 1964 paste Richard Durstenfeld de methode aan voor computers, zodat een lijst ter plekke kon worden herschikt zonder dat een tweede lijst nodig was om bij te houden wat er nog over was. Donald Knuth nam deze computerversie op in zijn boek uit 1969, The Art of Computer Programming, en daarom wordt de methode soms de Knuth-schudmethode genoemd. Webbrowsers gebruiken tegenwoordig hetzelfde algoritme.
Veelvoorkomende toepassingen van een lijstenschudder
- De volgorde bepalen waarin leerlingen in de klas presenteren of vragen beantwoorden
- Een toernooischema vullen of de beurtvolgorde in een spel bepalen
- Een groep verdelen in willekeurige teams
- Zonder een keuze te bevoordelen een restaurant, film of taak uit een shortlist kiezen
Een gewone schudbewerking is niet altijd de juiste keuze. Als sommige items vaker moeten verschijnen dan andere, past gewogen selectie beter. Als elke categorie gegarandeerd vertegenwoordigd moet zijn, werkt gestratificeerde steekproeftrekking beter dan één willekeurige schudbewerking.
Veelgestelde vragen
Is de schudbewerking echt willekeurig?
De methode maakt gebruik van de pseudotoevalsgetallengenerator (PRNG) van de webbrowser, een formule die reeksen getallen produceert die zich voor praktische doeleinden als willekeur gedragen. Dat is goed genoeg voor volgordes in de klas, het plaatsen van teams in een toernooischema of het kiezen van een film. De methode is niet ontworpen voor cryptografie, goksystemen of situaties waarin geld of beveiliging afhankelijk is van onvoorspelbaarheid; daarvoor zijn gecertificeerde generatoren voor willekeurige getallen nodig.
Stuurt het hulpmiddel mijn lijst naar een server?
De schudbewerking zelf wordt volledig in de browser uitgevoerd met JavaScript, dus er is geen netwerkverzoek nodig om de lijst te herschikken. De huidige lijst wordt ook in het webadres van de pagina opgeslagen, zodat een herlaadactie of bladwijzer de lijst niet kwijtraakt. Als dat adres wordt gekopieerd, gedeeld of opnieuw geopend, reist de lijst ermee mee, ook naar een server die die pagina later laadt. Plaats geen gevoelige informatie in de lijst als dat een probleem kan zijn.
Wat gebeurt er met dubbele items?
Dubbele items blijven behouden. Als "Sam" twee keer in de invoer voorkomt, verschijnt het ook twee keer in de geschudde uitvoer, mogelijk op verschillende posities.
Is er een limiet aan het aantal items dat ik kan schudden?
Er is geen limiet in het hulpmiddel ingebouwd. Omdat de schudbewerking lineaire tijd gebruikt, worden zelfs lange lijsten op elk modern apparaat in een fractie van een seconde herschikt.
Waarin verschilt schudden van sorteren?
Sorteren rangschikt items volgens een vaste regel, zoals alfabetische volgorde, en levert voor dezelfde invoer altijd hetzelfde resultaat op. Schudden rangschikt items willekeurig en levert bijna elke keer een andere volgorde op, zelfs bij identieke invoer.
Kan ik dezelfde lijst meerdere keren schudden?
Ja. Elke klik op "Lijst willekeurig maken" voert het algoritme opnieuw uit, onafhankelijk van eerdere schudbewerkingen. Bij een kleine lijst kan toevallig dezelfde volgorde opnieuw ontstaan; bij een grotere lijst wordt dat uiterst onwaarschijnlijk.