Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... ·...
Transcript of Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... ·...
![Page 1: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/1.jpg)
Automate Fini Non-deterministeTheoreme de Kleene
Systemes FormelsMaster 1 ISIDIS
Sebastien [email protected]
http://www-lisic.univ-littoral.fr/~verel
Universite du Littoral Cote d’OpaleLaboratoire LISICEquipe CAMOME
![Page 2: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/2.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Objectifs de la seance 03
Connaitre la definition d’un automate fini non-deternimiste
Savoir determiniser un automate
Savoir construire un automate a etat fini reconnaissant unlanguage rationnel simple
Connaıtre le theoreme de Kleene
Questions principales du jour :
Comment definir des automates reconnaissant un langage demaniere simple ?
![Page 3: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/3.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Objectifs de la seance 03
Connaitre la definition d’un automate fini non-deternimiste
Savoir determiniser un automate
Savoir construire un automate a etat fini reconnaissant unlanguage rationnel simple
Connaıtre le theoreme de Kleene
Questions principales du jour :
Comment definir des automates reconnaissant un langage demaniere simple ?
![Page 4: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/4.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
References
Rappels de references concernant les langages et les automates :
www-igm.univ-mlv.fr/~Eberstel/Elements/Elements.
html
S. Julia, deptinfo.unice.fr/~julia/IT/
www.polytech.unice.fr/~claudine
![Page 5: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/5.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Plan
1 Introduction
2 Automate Fini Non-deterministe
3 Determinisation
4 Theoreme de Kleene
![Page 6: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/6.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Equivalence expression reguliere et langage rationnel
Theoreme (admis)
Un langage est rationnel (ou regulier)si et seulement si
il est decrit par une expression reguliere.
Cardinalite
L’ensemble des langages rationnels est denombrable.
Remarque : il existe beaucoup de langage non rationnel...
![Page 7: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/7.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Equivalence expression reguliere et langage rationnel
Theoreme (admis)
Un langage est rationnel (ou regulier)si et seulement si
il est decrit par une expression reguliere.
Cardinalite
L’ensemble des langages rationnels est denombrable.
Remarque : il existe beaucoup de langage non rationnel...
![Page 8: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/8.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Automate Fini Deterministe (AFD)
Automate Fini Deterministe (AFD)
Un Automate Fini Deterministe est un quintuplet(Q,Σ,T , q0,A) avec :
Σ est l’alphabet de l’automate,
Q un ensemble fini appele ensemble des etats de l’automate,
T est une application de Q × Σ dans Q, appelee la fonctionde transition
q0 est un element de Q, appele l’etat initial
A est un sous-ensemble de Q, appele l’ensemble des etatsacceptants.
![Page 9: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/9.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Automate Fini Deterministe (AFD)
Automate Fini Deterministe (AFD)
Un Automate Fini Deterministe est un quintuplet(Q,Σ,T , q0,A) avec :
Σ est l’alphabet de l’automate,
Q un ensemble fini appele ensemble des etats de l’automate,
T est une application de Q × Σ dans Q, appelee la fonctionde transition
q0 est un element de Q, appele l’etat initial
A est un sous-ensemble de Q, appele l’ensemble des etatsacceptants.
![Page 10: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/10.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Exemple
a
1 2
43
b
a
bab
a,b
![Page 11: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/11.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Langage reconnu par un automate
fonction de transition iteree
La fonction de transition iteree est l’applicationT ∗ : Q × Σ∗ → Q definie par :
base : si w = ε alors T ∗(q,w) = q
induction : si w = w0x avec x ∈ Σ alorsT ∗(q,w) = T (T ∗(q,w0), x)
Langage decide
Soient M est un automate d’alphabet Σ et L un langage sur Σ
M decide L ssi L est l’ensemble des mots acceptes par M.
![Page 12: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/12.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Reconnaissance d’un langage de cardinal 1
Soit Σ un alphabet et L = {u} un langage sur Σ de cardinal 1.
u s’ecrit alors comme u = a1a2a3 . . . an avec ∀i ai ∈ Σ.
Automate reconnaissant le langage L :
a21 2 3
a1 ann+1................
0
![Page 13: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/13.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Reconnaissance d’un langage de cardinal 1
Soit Σ un alphabet et L = {u} un langage sur Σ de cardinal 1.
u s’ecrit alors comme u = a1a2a3 . . . an avec ∀i ai ∈ Σ.
Automate reconnaissant le langage L :
a21 2 3
a1 ann+1................
0
![Page 14: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/14.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Reconnaissance d’un langage de cardinal 1
Soit Σ un alphabet et L = {u} un langage sur Σ de cardinal 1.
u s’ecrit alors comme u = a1a2a3 . . . an avec ∀i ai ∈ Σ.
Automate reconnaissant le langage L :
a21 2 3
a1 ann+1................
0
![Page 15: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/15.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Quelques difficultes pratiques
Il n’est pas ”pratique” de devoir definir toutes les transitions,on aimerait :
a21 2 3
a1 ann+1................
Comment construire un automate qui reconnait deux mots ?
a21 2 3
a1 ann+1................
bn1 2 3 n+1................
b2b1
![Page 16: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/16.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Quelques difficultes pratiques
Il n’est pas ”pratique” de devoir definir toutes les transitions,on aimerait :
a21 2 3
a1 ann+1................
Comment construire un automate qui reconnait deux mots ?
a21 2 3
a1 ann+1................
bn1 2 3 n+1................
b2b1
![Page 17: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/17.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Quelques difficultes pratiques
Il n’est pas ”pratique” de devoir definir toutes les transitions,on aimerait :
a21 2 3
a1 ann+1................
Comment construire un automate qui reconnait deux mots ?
a21 2 3
a1 ann+1................
bn1 2 3 n+1................
b2b1
![Page 18: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/18.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Plus generalement
Pour pouvoir definir un automate qui reconnait un langagerationnel,
Il faudrait definir un automate qui puisse reconnaitre :
la reunion de langages,
la concatenation de langages,
l’etoile d’un langage (fermeture de Kleene).
![Page 19: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/19.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Plus generalement
Pour pouvoir definir un automate qui reconnait un langagerationnel,
Il faudrait definir un automate qui puisse reconnaitre :
la reunion de langages,
la concatenation de langages,
l’etoile d’un langage (fermeture de Kleene).
![Page 20: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/20.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Plus generalement
Pour pouvoir definir un automate qui reconnait un langagerationnel,
Il faudrait definir un automate qui puisse reconnaitre :
la reunion de langages,
la concatenation de langages,
l’etoile d’un langage (fermeture de Kleene).
![Page 21: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/21.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Plus generalement
Pour pouvoir definir un automate qui reconnait un langagerationnel,
Il faudrait definir un automate qui puisse reconnaitre :
la reunion de langages,
la concatenation de langages,
l’etoile d’un langage (fermeture de Kleene).
![Page 22: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/22.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Introduction de non-deterministes
Non-deterministe
En informatique, non-deterministe est souvent associe a”plusieurs choix possibles” par opposition deterministe oul’operation ou l’action a effectuer est unique, i.e. completementdetermine par l’etat actuel du systeme (sans ambiguite).
Non-deterministe dans les automates
Plusieurs sources de non-deterministe dans les automates :
Absence de transition,
Plusieurs transitions pour une meme lettre.
Plusieurs etats initiaux
des transitions sur des mots vides : ε-transitions
![Page 23: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/23.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Introduction de non-deterministes
Non-deterministe
En informatique, non-deterministe est souvent associe a”plusieurs choix possibles” par opposition deterministe oul’operation ou l’action a effectuer est unique, i.e. completementdetermine par l’etat actuel du systeme (sans ambiguite).
Non-deterministe dans les automates
Plusieurs sources de non-deterministe dans les automates :
Absence de transition,
Plusieurs transitions pour une meme lettre.
Plusieurs etats initiaux
des transitions sur des mots vides : ε-transitions
![Page 24: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/24.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Absence de transition
lecture de bbba
b
1 2
3
b
a
a
S’il n’y a plus de transition possibleet que le mot est encore en cours de lecture
Alors le mot est refuse
Remarque : remplace la technique de l’etat ”puit”
![Page 25: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/25.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Absence de transition
lecture de bbba
b
1 2
3
b
a
a
S’il n’y a plus de transition possibleet que le mot est encore en cours de lecture
Alors le mot est refuse
Remarque : remplace la technique de l’etat ”puit”
![Page 26: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/26.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Plusieurs transitions
Lecture de aabaabab et de aaaaaba
41 2
a,b
a
a
3
b
Le mot est accepte lorsqu’il existe au moins une lecture menant aun etat acceptant.
Consequence : Il faut essayer tous les lectures possibles pour estsur que le mot est refuse
![Page 27: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/27.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Plusieurs transitions
Lecture de aabaabab et de aaaaaba
41 2
a,b
a
a
3
b
Le mot est accepte lorsqu’il existe au moins une lecture menant aun etat acceptant.
Consequence : Il faut essayer tous les lectures possibles pour estsur que le mot est refuse
![Page 28: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/28.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Plusieurs etats initiaux
a21 2 3
a1 ann+1................
bn1 2 3 n+1................
b2b1
Le mot est accepte lorsqu’il existe une lecture a partir de l’un desetats initiaux menant a un etat acceptant.
![Page 29: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/29.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
ε-transistions
¡1 2
a b
Une ε-transistion est une transition par lecture du mot vide.
Pendant la lecture d’un mot, il est possible de choisir d’effectuer latransition ε sans lire aucune lettre.
![Page 30: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/30.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Definition AFN
Automate Fini Non-deterministe (AFN)
Un Automate Fini Non-deterministe est un quintuplet(Q,Σ,T , I ,A) ou :
Σ est l’alphabet de l’automate,
Q un ensemble fini appele ensemble des etats de l’automate,
T est une application de Q × Σ dans P(Q), appelee lafonction de transition
I est un sous-ensemble de Q, appele l’ensemble des etatsinitiaux
A est un sous-ensemble de Q, appele l’ensemble des etatsacceptants.
![Page 31: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/31.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Exemple
a b
→ 1 - 22 - 4
3 3 34 4,7 45 4 -
→ 6 5 -7 3 -
7
a,b
a a
a,b
3
1
aa
b
b
2
4
56
![Page 32: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/32.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Lecture / reconnaissance
Lecture
Soient M = (Q,Σ,T , I ,A) un AFN et u = x1x2 . . . xl un mot surΣ.
Une lecture de u par M est une suite d’etats (q0, q1, . . . , ql)verifiant :
i q0 ∈ I , et
ii qi ∈ T (qi−1, xi ) pour 1 ≤ i ≤ l .
Acceptation
Le mot u est accepte par M s’il existe au moins une lecture de upar M qui se termine par un etat acceptant.
![Page 33: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/33.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Lecture / reconnaissance
Lecture
Soient M = (Q,Σ,T , I ,A) un AFN et u = x1x2 . . . xl un mot surΣ.
Une lecture de u par M est une suite d’etats (q0, q1, . . . , ql)verifiant :
i q0 ∈ I , et
ii qi ∈ T (qi−1, xi ) pour 1 ≤ i ≤ l .
Acceptation
Le mot u est accepte par M s’il existe au moins une lecture de upar M qui se termine par un etat acceptant.
![Page 34: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/34.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Equivalence deterministe / non-deterministe
Definition equivalence
Soient M et M′
deux automates. On dit que M et M′
sontequivalents s’ils acceptent et refusent exactement les memes mots.
Equivalence : Deterministe ⇒ Non-deterministe
L’automate deterministe M = (Q,Σ,T , q0,A) est equivalent al’automate non-deterministe M = (Q,Σ,T
′, {q0},A) avec
T′(q, x) = {T (q, x)}.
![Page 35: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/35.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Equivalence deterministe / non-deterministe
Definition equivalence
Soient M et M′
deux automates. On dit que M et M′
sontequivalents s’ils acceptent et refusent exactement les memes mots.
Equivalence : Deterministe ⇒ Non-deterministe
L’automate deterministe M = (Q,Σ,T , q0,A) est equivalent al’automate non-deterministe M = (Q,Σ,T
′, {q0},A) avec
T′(q, x) = {T (q, x)}.
![Page 36: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/36.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Equivalence deterministe / non-deterministe
Equivalence : Non-deterministe ⇒ Deterministe (admis)
Soient M = (Q,Σ,T , I ,A) un AFN. Alors M est equivalent l’AFDM
′definit par M
′= (P(Q),Σ,T
′, I ,A
′) avec :
T′(X , x) = ∪q∈X{T (q, x)}
A′
= {X ∈ P(Q) | X ∩ A 6= ∅}
Remarques :
Un etat dans l’automate deterministe est un ensemble.
Un etat pour M′
est acceptant lorsqu’il contient un etatacceptant pour M.
![Page 37: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/37.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Algorithme de determinisation
Les mots se terminant par a :
a b
→ 0 0,1 0
1 - -
a,b
0a
1
AFD equivalent :a b
→ 0 0,1 0
0,1 0,1 0
On part de l’etat initial et pour chaque etat suivant, on reunitl’ensemble des etats atteignables depuis cet etat.
![Page 38: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/38.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Algorithme de determinisation
Les mots se terminant par a :
a b
→ 0 0,1 0
1 - -
a,b
0a
1
AFD equivalent :a b
→ 0 0,1 0
0,1 0,1 0
On part de l’etat initial et pour chaque etat suivant, on reunitl’ensemble des etats atteignables depuis cet etat.
![Page 39: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/39.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Algorithme de determinisation
Les mots se terminant par a :
a b
→ 0 0,1 0
1 - -
a,b
0a
1
AFD equivalent :a b
→ 0 0,1 0
0,1 0,1 0
On part de l’etat initial et pour chaque etat suivant, on reunitl’ensemble des etats atteignables depuis cet etat.
![Page 40: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/40.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Algorithme de determinisation
a b
→ 0 0 2→ 1 2 1
2 - -On regroupe les etats initiaux dans un meme ensemble :
a b
→ 0,1 0,2 1,2
0,2 0 2
1,2 2 1
0 0 2
2 � �1 2 1� � �
� est un etat ”puit”
![Page 41: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/41.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Algorithme de determinisation
a b
→ 0 0 2→ 1 2 1
2 - -On regroupe les etats initiaux dans un meme ensemble :
a b
→ 0,1 0,2 1,2
0,2 0 2
1,2 2 1
0 0 2
2 � �1 2 1� � �
� est un etat ”puit”
![Page 42: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/42.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Et les ε-transistions ?
¡1 2
a b
Une ε-transistion est une transition sur un mot vide.
Pendant la lecture d’un mot, il est possible de choisir d’effectuer latransition ε sans lire aucune lettre.
![Page 43: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/43.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Definition Σ@
Definir les ε-transitions consiste a definir un alphabet Σ@ ou ilexiste une lettre supplementaire correspondant a ε.
Definition de Σ@
Σ@ = Σ ∪ {@}
Notons π@ : Σ∗@ → Σ∗ la fonction (projection) qui remplace :
chaque lettre de Σ par elle-meme
@ par le mot vide.
Exemple
Si Σ = {a, b} alors Σ@ = {a, b,@}et π@(@aa@b@@b) = aabb
Remarque : @ represente le mot vide ε, π@(u) sous-mot de u
![Page 44: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/44.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Definition AFNε
AFNε
Un Automate Fini Non-deterministe avec ε-transitions est unquintuplet (Q,Σ,T , I ,A) ou :
Σ est l’alphabet de l’automate,
Q un ensemble fini appele ensemble des etats de l’automate,
T est une application de Q× Σ@ dans P(Q), appelee lafonction de transition
I est un sous-ensemble de Q, appele l’ensemble des etatsinitiaux
A est un sous-ensemble de Q, appele l’ensemble des etatsacceptants.
![Page 45: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/45.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Acceptation
Acceptation
Un mot u sur Σ est accepte par l’AFNε (Q,Σ,T , I ,A) s’il existe aumoins un mot u@ sur Σ@ qui est accepte par l’AFN(Q,Σ@,T , I ,A) et tel que u = π@(u@).
Intuitivement, un mot est accepte s’il existe un parcours del’automate avec ε-transitions ”spontanees”
![Page 46: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/46.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Equivalence AFNε / AFN
Equivalence (admis)
Soient M = (Q,Σ,T , I ,A) un AFNε. Alors M est equivalent l’AFNM
′definit par M
′= (Q,Σ,T
′, I
′,A
′) avec :
T′(q, x) = ∪q′∈cl(q){T (q
′, x)}
I′
= {cl(q) | q ∈ I}A
′= {q | cl(q) ∩ A 6= ∅}
cl(q) est la cloture (union des iteres) de q par ε-transitions,c’est-a-dire l’ensemble des etats atteignables par ε-transitionsiterees (cf. suite).
![Page 47: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/47.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Equivalence AFNε / AFNCloture de q
cl(q) est la cloture de q par ε-transitions, c’est-a-dire l’ensembledes etats atteignables par ε-transitions iterees.
Cloture : Definition ascendante
cl(q) = ∪i∈INXi
avec :
X0 = {q}Xi+1 = Xi ∪ {q
′: q
′= T (qi ,@) avec i ∈ Xi}
Cloture : Definition descendante
cl(q) = ∩{X : q ∈ X et X stable par ε-transistion}
On dit que X ⊂ P(Q) est stable par ε-transition si T (X ,@) ⊂ X .
![Page 48: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/48.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Algorithme de determinisation
a b ε
→ 1 1 - 2
2 - 2 - ¡1 2
a b
AFN equivalent :
cl(1) = {1, 2}
a b
→ 1 1 2
→ 2 - 2
![Page 49: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/49.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Algorithme de determinisation
a b ε
→ 1 1 - 2
2 - 2 - ¡1 2
a b
AFN equivalent :
cl(1) = {1, 2}
a b
→ 1 1 2
→ 2 - 2
![Page 50: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/50.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Question
Quel rapport entre les langages reconnus par un Automate Fini etles langages decrits par une expression reguliere (langagerationnel) ?
![Page 51: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/51.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Theoreme de Kleene
Theoreme de Kleene (admis...)
Un langage sur un alphabet Σ est rationnel si et seulement si il estreconnu par un automate fini.
Idee de la demonstration :On peut construire de maniere inductive l’ensemble des langagesrationnels et les automates reconnaissant ces langages.
![Page 52: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/52.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Union de langages rationnels
Soient deux automates finis deterministes M1 et M2
reconnaissant respectivement les langages L1 et L2
L1 ∪ L2 est reconnu par :
¡
¡
On ajoute des ε-transitions entre un nouvel etat initial et les etatsinitiaux de M1 et de M2
![Page 53: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/53.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Produit de concatenation de langages rationnels
Soient deux automates finis deterministes M1 et M2
reconnaissant respectivement les langages L1 et L2
L1.L2 est reconnu par :
¡¡
On ajoute des ε-transitions entre les etats acceptants de M1 etl’etat intial de M2
![Page 54: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/54.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Etoile (cloture de Kleene) de langages rationnels
Soit un automate fini deterministe M reconnaissant le langage L
L∗ est reconnu par :
¡
¡
¡
On ajoute des ε-transitions entre les etats finaux et le nouvel etatinitial
![Page 55: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/55.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Conclusion (1)
A chaque langage rationnel est associeun automate fini, et reciproquement.
Les automates sont des machines abstraites capables derealiser des calculs sur des mots :
entree : mot (donnee du probleme)sortie : oui/non (une decision)
Lien tres fort entre langage et machine :
Langage : definit un ensemble de motsMachine : calcul un ensemble de mots
![Page 56: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene](https://reader034.fdocuments.us/reader034/viewer/2022050200/5f5401a0233ea81d6145c48c/html5/thumbnails/56.jpg)
Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene
Conclusion (2)
Il est possible de definir d’autres machines abstraites quipermettent de definir d’autres classes de langages.
L’expressivite du langage et la capacite de calcul de la machinesont alors differentes.
Les questions que l’on se pose sont alors les memes :
mode de lecture,description algebrique langage (souvent a l’aide d’unedefinition inductive),equivalence avec d’autres classes de langages,complexite de calcul d’une machine reconnaissant le langage.
Par exemple, on peut remplacer automate par machine de Turing...