Miscelatore Casuale di Liste - Strumento Gratuito per Riordinare Liste in Modo Casuale
Miscelatore di liste casuale gratuito che utilizza il collaudato algoritmo di Fisher-Yates. Randomizza istantaneamente nomi, studenti, squadre o attività. Perfetto per insegnanti, tornei e decisioni imparziali. Nessuna registrazione richiesta.
Miscelatore Casuale di Liste
Inserisci gli elementi da mescolare, uno per riga. Le righe vuote verranno rimosse automaticamente.
Documentazione
Che cos'è uno strumento per mescolare casualmente gli elenchi?
Un mescolatore casuale di liste è uno strumento che prende un elenco di elementi e li restituisce in un nuovo ordine casuale. Inserisci nomi, attività o qualsiasi altra cosa, una per riga, e lo strumento li riordina in modo che ogni possibile ordine abbia la stessa probabilità di comparire. Questo strumento usa l'algoritmo di mescolamento Fisher–Yates, un noto algoritmo per produrre ordini casuali privi di distorsioni.
Come usare il mescolatore casuale di liste
- Digita o incolla l'elenco nel riquadro, un elemento per riga.
- Fai clic su "Randomizza lista". Gli elementi vengono riordinati immediatamente.
- Leggi l'elenco mescolato sotto il pulsante, numerato secondo il nuovo ordine.
- Fai nuovamente clic su "Randomizza lista" per ottenere un nuovo mescolamento indipendente.
- Fai clic su "Copia risultato" per copiare il nuovo ordine, oppure su "Cancella" per ricominciare.
Le righe vuote nell'input vengono rimosse automaticamente, quindi le interruzioni di riga aggiuntive non creano voci vuote nei risultati.
Come funziona l'algoritmo di mescolamento di Fisher-Yates?
Il mescolamento di Fisher–Yates attraversa l'elenco una volta, iniziando dall'ultimo elemento e procedendo verso l'inizio. A ogni passaggio sceglie casualmente un elemento dalla parte dell'elenco non ancora collocata e lo scambia con quello nella posizione corrente.
Formula del mescolamento di Fisher-Yates
Per un elenco di n elementi, numerati dalla posizione 0 alla posizione n − 1:
1for i from n − 1 down to 1:
2 choose a random whole number j, where 0 ≤ j ≤ i
3 swap the items at positions i and j
4Il ciclo viene eseguito n − 1 volte, quindi il mescolamento richiede complessivamente circa n passaggi. Questo viene chiamato tempo lineare, indicato con O(n). Poiché l'algoritmo considera ogni posizione esattamente una volta ed estrae da un insieme di elementi definito che si riduce progressivamente, ciascuno dei n! (fattoriale di n: n × (n − 1) × ... × 1) possibili ordinamenti ha la stessa probabilità di essere il risultato.
Esempio: mescolamento di un elenco di quattro elementi
Si parte da quattro elementi nelle posizioni 0 fino a 3: Mela, Banana, Ciliegia, Dattero.
- i = 3: l'estrazione casuale dà j = 0. Si scambiano le posizioni 3 e 0 → Dattero, Banana, Ciliegia, Mela
- i = 2: l'estrazione casuale dà j = 2. Scambiare una posizione con sé stessa non cambia nulla → Dattero, Banana, Ciliegia, Mela
- i = 1: l'estrazione casuale dà j = 0. Si scambiano le posizioni 1 e 0 → Banana, Dattero, Ciliegia, Mela
Ordine finale: Banana, Dattero, Ciliegia, Mela.
Con quattro elementi ci sono 4! = 24 possibili ordini. Ognuno di essi, compreso questo, ha una probabilità di 1 su 24 di comparire in un determinato mescolamento.
Perché non scambiare semplicemente coppie casuali?
Un metodo dall'aspetto più semplice — scegliere due posizioni casuali e scambiarle, ripetendo l'operazione diverse volte — sembra casuale, ma non lo è. Alcuni dei primi programmi di mescolamento degli anni 1950 funzionavano in questo modo e favorivano silenziosamente alcuni ordini rispetto ad altri, anche se nessuna singola esecuzione appariva sospetta. L'algoritmo di mescolamento Fisher–Yates evita questo problema perché ogni elemento viene spostato esattamente una volta, in una posizione scelta da un insieme di possibilità che si riduce in modo preciso; è questo che rende ugualmente probabile ogni ordine finale.
Da dove deriva il mescolamento di Fisher-Yates?
Gli statistici Ronald Fisher e Frank Yates descrissero il metodo nel 1938 in un libro di tavole statistiche, per mescolare manualmente gli elementi nella progettazione degli esperimenti. Nel 1964, Richard Durstenfeld lo adattò per i computer, così da poter riordinare un elenco direttamente, senza bisogno di un secondo elenco per tenere traccia degli elementi rimanenti. Donald Knuth incluse questa versione per computer nel suo libro del 1969 The Art of Computer Programming, motivo per cui a volte viene chiamato mescolamento di Knuth. Oggi i browser web usano lo stesso algoritmo.
Usi comuni di un mescolatore di liste
- Stabilire l'ordine in cui gli studenti fanno una presentazione o rispondono alle domande in classe
- Sorteggiare le posizioni in un tabellone di torneo o stabilire l'ordine dei turni in un gioco
- Dividere un gruppo in squadre casuali
- Scegliere un ristorante, un film o un'attività da una rosa di opzioni senza favorire una scelta
Un semplice mescolamento non è sempre la soluzione più adatta. Se alcuni elementi devono comparire più spesso di altri, la selezione ponderata è più indicata. Se ogni categoria deve essere rappresentata in modo garantito, il campionamento stratificato funziona meglio di un singolo mescolamento casuale.
Domande frequenti
Il mescolamento è davvero casuale?
Si basa sul generatore di numeri pseudocasuali (PRNG) del browser web, una formula che produce sequenze di numeri che, per scopi pratici, si comportano come sequenze casuali. È sufficiente per stabilire l'ordine in classe, sorteggiare le posizioni in un torneo o scegliere un film. Non è progettato per la crittografia, i sistemi di gioco d'azzardo o qualsiasi situazione in cui denaro o sicurezza dipendano dall'imprevedibilità; per questi scopi servono generatori di numeri casuali certificati.
Lo strumento invia il mio elenco a un server?
Il mescolamento viene eseguito interamente nel browser tramite JavaScript, quindi non è necessaria alcuna richiesta di rete per riordinare l'elenco. L'elenco corrente viene inoltre scritto nell'indirizzo web della pagina, quindi un ricaricamento o un segnalibro non lo fa perdere. Se quell'indirizzo viene copiato, condiviso o riaperto, l'elenco lo accompagna, anche fino a qualsiasi server che in seguito carichi la pagina. Se questo è un problema, evita di inserire nell'elenco informazioni sensibili.
Che cosa succede agli elementi duplicati?
I duplicati vengono mantenuti. Se "Sam" compare due volte nell'input, comparirà ancora due volte nell'output mescolato, possibilmente in posizioni diverse.
Esiste un limite al numero di elementi che posso mescolare?
Lo strumento non impone alcun limite. Poiché il mescolamento ha tempo lineare, anche gli elenchi lunghi vengono riordinati in una frazione di secondo su qualsiasi dispositivo moderno.
In che cosa il mescolamento differisce dall'ordinamento?
L'ordinamento dispone gli elementi secondo una regola fissa, come l'ordine alfabetico, e produce sempre lo stesso risultato a parità di input. Il mescolamento dispone gli elementi casualmente e produce quasi ogni volta un ordine diverso, anche con input identici.
Posso mescolare lo stesso elenco più di una volta?
Sì. Ogni clic su "Randomizza lista" esegue nuovamente l'algoritmo, indipendentemente da qualsiasi mescolamento precedente. Con un elenco piccolo, per caso può comparire di nuovo lo stesso ordine; con un elenco più grande, ciò diventa estremamente improbabile.