E571 – Un joli tour de cartes [**** à la main]
Puce informe le public que Zig, pour le moment dans sa loge,va dans quelques instants réaliser un véritable tour de magie avec un jeu de 32 cartes.
Dans un premier temps,Puce convainc le public que les cartes ne sont ni biseautées ni truquées puis il décrit le déroulement du tour de cartes:
1) Le public choisira une carte (désignée par X) dont je prendrai connaissance.
2) Un premier volontaire dans la salle viendra mélanger les 32 cartes autant de fois qu’il le désire avant de les étaler sur une table en quatre rangées de huit cartes, faces invisibles.
3) Un deuxième volontaire choisira à sa convenance un nombre de cartes qu’il retournera faces visibles.
4) Je retournerai une seule carte qu’elle soit face visible ou face invisible.
5) Je quitterai la scène avant l’arrivée de Zig et j’irai au fond de la salle afin qu’on ne puisse pas me soupçonner de communiquer une quelconque information à mon partenaire.
6) Zig arrivera sur scène et au bout de quelques secondes annoncera à voix forte le nom de la carte X.
S’il dit juste,vous êtes invités à l’applaudir chaleureusement.
Le scénario se déroule jusqu’au point 3) inclus comme annoncé par Puce et après le passage du deuxième volontaire, on a le tableau T₁ suivant :
Conformément au point 4), Puce retourne le valet de coeur qui est au bout de la première rangée, ce qui donne le tableau T₂ qui sera le seul tableau vu par Zig :
Zig arrive sur scène et comme prévu après quelques secondes de réflexion annonce que la carte X choisie par le public est la Dame de Coeur.
Applaudissements nourris...
Par quelle « alchimie » purement mathématique, Zig a-t-il pu identifier de manière certaine la carte choisie par le public ?
Solution
Le principe de résolution de ce tour de cartes est simple:
a) à toute carte X d'un jeu de 32 cartes, on peut associer un entier tx compris entre 0 et 31.
b) à tout tableau T₁ de cartes de 4 rangées et 8 colonnes présentées par le public à Puce, on peut associer un nombre entier t₁ compris lui aussi entre 0 et 31, appelé par convention "trace t₁" et qui est calculé de la manière suivante: les positions des cartes du tableau sont numérotées de 0 à 31 rangée après rangée de la gauche vers la droite, du coin supérieur à gauche (position 0) jusqu'au coin inférieur à droite (position 31).
S'il y a k ≤ 16 cartes face visible on calcule la somme modulo 32 des numéros des positions occupées par les cartes face visible, ce qui donne t₁, entier compris entre 0 et 31.
Si k > 16, on retient le calcul de t₁ avec les cartes face invisible.
c) l'objectif de Puce est de faire apparaître à Zig un tableau T₂ dont la trace t2 est égale au numéro tx de la carte choisie par le public.
d) les entiers tx,t₁ et t₂ étant représentés en binaire, Puce calcule la différence d des deux nombres t₁ et t₂ calculée selon les règles de la NIM-addition, ce qui donne la position de la carte à retourner.
Avant le tour de cartes, Zig et Puce conviennent de deux règles :
1) choisir une numérotation commune des 32 cartes. Plusieurs systèmes de numérotation sont possibles et chacun d'eux va induire une carte bien précise que Puce retournera. Le système le plus naturel consiste à donner les numéros de 0 à 31 aux cartes selon le classement de leur valeur croissante au jeu de bridge : 7 de Trèfle (n° 0), 8 de Trèfle (n° 1), 9 de Trèfle (n° 2),....,Roi de Trèfle (n°6),As de Trèfle (n°7),
7 de Carreau (n°8), 8 de Carreau (n°9), 9 de Carreau (n°10),...,Roi de Careeau (n°14),As de Carreau (n°15), 7 de Coeur (n°16), 8 de Coeur (n°17), 9 de Coeur (n°18),....,Roi de Coeur (n°22), As de Coeur (n°23), 7 de Pique (n°24), 8 de Pique (n°25), 9 de Pique (n°26),....Roi de Pique (n°30),As de Pique (n°31).
A chaque numéro de carte, on associe sa représentation binaire. Par exemple le valet de Coeur (n° 20) est représenté par 10100 et l'As de Pique (n° 31) par 11111. Les 32 cartes sont ainsi représentées par les nombres binaires allant de 0 à 11111 et si on place les 32 cartes sur 4 rangées de 8 cartes chacune, on convient que les nombres 0 à 111 sont sur la première rangée, 1000 à 1111 sur le 2ème rangée, 10000 à 10111 sur la 3ème rangée, enfin 11000 à 11111 sur la 4ème rangée.
Dans la suite du texte, on retiendra cette numérotation. Bien entendu d'autres conventions peuvent être retenues dès lors qu'il est facile de les mémoriser, par exemple : numéroter les As de 0 à 3, puis les Rois de 4 à 7,puis les Dames de 8 à 11,etc....avec pour chaque figure l'ordre croissant Trèfle, Carreau, Coeur, Pique.
2) repérer rangée après rangée les positions des cartes faces visibles dans le tableau T₁
L’exemple de l’énoncé fait apparaître les 13 positions suivantes : 0,1,4,7,10,11,14,15,16,18,20,27 et 29 que l’on peut exprimer également en binaire et dont la NIM-addition (appelée encore "Xor" ou "ou exclusif"
dans le langage des informaticiens) donne un nombre binaire de 5 chiffres que Puce est en mesure de calculer rapidement (voir annexe)
L’addition des 13 nombres donne sur cinq lignes les nombres de la suite Σnim = {5,6,6,7,6}. Selon les règles de la NIM-addition, tout nombre pair de cette suite est remplacé par 0 et tout nombre impair par 1.D’où le nombre résultant t₁ = 10010 qui est la trace du tableau T₁ en NIM-addition.
t₁ ayant 5 caractères constitués de 0 ou de 1, il y a 2⁵ = 32 valeurs possibles et comme il y a 32 cartes, on peut ainsi établir une correspondance biunivoque entre la trace t₁ du tableauT₁ et la
numérotation binaire d’une carte.
Puce connaît le numéro de la carte X désignée par le public, donc sa représentation binaire : tx et il fixe t₂ = tx
Que t₂ soit distinct ou non de t₁,Puce va retourner la carte dont la position d en binaire permet de passer du tableau T₁ de trace t₁ au tableau T₂ (le seul que Zig pourra voir) de trace t₂.
Pour ce faire, Puce calcule t₂ – t₁ = d selon les règles de la NIM-soustraction qui sont strictement
équivalentes à celles de la NIM-addition et l'on a d = t₂ – t₁ = t₂ + t₁.Puce obtient ainsi le nombre d qui est la position en binaire de la carte à retourner.
Dans l'exemple qui est donné et avec la convention de numérotation retenue, Puce a retourné le Valet de Coeur qui est en position 7, on a d = 111.Que la carte retournée soit face visible ou non importe peu dans le calcul de la trace du nouveau tableau qui a pour NIM-addition t₁ + d = t₂ = 10010 + 111 = 10101 soit 21 en représentation décimale. La carte X est la carte n°21 ou encore la Dame de Coeur.
Remarques :
1) Si tx coiïncidait avec t₁, Puce retournerait la carte ayant la position 0, située en haut à gauche, en l'occurence le Valet de Pique dans le tableau T₁.
2) Les calculs de t₁, t₂ et d sont exactement les mêmes avec les cartes face invisible.
3) Si le deuxième volontaire met les 32cartes toutes faces visibles, la NIM-addition du tableau correspondant est évidemment 0. Il en serait de même si toutes les cartes étaient faces invisibles.
Après que Puce a retourné la carte située en jième colonne (j =1,2,..8) de la kième rangée (k = 1,2,3,4), Zig annonce immédiatement la carte ayant le numéro 8(k – 1) + j – 1
4) A une trace t₁ peut correspondre plusieurs configurations distinctes de cartes face visible mais cela ne gêne en rien Puce, l'essentiel pour lui est d'afficher la trace t₂, le terme crucial étant d = t₂ + t₁.
Annexe
Le calcul des traces t₁ et t₂ des tableaux T₁ et T₂ selon les règles de la NIM-addition est rapide.
On écrit dans la première grille ci-après les entiers de 0 à 31 en base 2 et on repère par les cases jaunes les chiffres 1.
Le chiffre 1 apparaît :
- en 1ère ligne avec les cartes occupant les positions 16 à 31, c’est à dire les deux dernières rangées des tableaux T₁ et T₂.
- en 2ème ligne avec les cartes occupant les positions 8 à 15 puis 24 à 31, c’est à dire les cartes occupant la 2ème rangée et la 4ème rangée.
- en 3ème ligne avec les cartes occupant les 5ème,6ème,7ème et 8ème colonnes.
- en 4ème ligne avec les cartes occupant les 3ème,4ème,7ème et 8ème colonnes.
- en 5ème ligne, avec les cartes occupant les 2ème,4ème,6ème et 8ème colonnes.
Dès lors pour calculer t₁(ou t₂), en allant de la gauche vers la droite,on a les règles suivantes : - le 1er caractère vaut 1 si le nombre de cartes faces visibles occupant les deux dernières
rangées est impair, sinon il est égal à 0.
- le 2ème caractère vaut 1 si le nombre de cartes faces visibles occupant les 2ème et 4ème rangées est impair, sinon il est égal à 0.
- le 3ème caractère vaut 1 si le nombre de cartes faces visibles dans les colonnes n°5,6,7,8 de T₁ est impair, sinon il est égal à 0.
- le 4ème caractère vaut 1 si le nombre de cartes faces visibles dans les colonnes n°3,4,7,8 de T₁ est impair, sinon il est égal à 0.
- le 5ème caractère vaut 1 si le nombre de cartes faces visibles dans les colonnes n°2,4,6,8 de T₁ est impair, sinon il est égal à 0.
Une fois que l'on dispose de tx, on peut directement donner la carte X à partir de la table de correspondance entre les 32 cartes et leur réprésentation binaire (voir §1) ci-dessus) ou passer par la représentation décimale si dans le calcul mental, on se sent plus à l'aise avec cette dernière.