• Aucun résultat trouvé

Jean-PierreBecirspahic Automates

N/A
N/A
Protected

Academic year: 2022

Partager "Jean-PierreBecirspahic Automates"

Copied!
110
0
0

Texte intégral

(1)

Automates

Jean-Pierre Becirspahic

Lycée Louis-Le-Grand

(2)

Automates finis déterministes

Un automate est une machine abstraite qui peut prendre un nombre fini d’états, qui reçoit en entrée un mot écrit sur un alphabetΣ, et qui change d’état à la lecture des lettres de ce dernier.

Certains états sontacceptants; à la fin de la lecture du mot passé en entrée l’automate aura changé d’état ; on dira que le mot estacceptési l’état final est un état acceptant, etrejetédans le cas contraire.

q0 a q1 q2

a b

b

a

L’état initialq0est désigné par une flèche entrante ; les états acceptants (iciq2) sont représentés par une flèche sortante.

(3)

Automates finis déterministes

Un automate est une machine abstraite qui peut prendre un nombre fini d’états, qui reçoit en entrée un mot écrit sur un alphabetΣ, et qui change d’état à la lecture des lettres de ce dernier.

Certains états sontacceptants; à la fin de la lecture du mot passé en entrée l’automate aura changé d’état ; on dira que le mot estacceptési l’état final est un état acceptant, etrejetédans le cas contraire.

q0 a q1 q2

a b

b

a

Pour qu’un mot soit lu et aboutisse à un état acceptant il faut et il suffit qu’il débute par un a et se termine par un b; on dira que cet automate reconnait le langage des mots de aΣb.

La lecture du mot abbaabab fait passer l’automate par les états :

(4)

Automates finis déterministes

Un automate est une machine abstraite qui peut prendre un nombre fini d’états, qui reçoit en entrée un mot écrit sur un alphabetΣ, et qui change d’état à la lecture des lettres de ce dernier.

Certains états sontacceptants; à la fin de la lecture du mot passé en entrée l’automate aura changé d’état ; on dira que le mot estacceptési l’état final est un état acceptant, etrejetédans le cas contraire.

q0 a q1 q2

a b

b

a

Le couple(q0,b)est unblocagede l’automate. Un automate sans blocage est ditcomplet.

(5)

Automates finis déterministes

Un automate est une machine abstraite qui peut prendre un nombre fini d’états, qui reçoit en entrée un mot écrit sur un alphabetΣ, et qui change d’état à la lecture des lettres de ce dernier.

Certains états sontacceptants; à la fin de la lecture du mot passé en entrée l’automate aura changé d’état ; on dira que le mot estacceptési l’état final est un état acceptant, etrejetédans le cas contraire.

q0 q1 q2

q3 a

a b

b

a b

a,b

(6)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Automates finis déterministes

Un second exemple

Σ={0,1}; le mot lu par l’automate correspond à l’écriture binaire d’un entiern. Cet automate reconnait les entiersnqui sont divisibles par 3 :

q0 q1 q2

1 0

0

1 0

1

L’état final atteint estq0sin≡0 mod 3,q1sin≡1 mod 3 etq2sin≡2 mod 3.

• C’est vrai sin=0 ;

• sin>1 on posen=2p+ravecr∈ {0,1}.

Avant la lecture derl’automate se trouve dans l’étatqiavecp≡i mod 3.

r=1 l’automate passe à l’étatq1;

sii=1 alorsn≡2+rmod 3 et sir=0 l’automate passe à l’étatq2, si r=1 l’automate passe à l’étatq0;

sii=2 alorsn≡1+rmod 3 et sir=0 l’automate passe à l’étatq1, si r=1 l’automate reste à l’étatq2.

(7)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Automates finis déterministes

Un second exemple

Σ={0,1}; le mot lu par l’automate correspond à l’écriture binaire d’un entiern. Cet automate reconnait les entiersnqui sont divisibles par 3 :

q0 q1 q2

1 0

0

1 0

1

L’état final atteint estq0sin≡0 mod 3,q1sin≡1 mod 3 etq2sin≡2 mod 3.

• C’est vrai sin=0 ;

• sin>1 on posen=2p+ravecr∈ {0,1}.

Avant la lecture derl’automate se trouve dans l’étatqiavecp≡i mod 3.

r=1 l’automate passe à l’étatq1;

sii=1 alorsn≡2+rmod 3 et sir=0 l’automate passe à l’étatq2, si r=1 l’automate passe à l’étatq0;

sii=2 alorsn≡1+rmod 3 et sir=0 l’automate passe à l’étatq1, si r=1 l’automate reste à l’étatq2.

(8)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Automates finis déterministes

Un second exemple

