Biais de mélange

Comparez le mélange naïf et Fisher–Yates avec les mêmes réglages.

Tout s’exécute localement dans votre navigateur. Les entrées et résultats ne sont pas envoyés. L’URL partagée contient uniquement les réglages.

Autres langues ja | en | zh-CN | es | pt-BR | id | fr | hi-IN | ar

Comment utiliser (3 étapes)

  1. Choisissez le mode de liste (taille ou personnalisée) et réglez les essais.
  2. Cliquez sur Comparer pour exécuter les deux mélanges avec les mêmes réglages.
  3. Consultez heatmaps et statistiques, puis copiez une URL de réglages ou téléchargez un rapport.

Voir le biais

Outil de comparaison de biais

L’échange naïf choisit un indice aléatoire sur tout l’intervalle à chaque étape. Fisher–Yates utilise un intervalle décroissant, rendant les permutations uniformes (si randomInt est uniforme).

C’est un anti‑pattern courant en JavaScript. Les résultats dépendent du moteur et sont généralement biaisés.

Résumé

Astuce : le df du χ² ici est une heuristique (il y a des contraintes). À utiliser pour l’intuition, pas comme preuve formelle.

Graphiques

Légende : naive=rouge, FY=vert, sort=violet (si activé).

La courbe est une densité chi‑deux avec df = n² - 1 (heuristique). Les lignes verticales indiquent votre χ² observé.

Ce graphique regroupe les cellules par |i - j| (distance à la diagonale). Des valeurs > 1 indiquent « trop près de la position d’origine ».

Résultats

Chaque côté montre une matrice de positions (élément i → position j) agrégée sur les essais.

Mélange naïf

Fisher–Yates

Questions fréquentes

Fisher–Yates est-il toujours sans biais ?
Il est sans biais si votre randomInt est uniforme. Évitez le biais de modulo lorsque vous convertissez des octets aléatoires en un intervalle d’entiers.
Pourquoi ne pas utiliser sort(() => random - 0.5) ?
C’est biaisé et dépend du moteur. Vous pouvez l’inclure sur cette page pour voir ce qui se passe dans votre navigateur.
Réussir ici signifie-t-il une sécurité cryptographique ?
Non. Cet outil illustre le biais algorithmique du mélange. La sécurité dépend de votre RNG et de votre modèle de menace.
Combien d’essais utiliser ?
Commencez avec 100k. Pour n ≤ 8, activer le suivi des permutations aide à voir le biais plus directement.

Outils associés

Calculatrices associées