Generatore di Squadre Casuale (Creatore di Gruppi)

Incolla un elenco di nomi e dividilo in squadre casuali eque — per numero di squadre o per dimensione della squadra, con mescolamento crittografico e copia in un clic.

1.251 visualizzazioni

Come Funziona Davvero il Mescolamento

Dividere un elenco in modo equo si riduce a una sola domanda: ogni possibile disposizione delle persone è davvero altrettanto probabile? Questo strumento usa il mescolamento Fisher-Yates, un algoritmo con una storia sorprendentemente lunga — fu descritto per la prima volta nel 1938 dagli statistici Ronald Fisher e Frank Yates come una procedura manuale, carta e penna, per rendere casuali le righe nelle tabelle statistiche. Nel 1964 Richard Durstenfeld lo adattò nella versione efficiente e adatta ai computer usata oggi, che gira in tempo lineare percorrendo l'elenco una sola volta e scambiando ogni elemento con uno scelto casualmente tra la parte ancora non mescolata. Donald Knuth in seguito rese popolare questa versione in "The Art of Computer Programming", motivo per cui è talvolta chiamata anche mescolamento di Knuth.

La casualità in sé proviene da crypto.getRandomValues, la fonte di numeri casuali crittograficamente sicura del browser — la stessa usata nel nostro estrattore per le estrazioni a premi — invece di Math.random, che è più veloce ma non progettato per resistere alla previsione. Anche la correttezza dell'implementazione conta qui: un mescolamento ingenuo, come scegliere una posizione di scambio casuale dall'intero elenco a ogni passo invece che solo dalla parte ancora non mescolata, introduce silenziosamente una distorsione statistica. Alcune disposizioni finali finiscono per essere più probabili di altre — un effetto sottile simile nello spirito al paradosso del compleanno, in cui le probabilità reali funzionano diversamente da quanto suggerisce l'intuito. Un mescolamento Fisher-Yates implementato correttamente evita tutto questo: a ogni passo sceglie in modo uniforme solo tra gli elementi non ancora collocati, ed è proprio questo a mantenere ogni possibile ordinamento ugualmente probabile.

Cosa Dovresti Sapere

Dividere le persone in gruppi che non si dividono in modo esatto è una scelta progettuale separata dal mescolamento stesso. Quando un elenco non può essere diviso in squadre perfettamente uguali, il resto viene distribuito con una persona in più a squadra, a partire dalla prima squadra, invece di accumulare tutte le persone in eccesso su un'unica squadra — il modo più equo di risolvere un resto che non ha una risposta perfettamente uniforme.

  • Scegli se dividere in base a un numero di squadre obiettivo o a una dimensione di squadra obiettivo — a seconda di quale valore conta davvero per la tua situazione.
  • Ridividere esegue di nuovo il mescolamento da zero con casualità fresca, producendo una disposizione realmente diversa invece di un semplice riordino della precedente.
  • I nomi vengono mescolati interamente all'interno del browser; non viene inviato nulla da nessuna parte, il che lo rende adatto anche a elenchi di classe o rose di squadra riservati.

Domande Frequenti

Cosa succede se l'elenco non si divide in modo esatto?

Il resto viene distribuito con una persona in più per squadra a partire dalla Squadra 1 — con 11 persone in 3 squadre ottieni 4-4-3, mai 5-3-3.

La divisione è davvero casuale?

Sì — un mescolamento Fisher-Yates non distorto, alimentato da crypto.getRandomValues, la fonte crittografica del browser. Ogni nuova divisione produce una disposizione davvero nuova.

Posso tenere due persone separate o insieme?

Non automaticamente — dividi, poi scambia manualmente una coppia se serve. La divisione con vincoli è nella nostra lista di idee.

Da dove viene il mescolamento Fisher-Yates?

Fu descritto per la prima volta nel 1938 da Ronald Fisher e Frank Yates come una procedura manuale di mescolamento per la statistica. Richard Durstenfeld lo trasformò nel 1964 nell'efficiente algoritmo informatico usato oggi, e in seguito fu reso popolare da Donald Knuth — motivo per cui è noto anche come mescolamento di Knuth.

Perché non usare semplicemente un mescolamento casuale più semplice?

Approcci ingenui, come scambiare ogni elemento con una posizione scelta dall'intero elenco invece che solo dalla parte ancora non mescolata, favoriscono silenziosamente alcune disposizioni finali rispetto ad altre. Un mescolamento Fisher-Yates implementato correttamente sceglie ogni scambio solo tra gli elementi non ancora collocati, ed è proprio questo a rendere ogni possibile ordinamento ugualmente probabile.

Commenti

Ancora nessun commento — scrivi il primo!

Strumenti Simili