Σ={0,1}; le mot lu par l’automate correspond à l’écriture binaire d’un entiern. Cet automate reconnait les entiersnqui sont divisibles par 3 :

q0 q1 q2

1 0

0

1 0

1

L’état final atteint estq0sin≡0 mod 3,q1sin≡1 mod 3 etq2sin≡2 mod 3.

• C’est vrai sin=0 ;

• sin>1 on posen=2p+ravecr∈ {0,1}.

Avant la lecture derl’automate se trouve dans l’étatqiavecp≡i mod 3.

r=1 l’automate passe à l’étatq1;

sii=1 alorsn≡2+rmod 3 et sir=0 l’automate passe à l’étatq2, si r=1 l’automate passe à l’étatq0;

sii=2 alorsn≡1+rmod 3 et sir=0 l’automate passe à l’étatq1, si r=1 l’automate reste à l’étatq2.

(9)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Automates finis déterministes

Un second exemple

Σ={0,1}; le mot lu par l’automate correspond à l’écriture binaire d’un entiern. Cet automate reconnait les entiersnqui sont divisibles par 3 :

q0 q1 q2

1 0

0

1 0

1

L’état final atteint estq0sin≡0 mod 3,q1sin≡1 mod 3 etq2sin≡2 mod 3.

• C’est vrai sin=0 ;

• sin>1 on posen=2p+ravecr∈ {0,1}.

Avant la lecture derl’automate se trouve dans l’étatqiavecp≡i mod 3.

r=1 l’automate passe à l’étatq1;

sii=1 alorsn≡2+rmod 3 et sir=0 l’automate passe à l’étatq2, si r=1 l’automate passe à l’étatq0;

sii=2 alorsn≡1+rmod 3 et sir=0 l’automate passe à l’étatq1, si r=1 l’automate reste à l’étatq2.

(10)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Automates finis déterministes

Un second exemple

Σ={0,1}; le mot lu par l’automate correspond à l’écriture binaire d’un entiern. Cet automate reconnait les entiersnqui sont divisibles par 3 :

q0 q1 q2

1 0

0

1 0

1

L’état final atteint estq0sin≡0 mod 3,q1sin≡1 mod 3 etq2sin≡2 mod 3.

• C’est vrai sin=0 ;

• sin>1 on posen=2p+ravecr∈ {0,1}.

Avant la lecture derl’automate se trouve dans l’étatqiavecp≡i mod 3.

Sii=0 alorsn≡rmod 3 et sir=0 l’automate reste à l’étatq0, si r=1 l’automate passe à l’étatq1;

r=1 l’automate passe à l’étatq0;

sii=2 alorsn≡1+rmod 3 et sir=0 l’automate passe à l’étatq1, si r=1 l’automate reste à l’étatq2.

(11)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Automates finis déterministes

Un second exemple

Σ={0,1}; le mot lu par l’automate correspond à l’écriture binaire d’un entiern. Cet automate reconnait les entiersnqui sont divisibles par 3 :

q0 q1 q2

1 0

0

1 0

1

L’état final atteint estq0sin≡0 mod 3,q1sin≡1 mod 3 etq2sin≡2 mod 3.

• C’est vrai sin=0 ;

• sin>1 on posen=2p+ravecr∈ {0,1}.

Avant la lecture derl’automate se trouve dans l’étatqiavecp≡i mod 3.

Sii=0 alorsn≡rmod 3 et sir=0 l’automate reste à l’étatq0, si r=1 l’automate passe à l’étatq1;

sii=1 alorsn≡2+rmod 3 et sir=0 l’automate passe à l’étatq2, si r=1 l’automate passe à l’étatq0;

r=1 l’automate reste à l’étatq2.

(12)

Automates finis déterministes

Un second exemple

Σ={0,1}; le mot lu par l’automate correspond à l’écriture binaire d’un entiern. Cet automate reconnait les entiersnqui sont divisibles par 3 :

q0 q1 q2

1 0

0

1 0

1

L’état final atteint estq0sin≡0 mod 3,q1sin≡1 mod 3 etq2sin≡2 mod 3.

• C’est vrai sin=0 ;

• sin>1 on posen=2p+ravecr∈ {0,1}.

Avant la lecture derl’automate se trouve dans l’étatqiavecp≡i mod 3.

Sii=0 alorsn≡rmod 3 et sir=0 l’automate reste à l’étatq0, si r=1 l’automate passe à l’étatq1;

sii=1 alorsn≡2+rmod 3 et sir=0 l’automate passe à l’étatq2, si r=1 l’automate passe à l’étatq0;

sii=2 alorsn≡1+rmod 3 et sir=0 l’automate passe à l’étatq1, si r=1 l’automate reste à l’étatq2.

