Vous êtes sur la page 1sur 89

Automates finis déterministes et langages réguliers

IFT-2002: Chapitre 2.1 Automates finis déterministes 1 / 38


Définitions de base : alphabets et mots

Définitions
Un alphabet est un ensemble fini non-vide.

IFT-2002: Chapitre 2.1 Automates finis déterministes 2 / 38


Définitions de base : alphabets et mots

Définitions
Un alphabet est un ensemble fini non-vide.
Un élément d’un alphabet est appelé lettre, symbole ou caractère.

IFT-2002: Chapitre 2.1 Automates finis déterministes 2 / 38


Définitions de base : alphabets et mots

Définitions
Un alphabet est un ensemble fini non-vide.
Un élément d’un alphabet est appelé lettre, symbole ou caractère.
Un mot ou une séquence est une suite finie de lettres de l’alphabet.

IFT-2002: Chapitre 2.1 Automates finis déterministes 2 / 38


Définitions de base : alphabets et mots

Définitions
Un alphabet est un ensemble fini non-vide.
Un élément d’un alphabet est appelé lettre, symbole ou caractère.
Un mot ou une séquence est une suite finie de lettres de l’alphabet.
Pour un mot w , on dénote par |w | la longueur de w , c’est à dire son
nombre de lettres.

IFT-2002: Chapitre 2.1 Automates finis déterministes 2 / 38


Définitions de base : alphabets et mots

Définitions
Un alphabet est un ensemble fini non-vide.
Un élément d’un alphabet est appelé lettre, symbole ou caractère.
Un mot ou une séquence est une suite finie de lettres de l’alphabet.
Pour un mot w , on dénote par |w | la longueur de w , c’est à dire son
nombre de lettres.
Le mot vide, dénoté  est le mot de longueur 0.

IFT-2002: Chapitre 2.1 Automates finis déterministes 2 / 38


Définitions de base : alphabets et mots

Définitions
Un alphabet est un ensemble fini non-vide.
Un élément d’un alphabet est appelé lettre, symbole ou caractère.
Un mot ou une séquence est une suite finie de lettres de l’alphabet.
Pour un mot w , on dénote par |w | la longueur de w , c’est à dire son
nombre de lettres.
Le mot vide, dénoté  est le mot de longueur 0.
La concaténation de deux mots x et y , qu’on dénote par xy est le mot
obtenu en mettant bout à bout les deux séquences. Notez que
x = x = x pour tout mot x.

IFT-2002: Chapitre 2.1 Automates finis déterministes 2 / 38


Définitions de base : alphabets et mots

Définitions
Un alphabet est un ensemble fini non-vide.
Un élément d’un alphabet est appelé lettre, symbole ou caractère.
Un mot ou une séquence est une suite finie de lettres de l’alphabet.
Pour un mot w , on dénote par |w | la longueur de w , c’est à dire son
nombre de lettres.
Le mot vide, dénoté  est le mot de longueur 0.
La concaténation de deux mots x et y , qu’on dénote par xy est le mot
obtenu en mettant bout à bout les deux séquences. Notez que
x = x = x pour tout mot x.
Si x est un mot et k ∈ N, on dénote par x k le mot obtenu en
concaténant k copies de x. Notez que x 0 =  pour tout mot x.

IFT-2002: Chapitre 2.1 Automates finis déterministes 2 / 38


Exemples : alphabets et mots

Exemples
L’alphabet {0, 1} est couramment appelé l’alphabet booléen et
comprend deux lettres. L’alphabet latin comprend 26 lettres. Un
ensemble avec un seul élément {a} peut aussi être considéré comme
un alphabet.
N n’est pas un alphabet parce que cet ensemble est infini.

IFT-2002: Chapitre 2.1 Automates finis déterministes 3 / 38


Exemples : alphabets et mots

Exemples
L’alphabet {0, 1} est couramment appelé l’alphabet booléen et
comprend deux lettres. L’alphabet latin comprend 26 lettres. Un
ensemble avec un seul élément {a} peut aussi être considéré comme
un alphabet.
N n’est pas un alphabet parce que cet ensemble est infini.
0100 est un exemple de mot sur l’alphabet {0, 1}. Sa longueur |0100|
est 4. Le mot abc sur l’alphabet latin est de longueur 3.
si x = 0100 et y = 100 alors leur concaténation xy est 0100100.
Notez que |xy | = |x| + |y | pour n’importe quels mots x et y .
Le mot (abc)4 est abcabcabcabc.

IFT-2002: Chapitre 2.1 Automates finis déterministes 3 / 38


Définitions : clôture et langages

