Jeu de Librairies Virtuelles Automate à états finis
Qu’est ce qu’un Automate à Etats 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 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 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 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)
Notation des conditions 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
Automate théorique pour la résolution du jeu 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
Automate complété pour la mise en application 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
A la fin de cette présentation, prenez 5mn 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