(13)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Définition formelle d’un automate

Unautomate à états finis déterministeest défini parA = (Σ,Q,q0,F,δ).

• Σest un alphabet (fini) ;

• Qest un ensemble fini d’étatsdeA;

• q0∈Qest l’étatinitial;

• F⊂Qest l’ensemble des étatsacceptants(ou finaux) ;

• δest une application d’une partie deQ×ΣdansQ, appeléefonction de transition.

Lorsqueδest définie surQ×Σtout entier, l’automateA est ditcomplet.

Une transitionδ(qi,a) =qjest représentée parqi−→qj. Unchemindans A est une suite finie de transitions consécutivesq0−→a1 q1−→ · · ·a2 −→an qn débutant par l’état initialq0. Le mota1a2· · ·an est appelé l’étiquette du chemin.

Un chemin estacceptantlorsque l’état d’arrivée est un état acceptant ; un mot deΣestreconnuparA lorsqu’il est l’étiquette d’un chemin ac- ceptant. Le langageL(A)reconnuparA est l’ensemble des mots recon- nus parA.

(14)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Définition formelle d’un automate

Unautomate à états finis déterministeest défini parA = (Σ,Q,q0,F,δ).

• Σest un alphabet (fini) ;

• Qest un ensemble fini d’étatsdeA;

• q0∈Qest l’étatinitial;

• F⊂Qest l’ensemble des étatsacceptants(ou finaux) ;

• δest une application d’une partie deQ×ΣdansQ, appeléefonction de transition.

Lorsqueδest définie surQ×Σtout entier, l’automateA est ditcomplet.

Une transitionδ(qi,a) =qjest représentée parqi−→a qj. Unchemindans A est une suite finie de transitions consécutivesq0−→a1 q1−→ · · ·a2 −→an qn débutant par l’état initialq0. Le mota1a2· · ·an est appelé l’étiquettedu chemin.

un mot deΣestreconnuparA lorsqu’il est l’étiquette d’un chemin ac- ceptant. Le langageL(A)reconnuparA est l’ensemble des mots recon- nus parA.

(15)

Définition formelle d’un automate

Unautomate à états finis déterministeest défini parA = (Σ,Q,q0,F,δ).

• Σest un alphabet (fini) ;

• Qest un ensemble fini d’étatsdeA;

• q0∈Qest l’étatinitial;

• F⊂Qest l’ensemble des étatsacceptants(ou finaux) ;

• δest une application d’une partie deQ×ΣdansQ, appeléefonction de transition.

Lorsqueδest définie surQ×Σtout entier, l’automateA est ditcomplet.

Une transitionδ(qi,a) =qjest représentée parqi−→a qj. Unchemindans A est une suite finie de transitions consécutivesq0−→a1 q1−→ · · ·a2 −→an qn débutant par l’état initialq0. Le mota1a2· · ·an est appelé l’étiquettedu chemin.

Un chemin estacceptant lorsque l’état d’arrivée est un état acceptant ; un mot deΣ estreconnuparA lorsqu’il est l’étiquette d’un chemin ac- ceptant. Le langageL(A)reconnuparA est l’ensemble des mots recon-

(16)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Définition formelle d’un automate

Exemple

Σ={a,b};

Q={q0,q1,q2};

F={q0,q1};

δ a b

q0 q1 q0 q1 q2 q0 q2 q2 q2

q0 q1 q2

a b

a

b

a,b

On noteLil’ensemble des étiquettes des chemins débutant parqiet finis- sant par un état acceptant.

L0=ε+bL0+aL1, L1=ε+bL0 et L2=∅.

0 0 0 0

le lemme d’Arden,L0= (b+ab)(ε+a). Le langage reconnu par cet auto- mate est le langage des mots qui ne comportent pas deuxaconsécutifs.

(17)

Définition formelle d’un automate

Exemple

Σ={a,b};

Q={q0,q1,q2};

F={q0,q1};

δ a b

q0 q1 q0 q1 q2 q0 q2 q2 q2

q0 q1 q2

a b

a

b

a,b

On noteLil’ensemble des étiquettes des chemins débutant parqiet finis- sant par un état acceptant.

L0=ε+bL0+aL1, L1=ε+bL0 et L2=∅.

On en déduit queL0=ε+bL0+a(ε+bL0) = (b+ab)L0+ (ε+a). D’après le lemme d’ ,L = (b+ab)(ε+a). Le langage reconnu par cet auto-

(18)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Émondage

Deux automates sont ditséquivalents lorsqu’ils reconnaissent le même langage :

q0 q1 q2

a b

a

b

a,b

q0 q1

a b

b

Le premier est complet, le second ne l’est pas.

