Vous êtes sur la page 1sur 7

Formulaire Automates &

Langages
M. Barnachon

Table des matières


1 Langage 2

2 Automate fini déterministe 2


2.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Table de transition . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 Graphe d’un automate . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Définitions et propriétés . . . . . . . . . . . . . . . . . . . . . . . 3

3 Automate fini non déterministe 4


3.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Définitions et propriétés . . . . . . . . . . . . . . . . . . . . . . . 4

4 Déterminisation 4
4.1 Définition de l’automate déterministe . . . . . . . . . . . . . . . . 4
4.2 Construction pratique de l’automate déterministe . . . . . . . . . 5

5 Langage rationnel 5
5.1 Concaténation de langages . . . . . . . . . . . . . . . . . . . . . . 5
5.2 Expressions rationnelles . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 Automates et expression rationnelle . . . . . . . . . . . . . . . . 6
5.4 propriétés des langages rationnels . . . . . . . . . . . . . . . . . . 7
5.5 Lemme de l’étoile . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1
1 Langage
Mot. On se donne un ensemble fini Σ , appelé alphabet, et dont les éléments
sont appelés lettres. Un mot sur Σ est une suite finie m : 1, . . . , p → Σ d’éléments
de Σ. Le mot m est noté m1 . . . mp (où mi désigne l’image de i par m). La
longueur du mot u, notée |u|, est le nombre de ses termes. La suite vide est
appelée mot vide et est notée  . Pour n un entier naturel, on note Σ n l’ensemble
des mots sur Σ de longueur n. En particulier Σ0 = . L’ensemble des mots finis

sur Σ est noté
S Σ n.

Ainsi Σ = Σ
n≥0
on appelle langage sur Σ tout sous-ensemble de Σ∗ .

Concaténation. Soient u et v deux mots sur Σ. La concaténation des mots


u = u1 . . . up et v = v1 . . . vq est le mot noté uv définit par uv = u1 . . . up v1 . . . vq

Facteur, préfixe, suffixe. Si u, x, y et v sont des mots tels que u = xvy, on


dit que v est un facteur, x un préfixe et y un suffixe de u.
Si u est un mot et n un entier, un est défini par u0 =  et un+1 = un u.

Proposition 1 Deux mots finis u et v commutent si et seulement s’il existe un


mot w et deux entiers p et q tels que u = w p et v = wq .

2 Automate fini déterministe


2.1 Définition formelle d’un automate fini déterministe
Un automate fini déterministe est la donné d’un quintuplet A = (Q, Σ, δ, s, F )
où
– Q est l’ensemble des états
– Σ est l’alphabet
– δ : Q × Σ → Q est la fonction de transition, définie sur un sous-ensemble
de Q × Σ
– s ∈ Q est l’état initial
– F ⊂ Q est l’ensemble des états finals ou états d’acceptation

2.2 table de transition d’un automate


On représente souvent la fonction de transition par une table appelée table
de transition

Ex : Soit A = (Q, Σ, δ, s, F ) avec Σ = {a, b}, Q = {1, 2, 3}, s = 1, F = {3}


et la fonction de transition δ défini par δ(1, a) = 2, δ(2, b) = 3, δ(3, a) = 3 et
δ(3, b) = 3.

2
La table de transition associée est :

δ a b
1 2 -
2 - 3
3 3 3

2.3 Graphe d’un automate


On associe à tout automate un graphe orienté dont l’ensemble des som-
mets est l’ensemble des états. L’état initial est représenté par une flèche en-
trante, les états finals sont représentés par deux cercles concentriques. Les arcs
se déduissent de la table de transition.

2.4 Définitions et propriétés


On définit par induction la fonction (partielle) δ ∗ sur l’ensemble Q × Σ∗ par
– δ ∗ (q, u) = δ(q, u) si |u| = 1
– δ ∗ (q, au) = δ ∗ (δ(q, a), u)
– δ ∗ (q, ) = q.
Un mot u est reconnu par l’automate lorsque δ ∗ (s, u) ∈ F .
L’ensemble des mots reconnus par l’automate est appelé langage reconnu par
l’automate et est noté L(A).