Définitions
Si Σ est un alphabet, la clôture de Σ, dénotée par Σ∗ , est l’ensemble
des mots de longueur finie sur l’alphabet Σ. Par définition,  ∈ Σ∗
pour n’importe quel alphabet Σ.
Un langage est un sous-ensemble de Σ∗ . Autrement dit, un langage
est un ensemble de mots sur un alphabet donné.

IFT-2002: Chapitre 2.1 Automates finis déterministes 4 / 38


Exemples : clôture et langages

Exemples
Si Σ = {a} alors Σ∗ = {, a, aa, aaa, . . .}.

IFT-2002: Chapitre 2.1 Automates finis déterministes 5 / 38


Exemples : clôture et langages

Exemples
Si Σ = {a} alors Σ∗ = {, a, aa, aaa, . . .}.
On a démontré dans le premier cours que pour tout alphabet Σ,
l’ensemble Σ∗ est infini dénombrable.

IFT-2002: Chapitre 2.1 Automates finis déterministes 5 / 38


Exemples : clôture et langages

Exemples
Si Σ = {a} alors Σ∗ = {, a, aa, aaa, . . .}.
On a démontré dans le premier cours que pour tout alphabet Σ,
l’ensemble Σ∗ est infini dénombrable.
L’ensemble {x : x ∈ {0, 1}∗ ∧ la première et la dernière lettre de x
sont identiques} forme un langage sur l’alphabet {0, 1}.

IFT-2002: Chapitre 2.1 Automates finis déterministes 5 / 38


Exemples : clôture et langages

Exemples
Si Σ = {a} alors Σ∗ = {, a, aa, aaa, . . .}.
On a démontré dans le premier cours que pour tout alphabet Σ,
l’ensemble Σ∗ est infini dénombrable.
L’ensemble {x : x ∈ {0, 1}∗ ∧ la première et la dernière lettre de x
sont identiques} forme un langage sur l’alphabet {0, 1}.
Soit Σ = {a, b}. Alors L = {xx : x ∈ {a, b}∗ } est un langage. Il est
constitué des mots qui peuvent être découpés en deux moitiés
identiques :
L = {, aa, bb, aaaa, abab, baba, bbbb, aaaaaa, aabaab, . . .}.

IFT-2002: Chapitre 2.1 Automates finis déterministes 5 / 38


Exemples : clôture et langages

Exemples
Si Σ = {a} alors Σ∗ = {, a, aa, aaa, . . .}.
On a démontré dans le premier cours que pour tout alphabet Σ,
l’ensemble Σ∗ est infini dénombrable.
L’ensemble {x : x ∈ {0, 1}∗ ∧ la première et la dernière lettre de x
sont identiques} forme un langage sur l’alphabet {0, 1}.
Soit Σ = {a, b}. Alors L = {xx : x ∈ {a, b}∗ } est un langage. Il est
constitué des mots qui peuvent être découpés en deux moitiés
identiques :
L = {, aa, bb, aaaa, abab, baba, bbbb, aaaaaa, aabaab, . . .}.
∅ et Σ∗ sont des langages sur l’alphabet Σ.

IFT-2002: Chapitre 2.1 Automates finis déterministes 5 / 38


Pourquoi s’intéresser aux langages ?
Soit M une machine où l’entrée est une suite de symboles de l’alphabet Σ
et où la sortie est binaire. Donc M calcule une fonction f : Σ∗ → {0, 1}.

Machine M
Données Résultat
Traitement de l’entrée suivant
en entrée en sortie
une liste d’opérations précises

IFT-2002: Chapitre 2.1 Automates finis déterministes 6 / 38


Pourquoi s’intéresser aux langages ?
Soit M une machine où l’entrée est une suite de symboles de l’alphabet Σ
et où la sortie est binaire. Donc M calcule une fonction f : Σ∗ → {0, 1}.

Machine M
Données Résultat
Traitement de l’entrée suivant
en entrée en sortie
une liste d’opérations précises

Machine M
w ∈ Σ∗ Traitement de l’entrée suivant {0, 1}
une liste d’opérations précises

On dit que M accepte une entrée w si f (w ) = 1 et qu’elle la rejette si


f (w ) = 0.

IFT-2002: Chapitre 2.1 Automates finis déterministes 6 / 38


Langage accepté par une machine

Définition
Soit M une machine dont la sortie est toujours dans {0, 1}. Le langage
accepté par M (dénoté L(M)) est l’ensemble des w acceptés par M.
Notons que L(M) ⊆ Σ∗ .

IFT-2002: Chapitre 2.1 Automates finis déterministes 7 / 38


Langage accepté par une machine