équivalent en supprimant tous les états inutiles ainsi que les transitions qui les concernent.

(19)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Émondage

Deux automates sont ditséquivalents lorsqu’ils reconnaissent le même langage :

q0 q1 q2

a b

a

b

a,b

q0 q1

a b

b

un étatqqu’il est :

• accessiblelorsqu’il existe un chemin menant de l’état initialq0àq;

• co-accessiblelorsqu’il existe un chemin menant deqà un état acceptant.

équivalent en supprimant tous les états inutiles ainsi que les transitions qui les concernent.

(20)

Émondage

Deux automates sont ditséquivalents lorsqu’ils reconnaissent le même langage :

q0 q1 q2

a b

a

b

a,b

q0 q1

a b

b

un étatqqu’il est :

• accessiblelorsqu’il existe un chemin menant de l’état initialq0àq;

• co-accessiblelorsqu’il existe un chemin menant deqà un état acceptant.

Un état accessible et co-accessible est ditutile. On obtient un automate équivalent en supprimant tous les états inutiles ainsi que les transitions qui les concernent.

(21)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Émondage

Exemple

q0 q1 q2

q3 q4

a

b

a b

a b

a,b a

b

L’automate ci-dessus possède deux états inutiles :q4n’est pas accessible etq3n’est pas co-accessible.

q0 a q1 q2

a b

a b

q3n’est pas co-accessible q4n’est pas accessible

et reconnait le langage dénoté para(a+b)b.

(22)

Émondage

Exemple

q0 q1 q2

q3 q4

a

b

a b

a b

a,b a

b

L’automate ci-dessus possède deux états inutiles :q4n’est pas accessible etq3n’est pas co-accessible. Il est équivalent à :

q0 a q1 q2

a b

a b

q3n’est pas co-accessible

et reconnait le langage dénoté para(a+b)b.

JP Becirspahic — Automates — 2015-2016 — Page 4/18

(23)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Mise en œuvre

On utilise le typecharpour représenter l’alphabetΣ, le type int pour l’en- semble des états et un dictionnaire pour énumérer la liste des transi- tions possibles. Pour simplifier, ce dictionnaire sera représenté par le type ( int * char) * int list.

dfa = {Start: int ; Accept: int list ;

Delta: ((int * char) * int) list} ;; let chemin a m =

let rec aux q = function

| k when k = string_length m > q

| k > aux (assoc (q, m.[k]) a.Delta) (k+1) in aux a.Start 0 ;;

let reconnu a m =

try mem (chemin a m) a.Accept with Not_found > false ;;

(24)

Mise en œuvre

On utilise le typecharpour représenter l’alphabetΣ, le type int pour l’en- semble des états et un dictionnaire pour énumérer la liste des transi- tions possibles. Pour simplifier, ce dictionnaire sera représenté par le type ( int * char) * int list.

type dfa = {Start: int ; Accept: int list ;

Delta: ((int * char) * int) list} ;;

let chemin a m =

let rec aux q = function

| k when k = string_length m > q

| k > aux (assoc (q, m.[k]) a.Delta) (k+1) in aux a.Start 0 ;;

let reconnu a m =

try mem (chemin a m) a.Accept with Not_found > false ;;

(25)

Automates non déterministes

Un NFA est défini par un quintupletA= (Σ,Q,I,F,δ)où :

• Σest un alphabet (fini) ;

• Qest un ensemble fini d’étatsdeA;

• I⊂Qest l’ensemble des étatsinitiaux;

• F⊂Qest l’ensemble des étatsacceptants;

• δest une application d’une partie deQ×ΣdansP(Q): lafonction de transition.

(26)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Automates non déterministes

Un NFA est défini par un quintupletA= (Σ,Q,I,F,δ)où :

• Σest un alphabet (fini) ;

• Qest un ensemble fini d’étatsdeA;

• I⊂Qest l’ensemble des étatsinitiaux;

• F⊂Qest l’ensemble des étatsacceptants;

• δest une application d’une partie deQ×ΣdansP(Q): lafonction de transition.

Une transitionest un triplet (qi,a,qj) tel queqj ∈ δ(qi,a), représentée parqi −→a qj. Uncheminest une suite finie de transitions consécutives q0−→a1 q1−→ · · ·a2 −→an qn.

Un mot deΣ estreconnupar l’automateA s’il étiquette un chemin me- nant d’un état initial à un état acceptant. Le langage des mots reconnus par l’automateA est notéL(A).

(27)

Automates non déterministes

Un NFA est défini par un quintupletA= (Σ,Q,I,F,δ)où :

• Σest un alphabet (fini) ;

• Qest un ensemble fini d’étatsdeA;

• I⊂Qest l’ensemble des étatsinitiaux;

