Intelligence Artificielle

0 leçon(s) terminée(s) sur 6 (0 %)

Fabriquer une machine qui apprend à jouer au jeu de Nim (privé)

Ceci est une leçon d’aperçu

Inscrivez-vous ou connectez-vous pour suivre cette leçon.

NDLR : la leçon suivante montre avec un exemple très simple que la récompense est le principal moteur de l’apprentissage ; n’est-ce pas ainsi que l’on dresse les animaux ?

Le jeu des bâtonnets Fort Boyard (Variante du jeu de Nim)

But du jeu :

Le jeu des bâtonnets est un classique de Fort Boyard parmi les duels dans la salle des Maîtres du Temps. Il se joue à deux. La règle de ce jeu est très simple :

21 bâtonnets en bois sont alignés les uns à côté des autres, entre les deux joueurs. A tour de rôle, chacun des 2 concurrents va devoir en retirer un, deux ou trois bâtonnets à l’endroit de son choix. Le but est bien entendu de laisser le dernier bâtonnet à son adversaire ! Il faudra donc réfléchir à une stratégie et ne pas retirer de bâtonnet au hasard. Le joueur se retrouvant avec le dernier bâtonnet perd le duel.

Un peu d’histoire

Le jeu des bâtonnets est un jeu de duel qui demande avant tout logique et stratégie. Il est aussi connu sous le nom actuel de « jeu de Nim », nommé ainsi par le mathématicien anglais Charles Leonard BOUTON en 1901. En effet, il a trouvé un algorithme permettant de gagner à tous les coups grâce au « Nimrod », le premier ordinateur conçu en 1951, dont le seul but est de permettre de jouer au jeu de Nim.

Source : Jeu de fête

Nous allons à présent simplifier le jeu en utilisant que 8 bâtonnets et deux tirages maximum et fabriquer une machine qui apprend à jouer.

Jeu simplifié des bâtonnets

Il faut placer les huit verres numérotés de 1 à 8 avec les huit allumettes en vis-à-vis ainsi qu’un petit récipient devant chaque verre. Dans les verres 2 à 7, il faut placer deux billes de chaque couleur (jaune et rouge pour nous). Dans le verre 1, il faut mettre seulement deux billes jaunes. Voir cette vidéo pour mieux comprendre : https://www.youtube.com/watch?v=6Z72UuMYBQs

Il y a donc trois rôles ici : un·e joueur·se humain·e, la machine et un·e opérateur·trice qui effectue le tirage aléatoire des billes pour la machine (l’opérateur·trice amène l’énergie mécanique à cette machine puisqu’il n’y a pas d’électricité).

Comment la machine joue-t-elle ?

La machine va commencer. Comme il y a au départ huit allumettes, on va tirer dans le verre 8, une bille de couleur au hasard. On la pose dans le petit récipient à côté du verre 8. Si cette bille est jaune, la machine enlève une allumette ; si elle est rouge, elle enlève deux allumettes. Ensuite, c’est au tour de l’humain·e qui enlève une ou deux allumettes. Quand c’est au tour de la machine, on pioche au hasard une bille dans le verre correspondant au nombre d’allumettes restantes dans la partie.

La machine gagne si elle empoche la dernière allumette, elle perd si c’est l’humain·e qui prend la dernière allumette.

La machine joue au hasard. Pas très efficace… mais à la fin de la partie vient le processus d’apprentissage.

Expérimentation de la machine

Nous allons réaliser ce jeu non pas en vrai mais grâce à un tableur qui simulera les tirages au hasard.

Voici une façon de présenter le même jeu que précédemment :

Ci-dessous le joueur B est la machine et le joueur A représente l’humain.

Réalisation de la page du tableur pas à pas :

Étape 1 : Créer un nouveau classeur Excel

  1. Ouvrez Excel.
  2. Créez un nouveau classeur (Fichier > Nouveau).

Étape 2 : Définir les paramètres du jeu

  1. Dans la première feuille (Feuille1 par défaut), nommez la feuille « Params » en double-cliquant sur l’onglet en bas de la fenêtre et en saisissant « Params ».
  2. Dans la cellule B1 de la feuille « Params », saisissez le nombre initial de billes dans les gobelets (par exemple : 2) et dans la cellule D1 la valeur de la récompense (par exemple, 1).

Étape 3 : Créer le tableau principal du jeu

  1. Créez une nouvelle feuille en double-cliquant sur un onglet en bas et en la nommant « Jeu de Nim » par exemple.
  2. Dans la feuille « Jeu de Nim », créez un tableau avec les colonnes suivantes : « Nb Bleus », « Nb Rouges », « Tirage couleur », « Joueurs », « Nb Allumettes ».

Étape 4 : Remplir le tableau avec des formules

Maintenant, vous pouvez guider les élèves pour remplir le tableau avec les formules appropriées.

Les cellules B2 et B3 font référence à la feuille « Params ». Copier-coller la formule sur les deux lignes. Attention à la référence absolue !

En B4 nous allons effectuer un tirage au sort d’un nombre entier entre 1 et la somme des billes (B2 et B3)

En C4 il faudra saisir la fonction suivante :

=SI(OU(B6="Un";A6="Deux");ALEA.ENTRE.BORNES(1;SOMME(C2:C3));"")

puis recopier la formule sur toute la ligne

Une analyse de cette formule est nécessaire et elle fera l’objet d’une question

En B5 saisir B et en C5 il faudra saisir la fonction suivante :

=SI(C4<>"";SI(B5<>"";CAR(65+MOD(CODE(B5)-65+1;2));CAR(65+MOD(CODE(A5)-65+1;2)));"")

puis recopier la formule sur toute la ligne

Une analyse de cette formule est nécessaire et elle fera l’objet d’une question

En B6 il faudra saisir la fonction suivante :

=SI(B4<>"";SI(B5="A";CHOISIR(ALEA.ENTRE.BORNES(1;2);"Un";"Deux");SI(B4<=B2;"Un";"Deux"));"")

puis recopier la formule sur toute la ligne

Une analyse de cette formule est nécessaire et elle fera l’objet d’une question

En B7 il faudra saisir la fonction suivante :

=SI(ET(B6<>"";B5="B");SI(B6="Un";SI($J6="Gagné";B2+Params!$D$1;SI(B2-Params!$D$1<=0;Params!$B$1;B2-Params!$D$1));B2);B2)

puis recopier la formule sur toute la ligne. Faire de même en B8

Une analyse de cette formule est nécessaire et elle fera l’objet d’une question

En J5 saisir B puis en J6 il faudra saisir la fonction suivante :

=SI(OU(ET(H5="B";H6="Deux");ET(I5="B";I6="Un"));"Gagné";"Perdu")

Une analyse de cette formule est nécessaire et elle fera l’objet d’une question

A présent tout est en place pour faire une recopie vers le bas des 5 lignes nécessaires de A7 à J11, la colonne K sera vue ultérieurement.

Il reste à réaliser un diagramme des résultats afin de les visualiser !

Source : culture Sciences Physiques