Définition
Soit M une machine dont la sortie est toujours dans {0, 1}. Le langage
accepté par M (dénoté L(M)) est l’ensemble des w acceptés par M.
Notons que L(M) ⊆ Σ∗ .

Inversement, chaque langage L donne lieu à un problème algorithmique :


construire une machine qui étant donné un mot w accepte si et seulement
si w appartient à L.

IFT-2002: Chapitre 2.1 Automates finis déterministes 7 / 38


Automates finis

Un automate fini est une machine qui reçoit en entrée un mot qui lui est
fourni lettre par lettre. Dès que la dernière lettre est lue, l’automate doit
décider s’il accepte ou rejette l’entrée qu’il vient de traiter.

Handicap important : un automate fini ne possède qu’une mémoire


extrèmement limitée. En particulier, si le mot qu’il reçoit est suffisamment
long, l’automate ne pourra pas se rappeler exactement quelles sont les
lettres qu’il a déjà reçues.

Modèle très simple donc limité mais tout de même utile pour modéliser des
machines qui fonctionnent essentiellement sans mémoire (machine à café).

Avant de les définir formellement, présentons plutôt leur représentation


graphique.

IFT-2002: Chapitre 2.1 Automates finis déterministes 8 / 38


Diagrammes de transitions

Définition
Un diagramme de transitions sur l’alphabet Σ est constitué de :
Un ensemble fini de cercles appelés états. Les états peuvent porter un
nom mais cela n’est pas nécessaire.

IFT-2002: Chapitre 2.1 Automates finis déterministes 9 / 38


Diagrammes de transitions

Définition
Un diagramme de transitions sur l’alphabet Σ est constitué de :
Un ensemble fini de cercles appelés états. Les états peuvent porter un
nom mais cela n’est pas nécessaire.
Un ensemble de flèches entre les états appelées transitions, chaque
transition étant étiquetée par une lettre de l’alphabet Σ.

IFT-2002: Chapitre 2.1 Automates finis déterministes 9 / 38


Diagrammes de transitions

Définition
Un diagramme de transitions sur l’alphabet Σ est constitué de :
Un ensemble fini de cercles appelés états. Les états peuvent porter un
nom mais cela n’est pas nécessaire.
Un ensemble de flèches entre les états appelées transitions, chaque
transition étant étiquetée par une lettre de l’alphabet Σ.
Un état initial indiqué par une petite flèche pointant sur cet état.

IFT-2002: Chapitre 2.1 Automates finis déterministes 9 / 38


Diagrammes de transitions

Définition
Un diagramme de transitions sur l’alphabet Σ est constitué de :
Un ensemble fini de cercles appelés états. Les états peuvent porter un
nom mais cela n’est pas nécessaire.
Un ensemble de flèches entre les états appelées transitions, chaque
transition étant étiquetée par une lettre de l’alphabet Σ.
Un état initial indiqué par une petite flèche pointant sur cet état.
Un sous ensemble d’états finaux (aussi appelés états acceptants)
indiqués par des doubles cercles.

IFT-2002: Chapitre 2.1 Automates finis déterministes 9 / 38


Diagrammes de transitions : exemples

a b
b
a
A B C
a
b

a D b

Dans cet exemple, les états sont étiquetés. L’alphabet du diagramme est
{a, b}. L’état initial est A et le seul état final est l’état C .

IFT-2002: Chapitre 2.1 Automates finis déterministes 10 / 38


Diagrammes de transitions : exemples

a b
b
a
A B C
a
b

a D b

Dans cet exemple, les états sont étiquetés. L’alphabet du diagramme est
{a, b}. L’état initial est A et le seul état final est l’état C .

Il y a deux transitions de D vers D avec des étiquettes distinctes. Pour


éviter d’alourdir les diagrammes, on ne conservera qu’une flèche avec une
étiquette de plusieurs lettres.
IFT-2002: Chapitre 2.1 Automates finis déterministes 10 / 38
Diagrammes de transitions : exemples

a b
b
a
A B C
a
b

D a, b

Dans cet exemple, les états sont étiquetés. L’alphabet du diagramme est
{a, b}. L’état initial est A et le seul état final est l’état C .

Il y a deux transitions de D vers D avec des étiquettes distinctes. Pour


éviter d’alourdir les diagrammes, on ne conservera qu’une flèche avec une
étiquette de plusieurs lettres.
IFT-2002: Chapitre 2.1 Automates finis déterministes 11 / 38
Diagrammes de transitions
a b
b
a
A B C
a
b

D a, b

Notons aussi que pour chacun des états il y a deux transitions sortantes,
une étiquetée a et l’autre étiquetée b. Ainsi un mot sur l’alphabet {a, b}
trace un chemin unique dans le diagramme.
À partir de l’état initial A :
Le mot aaba

