Metodo e limiti
Come funziona la generazione casuale delle squadre
Il generatore separa tre decisioni: come vengono calcolate le capienze, come vengono mescolati i nomi e come le regole facoltative limitano l’assegnazione.
1. Prepara l’elenco senza modificarne le etichette
Ogni riga non vuota corrisponde a un partecipante. Gli spazi iniziali e finali vengono rimossi; accenti, scritture non latine ed emoji restano invariati. I possibili duplicati vengono segnalati perché tu possa conservarli o rimuoverli.
I limiti sono 500 nomi, 120 caratteri visibili (grafemi) per nome e 50.000 in totale. Il CSV legge la prima colonna separata da virgole, con un partecipante per riga; i campi tra virgolette con interruzioni di riga non sono supportati. I nomi sono testo, mai HTML.
2. Calcola le capienze delle squadre
Con «numero di squadre», l’elenco viene diviso affinché le capienze differiscano al massimo di una persona. Per 10 persone e 3 squadre, lo schema è 4–3–3. Con «persone per squadra», la dimensione obiettivo determina quante squadre non vuote sono necessarie.
Questa è soltanto una regola sulle dimensioni simili. Non dice nulla su capacità, esperienza, ruolo, genere o equità sociale.
3. Crea un seme e mescola l’intero elenco
Senza regole facoltative, il browser crea un seme iniziale con Web Crypto. Un generatore deterministico versionato controlla poi una selezione di interi senza distorsioni e un mescolamento Fisher–Yates prima che i partecipanti siano assegnati alle capienze calcolate.
Lo stesso input ordinato, le stesse impostazioni, regole, seme e versione del motore riproducono il risultato. Un nuovo seme crea una nuova estrazione; l’ID è un riferimento, non una prova che le squadre siano bilanciate per competenze.
4. Risolvi e verifica le regole facoltative
I gruppi da tenere insieme vengono trattati come blocchi. Le coppie da separare non possono condividere una squadra e i capitani fissi occupano squadre distinte. Gli elementi con più vincoli vengono collocati per primi e una ricerca con backtracking limitato esplora le assegnazioni in un ordine controllato dal seme.
Ogni risultato viene verificato dopo la risoluzione. Le impossibilità note ricevono una spiegazione specifica. Se la ricerca limitata viene esaurita, lo strumento segnala il limite del risolutore invece di sostenere che non esista una soluzione matematica.
Cosa viene verificato e cosa non viene promesso
Gli invarianti fondamentali sono che ogni partecipante accettato compaia esattamente una volta, che le regole di dimensione e i vincoli selezionati siano rispettati e che la riproducibilità resti stabile per la stessa versione del motore. I casi piccoli possono essere verificati in modo esaustivo e quelli grandi campionati per individuare evidenti distorsioni di implementazione.
Un risultato casuale o con vincoli non è una valutazione professionale, una decisione di accessibilità o una garanzia di prestazioni eque. Squadre bilanciate richiederebbero dati separati ed espliciti e un obiettivo documentato.