Ho comprato tre scatole di bustine di tè con diversi gusti (A, B, C).
Desidero mescolarli in modo tale che - non ci siano mai due sacchetti consecutivi con lo stesso sapore (ABCCAB è evitato); - il missaggio è il "più" casuale, ad esempio evitare schemi come ABCABCABC ... o ABABAB ... BCBCBC ... CACACA.
Esiste un algoritmo noto per questo mix?
Attualmente mescolo casualmente molti "ABC" e concatenando i risultati, scambiando le prime lettere se l'ultima lettera del precedente shuffle è la stessa dell'inizio del nuovo shuffle (... ABCCAB = > ... ABCACB ).
Suppongo di poter migliorare questo algoritmo pre-calcolando le permutazioni dell'ABC e disegnare una permutazione tra quelle che non iniziano con la stessa lettera della permutazione precedente.
Ho provato a "google" questo problema, ma come madrelingua francese, probabilmente mi mancano le parole chiave appropriate.