IFT-2002: Chapitre 2.1 Automates finis déterministes 12 / 38


Diagrammes de transitions
a b
b
a
A B C
a
b

D a, b

Notons aussi que pour chacun des états il y a deux transitions sortantes,
une étiquetée a et l’autre étiquetée b. Ainsi un mot sur l’alphabet {a, b}
trace un chemin unique dans le diagramme.
À partir de l’état initial A :
Le mot aaba trace un chemin qui aboutit à B.

IFT-2002: Chapitre 2.1 Automates finis déterministes 12 / 38


Diagrammes de transitions
a b
b
a
A B C
a
b

D a, b

Notons aussi que pour chacun des états il y a deux transitions sortantes,
une étiquetée a et l’autre étiquetée b. Ainsi un mot sur l’alphabet {a, b}
trace un chemin unique dans le diagramme.
À partir de l’état initial A :
Le mot aaba trace un chemin qui aboutit à B.
Le mot aabb

IFT-2002: Chapitre 2.1 Automates finis déterministes 12 / 38


Diagrammes de transitions
a b
b
a
A B C
a
b

D a, b

Notons aussi que pour chacun des états il y a deux transitions sortantes,
une étiquetée a et l’autre étiquetée b. Ainsi un mot sur l’alphabet {a, b}
trace un chemin unique dans le diagramme.
À partir de l’état initial A :
Le mot aaba trace un chemin qui aboutit à B.
Le mot aabb trace un chemin qui aboutit à C .

IFT-2002: Chapitre 2.1 Automates finis déterministes 12 / 38


Diagrammes de transitions
a b
b
a
A B C
a
b

D a, b

Notons aussi que pour chacun des états il y a deux transitions sortantes,
une étiquetée a et l’autre étiquetée b. Ainsi un mot sur l’alphabet {a, b}
trace un chemin unique dans le diagramme.
À partir de l’état initial A :
Le mot aaba trace un chemin qui aboutit à B.
Le mot aabb trace un chemin qui aboutit à C .
Le mot vide 
IFT-2002: Chapitre 2.1 Automates finis déterministes 12 / 38
Diagrammes de transitions
a b
b
a
A B C
a
b

D a, b

Notons aussi que pour chacun des états il y a deux transitions sortantes,
une étiquetée a et l’autre étiquetée b. Ainsi un mot sur l’alphabet {a, b}
trace un chemin unique dans le diagramme.
À partir de l’état initial A :
Le mot aaba trace un chemin qui aboutit à B.
Le mot aabb trace un chemin qui aboutit à C .
Le mot vide  trace un chemin qui aboutit à A.
IFT-2002: Chapitre 2.1 Automates finis déterministes 12 / 38
Diagrammes de transitions complètement définis

a b
b
a, b
A B C
a
b
b
D a, b

Définition
On dit qu’un diagramme de transitions est complètement défini si pour
chaque état q et chaque lettre a de l’alphabet, il existe au moins une
transition étiquetée a qui part de q. (Exemple ci-dessus)

IFT-2002: Chapitre 2.1 Automates finis déterministes 13 / 38


Diagrammes de transitions complètement définis

a b
b
a, b
A B C

b
b
D a

Ce diagramme n’est pas complètement défini parce qu’il n’y a pas de


transition étiquetée a sortant de C ni de transition b sortant de D.

IFT-2002: Chapitre 2.1 Automates finis déterministes 14 / 38


Diagrammes de transitions non-ambigus

b
a
A B C
a
b

D a

Définition
On dit qu’un diagramme de transitions est non-ambigu si pour chaque état
q et chaque lettre a de l’alphabet, il existe au plus une transition étiquetée
a qui part de q. (Exemple ci-dessus)

IFT-2002: Chapitre 2.1 Automates finis déterministes 15 / 38


Diagrammes de transitions non-ambigus

a b
b
a, b
A B C
a
b a

D a, b

Ce diagramme est ambigu car il y a deux transitions a à partir de B et deux


transitions b à partir de A.

IFT-2002: Chapitre 2.1 Automates finis déterministes 16 / 38


Diagrammes de transitions déterministe
a b
b
a
A B C
a
b

D a, b

Définition
On dit qu’un diagramme de transitions est déterministe si pour chaque état
q et chaque lettre a de l’alphabet, il existe exactement une transition
étiquetée a qui part de q.
En d’autre mots, un diagramme est déterministe s’il est à la fois
complètement défini et non-ambigu.
IFT-2002: Chapitre 2.1 Automates finis déterministes 17 / 38
Diagrammes non-ambigus et état poubelle
Si un diagramme est non-ambigu mais pas complètement défini alors on
peut le transformer en diagramme déterministe en rajoutant un état
poubelle p, c’est à dire un état qui n’est pas acceptant et pour lequel
δ(p, a) = p pour tout symbole a ∈ Σ. Toutes les transitions manquantes
deviennent des transitions vers p.

