100 likes | 299 Views
Jeu de Librairies Virtuelles. Automate à états finis. Sommaire. Qu’est ce qu’un Automate à Etats Finis ? Définition, exemples Bibliographie internet sur le sujet Exemple du jeu « Homme, Loup, Chèvre, Salade » Sujet, Objectif et Règle du jeu
E N D
Jeu de Librairies Virtuelles Automate à états finis
Sommaire • Qu’est ce qu’un Automate à Etats Finis ? • Définition, exemples • Bibliographie internet sur le sujet • Exemple du jeu « Homme, Loup, Chèvre, Salade » • Sujet, Objectif et Règle du jeu • Analyse du problème, définition d’états et de conditions • Analyse du problème, détermination de l’automate théorique • Mise en application, construction de l’automate • Mise en application, Programme DEMO1 • Synthèse sur l’utilisation d’un automate pour cet exemple
Qu’est ce qu’un automate à états finis ?Définition, Exemples • Définition • Un automate à états finis permet de décrire le comportement d’un processus de façon formelle. On parle aussi de modélisation du processus. • Exemples • Feu tricolore, Machinerie d’ascenseur, etc... • Circuits électronique • Algorithmes de résolution de problèmes
Qu’est ce qu’un automate à états finis ?Bibliographie Internet Quelques sites WEB : • http://fr.wikipedia.org/wiki/Automate_fini • http://www.laurentbloch.org/spip.php?article112 • http://www.laurentbloch.org/spip.php?article113 • http://jbenech.free.fr/old_site/agents/html/D-automate.html
Exemple du jeu « Homme, Loup, Chèvre, Salade »Sujet , Objectif et Règle du jeu • Sujet • Résoudre l’algorithme du Jeu « Homme, Loup, Chèvre, Salade » à l’aide de l’automate à états finis décrit sur le site WEB : http://www.laurentbloch.org/spip.php?article112 • Objectif • Ecrire un programme informatique permettant à un joueur de jouer au Jeu « Homme, Loup, Chèvre, Salade » • Montrer comment la description du jeu par un automate d’états finis simplifie l’analyse et la conception du programme • Utiliser le Jeu de Librairies Virtuelles pour réaliser le programme de façon simple et rapide
Exemple du jeu « Homme, Loup, Chèvre, Salade »Sujet , Objectif et Règle du jeu • Règle du jeu • Un homme doit faire traverser une rivière à un loup, une chèvre et une salade. • Le bateau ne peut transporter que 2 passagers maximum à son bord. • L’homme ne peut en aucun cas laisser sans surveillance, sur une même rive : Le loup et la chèvre ensemble ou la chèvre et la salade ensemble. • Pour être rapide et efficace, la résolution de ce problème peut être modéliser avec un automate à états finis (décrit par Laurent BLOCH sur son site http://www.laurentbloch.org/spip.php?article112)
Exemple du jeu « Homme, Loup, Chèvre, Salade »Analyse du problème, Définition d’états et de conditions • Notation des états • ‘H’ pour Homme, ‘L’ pour Loup, ‘C’ pour Chèvre et ‘S’ pour Salade • Le signe ‘-’ (moins) pour déterminer la position sur les rives • Notation des conditions • ‘h’ lorsque l’homme traverse seul, • ‘l’ lorsque l’homme et le loup traversent • ‘c’ lorsque l’homme et la chèvre traversent • ‘s’ lorsque l’homme et la salade traversent • 10 états autorisés HLCS-, LS-HC, HLS-C, S-HLC, L-HCS, HCS-L, HLC-S, C-HLS, HC-LS et –HLCS • 6 états interdits LC-HS, HS-LC, HL-CS, CS-HL, CLS-H et H-CLS
Exemple du jeu « Homme, Loup, Chèvre, Salade »Analyse du problème, Détermination d’un automate théorique Automate théorique pour la résolution du jeu s c L-HCS HLC-S c l c h s l c h HLCS- LS-HC HLS-C C-HLS HC-LS -HLCS s c h c h l l c S-HLC HCS-L c s Cet automate est celui proposé par Laurent BLOCH sur son site
Exemple du jeu « Homme, Loup, Chèvre, Salade »Mise en application : Construction de l’automate Automate complété pour la mise en application s c L-HCS HLC-S Démarrage c l x x c h s l c h x x HLCS- LS-HC HLS-C Erreur C-HLS HC-LS -HLCS s c h x c x h l x l c x Recommencer S-HLC HCS-L c s Nota : La condition ‘x’ correspond à un dépassement du temps de réflexion, une erreur du joueur dans le choix de l’élément à faire traverser ou une demande d’abandon du jeu de sa part
Exemple du jeu « Homme, Loup, Chèvre, Salade »Mise en application : Programme DEMO1 Au delà de son coté ludique, ce programme permet de vérifier l’avantage qu’il y a à utiliser un automate à états finis. C’est en observant les sources, basés sur l’utilisation du modèle d’automate contenu dans le Jeu de Librairies Virtuelles, que l’on mesure l’intérêt de la méthode : Le nombre de lignes de code reste très limité et sans aucune complexité ! Le programme au démarrage A la fin de cette présentation, prenez 5mn pour essayer le programme et parcourir les sources Le programme en cours de jeu