Академический Документы
Профессиональный Документы
Культура Документы
1/ 7
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
Définition 1 Le produit de 2 mots u et v sur l’alphabet Σ, noté u.v, est un mot m sur 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
Base : ∈ Σ∗
Règle : si m ∈ Σ∗ et a ∈ Σ alors a.m ∈ Σ∗
1.3 Langages
Définition 4 Un langage sur un alphabet Σ est une partie de Σ∗ .
δ(e, a) est l’ensemble des états accessibles par un arc d’origine e et 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, m) est l’ensemble des états accessibles par un chemin d’origine e et d’étiquette m.
Propriété 3 A tout automate fini A =< Σ, E, I, F, ∆ > on peut associer un automate complet équivalent.
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é à A est A0 =< Σ, E 0 , I 0 , F 0 , ∆0 > tel
que : – E 0 = 2E
– I 0 = {I}
– F 0 = {Y ∈ E 0S
/Y ∩ F 6= ∅}
0
– ∆ = {(Y, a, δ(e, a)) /Y ∈ E 0 , a ∈ Σ}
e∈Y
On remarquera que par construction A0 est déterministe et complet.
Propriété 5 Soit A un automate déterministe ; l’automate obtenu à partir de A en 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.
F 0 ←− {Y ∈ E 0 /Y ∩ F 6= ∅} ;
Polytech-IG3 — Langages, Automates, Grammaires, Expressions Régulières avril 2009 p. 5/ 7
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 r et s sont des ER,
– (r)
– (r)|(s)
– (r)(s)
– (r)∗
sont des ER.
– L(∅) = ∅
– L() = {}
– ∀a ∈ Σ, L(a) = {a}
– r et s étant 2 expressions régulières qui décrivent les langages L(r) et L(s),
– L((r)) = L(r)
– L((r)|(s)) = L(r) ∪ L(s)
– L((r)(s)) = L(r).L(s)
– L((r)∗ ) = (L(r))∗
On utilisera également un autre opérateur unaire, noté +, dont le sens est (r)+ = (r)((r)∗ ).
Pour simplifier les notations, on convient que :
– l’opérateur unaire ∗ a la priorité maximum et son opérande est à sa gauche
– la concaténation a la priorité juste inférieure et est associative à gauche
– | a la plus faible priorité et est associatif à gauche
– l’opérateur unaire + a la même priorité que ∗ et son opérande est à gauche
avec ces conventions : (a)|((b)∗ (c) s’écrit a|b∗ c
Remarque
Des expressions régulières qui décrivent le même langage sont dites équivalentes ; Ex : (a|b) et (b|a).
Définition 19 Un langage sur l’alphabet Σ est rationnel ssi il peut être décrit par une expression régulière
sur Σ. On note Rat(Σ∗ ) la classe des langages rationnels sur l’alphabet Σ.
Pour alléger un peu l’écriture des grammaires, on peut regrouper les productions ayant même partie
gauche en "règles", en utilisant le symbole | : une règle est de la forme X → α1 |α2 | . . . |αn et correspond
à l’ensemble de n productions : {X → α1 , X → α2 , . . . , X → αn }.
Ex : G = hAN = {S}, Σ = {a, b}, P = {S → a S b | }, Si
Polytech-IG3 — Langages, Automates, Grammaires, Expressions Régulières avril 2009 p. 7/ 7
Définition 21 Dérivation.
– Une étape de dérivation utilisant la production X → α de P consiste à remplacer X par α dans
une chaîne où figure X. D’une chaîne de la forme βXγ (où β, γ ∈ (AN ∪ Σ)∗ ) on obtient donc par
dérivation βαγ.
On note βXγ ⇒ βαγ.
– Une dérivation de longueur n est une séquence de n étapes de dérivation de la forme :
β0 ⇒ β1 ⇒ . . . ⇒ βn où chaque βi ⇒ βi+1 est une étape de dérivation.
– Notations :
n
β ⇒ γ signifie "β se dérive en γ en n étapes"
∗
β ⇒ γ signifie "β se dérive en γ en un nombre quelconque d’étapes, éventuellement nul"
Propriété 13
Les langages ∅, {}, {a} sont des langages réguliers.