Machines à états finisLa fourmi et le labyrinthe
Tarik [email protected]
Déplacements
Une fourmi (ou un robot !)Deux antennes (deux capteurs decontact G/D)Peut se déplacer :
• avancer tout droit• tourner sur elle même• avancer en tournant
2/26 ELECINF102 Tarik Graba
Déplacements
La fourmi est placée dans unlabyrinthe
Pour sortir de ce labyrinthe, avanceren longeant un mur sans jamais lelâcher de la main
• On choisi la main (antenne)gauche
3/26 ELECINF102 Tarik Graba
Déplacements
La fourmi est placée dans unlabyrinthePour sortir de ce labyrinthe, avanceren longeant un mur sans jamais lelâcher de la main
• On choisi la main (antenne)gauche
3/26 ELECINF102 Tarik Graba
Déplacements
La fourmi Avance tout droit
4/26 ELECINF102 Tarik Graba
Déplacements
La fourmi Avance tout droit tantqu’elle ne trouve pas un mur
5/26 ELECINF102 Tarik Graba
Déplacements
Elle tourne sur elle même dans lesens horaire, tant que l’obstacle lagène
6/26 ELECINF102 Tarik Graba
Déplacements
Elle avance en repiquant vers lagauche pour ne pas perdre le mur
7/26 ELECINF102 Tarik Graba
Déplacements
Si elle touche le mur à gauche elles’en éloigne pour ne pas êtrebloquée
8/26 ELECINF102 Tarik Graba
Déplacements
Si elle ne touche plus rien elleavance en repiquant à gauche pourretrouver le mur
9/26 ELECINF102 Tarik Graba
Déplacements
Si elle touche à droite,
10/26 ELECINF102 Tarik Graba
Déplacements
Si elle touche à droite, elle tournesur elle même dans le sens horairejusqu’à ne plus avoir d’obstacle
11/26 ELECINF102 Tarik Graba
Déplacements
Si en repiquant à gauche, elle nerencontre rien, elle continue aavancer en tournant à gauche
12/26 ELECINF102 Tarik Graba
Déplacements
Si en repiquant à gauche, elle nerencontre rien, elle continue aavancer en tournant à gauche, ellefinira par retrouver le mur à gauche.
13/26 ELECINF102 Tarik Graba
MAE
ArrêtInit
14/26 ELECINF102 Tarik Graba
MAE
M.
Arrêt
P
G · D
Init
15/26 ELECINF102 Tarik Graba
MAE
M.
Arrêt
P
G + D
G · D
Init
16/26 ELECINF102 Tarik Graba
MAE
Rd
M.
Arrêt
B
P
G + DG + D
G · D
Init
17/26 ELECINF102 Tarik Graba
MAE
Rd
M.
Arrêt
M.RgB MG
P
G + DG + D
G · D
G · D
Init
18/26 ELECINF102 Tarik Graba
MAE
Rd
M.Rd
M.
Arrêt
M.RgB MG
P
MD
G + DG + D
G · D
G
G · D
G
Init
19/26 ELECINF102 Tarik Graba
MAE
Rd
M.Rd
M.
Arrêt
M.RgB MG
P
MD
G + DG + D
G · D
G
G · D
G
G
Init
20/26 ELECINF102 Tarik Graba
MAE
Rd
M.Rd
M.
Arrêt
M.RgB MG
P
MD
G + DG + D
G · D
G
G · D
G · D
G · D
Init
21/26 ELECINF102 Tarik Graba
MAE
Rd
M.Rd
M.
Arrêt
M.RgB MG
P
MD
G + DG + D
G · D
G
DG · D
G · D
G · D
Init
22/26 ELECINF102 Tarik Graba
MAE
Rd
M.Rd
M.
Arrêt
M.RgB MG
P
MD
G + DG + D
G · D
G
DG
G · D
G · D
G · D
Init
23/26 ELECINF102 Tarik Graba
MAE
M.Rg
Rd
M.Rd
M.
Arrêt
M.RgB
T
MG
P
MD
G + DG + D
G · D
G
G
D
G
G
G · D
G · D
G · D
Init
24/26 ELECINF102 Tarik Graba
Simplification de la MAE
Pour les états MG et T :• Mêmes actions (Avancer et tourner
à gauche)• Mêmes transitions :
– Si G → MD– Si G → T
Ces états sont équivalents
M.Rg
Rd
M.Rd
M.
Arrêt
M.RgB
T
MG
P
MD
G + DG + D
G · D
G
G
D
G
G
G · D
G · D
G · D
Init
25/26 ELECINF102 Tarik Graba
Simplification de la MAE
Pour les états MG et T :• Mêmes actions (Avancer et tourner
à gauche)• Mêmes transitions :
– Si G → MD– Si G → T
Ces états sont équivalents
M.Rg
Rd
M.Rd
M.
Arrêt
M.RgB
T
MG
P
MD
G + DG + D
G · D
G
G
D
G
G
G · D
G · D
G · D
Init
25/26 ELECINF102 Tarik Graba
Simplification de la MAE
Pour les états MG et T :• Mêmes actions (Avancer et tourner
à gauche)• Mêmes transitions :
– Si G → MD– Si G → T
Ces états sont équivalents
Rd
M.Rd
M.
Arrêt
M.RgB MG
P
MD
G + DG + D
G · D
G
DG · D
G · D
G · D
G
Init
25/26 ELECINF102 Tarik Graba
Crédits
Cet exemple est tiré deProf. Steve Ward, 6.004 Computation Structures, Spring 2009.(Massachusetts Institute of Technology : MIT OpenCourseWare),http ://ocw.mit.edu (Accessed March 09, 2010).License : Creative Commons BY-NC-SA
26/26 ELECINF102 Tarik Graba