q0 1 q1 1

q2

1 0

q3

IFT-2002: Chapitre 2.1 Automates finis déterministes 18 / 38


Diagrammes non-ambigus et état poubelle
Si un diagramme est non-ambigu mais pas complètement défini alors on
peut le transformer en diagramme déterministe en rajoutant un état
poubelle p, c’est à dire un état qui n’est pas acceptant et pour lequel
δ(p, a) = p pour tout symbole a ∈ Σ. Toutes les transitions manquantes
deviennent des transitions vers p.

q0 1 q1 q0 1 q1
1 1

0 0 0

q2 q2 1 p 0, 1

1 0 1 0
0
q3 q3

IFT-2002: Chapitre 2.1 Automates finis déterministes 18 / 38


Automates finis déterministes

Définition
Un automate fini déterministe M est défini par un quintuplet
(Q, Σ, δ, q0 , F ) où

IFT-2002: Chapitre 2.1 Automates finis déterministes 19 / 38


Automates finis déterministes

Définition
Un automate fini déterministe M est défini par un quintuplet
(Q, Σ, δ, q0 , F ) où
Q est un ensemble fini d’états ;

IFT-2002: Chapitre 2.1 Automates finis déterministes 19 / 38


Automates finis déterministes

Définition
Un automate fini déterministe M est défini par un quintuplet
(Q, Σ, δ, q0 , F ) où
Q est un ensemble fini d’états ;
Σ est l’alphabet de l’automate ;

IFT-2002: Chapitre 2.1 Automates finis déterministes 19 / 38


Automates finis déterministes

Définition
Un automate fini déterministe M est défini par un quintuplet
(Q, Σ, δ, q0 , F ) où
Q est un ensemble fini d’états ;
Σ est l’alphabet de l’automate ;
δ : Q × Σ → Q est une fonction de transition

IFT-2002: Chapitre 2.1 Automates finis déterministes 19 / 38


Automates finis déterministes

Définition
Un automate fini déterministe M est défini par un quintuplet
(Q, Σ, δ, q0 , F ) où
Q est un ensemble fini d’états ;
Σ est l’alphabet de l’automate ;
δ : Q × Σ → Q est une fonction de transition
q0 ∈ Q est l’état initial ;

IFT-2002: Chapitre 2.1 Automates finis déterministes 19 / 38


Automates finis déterministes

Définition
Un automate fini déterministe M est défini par un quintuplet
(Q, Σ, δ, q0 , F ) où
Q est un ensemble fini d’états ;
Σ est l’alphabet de l’automate ;
δ : Q × Σ → Q est une fonction de transition
q0 ∈ Q est l’état initial ;
F ⊆ Q est l’ensemble des états acceptants, aussi appelés états finaux.

IFT-2002: Chapitre 2.1 Automates finis déterministes 19 / 38


Automates et diagrammes

Chaque automate fini peut être représenté par un diagramme de transitions


déterministe. Les transitions du diagramme représentent la fonction de
transition δ, c’est à dire que δ(q, a) = p est indiqué dans le diagramme par
une transition étiquetée a de q vers p.
Comme δ est une fonction, on a la garantie que pour chaque état q et
chaque lettre a, il existe une et une seule transition étiquetée a sortant de q.

IFT-2002: Chapitre 2.1 Automates finis déterministes 20 / 38


Automates et diagrammes

Chaque automate fini peut être représenté par un diagramme de transitions


déterministe. Les transitions du diagramme représentent la fonction de
transition δ, c’est à dire que δ(q, a) = p est indiqué dans le diagramme par
une transition étiquetée a de q vers p.
Comme δ est une fonction, on a la garantie que pour chaque état q et
chaque lettre a, il existe une et une seule transition étiquetée a sortant de q.

Inversement, chaque diagramme de transitions déterministe décrit un


automate fini déterministe. En particulier on définit δ(q, a) = p si le
diagramme contient une transition étiquetée a de q vers p. Puisque le
diagramme est déterministe, il y a une et une seule transition a sortant de
q donc on obtient bien une fonction δ.

IFT-2002: Chapitre 2.1 Automates finis déterministes 20 / 38


Machine à ruban
a b b a a a a Ruban d’entrée
q1

tête de lecture

q3 ..
.

q2 qn

q1 q0

