Ramzi Ramzi GUETARI GUETAR GUETARII Année Universitaire 2010 / 2011 Institut Informatique
04/10/2010
Institut Supérieur Informatique
1
Lesexp Les express ressions ions régulières régulières Lesauto Les autom matesfinis ates finis déterm déterministes inistes Lesauto Les autom matesave ates avec c -transitions L'équivalen L'équivalence ce desm des modèles odèles
04/10/2010
Institut Supérieur Informatique
2
Copyright © Ramzi GUETARI
1
L’ensemble ∅ représ représen ente te le langa langage gevide vide..
Uncara Un caractère ctère c de repré représe sente ntele le langa langage ge{{c }
L’alternative p 1 | p 2 représ représen ente te l’union l’unionde des s langa langage ges s représ représen entés tés par par p 1 et p 2 .
La concaté concaténation nation représente nte la conc concaté aténa nation tion des des langa langage ges s représ représen entés tés par par p p 1 p .p 2 représe p 1 et p 2 .
La répétitio répétition n p* représ représen ente te l’itération l’itérationdu dulan langa gage gerep représ résen enté té par par p .
Dans Dans les Expressions Exp Expres Expressions ressions sions régulières régulières (ER ER) onva on vadis distin tingu guer er :
L Lasyn La a syntax syn syntaxe taxe e (le motif)
L La a sém sémantique antique antique (le langage langagecorre correspo sponda ndant) nt)
04/10/2010
Institut Supérieur Informatique
3
Copyright © Ramzi GUETARI
Le symbole ∅ est est unm un motif. motif otif
. Uncara Un caractère ctère c de est est n motif. motif otif
Si p 1 et p 2 sont sont deux deux motifsalo otifs alors rs l’alterna l’alternative tive p 1 | p 2 est est unm un motif. motif otif
Si p 1 et p 2 sont sont deux deux motifsalo otifs alors rs la conc concaté aténa nation tion p 1 p est unm un motif. motif otif .p 2 est
Si Si p est un motif oti otif tiff alors alors la répé répétitio tition n p* est est unm un motif. motif otif
04/10/2010
Institut Supérieur Informatique
4
Copyright © Ramzi GUETARI
2
Analogie avec les expressions arithmétiques, eninterprétant :
‘ ’ ar‘+’ ‘.’ par ‘’ ‘*’ par une mise à la puissance
Formellement et par ordre décroissant deprioritésnousavons :
() ‘*’ ‘.’ ‘|’
.
Exemple :
ab* correspondà a.(b*) . a.b|c correspondà(a.b)|c . ab*|c correspond à (a.(b*))|c . Institut Supérieur Informatique
04/10/2010
5
Copyright © Ramzi GUETARI
D’unmotif vers unlangage : Lafonction [[.]]associeà chaquemotif unlangage. [[∅]] ∅ [[]] {} [[c ]] {c } [[ p 1 | p 2 ]] [[ p 1]] [[ p 2 ]] [[ p 1.p 2 ]] [[ p 1]].[[ p 2 ]] [[ p* ]] [[ p ]]*
04/10/2010
Institut Supérieur Informatique
6
Copyright © Ramzi GUETARI
3
Soit un alphabet , les règles définissant les expressions régulières sur :
es express ons r gu requ no e ’ensem e cons u e a c ane v e. Si a est un symbole de , alors a est une expressions régulière qui dénote {a}, l’ensembleconstituédela chaîne a.
Si r et s sont des ERdénotant les langagesL(r ) et L(s), alors:
(r )|(s) est une expressionrégulièredénotantL(r ) ∪ L(s).
(r )(s) est une expressionrégulièredénotant L(r )L(s).
(r )* est une expressionrégulière dénotant (L(r ))*
(r ) estune expression régulièredénotant L(r )
Si deux ER r et s dénotent le même langage, elles sontéquivalentes et note r = s. Par exemple(a|b) = (b|a). Institut Supérieur Informatique
04/10/2010 Copyright © Ramzi GUETARI
Exemple o ’ap a e
= a ,
L’expression a | b dénote l’ensemble {a , b }. L’expression (a | b )(a | b ) dénote l’ensemble {aa , ab , ba , bb }. Ce même ensemblepeut êtredénoté par l’ERaa | ab | ba | bb . L’expression a* dénote l’ensemble de toutes les chaînes constituées d’un nombre quelconque (éventuellement nul) dea, c’est-à-dire { , a , aa , aaa , …}. ’ * ’ d’un nombre quelconque (éventuellement nul) de a ou de b . Ce même ensemble peut être dénoté par l’ER(a *b *)* .
L’expression a | a*b contenant la chaîne a ou toutes les chaînes constituées d’un ensemble quelconque(éventuellement vide) dea suivi d’un b .
04/10/2010
Institut Supérieur Informatique
8
Copyright © Ramzi GUETARI
4
r | (s | t) = (r | s) | t r (st) = (rs)t r (s | t) = (rs) | rt et (s | t)r =sr | tr r = r
et
r =r
r * = (r | )* r ** = r *
| est associatif La concaténation est associative La concaténation est distributive par rapport à | est l’élément neutre pour la concaténation.
Relation entre * et . * est idem otent..
Institut Supérieur Informatique
04/10/2010
9
Copyright © Ramzi GUETARI
Les définitions définitions régulières régulièrespermettent de donner des noms à des ER définies sur un ’ symboles de .
d 1 r 1 d 2 r 2 … d n r n i es
un nom s nc e c aque r i es une
sur es sym oes e
∪
1,
2 ,
…,
d i-1}.
04/10/2010
Institut Supérieur Informatique
10
Copyright © Ramzi GUETARI
5
Exemple letter A | B | … | Z | a | b | … | z digit 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 identifier letter (letter | digit)* number digit+ exponent (E (+ | - | ) number) | oa num er exponen
Institut Supérieur Informatique
04/10/2010
11
Copyright © Ramzi GUETARI
Notations abrégées
L’opérateur unaire postfixe+ signifie « aumoins une instance »
r * = r + | r + = rr*
L’opérateur unaire postfixe ? signifie« zéro ou une instance » (r? = r | ) Classe de caractères : la notation [abc ] où a , b et c sont des symboles d’alphabets signifie a | b | c . Uneclasse decaractères [a – z ] dénote l’expression régulière a | b | …| z . Identificateurs : [A – Za – z ] [A – Za – z0 – 9 ]*
04/10/2010
Institut Supérieur Informatique
12
Copyright © Ramzi GUETARI
6
Unlangage L est dit régulier régulier s’il existe unmotif motif p tel que [[ p ]] = L .
Toutlangage langagefini fini est régulier régulier..
∅ est unlangagerégulier ;
{} est unlangagerégulier ; Pour tout a ∈ , {a} est unlangagerégulier ;
Si L1 et L2 sont réguliers, alors L1 · L2 ={w1w2 | w1 ∈ L1 et w2 ∈ L2} est régulier.
Si L est ré ulier, alors :
L* = {} ∪ {w1w2w3 · · ·wn | wi ∈ L} est régulier ; Si L1 et L2 sont réguliers, alors L1 ∪ L2 est régulier.
Si L est unlangagerégulier, L c = ∑* \ L est unlangagerégulier Institut Supérieur Informatique
04/10/2010
13
Copyright © Ramzi GUETARI
{ab , b , aba } =[[ab | b | aba ]]. 1,
2 ,
···,
n
1
2
···
n
.
Si l’on définit le français comme les mots d’un dictionnaire de référence (celui de l’Académie), le français est unlangagerégulier. Ecriture décimale des entiers: 0 | (1|2|3|4|5|6|7|8|9 ) (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 )* Motsconstitués de 0 et de 1 alternés:
Commence par 0 , finit par 1 : (01)*
Commence par 0 , finit par 0 : (01)*0
04/10/2010
Institut Supérieur Informatique
14
Copyright © Ramzi GUETARI
7
Validateur pour langages : programme prenant une chaîne x en entrée et « » ’ « » .
Expression régulière Validateur : construction d’un diagramme de transitions généralisé appelé « automatefini ».
Un automatefini peut êtredéterministeounon déterministe.
Automatefini non déterministe (AFN) : on peut trouver plus d’une transition sortant d’un état sur le même symbole d’entrée.
Les deux types d’automates finis reconnaissent précisément les ensembles .
Les automates finis déterministesconduisent à desvalidateurs plusrapides.
L’implémentation d’un automate fini déterministe est plus volumineuse que celle d’un automatefini non déterministe. Institut Supérieur Informatique
04/10/2010
15
Copyright © Ramzi GUETARI
Un automatefini A = E , , , e 0 , F ’
.
unensembledesymboles (l’alphabet des symboles d’entrée).
E E , une fonction de transition faisant correspondre des couples étatsymbole à des ensembles d’états. Un état e 0 : état de départ ouétat initial. Un ensemble d’états F connus comme états d’acceptation ouétats finaux.
:
04/10/2010
Institut Supérieur Informatique
16
Copyright © Ramzi GUETARI
8
AFN - Exemple b
e1 a b
e0 b b
a
e2 b
e3
a
a
e4
E = {e 0 , e 1, e 2 , e 3 , e 4 }. = {a , b }. : E E .
(e 0 , a ) = e 1
(e 0 , b ) = e 2
(e 1, a ) = e 2
e
…
b = e
e 0 : état initial. F = {e 3 , e 4 }. Institut Supérieur Informatique
04/10/2010
17
Copyright © Ramzi GUETARI
Considérons le langage dénoté par l’ER (a | b)*abb chaînes de a et de b se terminant ar abb . L’automate corres ondant eut être re résenté comme un ra he orienté étiqueté : les nœuds sont des états, les arcs représentent la fonction de transition (I) ou sous forme de table de transitions(II) a begin
a
0
1
b
2
b
3
b
tat 0 1 2
04/10/2010
Symbole d’entrée
a
b
{0, 1} – –
{0} {2} {3} Institut Supérieur Informatique
18
Copyright © Ramzi GUETARI
9
Exemple L’AFN suivant reconnaît aa* | bb* . La chaîne aaa est acceptée en se déplaçant via les états 0, 1, 2, 2 et 2. Les étiquettes de ces arcs sont , a, a et a dont la concaténation est aaa ( disparaît dans la concaténation). a
1
a
2
0
3
b
4 b
Institut Supérieur Informatique
04/10/2010
19
Copyright © Ramzi GUETARI
Un automate fini déterministe (AFD) est un cas particulier de l’AFN dans lequel Aucunétat n’ade -transition(transition sur l’entrée ). Pour chaque état e et chaque symbole d’entrée a, il y a au plus un arc étiqueté a qui quitte e
Algorithme de simulation d’un AFD e e0; while
c etchar
EOF
e (e, c); if (e F) return « YES »; return « NO »; 04/10/2010
Institut Supérieur Informatique
20
Copyright © Ramzi GUETARI
10
Exemple L’AFD suivant accepte le même langage (a | b)*abb que celui accepté par l’AFN (page 18) b b begin
a
0
b
1
b
2
3
a a a Institut Supérieur Informatique
04/10/2010
21
Copyright © Ramzi GUETARI
Un automate fini déterministe est dit complet si, e ∈ E, il y a exactement une . a a
b
e0
e1
b
a
04/10/2010
Institut Supérieur Informatique
22
Copyright © Ramzi GUETARI
11
Tout AFD non complet peut être transformé en AFD complet par l’ajout d’un état que « » « » nous ajoutons de telle sorte que de chaque état de l’automate parte exactement une transitions sur chaque symbole de l’alphabet. b a
e0
e1
a a
b
ed
b
a 04/10/2010
Institut Supérieur Informatique
23
Copyright © Ramzi GUETARI
b
e1 a
a b
e0 b b
Un automate prend en entrée un mot w et l’accepte . Onpart del’état e0.
On lit les caractères du mot w un à un ensuivant la transition correspondante (si il n’y en a pas, la validation échoue).
Lorsque tous les caractères sont lus, on accepte si l’on est sur unétat final, onrejettesinon.
e2 b
e3 a
e4
04/10/2010
a
Exemple :
Lemot abbbab est accepté.
Lemot babba est accepté.
Lemot ababab n’est pasaccepté. Institut Supérieur Informatique
24
Copyright © Ramzi GUETARI
12
^
b
On introduit la fonction (ou ’) de transition étendue
e1 a b
e0
a
b
e2
^ e ∈ E (e, ) = e
b
e3
b
A partir d’un état e en lisant le mot vide on reste dansl’état e :
a
a
A partir d’un état e, en lisant le mot c = wa se terminant par a ∈ , on a d’abordlu w, puis effectué la transitioncorrespondante à a : ^
(e, wa) = (^ (e, w), a)
e4
Institut Supérieur Informatique
04/10/2010
25
Copyright © Ramzi GUETARI
b
^
e1 a
b b
L ( A ) = {w ∈ L / (e 0 , w ) ∈ F }.
a b
e0
Le langage L ( A ) accepté par un automate fini = E , , , e , F est défini ar :
e2
b
e3
Un mot est dit accepté si et seulement il appartient à L ( A ).
a
a
e4
04/10/2010
Institut Supérieur Informatique
26
Copyright © Ramzi GUETARI
13
Définition: deux automates sont équivalents Définition équivalents s'ils reconnaissent le même langage. Cette relation est bien une équivalence équivalence, car elle est définie à partir de l'égalité des ensemblesqui est uneéquivalence.
Institut Supérieur Informatique
04/10/2010
27
Copyright © Ramzi GUETARI
Entrée : un AFN N Sortie : un AFD D Algorithme : Construireunetable detransition Dtran pour D.
Chaqueétat del’AFDest unensembled’étatsdel’AFN. Construire Dtran de manière que D simule en parallèle tous les déplacements possibles que N peuteffectuer sur une chaîne d’entréedonnée. e représente unétat del’AFNet T unensembled’étatsdel’AFN.Onutiliselesopérations suivantes pourgarder une trace des ensembles d’étatsdel’AFN.
-fermeture de (e) : ensemble des états de l’AFN accessibles depuis l’état e par des -transitions uniquement. -fermeture de (T ) : ensemble des états de l’AFN accessibles depuis un état e T par des -transitions uniquement. (T, a) : ensembledes états del’AFNverslesquelsil existeune transition sur le symbole d’entrée a à partie d’unétat e T .
04/10/2010
Institut Supérieur Informatique
28
Copyright © Ramzi GUETARI
14
On construit Dstates, l’ensemble des états de D et Dtran, la table de transitions de la Chaque état deDcorrespond à unensemble d’étatsdel’AFN, L’état dedépart de Dest la -fermeture(e0) .
On ajoutedes états et des transitions en utilisant l’algorithme suivant. Un état deD est unétat d’acceptation s’il contient aumoins unétat d’acceptation del’AFN
Institut Supérieur Informatique
04/10/2010
29
Copyright © Ramzi GUETARI
E0D = -fermeture(e0) /* L’uniqueétat de Dstates audépart */
Marquer T ; POUR tout symboled’entrée a FAIRE
U -fermeture( (T , a)); SI U Dstates AL ORS
Ajouter U à Dstates comme nœud nonmarqué; FIN SI
Dtran [T , a] U ; FIN POUR FIN TANT QUE
04/10/2010
Institut Supérieur Informatique
30
Copyright © Ramzi GUETARI
15
Exemple a begin
a
0
b
1
b
2
3
b
2
0
a
3
1
6
4
b
7
8
9
10
5
Institut Supérieur Informatique
AFN N pour (a | b )*abb 04/10/2010
31
Copyright © Ramzi GUETARI
a
begin
0
1
E0D = -fermeture (0) = { 0, 04/10/2010
6
1,
2,
7 7
4,
a
8
b
9
b
10
7 } Institut Supérieur Informatique
32
Copyright © Ramzi GUETARI
16
E0D = {0, 1, 2, 4, 7} = A a
begin
0
(E0D ,
1
a) = {3,
6
7 7
a
8
b
9
b
10
8} Institut Supérieur Informatique
04/10/2010
33
Copyright © Ramzi GUETARI
E0D = {0, 1, 2, 4, 7} = A a
begin
0
1
-fermeture ( (E0D ,
6
a
8
b
9
b
10
a) = {3, 8}) = {3, 8, 6, 1, 2, 4, 7}
-fermeture ( (( E0D = 04/10/2010
7 7
nstitut A ), a)) = B = {1, 2, 3, 4, 6, 7, 8} = DtransIS [A, u p é a] rieur
Informatique
34
Copyright © Ramzi GUETARI
17
E0D = {0, 1, 2, 4, 7} = A E1D = {1, 2, 3, 4, 6, 7, 8} = B
a
begin
0
(E0D ,
1
6
7 7
a
8
b
9
b
10
b) = {5} Institut Supérieur Informatique
04/10/2010
35
Copyright © Ramzi GUETARI
E0D = {0, 1, 2, 4, 7} = A E1D = {1, 2, 3, 4, 6, 7, 8} = B
a
begin
0
1
-fermeture ( (E0D ,
6
a
8
b
9
b
10
b) = {5}) = {5, 6, 7, 1, 2, 4 }
-fermeture ( (( E0D = 04/10/2010
7 7
Institut A ), b)) = C = {1, 2, 4, 5, 6, 7} = Dtrans [A, S u b] périeur
Informatique
36
Copyright © Ramzi GUETARI
18
L’état dedépart del’AFDest -fermeture (0)qui est A ={0, 1, 2, 4, 7}
, ’ élémentsde A. Seuls les états2 et 7 ontdetelles transitions, vers3 et 8. -fermeture( ({0, 1, 2, 4, 7}, a)) = -fermeture({3, 8}) = {1, 2, 3, 4, 6, 7, 8} =B.
B =Dtrans [ A, a]
Parmi lesétats de A seul l’état 4 a une transition sur b vers 5. -fermeture( ({0, 1, 2, 4, 7}, b)) = -fermeture({5}) = {1, 2, 4, 5, 6, 7} =C.
C = Dtrans [ A, b]
On continue le rocessus avecles ensembles B et C et ainsi desuite on atteint le oint où tous les ensembles qui sont des états de l’AFD sont mar qués. On obtient 5 ensembles d’états :
A = {0, 1, 2, 4, 7}
B = {1, 2, 3, 4, 6, 7, 8}
C ={1, 2, 4, 5, 6, 7}
D ={1, 2, 4, 5, 6, 7, 9}. E = {1, 2, 4, 5, 6, 7, 10} L’état A est l’état de départ et EI nest s tl’unique i t u t état Supérieur d’acceptation. Informatique
04/10/2010
37
Copyright © Ramzi GUETARI
a a 4 1 6
a
2
b
7
1
5
3
2 0 4
4
b
1
5
2
6 7
5
1
8
1 6
a
2
b
6 2
7
7
4
4
b
b 04/10/2010
Institut Supérieur Informatique
38
Copyright © Ramzi GUETARI
19
b
C
b
b
a
begin
a
b
b
a a a Institut Supérieur Informatique
04/10/2010
39
Copyright © Ramzi GUETARI
A B C D
04/10/2010
a
b
B B B B
C D C E
Institut Supérieur Informatique
40
Copyright © Ramzi GUETARI
20
Considérons les deux automates finis déterministes A 1 et A 2 et les deux langages L 1 et L suivants : 1
A 1 = E 1, , 1, e 0 , F 1 / L 1 = L ( A 1)
A 2 = E 2 , , 2 , e 0 , F 2 / L 2 = L ( A 2 )
2
a
1
b
2
a
4
b
3 04/10/2010
Institut Supérieur Informatique
41
Copyright © Ramzi GUETARI
L 1 et L 2 deux langagesréguliers, L 1 ∪ L 2 est unlangagerégulier :
ons rusons
=
, , , e ,
=
1
2
2 E = E 1 ∪ E 2 ∪ {e 0 } avec e 0 est soit unnouvel état initial soit e 0 = e 10 = e 0 . 1 2 = 1 ∪ 2 ∪ {(e 0 , , e ) / (e 0 , , e ) ∈ 1 et (e 0 , , e ) ∈ 2 } 1 2 F 1 et e 0 F 2 F = F 1 ∪ F 2 si e 0
1 2 ∈ F 1 ou e 0 ∈ F 2 F = F 1 ∪ F 2 ∪ {e 0 } si e 0
b
a a
1
b
2
3
a
4
e0
b 04/10/2010
a
b
Institut Supérieur Informatique
42
Copyright © Ramzi GUETARI
21
L 1 et L 2 deux langagesréguliers, L 1.L 2 est unlangagerégulier :
, , , ,
1
.
2
E = E 1 ∪ E 2 2 = 1 ∪ 2 ∪ {(e p , , e q ) / e p ∈ F 1 et (e 0 , , e q ) ∈ 2 } 1 e 0 = e 0 2 ∈ F 2 F = F 1 ∪ F 2 si e 0 a F = F 2 sinon
b
1
b
a
a
3 04/10/2010
2
4
b
Institut Supérieur Informatique
43
Copyright © Ramzi GUETARI
Il y a une infinité d’automatespour unlangagedonné.
Ya-t-il unautomatecanonique ?
Ya-t-il unicitéd’un automateminimal ennombred’états?
Y a-t-il unlienstructurel entre deuxautomates qui reconnaissent le même langage ?
Un résultat théoriqueimportant : chaqueensemble régulier est reconnu par unAFD à nombre d’états minimumqui est unique (à unrenommage des étatsprès). Soit un AFD M dont l’ensemble des états est E et l’alphabet d’entrée est . Nous , ’ , . On dit que la chaîne w distingue l’état ei de l’état e j si, partant de l’AFD M dans l’état ei et le faisant fonctionner avec w, on termine dans un état d’acceptation, maispartant del’état e j et le faisant fonctionner avec w on aboutit à unétat denonacceptation (ouvice versa). Institut
04/10/2010
Supérieur Informatique
44
Copyright © Ramzi GUETARI
22
L’algorithme fonctionne en déterminant tous les groupes d’états qui peuvent être ’ .
Chaque group d’états qui ne peuvent être distingués est alors fusionné en un état unique.
Initialement la partition consiste en deux groupes: les états d’acceptation et les états denon acceptation. L’étape fondamentale consiste à prendre un groupe d’états A = {e1, e2, …, ek}, et unsymbole a, et à étudier les transitionsdesétats {e1, e2, …, ek} sur a.
différents de la partition courante, alors on doit diviser A de manière que les transitions depuis chaque sous ensemble de A soient tous confinés à un seul groupe dela partitioncourante.
On répète le processus de division des groupes de la partition courante jusqu’à ce Institut Supérieur que plus aucun groupe n’ait besoin d’être divisé. Informatique
04/10/2010
45
Copyright © Ramzi GUETARI
Données : un AFD A avec un ensemble d’états E , un alphabet d’entrée , des , ’ d’acceptation F . Résultat : un AFD A’ qui reconnait le même langage que A qui a le minimumd’états possible. 1. Construire une partitioninitiale P del-ensemble des états avec deux groupes: Les états d’acceptation (S ).
Lesétats denon acceptation(F ).
2. Appliquer la procédure suivanteà P pour construireune nouvelle partition P n .
04/10/2010
Institut Supérieur Informatique
46
Copyright © Ramzi GUETARI
23
POUR chaquegroup G de P FAIRE
Partitionner G en sous-groupes de manière suivante : deux étatse 1 et e 2 de G ne peuvent être dans le même sous groupe que si pour tout symbole a , les états e 1 et e 2 ont des transitions sur a vers des états dumême groupedeP . /* Un état peut former unsous-groupe par lui-même */
FIN
Remplacer G dans P n par touslessousgroupes ainsi formés.
La complexité de cet algorithme est O (kn2) ou k = || et n est le nombre d’états de l’automate. 04/10/2010
Institut Supérieur Informatique
47
Copyright © Ramzi GUETARI
3.
Si P n = P alors on pose P et on continue à l’étape (4). Si P n P alors on f P ’ n
4.
Choisir un état dans chaque groupe de la partitionP f en tant que représentant de cesgroupes. Les représentants seront lesétatsdel’AFDréduit à A’ . Soit e m un état représentatif. Supposons que sur la chaîne d’entrée a il y ait une transition de e vers e . Soit e le re résentant du rou e de e e eut être égal à e . j ). Alors A’ a une transition de e m vers e n sur a L’étatinitial de A’ est le représentant dugroupe contenant l’état e 0 .
5.
Si A’ a un état mort d , alors supprimer toutes les transitions qui arrivent vers d . Supprimer d de A’ . Supprimer aussi tout état non accessible del’état initial Inst i t u de t A’
04/10/2010
Supérieur Informatique
48
Copyright © Ramzi GUETARI
24
Exemple b
C
b
b
a
begin
a
b
b
a a a Institut Supérieur Informatique
04/10/2010
49
Copyright © Ramzi GUETARI
La partitioninitiale P consiste endeux groupes: ,’
’
.
A, B, C et D, lesétats denon acceptation.
Construction de P n : Considérons E constitué d’unseul état etnepeut être découpé, onl’ajoute à Pn. Considérons le groupe constituéde A, B, C et D.
Surle symbole a, chacunde ces étatsa une transition vers B, cequi neles distingue pas.
Surle symbole b, A, B et C ont des transitionsversle groupe( A B C D) tandis que D a une ransitions vers E.
Dans Pn, legroupe ( A B C D) doit être découpé en( A B C ) et(D). Pn =( A B C ) (D) (E).
Dans la phase suivante nous n’avons aucun découpage de (A B C ) sur le symbole a par contre il doit être découpé en( A C ) et (B) sur le symbole b. Pn =( A C ) (B) (D) (E).
Dans la passe suivante onnepeut plusdécouper aucun groupeni sur a ni sur b.
P f = ( AC ) (B) (D) (E).
04/10/2010
Institut Supérieur Informatique
50
Copyright © Ramzi GUETARI
25
b
Exemple b
b a
begin
a
A
b
B
b
D
E
a a a
A
B
C C
E
D
04/10/2010
Institut Supérieur Informatique
51
Copyright © Ramzi GUETARI
Si on choisit A comme représentant de (AC ), et B, C et E pour les groupes , ’
État A,C B D E
04/10/2010
Symbole d’entrée
a
b
B B B B
A,C D E A,C
Institut Supérieur Informatique
52
Copyright © Ramzi GUETARI
26
Exercice –– Minimisation de l’automate l’automate suivant :
a
0
b
1 a
2
a
b
b
a
b
b
a
b a Institut Supérieur Informatique
04/10/2010
53
Copyright © Ramzi GUETARI
a
1 ,, 6 a
2
b
5
a
b
a
0 ,, 3 a
b
4 b 04/10/2010
b
Institut Supérieur Informatique
54
Copyright © Ramzi GUETARI
27