• F⊂Qest l’ensemble des étatsacceptants;

• δest une application d’une partie deQ×ΣdansP(Q): lafonction de transition.

Une transitionest un triplet (qi,a,qj) tel queqj ∈ δ(qi,a), représentée parqi −→a qj. Uncheminest une suite finie de transitions consécutives q0−→a1 q1−→ · · ·a2 −→an qn.

Un mot deΣestreconnupar l’automateA s’il étiquette un chemin me- nant d’un état initial à un état acceptant. Le langage des mots reconnus par l’automateA est notéL(A).

(28)

Automates non déterministes

Un NFA est défini par un quintupletA= (Σ,Q,I,F,δ)où :

• Σest un alphabet (fini) ;

• Qest un ensemble fini d’étatsdeA;

• I⊂Qest l’ensemble des étatsinitiaux;

• F⊂Qest l’ensemble des étatsacceptants;

• δest une application d’une partie deQ×ΣdansP(Q): lafonction de transition.

Exemple: l’automate ci dessous reconnait le langage dénoté par a(a+b)b.

q0 a q1 q2

a,b b

(29)

Déterminisation

Considérons donc un automate non-déterministeA = (Σ,Q,I,F,δ)et po- sonsA0= (Σ,P(Q),I,F00)avec :

F0=n

P∈P(Q)

P∩F,∅o