Mécanisme de contrôle fini

IFT-2002: Chapitre 2.1 Automates finis déterministes 21 / 38


Définition de l’acceptation
Définition
Soit M = (Q, Σ, δ, q0 , F ) un automate fini déterministe. On dit que M
accepte le mot w = a1 . . . an (où ai ∈ Σ) s’il existe une séquence d’états
p0 , p1 , . . . , pn telle que
1 p0 = q0
2 δ(pi , ai+1 ) = pi+1 pour tout i = 0, . . . , n − 1
3 pn ∈ F

a1 2 a n a
q0 = p0 −→ p1 −→ p2 . . . pn−1 −→ pn ∈ F

La séquence d’états p0 , p1 , . . . , pn correspond au chemin tracé par le mot


w dans le diagramme de transitions correspondant à M à partir de l’état
initial q0 . La définition dit donc que w est accepté si ce chemin aboutit
dans un état acceptant.
IFT-2002: Chapitre 2.1 Automates finis déterministes 22 / 38
Définition du rejet

Définition
Soit M = (Q, Σ, δ, q0 , F ) un automate fini déterministe. On dit que M
rejette le mot w si M n’accepte pas w .

La séquence w est rejetée si le chemin qu’elle trace dans le diagramme de


M aboutit à un état qui n’est pas acceptant. Donc M partitionne
l’ensemble Σ∗ en deux ensembles : l’ensemble des mots acceptés par M et
l’ensemble des mots rejetés par M.

IFT-2002: Chapitre 2.1 Automates finis déterministes 23 / 38


Fonction δ ∗

Définition
Soit M = (Q, Σ, δ, q0 , F ) un automate fini déterministe. La fonction de
transition étendue, dénotée δ ∗ est la fonction de Q × Σ∗ dans Q définie
récursivement comme suit :

p
 si n = 0

δ (p, a1 a2 . . . an ) = δ(p, a1 ) si n = 1

 ∗
δ(δ (p, a1 a2 . . . an−1 ), an ) si n ≥ 2

Dit plus simplement : δ ∗ (p, w ) est l’état où on aboutit en partant de l’état


p et en lisant le mot w . En particulier, un mot w est accepté par M si et
seulement si δ ∗ (q0 , w ) ∈ F .

IFT-2002: Chapitre 2.1 Automates finis déterministes 24 / 38


Exemple acceptation/rejet pour une machine à ruban

q0 b q1 ruban état
bbaba q0

a a
La lettre soulignée indique la posi-
q3 q2 tion actuelle de la tête de lecture
a sur le ruban.

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 25 / 38


Exemple acceptation/rejet pour une machine à ruban

ruban état
b
bbaba q0
q0 b q1

a a

q3 q2
a

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 26 / 38


Exemple acceptation/rejet pour une machine à ruban

ruban état
b
bbaba q0
q0 b q1 bbaba q1

a a

q3 q2
a

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 26 / 38


Exemple acceptation/rejet pour une machine à ruban

ruban état
b
bbaba q0
q0 b q1 bbaba q1
bbaba q1
a a

q3 q2
a

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 26 / 38


Exemple acceptation/rejet pour une machine à ruban

ruban état
b
bbaba q0
q0 b q1 bbaba q1
bbaba q1
a a
bbaba q2

q3 q2
a

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 26 / 38


Exemple acceptation/rejet pour une machine à ruban

ruban état
b
bbaba q0
q0 b q1 bbaba q1
bbaba q1
a a
bbaba q2
bbaba q2
q3 q2
a

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 26 / 38


Exemple acceptation/rejet pour une machine à ruban

ruban état
b
bbaba q0
q0 b q1 bbaba q1
bbaba q1
a a
bbaba q2
bbaba q2
q3 q2
a bbaba q3

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 26 / 38


Exemple acceptation/rejet pour une machine à ruban

ruban état
b
bbaba q0
q0 b q1 bbaba q1
bbaba q1
a a
bbaba q2
bbaba q2
q3 q2
a bbaba q3

a, b b
La séquence est donc rejetée.

IFT-2002: Chapitre 2.1 Automates finis déterministes 26 / 38


Exemple acceptation/rejet pour une machine à ruban

b
ruban état
q0 b q1 bab q0

a a

q3 q2
a

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 27 / 38


Exemple acceptation/rejet pour une machine à ruban

b
ruban état
q0 b q1 bab q0
bab q1
a a

q3 q2
a

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 27 / 38


Exemple acceptation/rejet pour une machine à ruban

b
ruban état
q0 b q1 bab q0
bab q1
a a
bab q2

q3 q2
a

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 27 / 38


Exemple acceptation/rejet pour une machine à ruban

