Comptes Rendus MATh.en.JEANS 04-05
Enseignants : Yann BOURIT, Eric MARTINOD (Clg. Nézant) & Frédéric ALBERTINI, Christian GEORGES (Clg. Lebrun).
Chercheur : François PARREAU (Inst. Galilée, Univ. Paris 13, 93-Villetaneuse).
Jumelage MATh.en.JEANS entre les collèges L'Ardillière de Nézant à Saint-Brice sous forêt (95) et Charles Lebrun à Montmorency (95). Option 4ème scientifiqu et Atelier de Pratique Scientifique, année scolaire 2004-2005.
[Résumé (par les éditeurs). ] |
Plan
[Ce texte reprend l'exposé présenté au congrès 2005].
-Le jeu de Nim est un jeu qui se joue a deux joueurs.
-On place un certain nombre de tas (au choix) avec un certain nombre d'allumettes dans chaque tas (au choix) !
-Alternativement, chaque joueur enleve un certain nombre d'allumettes (une au minimum ou n'importe quel nombre même le tas complet, peut importe) mais dans un seul tas !!!!!!!!!
-Le jeu s'arrête lorsqu'il n'y a plus d'allumettes. Le gagnant est celui qui prend la dernière allumette.
Nous parlerons d'une situation perdante lorsque le premier joueur perd à tous les coups [quoiqu'il fasse] et donc le second gagne.
Exemple : on part de la situation 1-2-3 | |||
|
1 |
2 |
3 |
|
0 |
2 |
3 |
|
0 |
2 |
2 |
|
0 |
0 |
2 |
|
0 |
0 |
0 |
|
1 |
2 |
3 |
---|---|---|---|
|
1 |
0 |
3 |
|
1 |
0 |
1 |
|
1 |
0 |
0 |
|
0 |
0 |
0 |
|
1 |
2 |
3 |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Conclusion : |
1. Définition de Stella :
Stella est le nom donné à l'opération, notée « * », où l'on voit les solutions perdantes.
Par exemple, jouer avec un tas de 1 allumette, un tas de 2 et un tas de 3 est une solution perdante, on écrit 1 * 2 = 3.
2. La table de Stella :
a. Définition :
On range tous les résultats dans un tableau appelé table de Stella. Elle se lit de la ligne horizontale qui a le nombre d'allumettes du premier tas, vers la ligne verticale qui a celui du deuxième tas. A l'intersection de ces lignes, on voit le nombre d'allumettes qu'il doit y avoir dans le troisième tas pour avoir une solution perdante (voir en bas de partie).
b. Premières propriétés :
Il existe une diagonale de zéros qui forme un axe de symétrie de la table car les positions 1 * 1 ; 2 * 2 ; 3 * 3 ; donnent la diagonale et pour chacune d'elles on revient à un jeu à deux tas identiques (solution perdante) entraînant donc 1 * 1 = 0 ; 2 * 2 = 0 ; 3 * 3 = 0 ; formant ainsi la diagonale de zéros.
Pour vérifier que c'est un axe de symétrie prenons une position perdante, par exemple la position 1 * 2 = 3. La position 2 * 1 = 3 est aussi une position perdante car lorsqu'on joue l'ordre des tas nest pas important, en effet le fait d'avoir le tas d'allumettes à droite, au milieu ou à gauche ne change pas le jeu.
De plus on peut déduire de ce qui précède qu'il y a plusieurs façons d'écrire la position 1 * 2 = 3 qui restera toujours perdante : 2 * 1 = 3 (pour l'axe de symétrie), mais aussi 1 * 3 = 2 ; 2 * 3 = 1 ; 3 * 1 = 2 ou 3 * 2 = 1.
c. La table de Stella :
|
|
|
|
|
|
|
Voici le début de la table de Stella où sont notées : Ø la diagonale de zéros (en rouge) ; Ø les positions qui s’en déduisent (en vert) ; Ø la position perdante 1 * 2 = 3 avec toutes celles qui s’en déduisent (en bleu).
|
|
|
|
|
|
| ||
|
|
|
|
|
| ||
|
|
|
|
|
| ||
|
|
|
|
|
| ||
|
|
|
|
|
La même chose vue par le professeur :
si on a trois tas d'allumettes, avec :
le premier joueur perd toujours car il ne peut pas ramasser la dernière allumette (à condition que le deuxième joueur joue bien).
On dira donc que la position (1 ; 2 ; 3) est une position perdante.
On a décidé de faire comme si c'était une opération et d'appeler cette opération « stella ». On la note *.
On a commencé par dire que, comme la position (1 ; 2 ; 3) est une position perdante, on dira que 1 * 2 = 3 (ou 1 « stella » 2 = 3).
Evidemment, pour pouvoir parler d'opération, il faudrait vérifier qu'il n'y a pas d'autre position perdante à trois tas avec 1 allumette dans le premier tas et 2 allumettes dans le deuxième. C'est ce qu'on a essayé de faire à la partie 4.
D'autre part, l'ordre des tas dans le jeu de Nim n'a aucune importance.
Donc, si la position (1 ; 2 ; 3) est perdante, les positions suivantes seront aussi perdantes :
( 1 ; 3 ; 2) est perdante donc 1 * 3 = 2
( 2 ; 1 ; 3) est perdante donc 2 * 1 = 3
( 2 ; 3 ; 1) est perdante donc 2 * 3 = 1
( 3 ; 1 ; 2) est perdante donc 3 * 1 = 2
( 3 ; 2 ; 1) est perdante donc 3 * 2 = 1
Puis nous avons décidé de mettre tous ces résultats dans une table, comme la table de Pythagore pour les multiplications.
* (stella)
0
1
2
3
0
1
3 2 2
3
1 3
2 1
Définition
D'une façon plus générale, on dira que n * p = q (ou n stella p = q) si la position ( n ; p ; q ) est perdante.
C'est à dire que si on a n allumettes dans le premier tas, p allumettes dans le deuxiéme tas et q allumettes dans le troisième tas alors le premier qui joue ne peut pas prendre la derniére allumette (à condition que le deuxiéme joueur joue comme il faut).
Avant de s'intéresser au jeu de Nim à trois tas, nous avons d'abord joué avec deux tas.
Avec deux tas, c'est comme s'il y avait un troisième tas sans allumettes dedans, il compte comme zéro.
On a trois allumettes dans chaque tas |
3 |
3 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LE JOUEUR B GAGNE !!!!!
On a remarqué que si il y avait le même nombre d'allumette par tas, le second joueur n'a qu'a imiter l'adversaire pour gagner
1*1=0; 2*2=0; 3*3=0 etc...
n*0=0; 0*n=0
Par contre si il n'y a pas le même nombre, il suffit au premier joueur de ramener le jeu à deux tas égaux et ensuite imiter son adversaire pour gagner.
Nous avons donc pu continuer la table de stella(*).
* |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|||||||
|
|
|
|
|
|||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|
|
Comment remplir la table de Stella ?
Aprés avoir rempli les 6 premières lignes et colonnes de la table en jouant toutes les parties possibles, il nous a semblé qu'on pouvait continuer à remplir la table à l'aide de deux règles :
Conséquence de ces règles : si on a un nombre n dans une case, on aura tous les nombres inférieurs à n dans les cases situées avant ou au-dessus de cette case.
Existence d’une solution perdante :
D'aprés les régles définies ci-dessus, on trouve que 5 * 3 = 6.
C'est à dire que ( 5 ; 3 ; 6 ) doit être une position perdante.
Supposons que le premier joueur pioche dans le tas de 5 allumettes (s'il piochait dans un autre tas, on utiliserait un procédé similaire à celui qu'on va vous montrer).
On va regarder les nombres contenus dans les cases au-dessus du 6 dans la colonne 3.
Deux cas sont à envisager selon que ces nombres soient inférieurs ou supérieurs à 6.
*
0
1
2
3
0 0 1 2 3 1 1 0 3 2 2 2 3 0 1 3 3 2 1 0 4 4 5 6 7 5 5 4 7 6
Soit a, b et c trois nombres entiers naturels tel que c = a * b (c est obtenu avec les règles 1 et 2).
On a vu à la partie 2 que si l’une des égalités a * b = c, b * c = a ou c * a = b est une solution perdante alors les deux autres le sont aussi car l’ordre des trois tas a, b, et c n’a pas d’importance.
Le premier joueur peut donc choisir n’importe quel tas pour enlever des allumettes, par exemple il retire x allumettes dans le tas a.
(1) signifie que dans le tableau le rectangle obtenu avec les cases des a premières lignes et b premières colonnes à l’exception de la dernière case ( a * b ), toutes les solutions obtenues à l’aide des règles 1 et 2 sont perdantes. Cette supposition permet de vérifier que le tableau ne contient que des solutions perdantes colonne par colonne.
En effet, d’une part, si tel n’était pas le cas alors la case (a – x) * b du tableau aurait comme particularité de contenir un nombre supérieur à c, bien que c ne serait apparu précédemment ni dans la ligne a – x ni dans la colonne b ce qui contredit la règle 2 du remplissage du tableau, d’autre part le nombre c ne peut pas figurer deux fois dans la colonne b d’après la règle 1.
Donc il faut jouer en laissant
m allumettes dans le tas b
et cette solution est perdante d’après (1).
|
|
Les propriétés de la table de Stella
Ce qui est évident, car si ( n ; p ; q ) est une position perdante, ( p ; n ; q ) le sera aussi.
Nous les avons représentées de différentes couleurs sur la table. Les carrés sont de différentes grandeurs. Par exemple les carrés de côté 2 sont représentés en jaune.Les carrés de côté 4 en violet clair ou foncé, les carrés de côté 8 en noir ou bleu clair et nous n'avons que commencé les carrés de côté 16 en rose ou blanc.
le carré de côté 4 en violet est identique au carré de côté 4 en jaune-vert situé en haut à gauche.
le carré de côté 8 en bleu clair est identique au carré de côté 8 en jaune-vert-violet situé en haut à gauche.
* |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nous avons également remarqué qu'il y a une espèce de translation.
Par exemple, dans le tableau ci-dessous, pour obtenir toutes les cases d'un des carrés verts, il suffit d'ajouter 2 à la case qui se trouve deux cases avant ou deux cases plus haut: 0+2=2 ; 1+2=3 etc.
* |
0 |
1 |
2 |
3 |
---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
De même, si on passe aux carrés de
côté 4, pour passer d'une case violette à la case
bleue située 4 cases plus loin ou 4 cases plus bas, on ajoute
4.
* |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[Une technique de calcul]
Comme c'était trop long de jouer toutes les parties pour trouver les positions perdantes dans notre table de stella, surtout pour des grands nombres, nous avons cherché une technique pour calculer n'importe quelle « opération » dans la table.
Nous allons chercher combien vaut 85 * 97
* |
0 |
... |
33 |
... |
63 |
64 |
97 |
127 |
127 |
---|---|---|---|---|---|---|---|---|---|
0 |
|||||||||
... |
|
|
|
|
|
|
|
|
|
21 |
|
|
x |
|
|
|
|
|
|
... |
|
|
|
|
|
|
|||
63 |
|
|
|
|
|
|
|||
64 |
|
|
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
85 |
|
|
|
|
|
|
x |
|
|
... |
|||||||||
127 |
|
|
|
|
|
|
|
|
|
Ensuite il faut soustraire la puissance de 2
inférieure aux nombres (ici 64). Donc 85*97 = (85-64)*(97-64) = 21 * 33 on obtient
alors une opération plus petite donc un peu plus
simple.
2éme phase : Mais là, il y a une complication, dans la phase précédente, les deux nombres étaient encadrés par les mêmes puissances de 2. Mais cette fois , on remarque que c'est différent : 16 < 21 < 32 alors que 32 < 33 < 64 !!!
* |
0 |
1 |
... |
16 |
... |
31 |
32 |
33 |
63 |
---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
| |||
... |
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| |||
... |
|
|
|
|
|
|
| ||
|
| x-32 |
|
|
|
|
| ||
... |
|
|
|
|
|
|
| ||
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
Donc nous faisons l'étape suivante : nous
avons vu à la partie 5 que, pour obtenir le carré vert,
il faut ajouter 32 à chaque case du carré jaune. En
particulier, pour obtenir le nombre situé dans la case 21 *
33, il faut faire la somme du nombre situé dans la case 21 * 1
(situé 32 cases avant) et de 32 (car on a changé de
couleur).
Ou 21*33 = (21* (33-32)) +32 = (21*1) +32.
En procédant de la même façon, nous avons trouvé que :
21*1 = ((21-16)*1) + 16 = (5*1) + 16Puis 5*1 = ((5-4)*1) + 4 = 1*1 + 4
Or nous savons que 1*1 = 0 car c'est une position symétrique. En remontant toutes ces opérations, nous trouvons que :
85 * 97 = 0 + 4 + 16 + 32 = 52
Simplification de cette technique
On voit bien avec la méthode ci-dessus qu'il suffit de décomposer les nombres de l'opération en puissances de 2 et de supprimer les puissances de 2 qui apparaissent dans les deux nombres car cela revient à remonter d'un carré de même couleur sur la diagonale.
Ainsi :
85 = 64 + 21
85 = 64 + 16 + 5
85 = 64 + 16 + 4 +1
Et 97 = 64 + 33
97 = 64 + 32 + 1
Ensuite il suffit de retirer les puissances de 2 qui sont les mêmes dans les 2 décompositions ( 64 et 1 ) et d'ajouter les restes.
Donc nous avons
85 * 97 = 16 + 32 + 4 = 52
|
|
Le jeu de nim à quatre tas
Nous avons essayé de compliquer le problème, en ajoutant un tas.
Une situation symétrique : On a d'abord cherché lorsqu'on avait quatre fois le même nombre dans chaque tas. Et nous avons remarqué, que c'était une solution perdante. On a essayé de mettre deux tas identiques, suivit de deux tas identiques différents du premier, pas exemple, 2 2 3 3 : c'est aussi une solution perdante.
Pour une position symétrique comme 2 2 3 3, on a d'abord utilisé la même technique que pour un tas de 2 c'est à dire imiter l'adversaire.
5 tas, une situation non symétrique : On en a déduit l'hypothèse que deux solutions perdantes superposées forment une solution perdante.
Donc 1 2 3 2 2 est une solution perdante, et on a trouvé une stratégie qui consiste d'abord à séparer la solution par exemple 1 2 3 2 2 --> 1 2 3 / 2 2.
Ensuite on joue chaque solution séparément (selon ce que joue l'adversaire)
Le Calcul :
On s'est servit du système de la table de stella [...] pour trouver le quatrième tas lorsqu'on n'en avait que trois.
Exemple: 3*2*7= ?
On fait d'abord 3*2=1 et ensuite on fait 1*7=6 c'est comme si on avait mis des parenthèses à 3*2. Donc (3*2)*7=6
Mais on peut aussi faire le calcul dans l'autre sens.
3*2*7=? On fait d'abord 2*7=5 et ensuite 3*5 =6 c'est comme si on avait mis des parenthèses à 2*7. Donc 3*(2*7) = aussi 6.
on peut supposer que la position (3 ; 2 ; 7 ; 6) est perdante d'habitude le jeu de marienbad est posé avec le position (1 ; 3 ; 5 ; 7)
1*3=2
2*5=7
Donc on suppose que la position (1 ; 3 ; 5 ; 7) est perdante.
En jouant toutes les possibilités on s'est aperçu que c'était bien une position perdante.
JEU DE NIM, STRATÉGIE, NIM-ADDITION, STELLA, TAS
Comptes Rendus
MATh.en.JEANS
|
© MATh.en.JEANS 2009. Tous droits réservés. |
Retour au début d'article |
Retour aux Comptes Rendus MATh.en.JEANS |