Académique Documents
Professionnel Documents
Culture Documents
1
Plan du chapitre
I. Automates Finis
II. Déterminisation
IV. Minimisation
V. Automate vs Expressions Régulière
2
I. Introduction
3
I. Introduction
Avec :
X : L'alphabet.
On la note δ(i,a)=j qui signifie la transition de l’état i vers l'état j en lisant le symbole a .
5
II. Automate fini
II.1. Définition
O Représentation Graphique
7
II. Automate fini
II.1. Définition
• Représentation Matricielle
8
II. Automate fini
II.1. Définition
10
II. Automate fini
II.2. Langage accepté par un automate
Exemple
1. Le langage accepté par cet automate est :
• aaab
• baa
11
II. Automate fini
II.3. AFN
13
II. Automate fini
II.4. ɛ-AFN
Exemple:
Un ԑ-AFN acceptant les mots clé ebay et web.
14
III. Déterminisation et minimisation
III.1. Déterminisation
Déterminisation d’un AFN
• Objectif
• Théorème (Rabin-Scott)
Tout langage reconnu par un AFN peut être reconnu par un AFD.
15
III. Déterminisation et minimisation
III.1. Déterminisation
Déterminisation d’un AFN
En pratique:
Prenons l’automate suivant:
16
III. Déterminisation et minimisation
III.1. Déterminisation
Déterminisation d’un AFN
O En pratique:
Au départ, l'AFD à un seul état qui est composé de l'ensemble des
états initiaux de l'AFN : sur notre exemple, l'état initial de l'AFD est
{S1,S2}. A chaque fois qu'on ajoute un nouvel état dans l’AFD, on
détermine sa fonction de transition en faisant l'union des lignes
correspondantes dans la table de transition de l’AFN : sur notre
exemple, pour l'état {S1,S2}, on fait l'union des lignes correspondant à
S1 et S2, et on détermine la fonction de transition:
17
III. Déterminisation et minimisation
III.1. Déterminisation
En pratique:
18
III. Déterminisation et minimisation
III.1. Déterminisation
Déterminisation d’un AFN
O En pratique:
19
III. Déterminisation et minimisation
III.1. Déterminisation
20
III. Déterminisation et minimisation
III.1I. Minimisation
• Objectif:
• La minimisation d'un automate fini déterministe est l'opération qui
consiste à transformer un automate fini déterministe donné en un
automate fini déterministe ayant le nombre minimal d'états et qui
reconnaît le même langage régulier.
• La minimisation a une importance pratique évidente par le gain
d'espace qu'elle permet.
La minimisation s'effectue :
1. En éliminant les états dits inaccessibles
21
III. Déterminisation et minimisation
III.II. Minimisation
Exemple
Les états 7 et 3 sont inaccessibles.
Donc nous les supprimons.
L’algorithme de marquage
22
III. Déterminisation et minimisation
III.II. Minimisation
23
III. Déterminisation et minimisation
III.II. Minimisation
24
III. Déterminisation et minimisation
III.II. Minimisation
25
III. Déterminisation et minimisation
III.II. Minimisation
• Remarque:
26
III. Déterminisation et minimisation
III.II. Minimisation
2. Regroupement des états équivalents
Exemple 1:
Soit AEF suivant (initial=0, finaux={2,3})
27
III. Déterminisation et minimisation
III.II. Minimisation
2. Regroupement des états équivalents
Exemple 2:
Soit AEF suivant (initial=1, finaux={1,2})
28
III. Déterminisation et minimisation
III.II. Minimisation
29
III. Déterminisation et minimisation
III.II. Minimisation
Exemple: Etats
Etape 1: Créer deux classes d'états
- On dit qu'une classe A est cohérente par rapport à un symbole a si toutes les
transitions de A avec le symbole a mènent à la même classe .
- Si une classe n’est pas cohérente il faut la découper au moins en deux partie jusqu'à
trouver des classes cohérentes.
30
III. Déterminisation et minimisation
III.II. Minimisation
A est cohérente
31
III. Déterminisation et minimisation
III.II. Minimisation
2. Regroupement des états équivalents
Nous allons procéder par itération
32
III. Déterminisation et minimisation
III.II. Minimisation
AFD minimal
33
III. Déterminisation et minimisation
III.II. Minimisation
34
III. Déterminisation et minimisation
III.3. Exercice
Exercice1:
Déterminiser et minimiser l’automate suivant
35
III. Déterminisation et minimisation
III.3. Exercice
Exercice1:
1.Déterminisation
Réduction
36
III. Déterminisation et minimisation
III.3. Exercice
Exercice1:
1.Déterminisation
37
III. Déterminisation et minimisation
III.3. Exercice
Exercice1:
2.Minimisation
1ere itération
A={1,2}
B={0,3}
Tout langage reconnu par un AFN avec ε–transitions peut être reconnu par un
AFN (sans ε–transitions) ayant le même nombre d’états.
39
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
Définition :
On appelle ɛ-fermeture de l’ensemble d’états l’ensemble des états accessibles depuis un
état ei de T par des ɛ-transitions
N.B
Un automate fini dans lequel certaines flèches sont étiquetées par le mot vide («ɛ-
transitions ») s’appelle automate asynchrone
40
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
Exemple
Le principe de l’algorithme consiste à remplacer chaque chemin de longueur 1
commençant par une epsilon-transition par une nouvelle transition qui décrit ce
chemin.
41
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
Exemple
Le principe de l’algorithme consiste à remplacer chaque chemin de longueur 1
commençant par une epsilon-transition par une nouvelle transition qui décrit ce
chemin.
42
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
Exemple
Le principe de l’algorithme consiste à remplacer chaque chemin de longueur 1
commençant par une epsilon-transition par une nouvelle transition qui décrit ce
chemin.
Et on supprime la transition (1, ε, 3).
44
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
(fermeture arrière)
45
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
(fermeture arrière)
46
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
(fermeture arrière)
47
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
(fermeture avant)
48
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
(fermeture avant)
49
III. Déterminisation et minimisation
III.4. Automate avec ɛ-transition
(fermeture avant)
50