b
ruban état
q0 b q1 bab q0
bab q1
a a
bab q2
bab q2
q3 q2
a

a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 27 / 38


Exemple acceptation/rejet pour une machine à ruban

b
ruban état
q0 b q1 bab q0
bab q1
a a
bab q2
bab q2
q3 q2
a

La séquence est donc acceptée.


a, b b

IFT-2002: Chapitre 2.1 Automates finis déterministes 27 / 38


Langage accepté par M et langage régulier

Définition
Le langage accepté (aussi appelé langage reconnu) par un automate fini
déterministe M, dénoté L(M) est l’ensemble {w : M accepte w }.

IFT-2002: Chapitre 2.1 Automates finis déterministes 28 / 38


Langage accepté par M et langage régulier

Définition
Le langage accepté (aussi appelé langage reconnu) par un automate fini
déterministe M, dénoté L(M) est l’ensemble {w : M accepte w }.

Définition
Un langage K ⊆ Σ∗ est un langage régulier s’il existe un automate fini
déterministe M tel que L(M) = K .

IFT-2002: Chapitre 2.1 Automates finis déterministes 28 / 38


Exemple de langage régulier

a b
b
a
A B C
a
b

D a, b

IFT-2002: Chapitre 2.1 Automates finis déterministes 29 / 38


Exemple de langage régulier

a b
b
a
A B C
a
b

D a, b

Le langage accepté par cet automate est l’ensemble des mots de {a, b}∗
qui commencent par un a et finissent par un b.

Le langage {axb : x ∈ {a, b}∗ } est un langage régulier.

IFT-2002: Chapitre 2.1 Automates finis déterministes 29 / 38


Exemple du quotidien : machine à café

2
v

1 1, 2
0 1 2 1, 2

1 v
v
v café 2

L’alphabet est {1, 2, v } (ajout de 1$, ajout de 2$ et appuyer sur la touche


verser). Dans cet exemple, le café coûte 2$. Les mots acceptés
correspondent à la vente d’un ou plusieurs cafés sans qu’il reste de l’argent
non dépensé dans la machine.

IFT-2002: Chapitre 2.1 Automates finis déterministes 30 / 38


Exemples : ensemble vide, Σ∗

L’ensemble vide ∅ est un langage régulier car il est reconnu par l’automate
à un état ci-dessous.

IFT-2002: Chapitre 2.1 Automates finis déterministes 31 / 38


Exemples : ensemble vide, Σ∗

L’ensemble vide ∅ est un langage régulier car il est reconnu par l’automate
à un état ci-dessous.

IFT-2002: Chapitre 2.1 Automates finis déterministes 31 / 38


Exemples : ensemble vide, Σ∗

L’ensemble vide ∅ est un langage régulier car il est reconnu par l’automate
à un état ci-dessous.

Pour tout alphabet Σ, l’ensemble Σ∗ est un langage régulier car il est


reconnu par l’automate à un état ci-dessous.

IFT-2002: Chapitre 2.1 Automates finis déterministes 31 / 38


Complément d’un langage régulier
Théorème
Si L est un langage régulier alors son complément L est aussi un langage
régulier.

IFT-2002: Chapitre 2.1 Automates finis déterministes 32 / 38


Complément d’un langage régulier
Théorème
Si L est un langage régulier alors son complément L est aussi un langage
régulier.

Démonstration.
Puisque L est régulier, il existe un automate fini déterministe
M = (Q, Σ, δ, q0 , F ) qui reconnaît L. Faisons de chaque état acceptant de
M un état rejetant et faisons inversement de chaque état rejetant de M un
état acceptant. On obtient l’automate fini déterministe
N = (Q, Σ, δ, q0 , Q − F ). Comme M est déterministe, chaque mot d’entrée
conduit à un état et un seul et puisque M et N ne diffèrent que sur
l’ensemble d’états acceptants, w conduit N dans le même état. Il est clair
que N accepte précisément les mots que M rejette donc L(N) = L ce qui
montre que L est régulier.

IFT-2002: Chapitre 2.1 Automates finis déterministes 32 / 38


Exemple d’automate complémenté
b

q0 b q1

a a

q3 q2
a

a, b b
L’automate accepte les mots qui
débutent par b et ne contiennent
qu’un seul a.

IFT-2002: Chapitre 2.1 Automates finis déterministes 33 / 38


Exemple d’automate complémenté
b b

q0 b q1 b
q0 q1

a a a a

q3 q2 q3 q2
a a

a, b b a, b b
L’automate accepte les mots qui L’automate accepte les mots débu-
débutent par b et ne contiennent tant par a, les mots sans a (dont )
qu’un seul a. et les mots avec au moins deux a.