et ∀(P,a)∈P(Q)×Σ,δ0(P,a) =[

qP

δ(q,a).

SiAest un automate non-déterministe ànétats,A0est un automate dé- terministe à 2nétats.

(30)

Déterminisation

Considérons donc un automate non-déterministeA = (Σ,Q,I,F,δ)et po- sonsA0= (Σ,P(Q),I,F00)avec :

F0=n

P∈P(Q)

P∩F,∅o

et ∀(P,a)∈P(Q)×Σ,δ0(P,a) =[

qP

δ(q,a).

q0 a q1 q2

a,b b

États et transitions deA0:

δ0 a b

∅ ∅ ∅

∗ {q0} {q1} ∅ {q1} {q1} {q1,q2} {q2} ∅ ∅

δ0 a b

{q0,q1} {q1} {q1,q2}

∗ {q1,q2} {q1} {q1,q2}

∗ {q0,q2} {q1} ∅

∗ {q0,q1,q2} {q1} {q1,q2}

*: état initial, *: états acceptants.

(31)

Déterminisation

Considérons donc un automate non-déterministeA = (Σ,Q,I,F,δ)et po- sonsA0= (Σ,P(Q),I,F00)avec :

F0=n

P∈P(Q)

P∩F,∅o

et ∀(P,a)∈P(Q)×Σ,δ0(P,a) =[

qP

δ(q,a).

q0 a q1 q2

a,b b

Dans la pratique on écrit que les états accessibles :

δ0 a b

∗ {q0} {q1} − →q00 {q1} {q1} {q1,q2} →q10

∗ {q1,q2} {q1} {q1,q2} →q20

(32)

Déterminisation

Considérons donc un automate non-déterministeA = (Σ,Q,I,F,δ)et po- sonsA0= (Σ,P(Q),I,F00)avec :

F0=n

P∈P(Q)

P∩F,∅o

et ∀(P,a)∈P(Q)×Σ,δ0(P,a) =[

qP

δ(q,a).

q0 a q1 q2

a,b b

On obtient l’automate déterminisé suivant :

q00 a q10 q20 a

b

a b

A0reconnait lui aussi le langage dénoté para(a+b)b.

(33)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

DansA tout chemin étiqueté parεmène à un élément deI; dansA tout chemin étiqueté parεmène à l’étatI.

• Siu,ε, supposons le résultat acquis pour tout mot de longueur strictement inférieure, et posonsu=a1a2· · ·an.

Sachant queF0=n

P∈P(Q)

P∩F,∅o

ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(34)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

DansA tout chemin étiqueté parεmène à un élément deI; dansA tout chemin étiqueté parεmène à l’étatI.

• Siu,ε, supposons le résultat acquis pour tout mot de longueur strictement inférieure, et posonsu=a1a2· · ·an.

Sachant queF0=n

P∈P(Q)

P∩F,∅o

ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(35)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

• DansAtout chemin étiqueté parεmène à un élément deI; dansA0tout chemin étiqueté parεmène à l’étatI.

inférieure, et posonsu=a1a2· · ·an.

Sachant queF0=n

P∈P(Q)

P∩F,∅o

ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(36)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

• DansAtout chemin étiqueté parεmène à un élément deI; dansA0tout chemin étiqueté parεmène à l’étatI.

• Siu,ε, supposons le résultat acquis pour tout mot de longueur strictement inférieure, et posonsu=a1a2· · ·an.

Sachant queF = P P(Q)P F, ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(37)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

• DansAtout chemin étiqueté parεmène à un élément deI; dansA0tout chemin étiqueté parεmène à l’étatI.

• Siu,ε, supposons le résultat acquis pour tout mot de longueur strictement inférieure, et posonsu=a1a2· · ·an.

Considérons un cheminq0−→a1 q1−→ · · ·a2 −→an qndansA.

Il existe dansA0un cheminI−→a1 P1−→ · · ·a2 a−→n1Pn1tel queqn1∈Pn1.

n δ(qn1, n) n δ(Pn1, n). En posant n =δ(Pn1, n) cheminI−→a1 P1−→ · · ·a2 −→an Pntel queqn∈Pn.

Sachant queF0=n

P∈P(Q)

P∩F,∅o

ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(38)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

• DansAtout chemin étiqueté parεmène à un élément deI; dansA0tout chemin étiqueté parεmène à l’étatI.

• Siu,ε, supposons le résultat acquis pour tout mot de longueur strictement inférieure, et posonsu=a1a2· · ·an.

Considérons un cheminq0−→a1 q1−→ · · ·a2 −→an qndansA.

Il existe dansA0un cheminI−→a1 P1−→ · · ·a2 a−→n1Pn1tel queqn1∈Pn1.

qn∈δ(qn1,an)doncqn∈δ0(Pn1,an). En posantPn0(Pn1,an)on établit un cheminI−→a1 P1−→ · · ·a2 −→an Pntel queqn∈Pn.

Sachant queF = P P(Q)P F, ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(39)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

• DansAtout chemin étiqueté parεmène à un élément deI; dansA0tout chemin étiqueté parεmène à l’étatI.

• Siu,ε, supposons le résultat acquis pour tout mot de longueur strictement inférieure, et posonsu=a1a2· · ·an.

Réciproquement, considérons un cheminI −→a1 P1−→ · · ·a2 −→an Pn dansA, et consi- dérons un élémentqn∈Pn.

rence il existe un cheminq0−→a1 q1−→ · · ·a2 a−→n1qn1dansA. Ceci prouve l’existence d’un cheminq0−→a1 q1−→ · · ·a2 −→an qn. Sachant queF0=n

P∈P(Q)

P∩F,∅o

ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(40)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

• DansAtout chemin étiqueté parεmène à un élément deI; dansA0tout chemin étiqueté parεmène à l’étatI.

• Siu,ε, supposons le résultat acquis pour tout mot de longueur strictement inférieure, et posonsu=a1a2· · ·an.

Réciproquement, considérons un cheminI −→a1 P1−→ · · ·a2 −→an Pn dansA, et consi- dérons un élémentqn∈Pn.

Il existe un étatqn1∈Pn1tel queqn∈δ(qn1,an), et par hypothèse de récur- rence il existe un cheminq0−→a1 q1−→ · · ·a2 a−→n1qn1dansA.

Ceci prouve l’existence d’un cheminq0−→q1−→ · · ·−→qn. Sachant queF0=n

P∈P(Q)

P∩F,∅o

ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(41)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

• DansAtout chemin étiqueté parεmène à un élément deI; dansA0tout chemin étiqueté parεmène à l’étatI.

• Siu,ε, supposons le résultat acquis pour tout mot de longueur strictement inférieure, et posonsu=a1a2· · ·an.

Réciproquement, considérons un cheminI −→a1 P1−→ · · ·a2 −→an Pn dansA, et consi- dérons un élémentqn∈Pn.

Il existe un étatqn1∈Pn1tel queqn∈δ(qn1,an), et par hypothèse de récur- rence il existe un cheminq0−→a1 q1−→ · · ·a2 a−→n1qn1dansA.

Ceci prouve l’existence d’un cheminq0−→a1 q1−→ · · ·a2 −→an qn.

Sachant queF = P P(Q)P F, ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(42)

Déterminisation

Les automatesAetA0reconnaissent le même langage.

On montre par récurrence sur|u|que pour tout motu∈Σ, il existe dansA un chemin étiqueté parumenant à un étatqsi et seulement s’il existe dansA0un chemin étiqueté parumenant à un étatPcontenantq.

• DansAtout chemin étiqueté parεmène à un élément deI; dansA0tout chemin étiqueté parεmène à l’étatI.

• Siu,ε, supposons le résultat acquis pour tout mot de longueur strictement inférieure, et posonsu=a1a2· · ·an.

Réciproquement, considérons un cheminI −→a1 P1−→ · · ·a2 −→an Pn dansA, et consi- dérons un élémentqn∈Pn.

Il existe un étatqn1∈Pn1tel queqn∈δ(qn1,an), et par hypothèse de récur- rence il existe un cheminq0−→a1 q1−→ · · ·a2 a−→n1qn1dansA.

Ceci prouve l’existence d’un cheminq0−→a1 q1−→ · · ·a2 −→an qn. Sachant queF0=n

P∈P(Q)

P∩F,∅o

ceci prouve qu’un mot est reconnu parA si et seulement s’il est reconnu parA0.

(43)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Un exemple de coût exponentiel

Considérons le langage L dénoté par(a+b)a(a+b)n1. Il est facile d’obtenir un automate non-déterministe àn+1 états qui le reconnait :

q0 q1 q2 · · · qn

a,b

a a,b a,b a,b

Tout automate déterministe qui reconnaitLpossède au moins 2 états. Considérons un tel automateA et notonsq0son état initial. À tout motuden lettres on associe l’étatq(u)auquel aboutit le chemin étiqueté paru. On définit ainsi une applicationq:{a,b}n→Q.

On considère deux motsu,vtels queq(u) =q(v)et le plus long suffixewcom- mun àuet àv. Sans perte de généralité on peut poseru=u0awetv=v0bw. On complètewpour former un motww0de longueurn−1.

Le motuw0=u0aww0est reconnu parA mais pasvw0=v0bww0.

MaisAest déterministe etq(u) =q(v)donc les chemins étiquetés paruw0etvw0 doivent mener au même état (ou être tous deux bloquants) ce qui est absurde.

(44)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Un exemple de coût exponentiel

Considérons le langage L dénoté par(a+b)a(a+b)n1. Il est facile d’obtenir un automate non-déterministe àn+1 états qui le reconnait :

q0 q1 q2 · · · qn

a,b

a a,b a,b a,b

Tout automate déterministe qui reconnaitLpossède au moins 2n états.

lettres on associe l’étatq(u)auquel aboutit le chemin étiqueté paru. On définit ainsi une applicationq:{a,b}n→Q.

On considère deux motsu,vtels queq(u) =q(v)et le plus long suffixewcom- mun àuet àv. Sans perte de généralité on peut poseru=u0awetv=v0bw. On complètewpour former un motww0de longueurn−1.

Le motuw0=u0aww0est reconnu parA mais pasvw0=v0bww0.

MaisAest déterministe etq(u) =q(v)donc les chemins étiquetés paruw0etvw0 doivent mener au même état (ou être tous deux bloquants) ce qui est absurde.

(45)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Un exemple de coût exponentiel

Considérons le langage L dénoté par(a+b)a(a+b)n1. Il est facile d’obtenir un automate non-déterministe àn+1 états qui le reconnait :

q0 q1 q2 · · · qn

a,b

a a,b a,b a,b

Tout automate déterministe qui reconnaitLpossède au moins 2n états.

Considérons un tel automateA et notonsq0son état initial. À tout motuden lettres on associe l’étatq(u)auquel aboutit le chemin étiqueté paru. On définit ainsi une applicationq:{a,b}n→Q.

, ffi

mun àuet àv. Sans perte de généralité on peut poseru=u0awetv=v0bw. On complètewpour former un motww0de longueurn−1.

Le motuw0=u0aww0est reconnu parA mais pasvw0=v0bww0.

MaisAest déterministe etq(u) =q(v)donc les chemins étiquetés paruw0etvw0 doivent mener au même état (ou être tous deux bloquants) ce qui est absurde.

(46)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Un exemple de coût exponentiel

Considérons le langage L dénoté par(a+b)a(a+b)n1. Il est facile d’obtenir un automate non-déterministe àn+1 états qui le reconnait :

q0 q1 q2 · · · qn

a,b

a a,b a,b a,b

Tout automate déterministe qui reconnaitLpossède au moins 2n états.

Considérons un tel automateA et notonsq0son état initial. À tout motuden lettres on associe l’étatq(u)auquel aboutit le chemin étiqueté paru. On définit ainsi une applicationq:{a,b}n→Q.

On considère deux motsu,vtels queq(u) =q(v)et le plus long suffixewcom- mun àuet àv. Sans perte de généralité on peut poseru=u0awetv=v0bw.

Le motuw0=u0aww0est reconnu parA mais pasvw0=v0bww0.

MaisAest déterministe etq(u) =q(v)donc les chemins étiquetés paruw0etvw0 doivent mener au même état (ou être tous deux bloquants) ce qui est absurde.

(47)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Un exemple de coût exponentiel

Considérons le langage L dénoté par(a+b)a(a+b)n1. Il est facile d’obtenir un automate non-déterministe àn+1 états qui le reconnait :

q0 q1 q2 · · · qn

a,b

a a,b a,b a,b

Tout automate déterministe qui reconnaitLpossède au moins 2n états.

Considérons un tel automateA et notonsq0son état initial. À tout motuden lettres on associe l’étatq(u)auquel aboutit le chemin étiqueté paru. On définit ainsi une applicationq:{a,b}n→Q.

On considère deux motsu,vtels queq(u) =q(v)et le plus long suffixewcom- mun àuet àv. Sans perte de généralité on peut poseru=u0awetv=v0bw.

On complètewpour former un motww0de longueurn−1.

Le motuw0=u0aww0est reconnu parA mais pasvw0=v0bww0.

q(u) =q(v)

doivent mener au même état (ou être tous deux bloquants) ce qui est absurde.

(48)

Un exemple de coût exponentiel

Considérons le langage L dénoté par(a+b)a(a+b)n1. Il est facile d’obtenir un automate non-déterministe àn+1 états qui le reconnait :

q0 q1 q2 · · · qn

a,b

a a,b a,b a,b

Tout automate déterministe qui reconnaitLpossède au moins 2n états.

Considérons un tel automateA et notonsq0son état initial. À tout motuden lettres on associe l’étatq(u)auquel aboutit le chemin étiqueté paru. On définit ainsi une applicationq:{a,b}n→Q.

On considère deux motsu,vtels queq(u) =q(v)et le plus long suffixewcom- mun àuet àv. Sans perte de généralité on peut poseru=u0awetv=v0bw.

On complètewpour former un motww0de longueurn−1.

Le motuw0=u0aww0est reconnu parA mais pasvw0=v0bww0.

MaisAest déterministe etq(u) =q(v)donc les chemins étiquetés paruw0etvw0 doivent mener au même état (ou être tous deux bloquants) ce qui est absurde.

(49)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Recherche d’un mot dans un texte

Siu ∈ Σ est un mot donné, on souhaite un automatedéterministequi reconnait le langageΣ.

siu=a1a2· · ·an il suffit de considérer :

q0 q1 q2 · · · qn

Σ

a1 a2 a3 an

Σ

Il reste ensuite à déterminiser cet automate.

(50)

Recherche d’un mot dans un texte

Siu ∈ Σ est un mot donné, on souhaite un automatedéterministequi reconnait le langageΣ.

Ce problème est aisément résolu à l’aide d’un automate non-déterministe : siu=a1a2· · ·an il suffit de considérer :

q0 q1 q2 · · · qn

Σ

a1 a2 a3 an

Σ

Il reste ensuite à déterminiser cet automate.

(51)

l y c é e l o u i s - l e - g r a n d o p t i o n i n f o r m a t i q u e

Recherche d’un mot dans un texte

Siu ∈ Σ est un mot donné, on souhaite un automatedéterministequi reconnait le langageΣ.

Exemple: recherche du motabasur l’alphabet{a,b}.

q0 q1 q2 q3

a,b

a b a

a,b

δ a b

∗ {q0} {q0,q1} {q0} →q00 {q0,q1} {q0,q1} {q0,q2} →q10 {q0,q2} {q0,q1,q3} {q0} →q20

∗ {q0,q1,q3} {q0,q1,q3} {q0,q2,q3} →q30

∗ {q0,q2,q3} {q0,q1,q3} {q0,q3} →q40

∗ {q0,q3} {q0,q1,q3} {q0,q3} →q50

Références

Documents relatifs

L’étude de la détente de Joule & Gay-Lussac conduit à la première loi de Joule qui est en accord avec l’étude cinétique des gaz parfaits. En d’autres termes, les

De même l’égalité de l’énergie reçue sous forme de chaleur par un système et de sa variation d’enthalpie dans une transformation isobare conduit à la définition

Celle-ci est la composante sur laquelle l’État exerce sa souveraineté (pouvoir suprême et absolu) qui en constitue un attribut essentiel et qui s’exprime hors des

Plan stratégique Objectifs et étapes clairs Plan national de suivi et d’évaluation Plan national d’action en faveur des orphelins et des enfants Protection des personnes vivant

« Car il nous faut tous comparaître devant le tribunal du Christ, afin qu’il soit rendu à chacun d’après ce qu’il aura fait dans son corps, soit en bien, soit en

Les Sociétés de Recherche Opérationnelle comptent, pour le moment, à leurs clients des honoraires assez élevés. Coût d’un Service attaché à la

Nous remercions les habitants de nos communes pour le bon accueil et leur générosité lors de notre tournée de calendrier, qui cette année sera un peu décalée en

Si l'Etat n'est pas soumis à ce droit mais se contente de le créer (ou de transcrire les préceptes du droit naturel), alors le droit public n'est plus qu'un droit imparfait,