Hai bisogno di sorteggiare un vincitore alla tombola, interrogare uno studente in classe o organizzare uno scambio di regali in ufficio? Questa estrazione casuale per la Svizzera italiana sceglie in modo imparziale da qualsiasi lista. Incolla i tuoi elementi nel riquadro «Elementi» — uno per riga, o separati da virgole —, imposta il numero desiderato in «Quantità» e premi «Genera». Una lista richiede almeno due elementi e ne può contenere fino a 1000, ciascuno di massimo 200 caratteri.
Ogni estrazione avviene direttamente nel browser grazie alla Web Crypto API (crypto.getRandomValues), che fornisce valori casuali sicuri a livello crittografico usando il sistema sottostante. La tua lista non viene mai inviata a un server, non viene registrata e noi non la vediamo mai. Questo aspetto è fondamentale, perché spesso si inseriscono elenchi di clienti, registri di classe o nomi di colleghi. Il pulsante «Carica da file» mantiene la stessa promessa: è il browser a leggere il file e a popolare il riquadro localmente, senza caricare nulla su internet.
Le opzioni sono pensate per le liste che si usano davvero. Il «Separatore» è impostato su «Automatico», che distingue da solo le interruzioni di riga e le virgole: in questo modo, una lista copiata da un foglio di calcolo, da una chat o da un documento funziona subito. Bloccalo su «Nuova riga», «Virgola» o «Spazio» se i tuoi dati mescolano formati diversi. Da notare che scegliere «Spazio» è sempre una decisione manuale e mai automatica, poiché elementi come i nomi completi contengono spazi al loro interno, e dividerli di default rovinerebbe la maggior parte delle liste. L'opzione «Quantità» decide quanti elementi estrarre, da 1 a 100. Devi estrarre tre vincitori su 200 partecipanti? Incolla la lista, imposta la «Quantità» a 3 e premi «Genera». Due comandi si applicano solo se la quantità è 2 o più e restano disabilitati fino a quel momento: «Senza duplicati», che decide se lo stesso elemento può uscire due volte, e il «Formato del risultato», che stabilisce come separare le scelte («Uno per riga», «Separati da spazi» o «Separati da virgole»).
Una riga di pulsanti all'interno del riquadro «Elementi» sostituisce le modifiche che altrimenti faresti altrove. «Carica da file» preleva una lista direttamente da un file di testo o CSV. «Mescola» riordina gli elementi nel riquadro, «Ordina» li dispone in ordine alfabetico (i numeri vengono ordinati naturalmente, e un secondo clic inverte l'ordine) e «Cancella» svuota il riquadro. «Compila con i dati di esempio» inserisce una breve lista di prova per testare lo strumento con un clic, mentre «Espandi per adattare il contenuto» allarga il riquadro per mostrare una lista lunga per intero e «Comprimi alla dimensione predefinita» lo richiude. Sotto al risultato, «Copia tutto» copia ogni estrazione negli appunti, «Salva su file» la scarica, e la «Cronologia» mantiene gli ultimi 10 sorteggi nel tuo browser, così potrai recuperare un risultato precedente con un solo clic.
Come avviene realmente il sorteggio? Quando premi «Genera», la pagina chiede al browser dei valori casuali tramite crypto.getRandomValues e li utilizza per scegliere delle posizioni nella tua lista, invece di passare per una funzione pseudocasuale JavaScript come Math.random(). La conversione di un valore grezzo a 32 bit in una posizione è spesso il punto debole di molti strumenti: l'approccio più ovvio è calcolare il modulo del valore per la lunghezza della lista, ma questo introduce una distorsione. A meno che la lunghezza della lista non divida esattamente 2^32, gli elementi vicini all'inizio della lista escono un po' più spesso (bias del modulo). Questo strumento scarta invece ogni valore che superi il più grande multiplo esatto della lunghezza della lista ed estrae di nuovo: una tecnica nota come metodo del rigetto (rejection sampling). Costa qualche estrazione in più, ma offre una garanzia esatta anziché approssimativa. La posizione nella lista non cambia nulla: il primo e l'ultimo elemento hanno la stessa probabilità a ogni estrazione.
L'opzione «Senza duplicati» distingue due tipi di estrazione profondamente diversi, che la statistica definisce in modo preciso. Quando è attiva, lo strumento mescola una copia della tua lista con l'algoritmo di Fisher-Yates e preleva gli elementi dall'alto: esattamente come pescare dei bigliettini da un cappello senza rimetterli dentro. In questo modo nessuno viene estratto due volte e ogni gruppo di quella dimensione ha la stessa probabilità di uscire. È il campionamento senza reimmissione (sampling without replacement), l'ideale per le premiazioni, le squadre e i turni. Quando l'opzione è disattivata, ogni scelta avviene in modo indipendente dall'intera lista, quindi lo stesso elemento può uscire più di una volta: questo è il campionamento con reimmissione (sampling with replacement), utile quando tutti rimangono in gioco a ogni turno. Nessun metodo è più equo dell'altro; rispondono a esigenze diverse.
Agli occhi umani, un'estrazione imparziale non sembra affatto equa. Se estrai cinque nomi su dieci, vedrai regolarmente due scelte che si trovavano vicine nella lista originale, oppure lo stesso nome due volte di fila se i duplicati sono consentiti, e tutto ciò è assolutamente normale. Ogni estrazione è indipendente: quelle precedenti non hanno alcuna influenza su quelle successive e non è mai vero che una persona debba vincere solo perché il suo turno sarebbe «dovuto». L'istinto che suggerisce il contrario è la fallacia dello scommettitore (gambler's fallacy), ed è lo stesso istinto che ci rende così scarsi a scegliere casualmente noi stessi: se ci viene chiesto, evitiamo il primo e l'ultimo elemento, evitiamo di ripetere un nome e distribuiamo le nostre scelte in modo molto più uniforme di quanto faccia mai il caso. Un risultato che sembra sospettosamente perfetto porta l'impronta di un essere umano; la vera casualità produce accumuli.
Perché scegliere questa estrazione casuale?
- Esecuzione solo nel browser: la lista viene letta sul tuo dispositivo e mai inviata altrove
- Casualità della Web Crypto API: sicurezza crittografica, niente Math.random()
- Nessun bias del modulo: il metodo del rigetto mantiene ogni elemento ugualmente probabile
- Qualsiasi formato di lista: per riga, per virgola o per spazio, senza riformattare
- Modalità «Senza duplicati»: forma squadre o estrai vincitori senza ripetizioni
- Fino a 1000 elementi e fino a 100 scelte in un solo sorteggio
- Strumenti integrati: carica da file, mescola, ordina, cancella, dati di esempio
- Cronologia e Salva su file: conserva un registro di un'estrazione che potresti dover giustificare
- Illimitato e gratuito: nessuna registrazione, nessun limite di utilizzo, niente sui nostri server
Il sorteggio casuale serve ovunque una scelta debba sopravvivere alle contestazioni. A scuola, i docenti interrogano senza favoritismi e dividono la classe in gruppi di lavoro. In Ticino e nei Grigioni, si usa per le tradizionali lotterie di società, per una tombola di paese o per le estrazioni di premi online davanti a un pubblico che deve potersi fidare del risultato. In ufficio, si stabilisce l'ordine delle presentazioni o si assegnano i compiti che nessuno vuole fare. Nella ricerca, si preleva un campione casuale di documenti per un controllo. In famiglia, mette fine alle discussioni su quale film guardare o in quale ristorante andare. Il tratto comune è una selezione che chiunque può spiegare in seguito: il sorteggio usa una casualità crittografica, avviene interamente sul tuo dispositivo, e la «Cronologia» ne conserva l'esito qualora qualcuno dovesse fare domande in futuro.
Questo strumento ha alcuni onesti limiti tecnici che vale la pena conoscere. Non può estrarre più elementi distinti di quanti ne contenga la lista (tre vincitori di una tombola richiedono almeno tre nomi) e si ferma a 1000 elementi di 200 caratteri ciascuno, con un massimo di 100 scelte in un unico sorteggio. I pulsanti «Mescola» e «Ordina» funzionano riga per riga, quindi una lista separata da virgole incollata su una sola riga verrà riordinata solo quando sarà disposta su più righe; inoltre, entrambi riorganizzano il riquadro ma non l'estrazione, che è altrettanto equa a prescindere dall'ordine degli elementi. Per concezione, ogni elemento ha anche esattamente lo stesso peso, per cui un sorteggio in cui un nome deve valere doppio richiede che quel nome sia inserito due volte. Entro questi limiti la garanzia è forte: ogni elemento della tua lista ha esattamente la stessa probabilità di uscire, a ogni singola estrazione.