apprentissage du jeu de morpion
DESCRIPTION
Apprentissage du jeu de morpion. Présenté par:. Soutenu par:. Mme HUCHARD Mme NEBUT. Romain ALMES Mohamed-Amine BOUADDI Sandrine BUENDIA Abdelhakim KBIRI-ALAOUI Sébastien LONG Julio-Aziz RUIZ SIMARI. Introduction. But du sujet: - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/1.jpg)
Apprentissage du jeu de
morpion
Présenté par:
Romain ALMESMohamed-Amine BOUADDISandrine BUENDIAAbdelhakim KBIRI-ALAOUISébastien LONGJulio-Aziz RUIZ SIMARI
Soutenu par:
Mme HUCHARDMme NEBUT
![Page 2: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/2.jpg)
Introduction
But du sujet:
Créer un programme capable d’apprendre à jouer au morpion
![Page 3: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/3.jpg)
Introduction
Plan de la présentation :
- Analyse du sujet- Création d’un jeu de morpion- Création d’un automate- Sauvegarde de l’apprentissage- Comment décider du coup à jouer- Problèmes rencontrés- Discussion- Conclusion
![Page 4: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/4.jpg)
Analyse du sujet
Description:
Créer un jeu de morpion
Créer une intelligence artificielle
Créer un système pour sauvegarder l’apprentissage
![Page 5: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/5.jpg)
Analyse du sujet
Description:
Utiliser un automate pour représenter les parties enregistrées
Affecter des « poids » aux transitions des états de l’automate
Langage de programmation objet
![Page 6: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/6.jpg)
Analyse du sujet
Fonctionnement du programme:
Mémoriser les parties déjà vues
Décider du meilleur coup à jouer à partir d’une base de connaissances
![Page 7: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/7.jpg)
Analyse du sujet Découpe du sujet en 3 binômes:
Le premier travaille sur la partie automate
Le second sur la sauvegarde de l’apprentissage
Le troisième sur la politique de décision des coups à jouer
![Page 8: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/8.jpg)
Le jeu de morpion
Créé avant le découpage des tâches
Rapide à programmer Séparé en deux parties:
Le jeu de morpion Une interface graphique
![Page 9: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/9.jpg)
Diagramme de classes
![Page 10: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/10.jpg)
Fonctionnement de la classe « morpion »
![Page 11: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/11.jpg)
Interface du jeu
![Page 12: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/12.jpg)
Partie en cours
![Page 13: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/13.jpg)
Apprentissage rapide
![Page 14: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/14.jpg)
Menu « options »
![Page 15: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/15.jpg)
L’automate
- Un état correspond a une grille de jeu- Une transition contient un poids et une destination vers le prochain état
10
-2030
-10
![Page 16: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/16.jpg)
Automate
Implémentation automate :
3 classes :- Automate- Etat- Transition
![Page 17: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/17.jpg)
Automate
Problème rencontré :- Saturation de la mémoire
Solution:- Optimiser l’automate pour diminuer les redondances
![Page 18: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/18.jpg)
Automate
Deux états qui se rejoignent: Deux grilles équivalentes dans l’automate
![Page 19: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/19.jpg)
Automate
Ajout d’une transition pour éviter la redondance d’état
![Page 20: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/20.jpg)
Automate
2 optimisations:
Grille miroir Rotation de la grille
![Page 21: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/21.jpg)
Automate
Miroir d’une grille
![Page 22: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/22.jpg)
Automate Rotation de la grille:
![Page 23: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/23.jpg)
Gestionnaire de stockage de données
Pourquoi stocker les données ? Deux solutions :
- Gestionnaire de fichiers
- Base de données
![Page 24: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/24.jpg)
Principe :
- Sauvegarder les données dans des fichiers.
Problèmes :
- Obligation de réécrire tout le fichier à chaque sauvegarde,
- Beaucoup de temps pour charger et sauvegarder les états.Solution envisagée :
- Créer un fichier par état.
Gestionnaire de fichiers
![Page 25: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/25.jpg)
Base de données
Schéma de la base :
Intérêt :
- Chargement de l’automate en une requête,
- Mise à jour des états de façon individuelle.
![Page 26: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/26.jpg)
Décider du meilleur coup
Pré-requis : Avoir un automate déjà construit
Principe : Décide du meilleur coup à jouer en
fonction des connaissances actuelles
![Page 27: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/27.jpg)
Calcul du meilleur coup
![Page 28: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/28.jpg)
Problèmes rencontrés
- Problème de performance: la taille de l’automate sature la mémoire
- Problème d’optimisations: mode miroir inachevé
![Page 29: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/29.jpg)
Problèmes rencontrés
![Page 30: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/30.jpg)
Discussion
- Certaines fonctionnalités à implémenter
- Comparaison avec l’algorithme Min-Max
![Page 31: Apprentissage du jeu de morpion](https://reader035.vdocuments.net/reader035/viewer/2022062407/56812b8e550346895d8faa94/html5/thumbnails/31.jpg)
Conclusion
- L’application répond au cahier des charges
- Evolution possible grâce au code commenté