Skip to main content
CheckTown
Generators

Lijstrandomisator: Eerlijk shuffelen met Fisher-Yates

Gepubliceerd 5 min lezen
In dit artikel

Wat is lijstrandomisatie?

Lijstrandomisatie is het proces van het herschikken van items in een willekeurige volgorde. Een goede shuffle produceert elke mogelijke permutatie met gelijke kans.

Randomisatie verschilt van sorteren — sorteren produceert een deterministisch resultaat, terwijl randomisatie telkens een ander resultaat oplevert.

Hoe het Fisher-Yates algoritme werkt

De Fisher-Yates shuffle is het standaardalgoritme voor uniform willekeurige permutaties.

  • Begin bij het laatste element — kies een willekeurige index van 0 tot n-1 en wissel
  • Ga naar het voorlaatste element — kies een willekeurige index van 0 tot n-2 en wissel; herhaal
  • Elk element wordt precies een keer aangeraakt — het algoritme draait in O(n) tijd

Probeer gratis — geen aanmelding vereist

Een lijst randomiseren →

Veelvoorkomende toepassingen

Lijstrandomisatie wordt in veel scenario's gebruikt.

  • Willekeurige toewijzing — deelnemers verdelen in groepen voor A/B-tests zonder bias
  • Prijstrekkingen — namen shuffelen om eerlijk winnaars te kiezen
  • Examenvragen ordenen — vragen randomiseren om spieken te verminderen
  • Afspeellijst shuffle — nummers, taken of flashcards herschikken

Tips en best practices

Krijg eerlijke en reproduceerbare resultaten.

  • Gebruik een bewezen algoritme — Fisher-Yates is de gouden standaard
  • Begrijp pseudo-willekeurigheid — browser-randomizers gebruiken pseudo-willekeurige generatoren
  • Ga bewust om met duplicaten — elke duplicaat wordt als apart item behandeld

Veelgestelde vragen

Is de Fisher-Yates shuffle echt eerlijk?

Ja, bij correcte implementatie met een uniforme willekeurige bron produceert de Fisher-Yates shuffle elke mogelijke permutatie met exact gelijke kans.

Kan ik hetzelfde shuffleresultaat reproduceren?

Daarvoor heb je een seeded random generator nodig. De meeste browsertools gebruiken unseeded generators.

Wat gebeurt er met dubbele items?

Dubbele items worden onafhankelijk geshuffled, net als unieke items. Het algoritme behandelt elk item op positie, niet op waarde.

Gerelateerde Tools