Académique Documents
Professionnel Documents
Culture Documents
Dr.G.Besbes
• Effectue un ensemble d’actions et fournit un résultat
2
Définition
Un automate fini consiste en un quintuple de la forme
(Q, X, , q0, F) avec
• Q est un ensemble fini d’états
• X est un alphabet
Dr.G.Besbes
• est une fonction de transition
• : Q x X R(Q) (l’ensemble de tous les sous ensembles de Q)
• Intuitivement; si un automate fini est dans un état qi et reçoit l’entrée a
(qui la reconnaît), alors l’automate passe à l’état qj
• q0 est l’état initial (un élément de Q)
• F est l’ensemble des états finaux (sous ensemble de Q)
3
Exemple d’un automate fini
Dr.G.Besbes
mènent toujours a l’état final souhaité ON (lampe allumée) en
partant d’un état ou la lampe est éteinte (OFF).
• Q = {OFF, ON}
• X = {presser}
• q0 = OFF
• F = {ON}
• (OFF, presser) = {ON} 4
• (ON, presser) = {OFF}
Exemple d’un automate fini
Dr.G.Besbes
• En partant de l’état OFF avec un « presser », on passe a l’état
ON
• En lisant le deuxième « presser » à partir de l’état ON, on
revient a l’état OFF
• Le dernier « presser » lu nous mène de l’état OFF à l’état ON
• Donc à la fin de la lecture des trois « presser », trois
transitions sont effectuées et la dernière nous mène a l’état
ON donc la séquence est acceptée. 5
Le mot est lu et l’état est final donc le mot est accepté
Exemple d’un automate fini
Dr.G.Besbes
Par ce que:
• En partant de l’état off avec un « presser », on passe a l’état
ON
• En lisant le deuxième « presser » à partir de l’état ON, on
revient a l’état OFF
6
Exemple d’un automate fini
Dr.G.Besbes
séquences de presser qui, partant de l’état initial OFF, après la
lecture de tous les symboles de la séquence, on se trouve a
l’état ON.
• Ce langage (le langage accepté par l’automate A, noté L(A))
est l’ensemble des séquences de presser de longueur impaire:
L(A) = { {presser}*/ | | = 2k + 1, k 0}
7
Notation
• Dans l’exemple précédent, l’automate est noté par une
notation graphique qu’on appelle diagramme de transition
• Il existe une notation tabulaire équivalente à celle graphique
qu’on appelle table de transition
Dr.G.Besbes
8
Exemple d’un automate fini
a b
q0 q1 q5
q1 q5 q2
q2 q5 q3
Dr.G.Besbes
Diagramme de transition
q5
q3 q4 a, b
q4 q5 q5
q5 q5 q5
q5
Table de transition
a a, b
b a b 9
q0 a q1 b q2 b q3 a q4
Exemple d’un automate fini
a, b
q5
a a, b
b a
Dr.G.Besbes
b
q0 a q1 b q2 b q3 a q4
• X = {a,b}
• Q = {q0, q1, q2, q3, q4, q5}
• q0 = {q0}
10
• F = {q4}
Exemple d’un automate fini
Exemple : Chaine abbbaa
• Il n’y a pas un chemin de q0 à q4 libellé abbbaa
• Donc la chaine “abbbaa” n’est pas acceptée par l’automate B
Dr.G.Besbes
a, b
B
q5
a a, b
b a b 11
q0 a q1 b q2 b q3 a q4
Exemple d’un automate fini
Exercice: Construire un automate fini qui accepte l’ensemble des
représentations décimales des nombres entiers ayant le chiffre 1
dans les dizaines (Exemple: 12316, 13, 210)
Dr.G.Besbes
12
Exemple d’un automate fini
Exercice: Construire un automate fini qui accepte l’ensemble des
nombres entiers différents de Zéro.
Dr.G.Besbes
13
Les automates finis
déterministes (AFD)
Définition. Automate fini complet
Un automate fini est dit complet sur un vocabulaire X ssi pour chaque
état q et chaque symbole s, il existe au moins une transition qui quitte q
avec le symbole s.
Dr.G.Besbes
Définition. Automate fini non ambigu
Un automate fini est dit non ambigu sur un vocabulaire X ssi pour chaque
état q et chaque symbole s, il existe au plus une transition qui quitte q
avec le symbole s.
Dr.G.Besbes
15
Le lemme d’Arden
Le lemme d’Arden
Pour deux langages A et B d’un vocabulaire X*,
Les équations L= AL+B et L = LA+B admettent
respectivement comme solution minimale A*B et BA*.
Dr.G.Besbes
Exercice: Vérifier que A*B est bien une solution pour L= AL+B
Corrigé:
AL+B = AA*B+B
=A+B+B
=(A++)B
=A*B
16
=L
Langage accepté par un
automate fini (lemme d’Arden)
• Soit un automate fini sur un vocabulaire X avec x X
• On dénote par Li, le langage reconnu par l’automate A en
considérant que qi est l’état initial.
j Lj i Li / i = x j en conséquence Li = x Lj
Dr.G.Besbes
• Si qi est un état final alors Li = x Lj + {}
Dr.G.Besbes
considérant que qi est l’état initial ) reconnus par chaque état
qi
• Pour n états, on extrait n équations à n inconnus et on cherche
à résoudre l’équation pour la variable L0
18
Langage accepté par un
automate fini (lemme d’Arden)
• 1) A chaque état i on associe une variable Li dénotant le
langage des mots acceptés en prenant i comme état initial.
• 2) On écrit alors les relations entre les Li.
Dr.G.Besbes
19
Langage accepté par un
automate fini (lemme d’Arden)
• Exercice : Soit A un automate fini sur un vocabulaire X= {a,b},
Chercher le langage L0 reconnu par l’automate A
Dr.G.Besbes
• Corrigé :
L0 = {a} L1 (1) L1 = {a} L2 (2) L2 = {a} L0 + {} (3)
(1) + (2) ⇒ L0 = {a}{a}L2 = {aa}L2 (4)
(4) + (3) ⇒ L0 = {aa} L2 = {aa}({a}L0 + {})
⇒ L0 = {aaa}L0 + {aa} 20
⇒D'après le lemme d’Arden: L0 = {aaa}*{aa} = (aaa)*aa
Construction d’un automate fini non
déterministe (AFN) à partir d’une expression
régulière (Construction de Thompson)
Dr.G.Besbes
On appelle -transition, une transition par le symbole entre 2 états.
21
Construction d’un automate fini non
déterministe (AFN) à partir d’une expression
régulière (Construction de Thompson)
• Construction de Thompson
Expression Automate qui reconnaît
régulière
Dr.G.Besbes
22
e1 .e2
Construction d’un automate fini non
déterministe (AFN) à partir d’une expression
régulière (Construction de Thompson)
• Construction de Thompson
Expression Automate qui reconnaît
régulière
Dr.G.Besbes
e1 +e2
e1 * 23
Construction d’un automate fini non
déterministe (AFN) à partir d’une expression
régulière (Construction de Thompson)
Exercice: construire l’automate de Thompson pour (a+b)*b
Dr.G.Besbes
24
Déterminisation (automate fini
non complet)
• Si l’automate fini est non déterministe par ce qu’il est non
complet, alors pour le rendre déterministe, il suffit d’ajouter
un état puit et ajouter toutes les transitions manquantes vers
cet état.
Dr.G.Besbes
25
Déterminisation (automate fini
ambigu)
• Si l’automate fini est non déterministe par ce qu’il est ambigu
alors on doit construire un automate en groupant les états
visités par un même symbole à partir d’un état, ces états
groupés forment les nouveaux états de l’automate
déterministe.
Dr.G.Besbes
• La construction de l’automate déterministe suit les étapes
suivantes:
• Etape 1. Définir les nouveaux groupes d’états (en commençant
par l’état initial)
• Etape 2. Renommer les nouveaux groupes et définir les états
finaux. Un nouvel état (Groupe d’état) est un état final ssi il
contient un ancien état final
• Etape 3. Construire l’automate déterministe 26
Déterminisation (automate fini
ambigu)
• Exemple:
• Etape 1. Définir les nouveaux groupes d’états
Dr.G.Besbes
a b
{q0} {q0, q1} {q1}
{q0, q1} {q0, q1} {q1}
{q1} {q1} {q1}
27
Déterminisation (automate fini
ambigu)
• Etape 2. Renommer les états et définir les états finaux
Dr.G.Besbes
a b
{q0} A {q0, q1} B {q1} C
{q0, q1} B {q0, q1} B {q1} C
{q1} C {q1} C {q1} C
28
Déterminisation (automate fini
ambigu)
• Etape 3. Construire l’automate déterministe
Dr.G.Besbes
a b
{q0} A {q0, q1} B {q1} C
{q0, q1} B {q0, q1} B {q1} C
{q1} C {q1} C {q1} C
29
Minimisation d’un automate
fini déterministe
Soit A un automate fini deterministe A = (Q, X, , q0, F)
Pour obtenir un automate A minimal en nombre d’états, suivre les
étapes suivantes:
1. Construire une partition initiale 0 composée de deux groupes:
Groupe des états finaux G1 et Groupe des états non finaux G2
Dr.G.Besbes
2. Répéter Jusqu’à i+1 = i / i0
• Pour obtenir i+1 , Partitionner chaque groupe de i en mettant
ensemble des états p et q si pour chaque symbole s du vocabulaire, p
et q transitent vers des états d’un même groupe d’états.
• Construire les nouveaux groupes
3. Associer à chaque groupe un nom
4. Construire les transitions des groupes en utilisant les transitions
des états des groupes.
5. Un groupe qui contient un état final est un état final dans 30
l’automate minimal
Minimisation d’un automate
fini déterministe
• Exemple : Soit l’automate A suivant. Construire un automate
minimal qui accepte le même langage (Minimiser le nombre
d’états de l’automate A)
Dr.G.Besbes
31
Minimisation d’un automate
fini déterministe
• 1ière itération (0)
Dr.G.Besbes
a b
A I I
B I I
C I I
D I II
E I I 32
Minimisation d’un automate
fini déterministe
• 2ième itération (1)
Dr.G.Besbes
a b
A I I
B I III
C I I
D I II
E I I 33
Minimisation d’un automate
fini déterministe
• 3ième itération (2)
Dr.G.Besbes
a b
A IV I
C IV I
B IV III
D IV II
E IV I 34
Minimisation d’un automate
fini déterministe
• L’automate minimal:
Dr.G.Besbes
35