Automates équivalents Deux automates sont dits équivalents lorsqu’il re-


connaissent le même langage.

Chemin associé à un mot on représente l’exécution de la lecture du mot


u = a1 a2 . . . an par :
a a an
s →1 q1 →2 q2 · · · qn−1 → qn

Automate émondé On dit que l’état q’ est q-accessible et que l’état q est q’-
coaccessible s’il existe un mot u tel que δ ∗ (q, u) = q 0 . Un état est dit accessible s’il
est s-accessible (où s est l’état initial), il est dit coaccessible s’il est q-accessible
pour un q ∈ F . Un automate est dit émondé lorsque tous ses états sont à la fois
accessibles et coaccessibles.

Proposition 2 Tout automate est équivalent à un automate émondé.

Automate complet Un automate est complet lorsque sa fonction de transi-


tion est partout définie sur Q × Σ.

Proposition 3 Tout automate est équivalent à un automate complet.

3
3 Automate fini non déterministe
Le concept d’automate fini non déterministe est plus général que celui d’au-
tomate dini déterministe :
– l’automate non déterministe peut avoir plusieurs états initiaux
– Un transition peut être étiquetée par le mot vide
– Il peut exister plusieurs transitions sur le même mot à partir d’un état
donné

3.1 Définition formelle d’un automate fini non déterministe


Un automate fini non déterministe est la donné d’un quintuplet A = (Q, Σ, ∆, I, F )
où
– Q est l’ensemble des états
– Σ est l’alphabet
– ∆ ⊂ Q × Σ∗ × Q est la relation de transition
– I ∈ Q est l’ensemble des états initiaux
– F ⊂ Q est l’ensemble des états finaux

3.2 Définitions et propriétés


Les notions de graphe associé, chemin associé sont les mêmes que pour les
automates déterministes.
Proposition 4 Tout automate fini non déterministe est équivalent à un auto-
mate fini non déterministe dont les transitions ne portent que sur des mots de
longueur inférieur ou égale à 1.

Transition instantanée Une transition étiqueté par le mot vide est appelée
transition instantanée.

Proposition 5 Tout automate fini non déterministe est équivalent à un auto-


mate fini non déterministe sans transition instantanée.

4 Déterminisation
Proposition 6 Pour tout automate fini non déterministe il est possible de
définir un automate fini déterministe équivalent.

Théorème 1 La classe des langages reconnus par un automate fini non déterministe
est celle des langages reconnus par un automate fini déterministe.

4.1 Définition de l’automate déterministe


on considère un automate fini équivalent sans transition sur des mots de
longueur > 1.
L’automate déterministe Ad = (Q0 , Σ, δ, s0 , F 0 ) est construit comme suit :

4
– Q0 est l’ensemble P(Q) des partie de Q
– l’état initial s0 est constitué de tout état initial i et de l’ensemble des états
de Q accessibles à partir de l’état initial s par une suite de transitions
instantanées
– Si q 0 ∈ Q0 et a ∈ Σ alors δ(q 0 , a) est l’ensemble des états accessibles à
partir d’un état p ∈ q 0 par une suite de transitions, la première portant sur
la lettre a, les suivantes étant instantanées. Formellement si I(q) désigne
l’ensemble des états accessibles à partir de q par une suite (éventuellement
vide car on veut que q ∈ I(q)) de transitions instantanées, on a :

q ∈ δ(q 0 , a) ⇐⇒ p (q 0 , a, p) ∈ ∆ et q ∈ I(p)

– un état de Ad est un état d’acceptation s’il contient un état d’acceptation


de A :
q 0 ∈ F 0 ⇐⇒ q 0 ∩ F 6= ∅

4.2 Construction pratique de l’automate déterministe


