Mescolatore di Righe e Parole
Mescola casualmente le righe o le parole di qualsiasi elenco incollato — casualità crittografica, un clic per un nuovo ordine ogni volta.
1.156 visualizzazioni
Come Funziona
Incolla un elenco (un elemento per riga) o un blocco di testo, scegli se mescolare per riga o per parola, e lo strumento esegue un mescolamento Fisher-Yates alimentato da crypto.getRandomValues — la stessa fonte di casualità crittograficamente forte, con la stessa prevenzione della distorsione da modulo, usata dal lanciadadi, dal generatore di numeri casuali e dagli strumenti di estrazione di questo sito. Fisher-Yates lavora dall'ultimo elemento all'indietro: per ogni posizione sceglie un indice casuale tra quelli rimanenti e lo scambia, così ogni possibile ordinamento dell'elenco è ugualmente probabile, senza favorire alcuna posizione.
Il dettaglio della prevenzione della distorsione conta più di quanto sembri. Un indice casuale ingenuo generato come Math.random() * n, o peggio, un intero casuale crittografico ridotto con % n, non è perfettamente uniforme quando n non divide esattamente l'intervallo del generatore — alcune posizioni escono leggermente più spesso di altre. Su una manciata di mescolamenti nessuno se ne accorgerebbe; su una piattaforma di quiz che esegue migliaia di mescolamenti al giorno, una leggera distorsione nell'ordine delle domande o nell'ordine di una lista di partecipanti a un'estrazione è un vero problema di equità. Questo strumento scarta e ripesca i valori fuori intervallo invece di ridurli con il modulo, così ogni mescolamento resta imparziale indipendentemente dalla lunghezza dell'elenco.
È esattamente lo stesso principio di mescolamento che alimenta il lanciadadi e gli strumenti di numeri casuali di questo sito, applicato a un array di righe o parole invece che a un singolo numero: scegli in modo uniforme tra gli elementi non ancora mescolati, posizionalo, e ripeti finché non ne resta nessuno. Questa garanzia — ogni permutazione dell'input è ugualmente raggiungibile — è ciò che separa un mescolamento a livello di equità da uno che sembra solo mescolato ma in realtà favorisce silenziosamente certe disposizioni.
Cosa Sapere
- La modalità riga tratta ogni riga come un'unica unità da mescolare — ideale per randomizzare un elenco di nomi, un ordine di lettura o una serie di domande di un quiz.
- La modalità parola divide sugli spazi, mescola le parole e le riunisce — utile per mescolare una singola frase o una breve espressione.
- Davvero casuale, non solo apparentemente pseudo-casuale: la fonte crittografica usata qui è la stessa classe di casualità impiegata per le chiavi crittografiche, non la funzione random più debole integrata di default nella maggior parte dei linguaggi.
- Nulla viene salvato: il mescolamento avviene interamente nel tuo browser e produce un ordine nuovo e indipendente ogni volta che clicchi — ricaricare la pagina dà un risultato diverso, non una ripetizione.
Domande Frequenti
Il mescolamento è davvero casuale?
Sì — utilizza un mescolamento Fisher-Yates non distorto, guidato da crypto.getRandomValues e non da Math.random(), con i valori fuori intervallo scartati e ripescati invece che ridotti con il modulo, quindi ogni ordine ha la stessa probabilità indipendentemente dalla lunghezza dell'elenco.
Posso mescolare le parole all'interno di una singola frase?
Sì — passa alla modalità parola; divide per spazi, mescola e riunisce.
Perché non usare semplicemente Math.random()?
Math.random() è un generatore pseudo-casuale veloce pensato per grafica e animazioni, non per selezioni sensibili all'equità, e ridurne ingenuamente l'output a un intervallo con il modulo introduce una piccola distorsione statistica. crypto.getRandomValues è una fonte crittograficamente forte costruita esattamente per questo tipo di scelta casuale imparziale.
Per quali usi pratici è utile questo strumento?
Randomizzare l'ordine delle domande di un quiz o di un esame, mescolare i nomi prima di un'assegnazione casuale di compiti o posti, mischiare un elenco di partecipanti a un'estrazione prima del sorteggio, o dare un ordine sempre nuovo a una lista di lettura.
Mescolare due volte lo stesso elenco dà lo stesso risultato?
No — ogni mescolamento pesca valori casuali nuovi, quindi due esecuzioni sullo stesso input identico producono ordinamenti indipendenti, generalmente diversi, esattamente come mescolare due volte un mazzo di carte fisico.
Strumenti Simili
Segnala un Problema
Mescolatore di Righe e Parole
Commenti
Ancora nessun commento — scrivi il primo!