SpinKit
StartOntdekken › Willekeurige-volgordegenerator

Hoe je een lijst in willekeurige volgorde zet

Eén winnaar kiezen is makkelijk. Iedereen in een eerlijke volgorde schudden is een andere klus — zo doe je het fatsoenlijk.

Soms wil je geen enkele winnaar. Je wilt de hele lijst, alleen geschud: wie presenteert als eerste, tweede en derde; de draaivolgorde voor een line-up van artiesten; de volgorde waarin sollicitanten worden gezien; de volgorde waarin wedstrijden worden gespeeld. Dat is een andere taak dan één naam trekken, en het behandelen als een eenmalige trekking is waar mensen stilletjes vertekening inbrengen.

Deze gids legt uit wat een willekeurige volgorde écht is, waarom ad-hoc schudden meestal niet eerlijk is, en een simpele, herhaalbare manier om van een alledaagse kiezer een volledige willekeurige-volgordegenerator te maken.

Eén winnaar kiezen vs. iedereen ordenen

Eén winnaar trekken beantwoordt één vraag: wie? Een willekeurige volgorde beantwoordt een veel grotere: wie, dan wie, dan wie — helemaal tot het eind. In wiskundige termen produceer je een permutatie van de lijst: een complete rangschikking waarin elke inzending exact één keer voorkomt, in een of andere geschudde volgorde.

Het aantal mogelijke volgordes klimt snel. Drie namen hebben zes mogelijke volgordes; tien namen hebben meer dan drie miljoen. Een eerlijke schudbeurt moet elk van die rangschikkingen als even waarschijnlijk behandelen — niet alleen de eerste plaats aan een willekeurige naam geven en de rest min of meer laten staan zoals ze waren.

Waar een willekeurige volgorde zijn plek verdient

Zodra je gaat kijken, zitten de toepassingen overal:

Wat een eerlijke schudbeurt écht betekent

Een schudbeurt is eerlijk wanneer elke mogelijke volgorde even waarschijnlijk is. Dat is de hele definitie. Als sommige rangschikkingen nooit kunnen voorbijkomen, of veel vaker voorbijkomen dan andere, is de schudbeurt vertekenend — ook al oogt hij op het eerste gezicht willekeurig.

De gebruikelijke fout is de "gewoon een paar omwisselen"-methode: schrijf de lijst op, wissel dan een paar paren die je in het oog springen tot het "gemengd voelt". Het probleem is dat je de meeste inzendingen dicht bij waar ze begonnen laat, en de wissels die je kiest zijn helemaal niet willekeurig — ze worden gedreven door welke namen je toevallig opmerkte. Namen bovenaan blijven vaak bovenaan. Een echte schudbeurt bevoordeelt geen enkele startpositie; hij verstrooit de hele lijst zonder geheugen van waar iets begon.

Bouw een willekeurige volgorde door te trekken en te verwijderen

Hier is het nette deel: je hebt geen apart schudhulpmiddel nodig. Elke eerlijke kiezer die je een inzending laat verwijderen nadat die is getrokken, is al een willekeurige-volgordegenerator. De truc is om de trekking te herhalen.

Trek een naam — dat is positie één. Verwijder die uit de pot. Trek opnieuw uit wat erover is — dat is positie twee. Verwijder, en blijf doorgaan. Elke trekking vult het volgende slot in de volgorde, en omdat de pot elke keer krimpt, kan geen naam twee keer landen. Wanneer de lijst leeg is, heb je een complete willekeurige volgorde gebouwd, één positie tegelijk.

The key idea: drawing and removing, over and over, turns a single-winner picker into a full shuffle. Each spin places the next entry in the order, and when the wheel is empty the random order is finished.

Een stap-voor-stap-routine met het wiel

Je kunt het geheel draaien op het draaiwiel van SpinKit met verwijderen-na-trekken aan:

  1. Laad elke inzending. Plak of typ de volledige lijst in het wiel en check die met de groep voordat je begint.
  2. Zet verwijderen-na-trekken aan zodat elk resultaat na landen uit het wiel valt.
  3. Draai voor de eerste plaats. Wat landt is positie één — schrijf die op.
  4. Draai opnieuw voor positie twee, dan drie, enzovoort. Het wiel versmalt automatisch tot de namen die nog wachten.
  5. Stop wanneer het wiel leeg is. Je opgeschreven volgorde is nu een eerlijke, complete willekeurige volgorde.

Als je liever niet één keer per slot draait, schudt de Teams-kiezer een lijst als onderdeel van het splitsen in groepen — dus zelfs wanneer je maar één team wilt, geeft hij je de lijst in een gerandomiseerde volgorde om af te lezen.

Volgordevertekening — de verborgen duim op de schaal

Waarom überhaupt schudden? Omdat positie zelf kan tellen. Bij beoordelen, stemmen, proefpanels en audities is als eerste of als laatste gaan zelden neutraal: de eerste inzending zet de lat waartegen iedereen anders wordt afgemeten, en de laatste is het versst in het hoofd wanneer scores worden gegeven. Mensen doen dit niet expres — het is gewoon hoe aandacht en geheugen werken.

Als de volgorde wordt bepaald door iets anders dan toeval — alfabetische achternamen, inschrijftijd, wie het eerst schreeuwde — dan landt dat voor- of nadeel elke keer bij dezelfde mensen. De volgorde randomiseren haalt het effect van als eerste gaan niet weg, maar het zorgt dat niemand die positie stelselmatig in de schoot geworpen krijgt. Over een seizoen wedstrijden of een stapel sollicitaties is dat het verschil tussen een eerlijk proces en een stilletjes scheefgetrokken.

Gelijkspel, late toevoegingen en opnieuw draaien

Een paar praktische punten komen vaak voorbij:

Beslecht die vragen van tevoren en de trekking blijft schoon: één schudbeurt, van tevoren afgesproken, die iedereen heeft zien gebeuren.