La méthode qui suit permet de trouver un automate fini déterministe émondé
équivalent en construisant sa table de transitions :
– partant de l’ensemble des états initiaux, pour chaque lettre x ∈ Σ, on écrit
la réunion des ensembles I(q) pour i ∈ I et (i, x, q) ∈ ∆
– on itère le procédé pour chaque nouveau sous-ensemble détats obtenu
– Le procédé s’arrête quand il n’y a plus de nouveau sous-ensemble d’états

5 Langage rationnel
5.1 Concaténation de langages
Si L1 et L2 sont deux langages sur un alphabet Σ on définit le concaténé
L1 .L2 par
L1 .L2 = {uv|(u, v) ∈ L1 × L2 }

S i L est un langage et n un entier naturel, Ln est définit par

L0 = {} et Ln+1 = Ln .L

On pose [ [
L∗ = Ln et L+ = Ln
n≥0 n≥1

5
5.2 Expressions rationnelles
Expression rationnelle. Soit Σ un ensemble fini ne contenant pas les sym-
boles ∅, , (, ), +, ∗, ∗.
On définit par induction structurelle l’ensemble des expressions rationnelles
R(Σ) par :
1. ∅ ∈ R(Σ)
2.  ∈ R(Σ)
3. ∀x ∈ Σ x ∈ R(Σ)
4. ∀α, β ∈ R(Σ) α + β ∈ R(Σ)
5. ∀α, β ∈ R(Σ) αβ ∈ R(Σ)
6. ∀α, β ∈ R(Σ) (α)∗ ∈ R(Σ)

Langage rationnel. Soit l’application L de R(Σ) dans l’ensemble P(Σ) des


langages définis sur Σ par :
1. L(∅) = ∅
2. L() = {}
3. ∀x ∈ Σ L(x) = {x}
4. ∀α, β ∈ R(Σ) L(α + β) = L(α) ∪ L(β)
5. ∀α, β ∈ R(Σ) L(αβ) = L(α).L(β)
6. ∀α ∈ R(Σ) L(α∗ ) = (L(α))∗
Pour toute expression rationnelle α, l’ensemble L(α) est le langage associé à α.
On appelle langage rationnel tout langage associé à une expression rationnelle.

Expressions rationnelles équivalentes. Deux expressions rationnelles sont


dites équivalentes si les langages associés sont identiques.

5.3 Automates et expression rationnelle


Théorème 2 (Kleene) Soit L un langage sur un alphabet Σ. L est rationnel
si et seulement s’il est reconnu par un automate fini.

Lemme 1 (Arden) Soient r1 et r2 deux expressions rationnelles. L’expression


rationnelle r1∗ r2 est solution de l’équation en x

x = r1 x + r2

Si le langage associé à r1 ne contient pas le mot vide alors le langage associé à


cette solution est unique
Sinon la solution générale de l’équation est x = r1∗ (r2 +y) où y est une expression
rationnelle quelconque.

Application Le lemme d’Arden permet de déterminer une expression ration-


nelle associée au langage reconnu par un automate.

6
5.4 propriétés des langages rationnels
Proposition 7 La classe des langages rationnels sur un alphabet Σ est fermée
par union, intersection et complémentaire : si L et L0 sont deux langage ration-
nels alors les langages L ∪ L0 , L ∩ L0 et Σ∗ \ L sont rationnels.

Proposition 8 Si L et L0 sont des lanages rationnels sur Σ alors les langages


L.L0 et L∗ sont rationnels.

5.5 Lemme de l’étoile


Lemme 2 (lemme de l’étoile) Soit L un langage rationnel. Il existe un en-
tier N > 0 tel que pour tout mot w ∈ L de longueur supérieur ou égale à N il
existe des mots x, y et u 6=  tels que w = xuy et xu∗ y ⊂ L

Ce lemme permet souvent de montrer qu’un langage n’est pas rationnel.

Vous aimerez peut-être aussi