Apprentissage du jeu de morpion

Slides:



Advertisements
Présentations similaires
Accélération du Rendu Volumique basée sur la Quantification des Voxels
Advertisements

Détection des collisions dans un moteur 3D temps réel
Introduction Pour concrétiser l’enseignement assisté par ordinateur
INTRODUCTION INTRODUCTION ERGONOMIE Tri par cartes Formulaires Interface Installation Lanceur Documentation TECHNOLOGIES XML + XSL CSS Formulaires génériques.
Sujet BL1 : Simulateur de comportement réactif Bernard Clément Barelli Nicolas Maitrehut Loïc Ould Sidina Mahi Encadrant : Mr Michel Buffa.
ACCESS Découverte.
Introduction à JColibri
Conception d’une application de gestion de fiches études
Systèmes d’exploitation
Interface Homme Machine IHM Pro
Emploi d’un logiciel de présentation graphique : PowerPoint
: BOUCHRA AIT BRAHIM BOUCHRA OUJ NAIMA FADIL FOUZYA BN ALLAM OMAR IFZI
TER Simulation Spatiale
Prise de décision dans les shooters TER 08/09 Sandrine Buendia
Optimisation et Complexité
Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que lIntelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,
L’utilisation des bases de données
Développement d’un réseau social professionnel
Propagation d’une onde thermique dans une barre
- Projet LO43 - Médiathèque
Calculatrice Financière Android
Projet Génie Logiciel & UML, Bases de Données & Interfaces
Application to Blot Synteny
Projet de diplôme 2011 Miserez David
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
ELE6306 : Test de systèmes électroniques Projet de cours Chaîne de scan unique: Reconfiguration = Optimisation Louis-Martin Côté Professeur : A. Khouas.
Par Bernard Maudhuit. On peut tout sauvegarder et on doit tout sauvegarder sur des éléments physiques externes à lordinateur CD SVCD DVD et double couche.
Sandrine BUENDIA Guillaume GALLET.
Passer à la première page Projet d’application VB Réalisation d’un jeu de Sudoku PILCER Lucile ZOUHRI Mosaab Mohamed DUPONT Thomas.
EXIGE Un avenir dans le web....
Krowten Emagyp Jeu réseau à interaction en temps réel.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Développé par : CHAFYQ El Hassan & Krachli Ayoub
1 Registration Physique Séminaire du Master Davide Bazzi Université de Fribourg
CRC Nancy France Télécom Romain Arnoux 2A DUT Informatique.
Fast and Furious Decision Tree Induction
Révision en rédaction. 1 Nolwenn Kerzreho 2008 Révision en rédaction Pourquoi ? Un problème (quel problème) ? Intervention des professionnels Conclusion.
LEMKE LaurentBITSCH José TERRIER VincentLAALA Yoann MONTAVONT GuillaumeBRIBI Mohamed 1.
Arbre GénéalogiqueDiagramme de Classes Comment la visualisation d’une hiérarchie de classes facilitera le travail de notre client ?
Application de gestion des retards
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II PRO-1024.
CAZIER Kévin JACOB Sébastien Réalisée dans le cadre du Projet Pluridisciplinaire Encadré par Mme Martine COQUET Responsable de l’entreprise.
Candy Crush Killer Boyer Alexandre Bullat Théo Ralite Jérôme
Le Taquin Mathieu Bernou Laurent Robin.
Projet d’Année Lecteur MP3 pour musiciens sous Android
Apprentissage pour les jeux d’arcade
Retours avec management de la qualité (QM) (237) SAP Best Practices for Discrete Manufacturing V1.603 SAP Best Practices.
Candy Crush Killer Boyer Alexandre Bullat Théo Ralite Jérôme Raymond Nicolas Ribière Laurent Encadré par M. Laffont, enseignant à Polytech M. Kauffmann,
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Olivier Leclair, Université Laval Un algorithme de fouille dans une représentation des données par objets: une application médicale SIMON, Arnaud.
( ) Collège de Maisonneuve
2 Tracks Unified Process
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
Kapiat – Gestion Stocks
Visualisation des flots optiques en 3D
Les systèmes de jeux deviennent de plus en plus complexes, nécessitant que l’Intelligence Artificielle progresse elle aussi en parallèle. Dans ce contexte,
Module 3 : Gestion des fichiers de base de données
Mini-projet: Récupération d’eau
Développement du jeu Ricochet Robots pour Android
Vous présente en quelques réalisations un réel savoir-faire, le fruit de longues années d’expériences, aujourd’hui à votre service. Toutes les fonctionnalités.
Analyse, élaboration et exploitation d’une Base de Données
Pluvinage Raphaël – Si28. Pour quoi faire? / / Logiciel de graphisme orienté vers le web, dérivé de Photoshop (Même Interface) / Utilisation : Optimisation.
Jeu – Mon tableau à double entrée
SI28 : Adobe Image Ready 3.0 Agathe Edange.
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
CATALOGUE DES FORMATIONS Office Fondamentaux 2015 Formateur : KAMAL Laiss.
Vous présente en quelques réalisations un réel savoir-faire, le fruit de longues années d’expériences, aujourd’hui à votre service. Toutes les fonctionnalités.
Pour une meilleure prise en compte des difficultés des élèves dyslexiques… et des autres élèves.
Transcription de la présentation:

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: Créer un programme capable d’apprendre à jouer au morpion

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

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

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

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

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

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

Diagramme de classes

Fonctionnement de la classe « morpion »

Interface du jeu

Partie en cours

Apprentissage rapide

Menu « options »

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

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

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

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

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

Automate 2 optimisations: Grille miroir Rotation de la grille

Automate Miroir d’une grille

Automate Rotation de la grille:

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

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.

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.

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

Calcul du meilleur coup

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

Problèmes rencontrés

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

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