IFT-2002: Chapitre 2.1 Automates finis déterministes 33 / 38


Exemple de construction d’automate fini déterministe

Sur l’alphabet {0, 1}, soit L l’ensemble des mots dans lesquels chaque 0 est
suivi d’un 1. Montrons que L est régulier.

IFT-2002: Chapitre 2.1 Automates finis déterministes 34 / 38


Exemple de construction d’automate fini déterministe

Sur l’alphabet {0, 1}, soit L l’ensemble des mots dans lesquels chaque 0 est
suivi d’un 1. Montrons que L est régulier.
(Équivalent à : donnons un diagramme de transitions qui correspond à un
automate fini déterministe qui accepte L.)

IFT-2002: Chapitre 2.1 Automates finis déterministes 34 / 38


Exemple de construction d’automate fini déterministe

Sur l’alphabet {0, 1}, soit L l’ensemble des mots dans lesquels chaque 0 est
suivi d’un 1. Montrons que L est régulier.
(Équivalent à : donnons un diagramme de transitions qui correspond à un
automate fini déterministe qui accepte L.)

1
1
0
A B C 0, 1
0

IFT-2002: Chapitre 2.1 Automates finis déterministes 34 / 38


Analyse du langage accepté par un automate déterministe

0, 1, +, − 0 0, 1 0, 1, +, −

0 +, − +, −
E A B D F
+, −
1 0
1
+, −
1 C

IFT-2002: Chapitre 2.1 Automates finis déterministes 35 / 38


Analyse du langage accepté par un automate déterministe

0, 1, +, − 0 0, 1 0, 1, +, −

0 +, − +, −
E A B D F
+, −
1 0
1
+, −
1 C

Le langage accepté par cet automate est celui des mots sur {0, 1, −, +} qui
débutent par un mot non-vide sur l’alphabet {0, 1}, suivi d’un + ou d’un
−, suivi d’un mot (possiblement vide) sur l’alphabet {0, 1}.

L(M) = {stu : s ∈ {0, 1}∗ ∧ s 6=  ∧ t ∈ {+, −} ∧ u ∈ {0, 1}∗ }

IFT-2002: Chapitre 2.1 Automates finis déterministes 35 / 38


Analyse du langage accepté par un automate déterministe

0, 1 0, 1

0, 1 +, −
A B/C D

+, − +, −

0, 1, +, − E/F

IFT-2002: Chapitre 2.1 Automates finis déterministes 36 / 38


Analyse du langage accepté par un automate déterministe

0, 1 0, 1

0, 1 +, −
A B/C D

+, − +, −

0, 1, +, − E/F

Le langage accepté n’a pas changé. Pour un même langage L, il y a donc


plusieurs automates possibles pour reconnaître L. (Par contre il n’y en a
qu’un seul de taille minimale)

IFT-2002: Chapitre 2.1 Automates finis déterministes 36 / 38


Exemple de construction d’automate

Construisons un automate qui accepte le langage des mots sur l’alphabet


{a, b} qui contiennent au moins un a et contiennent un nombre pair de b.

IFT-2002: Chapitre 2.1 Automates finis déterministes 37 / 38


Exemple de construction d’automate

Construisons un automate qui accepte le langage des mots sur l’alphabet


{a, b} qui contiennent au moins un a et contiennent un nombre pair de b.

Idée clé : l’automate fini déterministe n’a pas besoin de se rappeler


exactement du nombre de a et de b qui ont été vus jusque là.
(Heureusement parce qu’un automate fini déterministe est incapable de
garder une mémoire précise de ces deux nombres.)

IFT-2002: Chapitre 2.1 Automates finis déterministes 37 / 38


Exemple de construction d’automate

Construisons un automate qui accepte le langage des mots sur l’alphabet


{a, b} qui contiennent au moins un a et contiennent un nombre pair de b.

Idée clé : l’automate fini déterministe n’a pas besoin de se rappeler


exactement du nombre de a et de b qui ont été vus jusque là.
(Heureusement parce qu’un automate fini déterministe est incapable de
garder une mémoire précise de ces deux nombres.)

Il suffit de se rappeler
Si on a vu zéro a ou si on a vu un a ou plus.
Si on a vu un nombre pair ou impair de b.

IFT-2002: Chapitre 2.1 Automates finis déterministes 37 / 38


Exemple de construction d’automate

Pas de a a un a ou plus
a
b pair b pair

b b b b

Pas de a a un a ou plus
a
b impair b impair

IFT-2002: Chapitre 2.1 Automates finis déterministes 38 / 38

Vous aimerez peut-être aussi