Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Langages Rationnels
Hazaël JONES
Licence 2 - 2007/2008
1/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Contenu du cours
Déroulement du cours
Suite du cours de Sabri Bayoudh
30 h de CM / TD
Une deuxième évaluation de 2 heures à la fin du
semestre
Me contacter : [email protected]
Bureau 63 au laboratoire Hubert Curien
2/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Plan de l’exposé
1Rationnel Reconnaissable
2Langages reconnaissables : quelques propriétés
3Automate Canonique
4Grammaire
3/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Rationnel Reconnaissable
Théorème de Kleene
Un langage est reconnaissable (reconnu par un automate
fini) si et seulement si il est rationnel (dénoté par une
expression rationnelle).
A démontrer dans les deux sens :
Expression rationnelle Automate
Automate Expression rationnelle
4/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Expressions rationnelles Automates
Méthode de Thompson
Plusieurs méthodes permettent la construction d’un
automate à partir d’une expression
méthode présentée : construction de Thompson “pure”
qui présente quelques propriétés simples :
un unique état initial q0sans transition entrante;
un unique état final qFsans transition sortante;
exactement deux fois plus d’états que de symboles dans
l’expression rationnelle (sans compter les parenthèses
ni la concaténation, implicite).
Avantages / Inconvénients
+un moyen simple de trouver le résultat.
-les automates construits sont souvent plus
lourds que nécessaire.
5/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Automate de Thompson
01
Automate de
Thompson pour
6/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Automate de Thompson
0101
ǫ
Automate de
Thompson pour
Automate de
Thompson pour
{ǫ}
6/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Automate de Thompson
0101
ǫ01
a
Automate de
Thompson pour
Automate de
Thompson pour
{ǫ}
Automate de
Thompson pour
{a}
6/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Automate de Thompson
0101
ǫ01
a
Automate de
Thompson pour
Automate de
Thompson pour
{ǫ}
Automate de
Thompson pour
{a}
q0
q1
0A1q1
F
q2
0A2q2
F
qF
ǫ ǫ
ǫ ǫ
Automate de Thompson pour e1+e2
avec A1et A2automates de Thompson de e1et e2
6/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Automate de Thompson
q1
0A1q1
Fq2
0A2q2
F
ǫ
Automate de Thompson pour e1.e2
7/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Automate de Thompson
q1
0A1q1
Fq2
0A2q2
F
ǫ
Automate de Thompson pour e1.e2
q0q1
0A1q1
FqF
ǫ ǫ
ǫ
ǫ
Automate de Thompson pour e
1
7/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Automate de Thompson
Algorithme de Thompson
décompose une expression régulière en ses
composants élémentaires
applique les constructions précédentes pour construire
l’automate correspondant
+2nétat pour une expression à nopérations
rationnelles.
-produit un automate non-déterministe
contenant de multiples transitions spontanées
8/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Automate de Thompson
Algorithme de Thompson
décompose une expression régulière en ses
composants élémentaires
applique les constructions précédentes pour construire
l’automate correspondant
+2nétat pour une expression à nopérations
rationnelles.
-produit un automate non-déterministe
contenant de multiples transitions spontanées
Au boulot! Automate de Thompson pour (a+b)b???
8/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Automate de Thompson
Algorithme de Thompson
décompose une expression régulière en ses
composants élémentaires
applique les constructions précédentes pour construire
l’automate correspondant
+2nétat pour une expression à nopérations
rationnelles.
-produit un automate non-déterministe
contenant de multiples transitions spontanées
01
25
34
678 9
ǫ
ǫ
a
ǫ
ǫ
ǫbǫ
ǫ ǫ b
ǫ
Au boulot! Automate de Thompson pour (a+b)b???
8/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Algorithme de Gloushkov
Algorithme de Gloushkov
On part d’une expression régulière : aa(a+ab)b
On indice chaque lettre : a1a2(a3+a4b5)b6
On crée les états correspondants (q1,...,q6)auquel
on ajoute un état initial q0.
Etat final (si une lettre peut terminer le mot) : q6
Création des transitions :
Création de qivers qjétiquettée par cjdès que le
facteur cicjapparaît dans un mot
Création de q0vers qj(étiquettée par Cj) si un mot peut
commencer par cj
Avantages / Inconvénients
-plus difficile à programmer
-oublis plus faciles
+automate plus compact (pour n lettres, on a n+1 états)
9/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Algorithme de Gloushkov
Algorithme de Gloushkov
Transitions à créer pour a1a2(a3+a4b5)b6:
a : de q0vers q1;
de q1vers q2;
de q2,q3,q5vers q3,q4.
b : de q3vers q5;
de q5vers q2;
de q5vers q6.
10/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Algorithme de Gloushkov
Algorithme de Gloushkov
Transitions à créer pour a1a2(a3+a4b5)b6:
a : de q0vers q1;
de q1vers q2;
de q2,q3,q5vers q3,q4.
b : de q3vers q5;
de q5vers q2;
de q5vers q6.
q0q1q2
q3
q4q5q6
a a
a
a
b
a
ab
b
aab
10/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Reconnaissable Rationnel
Reconnaissable Rationnel
Utilisation d’une nouvelle notion : les automates
généralisés
Principe : Passage d’un automate à un rationnel en
supprimant successivement les différents états du
graphe jusqu’à n’avoir qu’une transition entre l’état
initial et l’état final
Automates généralisés
Différence fondamentale avec les automates finis :
Les transitions des automates généralisés sont
étiquetées par des sous-ensembles rationnels de Σ.
par exemple : (a+b)+b
Un seul état initial et un seul état final
Les automates généralisés reconnaissent exactement
les mêmes langages que les automates finis
“standards”
11/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Les étapes
Méthode d’élimination des états (ou algorithme
de Brzozowski et McCluskey)
1S’assurer qu’il n’y ait qu’un état initial et un état final
2Supprimer un état s(non initial et non final) :
Pour chaque paire de sommets ret tdont “r,s,t” est un
chemin, ajouter un arc reliant ràtde la façon suivante :
pour chaque paire d’états (qj,qk) avec j6=i,k6=i, tels
qu’il existe une transition qjqiétiquetée eji et une
transition qiqkétiquetée eik, ajouter la transition
qjqk, portant l’étiquette ejie
ii eik.
Si la transition qjqkexiste déjà avec l’étiquette ejk,
alors il faut additionnellement faire : ejk = (ejk +ejie
ii eik).
Cette transformation doit être opérée pour chaque paire
d’états (y compris pour qj=qk) avant que qipuisse être
supprimé.
3Itérer l’opération 2 jusqu’à ce qu’il ne reste plus que
l’état initial et l’état final.
12/40
Langages Rationnels
H. JONES
Rationnel Reconn.
Rationnel Reconn.
Algorithme de Thompson
Algorithme de Gloushkov
Reconn. Rationnel
Lg Reconn. : qqs props.
Lemme de Pompage
Langage des carrés parfaits
Quelques théorèmes
Automate Canonique
Mots indistinguables
Théorème de Myhill-Nerode
Automate Canonique
Construction d’un automate
canonique
Grammaire
Formalisme
Exemple
Différents types de grammaire
Grammaire contextuelle (type 1)
Grammaire hors contexte (type 2)
Grammaire régulière (type 3)
Arbre de dérivation
Algorithme de Brzozowski et McCluskey
qjqiqk
eji eik
ejk
eii
qjqk
ejk +ejie
ii eik
13/40
1 / 19 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !