Willekeurige teamgenerator (groepsmaker)
Plak een namenlijst en verdeel deze in eerlijke willekeurige teams — op aantal teams of aantal personen per team, met cryptografisch shuffelen en kopiëren met één klik.
1.269 weergaven
Voer minstens 2 personen en een geldig aantal in.
Hoe het shuffelen eigenlijk werkt
Een lijst eerlijk verdelen komt neer op één vraag: is elke mogelijke opstelling van personen even waarschijnlijk? Dit hulpmiddel gebruikt de Fisher-Yates-shuffle, een algoritme met een verrassend lange geschiedenis — voor het eerst beschreven in 1938 door de statistici Ronald Fisher en Frank Yates als een handmatige, pen-en-papierprocedure om rijen in statistische tabellen te randomiseren. In 1964 paste Richard Durstenfeld het aan tot de efficiënte, computervriendelijke versie die tegenwoordig wordt gebruikt en die in lineaire tijd loopt door de lijst één keer te doorlopen en elk element te verwisselen met een willekeurig gekozen element uit het nog niet geshuffelde deel. Donald Knuth maakte deze versie later populair in "The Art of Computer Programming", waardoor hij ook wel de Knuth-shuffle wordt genoemd.
De willekeur zelf komt van crypto.getRandomValues, de cryptografisch veilige bron van willekeurige getallen van de browser — dezelfde die ook onze prijstrekking gebruikt — in plaats van Math.random, dat sneller is maar niet is ontworpen om bestand te zijn tegen voorspelling. Correctheid is hier ook belangrijk: een naïeve shuffle, zoals bij elke stap een willekeurige wisselpositie kiezen uit de hele lijst in plaats van alleen uit het nog niet geshuffelde deel, introduceert stilletjes statistische vertekening. Sommige eindopstellingen worden dan waarschijnlijker dan andere — een subtiel effect dat in geest lijkt op de verjaardagsparadox, waarbij de werkelijke kansen anders uitpakken dan de intuïtie suggereert. Een correct geïmplementeerde Fisher-Yates-shuffle voorkomt dit: bij elke stap kiest hij uniform alleen uit de elementen die nog niet zijn geplaatst, en dat is precies wat elke mogelijke volgorde even waarschijnlijk houdt.
Wat u moet weten
Mensen verdelen in groepen die niet gelijk uitkomen, is een aparte ontwerpkeuze los van de shuffle zelf. Wanneer een lijst niet in perfect gelijke teams kan worden verdeeld, wordt het restant verspreid met één extra persoon per team, beginnend bij het eerste team, in plaats van alle overtollige personen op één team te stapelen — de eerlijkste manier om een restant op te lossen dat geen perfect gelijk antwoord heeft.
- Kies of u wilt verdelen op een gewenst aantal teams of op een gewenste teamgrootte — wat voor uw situatie daadwerkelijk telt.
- Opnieuw verdelen voert de shuffle volledig opnieuw uit met verse willekeur, wat een echt andere opstelling oplevert in plaats van een herschikking van de vorige.
- Namen worden volledig binnen de browser geshuffeld; er wordt niets ergens naartoe gestuurd, wat het ook geschikt maakt voor vertrouwelijke klassenlijsten of teamopstellingen.
Veelgestelde vragen
Wat gebeurt er als de lijst niet gelijk verdeeld kan worden?
Het restant wordt één extra persoon per team verdeeld, beginnend bij Team 1 — bij 11 personen in 3 teams krijgt u 4-4-3, nooit 5-3-3.
Is de verdeling echt willekeurig?
Ja — een onbevooroordeelde Fisher-Yates-shuffle aangedreven door crypto.getRandomValues, de cryptografische bron van de browser. Opnieuw verdelen levert elke keer een echt nieuwe indeling op.
Kan ik twee personen gescheiden of juist samen houden?
Niet automatisch — verdeel en wissel indien nodig handmatig een paar om. Verdelen met beperkingen staat op onze ideeënlijst.
Waar komt de Fisher-Yates-shuffle vandaan?
Hij werd voor het eerst beschreven in 1938 door Ronald Fisher en Frank Yates als een handmatige shuffleprocedure voor statistiek. Richard Durstenfeld maakte er in 1964 het efficiënte computeralgoritme van dat vandaag wordt gebruikt, en het werd later populair gemaakt door Donald Knuth — vandaar dat het ook wel de Knuth-shuffle wordt genoemd.
Waarom niet gewoon een eenvoudigere willekeurige shuffle gebruiken?
Naïeve benaderingen, zoals elk element verwisselen met een positie gekozen uit de hele lijst in plaats van alleen uit het nog niet geshuffelde deel, bevoordelen stilletjes bepaalde eindopstellingen boven andere. Een correct geïmplementeerde Fisher-Yates-shuffle kiest elke wissel alleen uit de elementen die nog niet zijn geplaatst, en dat is wat elke mogelijke volgorde even waarschijnlijk maakt.
Vergelijkbare tools
Probleem melden
Willekeurige teamgenerator (groepsmaker)
Reacties
Nog geen reacties — schrijf de eerste!