Les jeux de Lewthwaite

jeudi 23 septembre 2021
par  Alain BUSSER , Sébastien HOARAU

Au début des années 1970, G.W. Lewthwaite, un physicien écossais, a inventé ce jeu à deux joueurs :

Le joueur que l’on aperçoit ci-dessus est âgé de 3 ans et pas encore scolarisé. On constate qu’il n’a pas attendu la petite section pour jouer à Lewthwaite (et parfois même y gagner). Ce jeu est donc praticable à tout âge, la durée moyenne d’une partie étant 2 minutes (dont une pour poser les jetons avant de commencer à jouer).

Matériel nécessaire :

Pour jouer à Lewthwaite, il faut

  • une grille de 5×5 cases
  • 12 jetons d’une couleur (ici, rouge) pour un des joueurs
  • 12 jetons d’une autre couleur (ici, bleu) pour l’autre joueur.

Caravane de l’IREMI

La caravane de l’IREMI dispose d’une copie plastifiée de ce document :

ainsi que de jetons (visibles sur les photos de l’article) obtenus en tranchant des bouchons de vin puis en les peignant avec de la peinture rouge ou bleue.

On peut aussi jouer en ligne, en cliquant ci-dessous :

La grille

Un échiquier ou un damier convient, un gobang aussi. Mais si on dispose d’une école élémentaire à proximité, les élèves de CE2 ou CM1 gagneraient à fabriquer la grille en classe : cela requiert l’usage de la règle graduée et fait donc travailler les nombres décimaux par la manipulation (ainsi que la notion de parallélisme). Il faut que la largeur de chaque case dépasse légèrement celle des jetons.

Les jetons

Si on dispose d’un jeu de go, les pierres d’icelui peuvent être réutilisées pour jouer à Lewthwaite. Les jetons de cet article ont été fabriqués avec des tranches de bouchon de vin (un bouchon donne 8 ou 9 jetons selon l’épaisseur choisie) coupées au cutter puis peintes à la bombe bleue ou rouge. Leur diamètre de 2 cm et leur épaisseur de 2 à 3 mm leur confère une maniabilité satisfaisante, comme on le voit sur les photos de cet article. Cependant, on ne peut exclure le risque que des morceaux de liège se détachent et finissent dans la bouche des enfants.

Il est donc recommandé d’utiliser plutôt des jetons récupérés d’un jeu de dames, voire des bouchons de bouteilles d’eau ou de compote.

Compétences mises en jeu

En PS le jeu de Lewthwaite développe surtout des compétences psychomotriciennes : jouer c’est bouger un jeton de sa couleur [1] depuis la case où il se trouve jusqu’à une case voisine et vide. Le mouvement se fait selon les cas « verticalement » ou horizontalement et Lewthwaite peut aider à percevoir les lignes perpendiculaires.

Avec le doigt

T. (6 ans, entre le CP et le CE1) pose le doigt sur le jeton pour le faire glisser sur le plateau :

Le petit R. (alors pas encore en PS) commence par faire de même :

Préhension

Mais plus tard, le même R. (3 ans) semble opter pour une autre manière : il prend le jeton entre le pouce et l’index pour le soulever puis le poser sur la case voisine :

C’est ce que l’on fait aux échecs et c’est pratique lorsque les pions sont en hauteur comme aux petits chevaux, échecs etc.

La plupart des élèves de PS ont du mal à se concentrer plus de quelques minutes sur une même tâche cognitive et Lewthwaite avec ses parties de durée généralement inférieure à 2 minutes (durée typique à 3 ans : 1 minute) est un bon exemple de jeu praticable durant toute l’école maternelle, voire après. Ce jeu, connu de l’IREM depuis la fête de la science 2017, se gagne souvent par hasard (et avec déception des joueurs qui trouvent la partie trop courte). L’essentiel étant ici de jouer, c’est-à-dire effectuer des manipulations des jetons sur la grille.

Il va de soi que le jeu est encore plus facile pour des élèves plus âgés comme par exemple en GS.

Placement des jetons

Avant de jouer, il faut mettre les jetons dans leur position initiale. Celle-ci alterne les jetons rouges et bleus dans un motif en damier. Comme 5×5=25 alors que 12×2=24, il y a forcément un jeton en trop : celui du centre, on l’enlève donc avant de commencer à jouer.

Placer les jetons est également un jeu intéressant. Cela peut être un jeu à un seul joueur. Cela peut même être un jeu de coloriage.

Exemples de parties

