Un mélange presque parfait d'un jeu de 52 cartes n'est pas parfaitement aléatoire, mais devrait être suffisamment équitable pour un usage occasionnel.
J'ai décidé de tester cela de manière expérimentale. J'ai codé une fonction python rapide* pour effectuer des riffs et des riffs presque parfaits.
Lors d'un riffle parfait, le code prend un "paquet" d'entiers et les réarrange de manière à ce que la première moitié et la seconde moitié soient entrelacées, de sorte que le paquet
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51]
devient
[26, 0, 27, 1, 28, 2, 29, 3, 30, 4, 31, 5, 32, 6, 33, 7, 34, 8, 35, 9, 36, 10, 37, 11, 38, 12, 39, 13, 40, 14, 41, 15, 42, 16, 43, 17, 44, 18, 45, 19, 46, 20, 47, 21, 48, 22, 49, 23, 50, 24, 51, 25]
Pour un riffle imparfait, la fonction ajoute un défaut lorsque deux nombres sont maintenus ensemble sans qu'un nombre de l'autre moitié n'intervienne. Par exemple, l'intervalle 0-51 pourrait devenir
[26, 0, 27, 1, 28, 2, 29, 3, 30, 4, 31, 5, 32, 6, 33, 7, 34, 8, 35, 9, 36, 10, 37, 11, 38, 12, 39, 13, 40, 14, 41, 15, 42, 16, 43, 17, 44, 18, 45, 19, 46, 20, 47, 21, 22 , 48, 23, 49, 24, 50, 25, 51]
Le défaut est ajouté à un point aléatoire pendant l'entrelacement.
En répétant 7 fois le mélange parfait d'un jeu de 52 cartes, on obtient un schéma très régulier :
[40, 28, 16, 4, 45, 33, 21, 9, 50, 38, 26, 14, 2, 43, 31, 19, 7, 48, 36, 24, 12, 0, 41, 29, 17, 5, 46, 34, 22, 10, 51, 39, 27, 15, 3, 44, 32, 20, 8, 49, 37, 25, 13, 1, 42, 30, 18, 6, 47, 35, 23, 11]
Le mélange imparfait, quant à lui, génère un motif unique à chaque fois. Voici un exemple
[31, 0, 38, 51, 26, 8, 44, 29, 14, 36, 2, 20, 3, 5, 27, 46, 24, 33, 32, 17, 40, 25, 10, 22, 48, 30, 35, 1, 50, 42, 7, 12, 45, 13, 39, 37, 19, 43, 4, 18, 28, 34, 15, 23, 16, 41, 6, 11, 21, 49, 9, 47]
Cela semble assez aléatoire. Mais est-ce bien le cas ? J'ai décidé de procéder à une simulation de Monte Carlo et j'ai "mélangé" le jeu 100 000 fois pour voir comment les nombres se répartissaient.
Il s'avère que ce n'est pas aussi aléatoire qu'il n'y paraît. Dans un mélange parfaitement aléatoire, chaque nombre devrait avoir une chance sur deux (1,92 %) d'apparaître dans n'importe quelle position. Or, selon mes résultats, les probabilités varient de 0,02 % à 18,5 %. C'est beaucoup plus probable que 1,92 %.
Mais s'il n'est pas bon que la carte 10 se retrouve dans l'emplacement 26** 18 % du temps, il n'est pas non plus facile d'en abuser. Saviez-vous ce qu'était la carte n° 10 ? Vous souciez-vous de la carte 26 ? Votre objectif n'est pas d'obtenir un jeu aléatoire, mais plutôt un jeu équitable. Cela signifie qu'un peu d'aléatoire est acceptable, tant qu'aucun joueur n'en profite. 7 mélanges presque parfaits laissent des motifs qui pourraient être exploités, mais ils sont suffisamment complexes pour que vous deviez y consacrer beaucoup de temps et d'énergie.
De plus, il est facile d'ajouter des éléments aléatoires en coupant le jeu ou en effectuant quelques mélanges supplémentaires. En outre, j'ai très certainement sous-estimé la part d'aléatoire, puisque le "riffle presque parfait" illustré dans l'OP présente 3 défauts au lieu d'un, et que les mélangeurs ne diviseront pas toujours parfaitement le jeu en deux comme je l'avais supposé.
En définitive, je ne pense pas que vous ayez à craindre que vos excellents talents de riffleur ne perturbent vos jeux de cartes. Mais soyez prudent si vous jouez avec des compteurs de cartes professionnels.
*Je peux partager le code si cela intéresse quelqu'un, mais il n'est pas vraiment pertinent.
**Ou peut-être l'inverse. Il m'arrive de confondre mes axes.