1 / 31

Apprentissage du jeu de morpion

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:

Télécharger la présentation

Apprentissage du jeu de morpion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Introduction But du sujet: Créer un programme capable d’apprendre à jouer au morpion

  3. 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

  4. Analyse du sujet • Description: • Créer un jeu de morpion • Créer une intelligence artificielle • Créer un système pour sauvegarder l’apprentissage

  5. 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

  6. 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

  7. 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

  8. 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

  9. Diagramme de classes

  10. Fonctionnement de la classe « morpion »

  11. Interface du jeu

  12. Partie en cours

  13. Apprentissage rapide

  14. Menu « options »

  15. L’automate 10 30 -20 -10 • Un état correspond a une grille de jeu • Une transition contient un poids et une destination vers le prochain état

  16. Automate Implémentation automate : 3 classes : - Automate - Etat - Transition

  17. Automate Problème rencontré : - Saturation de la mémoire Solution: - Optimiser l’automate pour diminuer les redondances

  18. Automate • Deux états qui se rejoignent: Deux grilles équivalentes dans l’automate

  19. Automate Ajout d’une transition pour éviter la redondance d’état

  20. Automate • 2 optimisations: • Grille miroir • Rotation de la grille

  21. Automate • Miroir d’une grille

  22. Automate • Rotation de la grille:

  23. Gestionnaire de stockage de données • Pourquoi stocker les données ? Deux solutions : • Gestionnaire de fichiers • Base de données

  24. Gestionnaire de fichiers • 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.

  25. 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.

  26. 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

  27. Calcul du meilleur coup

  28. Problèmes rencontrés • Problème de performance: la taille de l’automate sature la mémoire • Problème d’optimisations: mode miroir inachevé

  29. Problèmes rencontrés

  30. Discussion • Certaines fonctionnalités à implémenter • Comparaison avec l’algorithme Min-Max

  31. Conclusion • L’application répond au cahier des charges • Evolution possible grâce au code commenté

More Related