N. (11 ans, entre la 6e et la 5e) joue les rouges et finit par perdre contre son oncle M. (30 ans) :

La partie dure moins d’une minute, dont 32 secondes visibles ci-dessus. Noter que N. connaît bien les jeux de l’IREM (elle en a même créé certains) mais n’a pas réfléchi à l’existence d’une stratégie gagnante.

Son petit frère R. (3 ans ; joue les jetons bleus) perd à son tour (dans la joie) contre le tonton, en un peu moins d’une minute :

En effet c’est à R. de jouer, mais les 4 jetons rouges en croix empêchent tout jeton bleu de bouger, et R. est bloqué, ce qui fait que logiquement il est considéré comme perdant. Cette règle du jeu est naturelle et n’a même pas besoin d’être explicitée.

R. finit par gagner dans la revanche. Cette fois-ci il joue les rouges et finit par bloquer (probablement sans le faire exprès) les jetons bleus :

Durée d’une partie

énigme 1

S. (PE, qui joue les rouges) a gagné contre T. (6 ans) :

En combien de coups ?

énigme 2

M. (les bleus) vient de gagner contre sa nièce N. (les rouges).

Qui a joué en premier ?

énigme 3

N. (les rouges) a gagné contre M. (les bleus).

Combien de fois a-t-elle joué ?

énigme 4

M. les rouges) a gagné contre T. (les bleus).

A-t-il joué en premier ou en deuxième ?

énigme 5

M. (les rouges) joue contre R. (les bleus). La partie vient de commencer.

Mais combien de coups ont déjà été joués, et quelle est la couleur du jeton caché par M.?

énigme 6

R. (les bleus) vient de perdre contre M. (les rouges).

Quelle a été la durée (en nombre de mouvements) de la partie ?

énigme 7

R. joue les rouges contre M. qui joue les bleus.

Combien de fois R. a-t-il déjà bougé un jeton ?

Solution des énigmes

  1. 8 jetons ne sont plus à leur place initiale, il y a donc eu 8 mouvements de jetons : chaque joueur ou joueuse a effectué 4 mouvements et S. (PE, qui a joué en premier) a gagné.
  2. 19 jetons ont bougé durant la partie. C’est donc M. qui a joué en premier.
  3. 18 jetons ne sont plus à leur place initiale. Chaque joueur a donc bougé 9 jetons. Et c’est M. qui avait joué en premier.
  4. 18 jetons ont quitté leur place initiale. Chaque joueur a joué 9 fois. C’est M. qui avait joué en second.
  5. On voit 11 jetons rouges et 12 jetons bleus. Le jeton caché est donc rouge. Il est à sa place initiale. Donc 9 jetons ont bougé depuis le début de la partie. C’est au tour de M. de jouer, il a déjà joué 4 fois. R. a joué 5 fois et c’est donc R. qui a joué en premier.
  6. 20 jetons ne sont plus à leur place initiale. Chaque joueur a donc bougé 10 fois un jeton. Il s’agit d’une partie exceptionnellement longue, et pourtant R. (3 ans) n’a pas relâché son attention.
  7. Seuls 6 jetons ne sont pas à leur place initiale. M. a donc joué 3 fois et R. aussi. Les jetons ayant bougé sont entourés de vert, ici :

Ceci permet de reconstituer le début du jeu.

Les solutions des énigmes sont basées sur une constatation : aucun jeton ne peut bouger plus d’une fois [2]

Variant

Voir ici avec des cases coloriées : au début du jeu chaque pion est sur une case de sa propre couleur. C’est la base d’une théorie mathématique du jeu.

Preuve qu’aucun jeton ne bouge plus d’une fois :

  • Initialisation : au début du jeu, la case vide est noire, donc seul un pion qui est sur une case blanche peut aller sur cette case centrale (car les cases voisines d’icelle sont blanches. Ce pion est nécessairement blanc et libère une case blanche.
  • Hérédité : si, à un moment du jeu, aucun pion n’a bougé plus d’une fois, le pion qui vient de bouger a quitté une case de sa propre couleur, la libérant. Le pion qui va bouger (s’il y en a un) va donc aller vers une case de la couleur adverse et provient nécessairement d’une case de sa propre couleur : il va lui aussi bouger pour la première fois.

Ceci montre par récurrence qu’aucun pion ne bouge plus d’une fois.

Preuve de l’existence d’un variant :

Par conséquent, le nombre de jetons n’ayant pas encore bougé est un entier décroissant d’une unité à chaque fois qu’un joueur fait un mouvement (c’est ce qu’on appelle un variant). Comme ce nombre vaut 24 au départ, et ne peut être négatif, aucune partie de Lewthwaite ne peut durer plus de 24 mouvements.

Iln’existe donc pas de partie nulle dans Lewthwaite, et il est possible (en théorie du moins) de construire l’arbre du jeu et d’en déduire par l’algorithme minimax une stratégie gagnante. Celle-ci est décrite plus bas.

statistiques

Il est un fait expérimental que peu de parties durent plus de 20 mouvements. Et on voit bien qu’aucune partie ne dure moins de 6 mouvements. Voici une étude statistique menée sur des milliers de parties simulées en Python. Le plateau de jeu est modélisé par une matrice où un 0 indique un jeton n’ayant pas encore bougé, et un 1 indique un emplacement qui a été vide à un moment du jeu.

  1. from random import *
  2.  
  3. M = [[0 for i in range(5)] for j in range(5)]
  4. M[2][2] = 1

Télécharger

Pour savoir quelles sont les cases d’où un jeton peut provenir, on est obligé de tenir compte des bords :

  1. def voisins(i,j):
  2.     v = []
  3.     if i>0:
  4.         v.append((i-1,j))
  5.     if i<4:
  6.         v.append((i+1,j))
  7.     if j>0:
  8.         v.append((i,j-1))
  9.     if j<4:
  10.         v.append((i,j+1))
  11.     return v

Télécharger

Mais un jeton ne peut provenir que d’une case voisine sur laquelle aucun mouvement n’a déjà été effectué :

  1. def destinations(i,j):
  2.     return [(x,y) for (x,y) in voisins(i,j) if M[x][y]!=1]

Télécharger

Alors pour simuler une partie de Lewthwaite, on déplace aléatoirement la case vide de jeton, jusqu’à ce que ce ne soit plus possible parce que aucun des voisins n’est plus accessible. Un compteur sert à connaître la longueur de la partie :

  1. def sarw():
  2.     longueur = 0
  3.     global M
  4.     M = [[0 for i in range(5)] for j in range(5)]
  5.     M[2][2] = 1
  6.     xr,yr = 2,2
  7.     while len(destinations(xr,yr)):
  8.         longueur += 1
  9.         xr,yr = choice(destinations(xr,yr))
  10.         M[xr][yr] = 1
  11.     return longueur

Télécharger

Sur 100 000 parties, on a ces statistiques :

Quand ils jouent totalement au hasard (ce qui semble être le cas chez les plus jeunes joueurs), le premier joueur gagne dans environ 35 % des cas (soit un peu plus du tiers) et le second, dans environ 65 % des cas (on peut donc dire que ce jeu est à l’avantage du second joueur à 2 contre 1). La durée moyenne d’une partie de Lewthwaite est environ 15,3.

Le nom sarw de la fonction est une abréviation de self avoiding random walk. En effet le mouvement de la case vide de jeton est un chemin_auto-évitant. Voir plus bas la partie sur le taquin.

Dominos

Stratégie gagnante

La partie du plateau de jeu ne comportant pas la case centrale comprend 25-1=24 cases. Il est donc possible de la paver par 12 dominos, comme par exemple ici :

Or si chaque fois que le premier joueur déplace un jeton, le second déplace le jeton couvert par le même domino, il reste possible au cours du jeu de faire pareil : si, à un moment, ce n’était plus possible, cela signifierait que le second jeton du même domino aurait déjà bougé au cours du jeu. Mais dans ce cas, le premier jeton aussi aurait bougé. La stratégie « bouger le jeton couvert par le même domino que celui qui a été joué » est donc applicable (par le second joueur) tout au long du jeu.

Or cette stratégie aboutit à une durée paire du jeu et elle est donc gagnante pour le second joueur.

On peut la généraliser (ainsi que le jeu de Lewthwaite) à des variantes du jeu, où la case vide n’est pas nécessairement la case centrale, et où il y a plus de cases, comme par exemple ici.

Taquin

A l’aide de PyGraph (un outil de modélisation et de visualisation de graphes), on peut représenter une partie avec un seul pion : jaune joue contre bleu.

Script Python

Sous réserve que l’on ait fait un

  1. import pygraph

le script suivant permet de modéliser le jeu de Lewthwaite :

  1. class Lewthwaithe:
  2.        
  3.     def __init__(self):
  4.         self.graph = pygraph.DiGraph(25)
  5.         self.player = 1
  6.         self.pion = 12
  7.    
  8.     def _set_nodes_position(self):
  9.         y = -1
  10.         for node_id in range(25):
  11.             if node_id % 5 == 0:
  12.                 y += 1
  13.                 x = 0
  14.             else:
  15.                 x += 1
  16.             self.graph.position([(node_id, x, y)])
  17.         self.graph.scale(0.5)
  18.    
  19.     def _set_nodes_color(self):
  20.         for node_id in range(25):
  21.             if node_id % 2 == 0 and node_id != self.pion:
  22.                 self.graph.color_on(node_id, 'lightgrey')
  23.         self.graph.color_on(self.pion, self.player)
  24.         #self.graph.color_on()
  25.  
  26.     def init_view(self):
  27.         self._set_nodes_position()
  28.         self._set_nodes_color()
  29.        
  30.        
  31.     @property
  32.     def view(self):
  33.         return self.graph.view
  34.  
  35.     def next_player(self):
  36.         self.player = 1 - self.player
  37.    
  38.     def play(self, node_id):
  39.         self.graph.add_edge(self.pion, node_id)
  40.         self.pion = node_id
  41.         self.next_player()
  42.         self.graph.color_on(self.pion, self.player)
  43.         return self.view
  44.    
  45.     def reset(self):
  46.         del self.graph
  47.         self.graph = pygraph.DiGraph(25)
  48.         self.init_view()
  49.    
  50.     def start(self):
  51.         self.init_view()

Télécharger

Alors un simple

  1. jeu = Lewthwaithe()
  2. jeu.start()
  3. jeu.view

Télécharger

permet de visualiser les étapes du jeu, en entrant

  1. jeu.play(n)

n est le numéro de la case jouée.

Cela permet de montrer des animations comme celle ci-dessous.

Un sommet coloré en jaune indique que c’est à jaune de jouer c’est-à-dire déplacer l’unique pion sur un sommet blanc, quand le sommet est bleu c’est à bleu de déplacer le pion sur un sommet gris.

Ci-dessous un exemple de partie où jaune perd en 12 coups :

Sans couleurs

En fait, le graphe est bipartite, ce qui fait que le jaune et le bleu n’ont pas besoin d’être distingués l’un de l’autre. En fait, si on se concentre sur le mouvement de la case sans jeton (modélisée ci-dessous par un pion), on peut jouer à Lewthwaite avec un seul pion sur une grille :

Comment jouer à Lewthwaite avec un seul pion

Il s’agit donc d’une version à deux joueurs de snake (genre de jeu vidéo). L’intérêt de la grille 5×5 pour jouer à ce snake à deux joueurs, semble lié au fait qu’il s’agit d’un graphe hamiltonien. Il peut être intéressant d’explorer ce même jeu sur d’autres graphes bipartites hamiltoniens.

L’autre jeu de Lewthwaite

Le même G.W. Lewthwaite a fait connaître un autre jeu basé sur le taquin 5×5 :

Matériel

Pour ce jeu, il faut des plaques carrées coulissant l’une contre l’autre, chacune comportant deux quarts de cercle joignant les milieux de deux côtés consécutifs. On peut aussi jouer avec des cartes imprimées (puis découpées selon les traits fins) à partir de ce document :

Le document ci-dessus permet à 4 joueurs de jouer (chaque paire de joueurs utilisant 24 des 48 cartes découpées).

En ajoutant des cartes dont les milieux des côtés opposés sont joints par des segments, on peut jouer aussi à ce jeu qui semble avoir inspiré ceux de Lewthwaite.

Placement des cartes

Il s’agit de placer les cartes de manière que les orientations alternent : chaque carte orientée du nord-est vers le sud-ouest doit être entourée de cartes orientées du sud-est vers le nord-ouest, et vice-versa. Le placement est facilité par le fait qu’on obtient un motif en peau de léopard avec des cercles répartis sur la grille :

Exemples de parties

Cette partie s’est terminée au bout de 6 mouvements (3 par joueur, c’est donc le second joueur qui a gagné) :

Celle-ci s’est terminée au bout de 8 mouvements (là encore c’est le second joueur qui a gagné) :

On ne connaît pas de stratégie gagnante pour ce jeu à l’heure actuelle. Mais cela n’enlève rien au plaisir d’y jouer, et le jeu développe la vision des lignes.


[1ce qui fait que Lewthwaite peut aussi aider à détecter des cas de daltonisme

[2La preuve est d’Ivan Riou.


Commentaires