Ligne 203 : | Ligne 203 : | ||
L’algorithme converge au bout d’une dizaine partie environ (regardez le nombre de perles extraites !). | L’algorithme converge au bout d’une dizaine partie environ (regardez le nombre de perles extraites !). | ||
− | |Notes=* Une machine en boîtes d’allumettes qui apprend à jouer au Morpion - Le 26 février 2016 - Ecrit par Lisa Rougetet : https://images.math.cnrs.fr/Une-machine-en-boites-d-allumettes-qui-apprend-a-jouer-au-Morpion.html | + | |Notes=*Une machine en boîtes d’allumettes qui apprend à jouer au Morpion - Le 26 février 2016 - Ecrit par Lisa Rougetet : https://images.math.cnrs.fr/Une-machine-en-boites-d-allumettes-qui-apprend-a-jouer-au-Morpion.html |
+ | *Le MOOC Class'code sur l'IA : https://www.fun-mooc.fr/courses/course-v1:inria+41021+session01/about | ||
}} | }} | ||
{{Tuto Status | {{Tuto Status | ||
|Complete=Published | |Complete=Published | ||
}} | }} |
Auteur Antony Le Goïc-Auffret | Dernière modification 10/05/2024 par Nicco
Intelligence artificielle, IA intelligence_artificielle_DIY_imbatable___l_hexapion_20200126_204813.jpg
Imprimez les éléments suivant en téléchargeant le fichier joint (voir à côté de la liste du matériel) :
Avec une imprimante noir et blanc, choisissez le bon fichier et coloriez à la main !
Pour jouer à l'Hexapion, il vous faut trouver des pièces pour le jeu. Pour cela, vous pouvez fouiller dans votre vieux coffre à jouets ou fouiner dans un magasin pour trouver :
Et sinon, vous pouvez les faire vous-même, par exemple avec une imprimante 3D.
Il y a 2 type de pièces :
voici les quantité :
Sources des fichiers : ces fichiers sont librement réutilisable en citant les auteurs (licence CC-By).
Vous ytrouvez ces deux fichier joint à cette page à côté du matériel
1) Un pion ne peut se déplace que d’une case en ligne droite (avancer).
2) Un pion peut manger un autre : en diagonale (il prend la place du pion mangé qui est retiré du jeu).
3) Il y a trois manières de gagner à l’Hexapion :
Déroulement d’une partie :
C'est le joueur humain qui commence car il faut de la "matière" pour que l'IA puisse fonctionner.
L’animateur joue pour l’IA en utilisant les boites d'allumettes qui représentent des états du jeu. Les positions équivalentes du point de vue des actions de l’IA ne sont pas représentées (par exemple, seule la boite avec le pion de gauche avancé est représenté, c’est l’équivalent de la situation avec le pion droit avancé).
Tour 1 : Le joueur humain avance un pion.
Tour 2 : L’IA joue avec une des boites marquées 2.
L’animateur prend la boite d'allumette correspondant à la situation de jeu et tire une perle au hasard.
Il joue le coup de la couleur indiquée et garde la perle (il la pose sur la boite par exemple).
Tour 3 : Il y a deux situations possibles : le joueur humain gagne ou bien la partie continue.
Tour 4 : L’IA joue avec une des boites marquées 4. l’animateur tire une perle hasard et joue pour l’IA. Il n’y a que 2 résultats possibles :
Tour 5 : ce tour possède la même mécanique de jeu que le tour 3.
si l’IA perd, la perle du tour 4 est retirée du jeu sauf si c’est la dernière perle. Les autres perles sont remises dans leurs boites.
Etc...
Au fur et a mesure des parties, les perles correspondantes aux mauvais coups sont retirées, l’IA apprend et ne conserve que les coups qui lui font gagner.
L’Hexapion est très fort au bout de 4 à 6 défaites et quasi imbattable à 8-10.
Pensez à noter les victoires pour bien mesurer ce qu'il se passe.
L’Hexapion est un jeu dit « résolu ». Un jeu résolu est un jeu dont le résultat (gagner, perdre ou match nul) peut être correctement prédit à partir de n'importe quelle position, en supposant que les deux joueurs jouent à la perfection. Exemples de jeux résolus : Morpion (qui s’appelle aussi Tic-Tac-Toe ou OXO), puissance 4, Awalé, ...
Les boites d’allumettes représentent l’arbre des possibles du jeu dans son intégralité.
Chaque fois que l’IA perd, c’est une des branches de l’arbre qui mène à la défaite de l’IA qui est coupée. Petit à petit il y a de moins en moins de perles dans les boites, c’est-à-dire qu’il y a de moins en moins de possibilité de perdre pour l’IA.
Si il ne reste plus qu’une perle par boite, il est impossible de gagner contre l’IA.
Dans ce système d’IA, c’est l’humain qui crée la donnée nécessaire au système pour apprendre.
C’est un apprentissage qui est supervisé puisque c’est nous qui fixons les règles de ce qu’est un « bon coup » ou un « mauvais coup ».
Notre IA possède également deux atouts de l’informatique :
Ainsi la machine ne fait jamais deux fois la même erreur.
Ce jeu permet d’illustrer ce qu’est l’apprentissage par renforcement utilisé en IA, de voir émerger un algorithme optimal et de s’interroger sur la notion d’« intelligence » dans ce système (particulièrement sur l’intelligence d’un système de boites d’allumettes !).
Conclusion
Pour finir, ce jeu peut également servir à faire émerger des stratégies face à la machine, comme prendre des risques qui paraîtraient illogiques contre un humain, afin d'explorer des scénarios dans lesquels l'IA n'a pas encore appris.
On peut également s'interroger sur la méthode pédagogique ou d'apprentissage à adopter, puisqu’au lieu de « punir » en enlevant la perle indésirable, on pourrait aussi bien « récompenser » en ajoutant par exemple une perle de même couleur à chaque coup gagnant de l'IA. Ce procédé a d’ailleurs un avantage puisqu’il s’il permet d’améliorer les performances de l’IA d’un point de vue statistique, il laisse toujours une opportunité au joueur humain de gagner.
AlphaGo Zero, un programme qui bat les joueur du jeu de GO, est une nouvelle technique d'apprentissage par renforcement où l'ordinateur apprend en étant son propre professeur.
Dans le principe, tous les jeux résolus se prêtent bien aux démonstrations d’apprentissage par renforcement.
Il existe des variantes pour le jeu de Nîm (qui vous permettra de recycler vos allumettes) ou encore du Morpion (mais il vous faudra alors 304 boites d’allumettes).
L’implémentation dans un programme devient alors plus intéressante et vous pourrez trouver des exemples sous Scratch ou en Python.
Dans ce dernier cas, quelques instructions conditionnelles permettront à l’algorithme d’explorer tout seul l’ensemble des options possibles en jouant contre lui-même.
Ce qui permet aux apprenants de coder eux-mêmes leur IA et de voir émerger la stratégie optimale au bout de quelques centaines de parties soit quelques secondes pour l’ordinateur.
Exemples sur scratch en anglais : https://en.scratch-wiki.info/wiki/Artificial_Intelligence
Si on créait d’autre IA en boite d’allumettes pour d’autres jeux cela prendrait des proportions énormes :
Sources : Building MENACEs for other games - https://www.mscroggs.co.uk/blog/52
Comprendre ce qu’est l’apprentissage par renforcement utilisé en Intelligence Artificielle.
Conseils d’animation :
Notez les parties, pour chaque partie notez qui gagne pour constater l’évolution du nombre de victoire de l’IA.
vous pouvez confier le rôle de l’IA à des participants.
Il est possible de faire appel à l’intelligence collective en en prenant l’avis du groupe pour chaque coup.
Vous pouvez faire tourner les personnes qui incarnent le joueur.
L’algorithme converge au bout d’une dizaine partie environ (regardez le nombre de perles extraites !).
Dernière modification 10/05/2024 par user:Nicco.
Published
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #