Skip to main content
CheckTown
Générateurs

Randomiseur de liste : Melanger equitablement avec Fisher-Yates

Publié le 5 min de lecture
Dans cet article

Qu'est-ce que la randomisation de liste ?

La randomisation de liste est le processus de reorganisation des elements dans un ordre aleatoire, egalement appele melange. Un bon melange produit chaque permutation possible avec une probabilite egale.

La randomisation est distincte du tri — le tri produit un resultat deterministe, tandis que la randomisation produit un resultat different a chaque fois.

Comment fonctionne l'algorithme Fisher-Yates

Le melange Fisher-Yates est l'algorithme standard pour generer des permutations uniformement aleatoires. Il parcourt la liste de la fin au debut, echangeant chaque element avec un element choisi aleatoirement.

  • Commencer au dernier element — choisir un index aleatoire de 0 a n-1 et echanger
  • Passer a l'avant-dernier element — choisir un index aleatoire de 0 a n-2 et echanger ; repeter
  • Chaque element est touche exactement une fois — l'algorithme s'execute en temps O(n)

Essayez gratuitement — sans inscription

Randomiser une liste →

Cas d'utilisation courants

La randomisation de liste est utilisee dans de nombreux scenarios.

  • Attribution aleatoire — diviser les participants en groupes pour des tests A/B sans biais
  • Tirages au sort — melanger les noms des participants pour choisir equitablement les gagnants
  • Ordre des questions d'examen — randomiser les questions pour reduire la triche
  • Lecture aleatoire — reorganiser les chansons, taches ou flashcards pour une experience nouvelle

Conseils et bonnes pratiques

Obtenez des resultats equitables et reproductibles.

  • Utilisez un algorithme prouve — Fisher-Yates est la reference ; evitez le tri avec un comparateur aleatoire
  • Comprenez le pseudo-aleatoire — les randomiseurs de navigateur utilisent des generateurs pseudo-aleatoires
  • Gerez les doublons intentionnellement — chaque doublon est traite comme un element separe lors du melange

Questions frequemment posees

Le melange Fisher-Yates est-il vraiment equitable ?

Oui, lorsqu'il est correctement implemente avec une source aleatoire uniforme, le melange Fisher-Yates produit chaque permutation possible avec exactement la meme probabilite.

Puis-je reproduire le meme resultat de melange ?

Pour reproduire un melange, vous avez besoin d'un generateur de nombres aleatoires avec graine. La plupart des outils de navigateur utilisent des generateurs sans graine.

Que se passe-t-il avec les elements en double ?

Les elements en double sont melanges independamment comme les elements uniques. L'algorithme traite chaque element par sa position, pas par sa valeur.

Outils associés