IG3 “Langages, Automates, Expressions régulières”

Polytech-IG3 — Langages, Automates, Grammaires, Expressions Régulières avril 2009 p. 1/ 7
IG3 “Langages, Automates, Expressions régulières”
Résumé des notations et des propriétés
1 Mots et Langages
1.1 Alphabet-Mots
Un alphabet est un ensemble fini dont les éléments sont appelés lettres (ou symboles).
Un mot (chaîne) sur un alphabet Σest une séquence finie de symboles de Σ.
Le mot vide, de longueur 0, est noté  .
Dans la suite nous utilisons les notations suivantes :
|m|est la longueur du mot m.Ex : |10001|= 5,||= 0
pour i[1,|m|], m(i)est la i`eme lettre du mot m.
On dispose d’une opération sur les mots appelée produit ou concaténation.
Définition 1 Le produit de 2 mots uet vsur l’alphabet Σ, noté u.v, est un mot msur l’alphabet Σ, de
longueur |u|+|v|, défini par :
i[1,|u|], m(i) = u(i)
i[1,|v|], m(i+|u|) = v(i)
Propriété 1 Le produit est associatif et admet le mot vide comme élément neutre
Définition 2 Soit mun mot sur Σ.
le mot uest un préfixe de mssi il existe un mot xtel que m=u.x
le mot uest un suffixe de mssi il existe un mot xtel que m=x.u
le mot uest un facteur de ms’il existe 2 mots xet ytels que m=x.u.y.
uest un facteur (respectivement préfixe, suffixe)propre de msi uest un facteur (respectective-
ment préfixe, suffixe) de mdifférent de met de .
u=a1a2. . . anest un sous-mot de ms’il existe n+ 1 mots w1, w2,...wn+1
tels que m=w1.a1.w2.a2. . . . .an.wn+1.
Notation : miest défini pour ientier positif ou nul, par m0=, mi=m.mi1
1.2 Le monoïde libre Σ
Σest l’ensemble de tous les mots construits avec l’alphabet Σ. Cet ensemble peut être défini par le
schéma inductif suivant :
Base : Σ
Règle : si mΣet aΣalors a.m Σ
Propriété 2 , .)a une structure de monoïde libre, c’est à dire :
le produit est une opération interne, associative et possédant un élément neutre dans Σ
tout mot s’écrit de manière unique comme le produit d’éléments de Σ
Polytech-IG3 — Langages, Automates, Grammaires, Expressions Régulières avril 2009 p. 2/ 7
Définition 3 Ordre lexicographique
Soit <Σun ordre total arbitraire sur Σ. L’ordre lexicographique <Lsur Σest défini par :
u, v Σ, u <Lvssi w, u0Σ,v0Σ\ {}tels que
u=w.u0, v =w.v0et (u0=ou u0(1) <Σv0(1))
1.3 Langages
Définition 4 Un langage sur un alphabet Σest une partie de Σ.
Les opérations sur les langages sont :
les opérations ensemblistes : l’union (), intersection (), la différence ensembliste (\), le complé-
mentaire (dans Σ).
le produit ou concaténation de deux langages L1et L2définis sur un alphabet Σest le langage sur
Σnoté L1.L2, défini par : L1.L2={m1.m2/m1L1et m2L2}
la fermeture de Kleene (ou étoile) d’un langage LΣest le langage de Σnoté Let défini
par :
L0={}
Ln+1 =L.Ln(nN)
L=S
iN
Li
la fermeture positive d’un langage LΣest le langage noté L+avec L+=S
iN,i>0
Li
2 Automates d’états finis
2.1 Définitions
Définition 5 Un automate fini (en abrégé AF) Aest un quintuplet <Σ, E, I, F, >où :
Σest l’alphabet d’entrée
Eest un ensemble fini dont les éléments sont appelés états
IEest l’ensemble des états initiaux (ou états de départ)
FEest l’ensemble des états finaux (ou états d’arrivée)
E×Σ×Eest l’ensemble des transitions
On représente un AF A=<Σ, E, I, F, >par un graphe étiqueté tel que :
les sommets sont les états de E
à chaque transition (e1, a, e2)correspond un arc entre les sommets e1et e2étiqueté par a; pour
éviter de dessiner trop d’arcs (et d’avoir un multi-graphe), on s’autorise à étiqueter les arcs par des
ensembles de symboles.
les sommets de Isont repérés par une flèche entrante et ceux associés aux états de Fsont marqués
d’un double cercle.
Mots et chemins dans un automate
Définition 6 Soit A=<Σ, E, I, F, >un automate d’états fini.
Un chemin est une séquence de la forme (e0, a0, e1, a1, . . . , ek1, ak1, ek)avec k0, où les eisont des
états, les aides lettres de Σet i[0, k 1],(ei, ai, ei+1).
On dit que (e0, a0, e1, a1, . . . , ek1, ak1, ek)est un chemin de longueur kentre les états e0et ek, qui a pour
étiquette le mot de Σ:a0a1. . . ak1.
En particulier pour tout état e,(e)est un chemin de longueur 0 entre eet edont l’étiquette est .
Polytech-IG3 — Langages, Automates, Grammaires, Expressions Régulières avril 2009 p. 3/ 7
Définition 7 On définit à partir de l’ensemble de transitions la fonction de transition δpar
δ:E×Σ2Eavec : eE, aΣ, δ(e, a) = {e0tq (e, a, e0)}
(on rappelle que 2Edésigne l’ensemble des parties de E).
δ(e, a)est l’ensemble des états accessibles par un arc d’origine eet d’étiquette a.
Définition 8 On étend δde manière à ce que son second argument soit un mot et non seulement un
symbole ; par abus de langage, on conserve la même notation.
δ:E×Σ2Eavec : eE, aΣ,mΣδ(e, ) = {e}
δ(e, a.m) = S
(e,a,e0)
δ(e0, m)
δ(e, m)est l’ensemble des états accessibles par un chemin d’origine eet d’étiquette m.
Définition 9 Soit A=<Σ, E, I, F, >un AF et δla fonction de transition associée à A.
Un mot mΣest reconnu par As’il est l’étiquette d’un chemin entre un état initial et un état final,
autrement dit s’il existe un état initial eiIet un état final efFtel que efδ(ei, m).
L(A), le langage reconnu par A, est l’ensemble des mots de Σreconnus par A.
Définition 10 Automates équivalents
Deux automates finis Aet A0sur le même alphabet sont équivalents si et seulement si ils reconnaissent
le même langage.
Définition 11 Langages reconnaissables .
Un langage est reconnaissable si et seulement si il est reconnu par un automate d’états fini. On note
Rec)la classe des langages de Σreconnaissables.
2.2 Automates d’états finis complets
Définition 12
Un AF A=<Σ, E, I, F, >est complet ssi eE, aΣ,|{(e, a, e0)}| ≥ 1
Propriété 3 A tout automate fini A=<Σ, E, I, F, >on peut associer un automate complet équivalent.
Cet automate AC=<Σ, EC, I, F, C>est défini par :
EC=E∪ {p},pun nouvel état n’appartenant pas à E(état "poubelle")
C= ∪ {(e, a, p)tq (e, a, e0)6∈ }∪{(p, a, p), a Σ}
2.3 Automates d’états finis déterministes
Définition 13
Un AF A=<Σ, E, I, F, >est déterministe (en abrégé AFD) ssi
|I|= 1 (Aa un unique état initial)
et eE, aΣ,|{(e, a, e0)}| ≤ 1
(autrement dit, pour tout symbole a, il y a au plus un arc sortant de e)
Polytech-IG3 — Langages, Automates, Grammaires, Expressions Régulières avril 2009 p. 4/ 7
Dans le cas des automates déterministes, pour simplifier les notations, nous modifions la définition de
la fonction de transition en prenant comme co-domaine les états à la place des parties d’états.
Ainsi pour un AFD A=<Σ, E, I ={i}, F, >la signature de la fonction de transition est :
δ:E×ΣE∪ {∅} .
Avec ces notations le langage reconnu par A=<Σ, E, I ={i}, F, >est L(A) = {mΣ:δ(i, m)F}.
Définition 14 Soit A=<Σ, E, I, F, >un AF. L’AFD associé à Aest A0=<Σ, E0, I0, F 0,0>tel
que : E0= 2E
I0={I}
F0={YE0/Y F6=∅}
0={(Y, a, S
eY
δ(e, a)) /Y E0, a Σ}
On remarquera que par construction A0est déterministe et complet.
Lemme 1 Soient A=<Σ, E, I, F, >un AF et A0=<Σ, E0, I0, F 0,0>l’AFD associé à A,δet δ0
leur fonction de transition. On a :
mΣ,YE0, δ0(Y, m) = S
eY
δ(e, m).
Propriété 4 Soient Aun AF et A0l’AFD associé à A; alors Aet A0sont équivalents.
Théorème 1 Un langage est reconnaissable si et seulement si il est reconnu par un AFD.
Définition 15 Un état eest accessible si et seulement si il existe un chemin de l’état initial à e.
Un état eest co-accessible si et seulement si il existe un chemin de eà un état final.
Propriété 5 Soit Aun automate déterministe ; l’automate obtenu à partir de Aen supprimant les états
non accessibles reconnaît le même langage que A
Algorithme de construction
L’automate construit est un automate déterministe équivalent à l’automate de départ, ne contenant
que des états accessibles.
Données : AFN A=<Σ, E, I, F, >
Résultat : AFD A0=<Σ, E0, I0, F 0,0>un AFD complet, sans état inaccessible et équivalent à
Atq L(A) = L(A0)/* E02E,c’est un ensemble de parties de E*/
I0={I};0 ;marque(I0)faux ; E0I0;
tant que YE0et not(marque(Y)) faire
marque(Y)vrai ;
pour chaque aΣfaire
ZS
yY, (y,a,z)
z;
si Z6∈ E0alors
rajouter ZàE0;marque(Z)faux ;
Rajouter (Y, a, Z)à0;
F0− {YE0/Y F6=∅} ;
Polytech-IG3 — Langages, Automates, Grammaires, Expressions Régulières avril 2009 p. 5/ 7
3 Propriétés de fermeture des langages reconnaissables
3.1 Langages reconnaissables de base
Propriété 6 Les langages ,{},Σainsi que tout langage réduit à un mot d’une lettre sont reconnais-
sables.
3.2 Composition de langages reconnaissables : opérations ensemblistes
Propriété 7 L’union de deux langages reconnaissables est un langage reconnaissable.
Propriété 8 Le complémentaire d’un langage reconnaissable est un langage reconnaissable.
Propriété 9 L’intersection de deux langages reconnaissables est un langage reconnaissable.
3.3 Opérations produit et étoile
Pour vérifier si les opérations produit et étoile conservent le caractère reconnaissable des langages, on
introduit la notion d’«automate standard».
Définition 16 Un AF A=<Σ, E, I, F, >est standard si et seulement si il a un unique état initial
et qu’aucune transition n’arrive à cet état de départ, c’est à dire :
|I|= 1 et eE, aΣ, δ(e, a)I=.
Propriété 10 Tout langage reconnaissable peut être reconnu par un AF standard.
Propriété 11 Le produit de deux langages reconnaissables est reconnaissable.
Propriété 12 Si Lest un langage reconnaissable alors Lest reconnaissable.
En résumé la classe des langages reconnaissables sur un alphabet Σ
contient le langage vide, le langage réduit au mot vide, les langages réduits à une lettre de Σ
et est fermée pour les opérations union, intersection, complémentaire, produit et étoile.
4 Expressions régulières (rationnelles), Langages Rationnels
Les expressions régulières (ou expressions rationnelles) sont un autre formalisme permettant de décrire
des langages. Chaque expression régulière rdécrit un unique langage L(r).
4.1 Définitions
Définition 17 Les expressions régulières(en abrégé ER) sur un alphabet Σsont définies inductivement
par :
, et a, où aΣ, sont des ER
Si ret ssont des ER,
(r)
(r)|(s)
(r)(s)
(r)
sont des ER.
Définition 18 Langages décrits par les expressions régulières.
1 / 7 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 !