CodeKitHub
Strumenti generatori

Generatore di Estrazione Nomi

Ultimo aggiornamento:

Estrarre a mano i nomi per un Secret Santa o uno scambio di regali comporta un vero problema matematico: uno shuffle puramente casuale può assegnare accidentalmente qualcuno a se stesso, e ripetere l'estrazione finché non "sembra giusta" non è più realmente casuale. Questo strumento risolve il problema correttamente — inserisci il nome di tutti, e calcola una derangement (uno shuffle con la garanzia matematica che nessuno finisca sul proprio nome), poi nasconde ogni risultato dietro un pulsante da toccare per rivelarlo, così ognuno può controllare la propria assegnazione su uno schermo condiviso senza vedere quella di nessun altro.

Che cos'è questo strumento?

Una derangement è un concetto matematico specifico: una permutazione (riordinamento) di un insieme in cui nessun elemento finisce nella sua posizione originale. Applicato a uno scambio di regali, significa mescolare i nomi di tutti in un nuovo ordine tale che nessuno sia abbinato a se stesso — esattamente il vincolo di cui ha bisogno un'estrazione equa per il Secret Santa, ed esattamente ciò che uno shuffle ingenuo `array.sort(() => Math.random() - 0.5)` NON garantisce da solo.

Questo strumento genera una derangement mescolando ripetutamente la lista con un algoritmo casuale e verificando il vincolo di auto-assegnazione, usando `crypto.getRandomValues()` per la casualità sottostante invece di `Math.random()` — la stessa fonte crittograficamente sicura usata dal [Generatore di Password](/password-generator/) e dal [Generatore di Lettere Casuali](/random-letter-generator/) di questo sito.

Il design con pulsante di rivelazione risolve un problema separato, molto pratico, relativo all'estrazione dei nomi in gruppo: mostrare tutte le assegnazioni sullo schermo contemporaneamente rovina la sorpresa per tutti allo stesso tempo. Nascondere il risultato di ogni persona dietro il proprio pulsante permette di far passare un dispositivo di mano in mano (o di condividere lo schermo) così che ognuno controlli solo il proprio nome.

Perché usarlo?

  • Alla cena di Natale in famiglia qualcuno propone il Secret Santa all'ultimo minuto: passi il telefono al tavolo e in trenta secondi ognuno controlla il proprio nome senza carta, penna o imbarazzi.
  • Nella chat di lavoro dell'ufficio è partito il classico messaggio "facciamo l'estrazione dei regali di Natale": condividi lo schermo in videochiamata e ognuno rivela il proprio abbinamento a turno, senza che il resto del gruppo veda gli altri nomi.
  • L'anno scorso qualcuno ha estratto il proprio stesso nome con un'estrazione fatta a mano su dei bigliettini, e hai dovuto rifare tutto da capo davanti a tutti — con la derangement matematica questo non può più succedere.
  • Un collega si è aggiunto all'ultimo al gruppo regali: cancelli e rigeneri l'estrazione in un secondo, senza dover ricreare un foglio Excel o un evento su un'app terza.
  • Vuoi essere sicuro che nessuno bari sbirciando gli altri bigliettini: qui ogni risultato resta nascosto finché non è il turno di quella persona di premere il proprio pulsante.

Come si usa

  1. Digita il nome di ogni partecipante su una riga separata — almeno 3 nomi diversi.
  2. Clicca su "Estrai coppie" — lo strumento calcola una derangement valida in modo che nessuno sia abbinato a se stesso.
  3. La riga di ogni partecipante mostra il proprio nome con un risultato nascosto — fai passare il dispositivo di mano in mano o condividi lo schermo, e fai cliccare a ciascuno il proprio pulsante "Tocca per rivelare" per vedere a chi deve fare un regalo.
  4. Clicca di nuovo su rivela per nasconderlo una volta che qualcuno ha controllato il proprio risultato, tenendo lo schermo pronto per la persona successiva.

Esempio

Input

Alice, Bob, Carol, Dave

Risultato

Alice → Carol, Bob → Dave, Carol → Bob, Dave → Alice

Ogni esecuzione produce una diversa derangement valida — questo è un esempio di risultato. Nota che nessuno è assegnato a se stesso, che è l'unico vincolo rigido di cui ha bisogno una vera estrazione per il Secret Santa e che un semplice shuffle casuale non garantisce.

Derangement vs. un semplice shuffle casuale

Uno shuffle semplice e una derangement sembrano simili, ma solo uno dei due è davvero sicuro per uno scambio di regali.

MetodoPuò assegnare qualcuno a se stesso?È equo ripetere l'estrazione finché non "sembra giusta"?
Semplice shuffle casualeSì — una possibilità reale, specialmente in gruppi piccoliNo — rifiutare manualmente i risultati sbagliati distorce l'esito
Derangement (questo strumento)No — matematicamente escluso per costruzioneN/D — ogni risultato valido soddisfa già il vincolo

Strumenti correlati

Per altre estrazioni casuali e generatori, prova questi strumenti.

Generatore di Nomi Fantasy · Generatore di Numeri Casuali · Generatore di Lettere Casuali

Consigli per un'estrazione di gruppo senza intoppi

Un'estrazione condivisa su un solo schermo funziona bene fino a una decina di persone; oltre quel numero conviene passare il telefono più volte o affidarsi a chi organizza per confermare a voce solo che ognuno ha controllato, senza rivelare i nomi.

Se il gruppo include persone che non si conoscono bene (per esempio un ufficio con nuovi assunti), scrivi i nomi per esteso invece dei soli soprannomi: la derangement funziona sulle stringhe esatte che inserisci, quindi "Marco" e "Marco B." vengono trattati come due persone distinte anche se in realtà è la stessa.

Tieni a mente un piccolo limite tecnico: con solo tre partecipanti esiste un numero molto ridotto di derangement possibili, quindi generazioni ripetute tendono a restituire schemi simili — con gruppi di 5 o più persone la varietà dei risultati cresce molto più rapidamente.

Domande frequenti

Cosa succede se un nome viene inserito due volte?

Lo strumento richiede che ogni nome sia unico prima di procedere all'estrazione — se rileva una riga duplicata, ti chiede di correggere prima la lista, poiché due partecipanti con lo stesso identico nome renderebbero impossibile distinguere i loro risultati.

Qualcuno può estrarre il proprio nome?

No — lo strumento calcola specificamente una derangement, uno shuffle con la proprietà matematica che nessun elemento (persona) finisce mappato sulla propria posizione originale. Questa garanzia è imposta dall'algoritmo, non lasciata al caso come farebbe un semplice shuffle casuale.

Qual è il numero minimo di persone necessario?

Tre. Con solo due persone, una derangement è impossibile senza che vengano semplicemente assegnate l'una all'altra ogni volta, il che non è significativamente casuale, quindi lo strumento richiede almeno tre partecipanti.

Come manteniamo i risultati privati se stiamo tutti guardando lo stesso schermo?

Il risultato di ogni partecipante è nascosto dietro il proprio pulsante "Tocca per rivelare" invece di essere mostrato tutto insieme. Passa il dispositivo (o condividi lo schermo) a ogni persona a turno, falle rivelare e annotare solo la propria riga, poi cliccalo di nuovo per nasconderlo prima di passarlo alla persona successiva.

I nomi o il risultato dell'estrazione vengono inviati a un server?

No. Tutto — leggere i nomi, calcolare la derangement e mostrare i pulsanti di rivelazione — avviene interamente nel tuo browser. Nulla viene caricato, e chiudere la scheda cancella tutto, quindi non rimane da nessuna parte una cronologia dell'estrazione che potrebbe accidentalmente rovinare la sorpresa.

Posso escludere alcune coppie, ad esempio marito e moglie che si fanno già regali tra loro?

Lo strumento garantisce solo il vincolo di base della derangement (nessuno abbinato a se stesso), non vincoli aggiuntivi tra coppie specifiche. Se devi escludere anche marito e moglie, la soluzione pratica è ri-generare l'estrazione finché quella coppia non risulta abbinata, oppure organizzare due estrazioni separate escludendo manualmente chi non deve incrociarsi.

Cosa succede se chiudo la scheda a metà dell'estrazione, prima che tutti abbiano controllato il proprio nome?

L'intero risultato viene perso, perché nulla viene salvato su un server né in memoria persistente — dovrai rigenerare una nuova estrazione. Per gruppi grandi, conviene lasciare la scheda aperta finché l'ultima persona non ha controllato il proprio abbinamento.

Il risultato è davvero casuale o alcune combinazioni sono più probabili di altre?

L'algoritmo rigenera lo shuffle finché non ottiene una derangement valida, scartando solo i tentativi che violano il vincolo di auto-assegnazione — non introduce altri bias, quindi tra tutte le derangement possibili ciascuna ha probabilità sostanzialmente uguale di essere scelta.

Posso usarlo anche per assegnare compiti o turni invece che regali?

Sì — la logica della derangement funziona per qualsiasi scenario in cui vuoi assegnare a ciascuna persona un'altra persona diversa da sé, come turni di revisione tra colleghi o abbinamenti per un'attività a coppie: basta inserire i nomi ed estrarre.

Strumenti correlati