automate fini non-d eterministe th eor eme de kleeneverel/teaching/14-15/sf-m1/... ·...

56
Automate Fini Non-d´ eterministe Th´ eor` eme de Kleene Syst` emes Formels Master 1 ISIDIS ebastien Verel [email protected] http://www-lisic.univ-littoral.fr/ ~ verel Universit´ e du Littoral Cˆ ote d’Opale Laboratoire LISIC Equipe CAMOME

Upload: others

Post on 18-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Automate Fini Non-deterministeTheoreme de Kleene

Systemes FormelsMaster 1 ISIDIS

Sebastien [email protected]

http://www-lisic.univ-littoral.fr/~verel

Universite du Littoral Cote d’OpaleLaboratoire LISICEquipe CAMOME

Page 2: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Objectifs de la seance 03

Connaitre la definition d’un automate fini non-deternimiste

Savoir determiniser un automate

Savoir construire un automate a etat fini reconnaissant unlanguage rationnel simple

Connaıtre le theoreme de Kleene

Questions principales du jour :

Comment definir des automates reconnaissant un langage demaniere simple ?

Page 3: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Objectifs de la seance 03

Connaitre la definition d’un automate fini non-deternimiste

Savoir determiniser un automate

Savoir construire un automate a etat fini reconnaissant unlanguage rationnel simple

Connaıtre le theoreme de Kleene

Questions principales du jour :

Comment definir des automates reconnaissant un langage demaniere simple ?

Page 4: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

References

Rappels de references concernant les langages et les automates :

www-igm.univ-mlv.fr/~Eberstel/Elements/Elements.

html

S. Julia, deptinfo.unice.fr/~julia/IT/

www.polytech.unice.fr/~claudine

Page 5: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Plan

1 Introduction

2 Automate Fini Non-deterministe

3 Determinisation

4 Theoreme de Kleene

Page 6: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Equivalence expression reguliere et langage rationnel

Theoreme (admis)

Un langage est rationnel (ou regulier)si et seulement si

il est decrit par une expression reguliere.

Cardinalite

L’ensemble des langages rationnels est denombrable.

Remarque : il existe beaucoup de langage non rationnel...

Page 7: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Equivalence expression reguliere et langage rationnel

Theoreme (admis)

Un langage est rationnel (ou regulier)si et seulement si

il est decrit par une expression reguliere.

Cardinalite

L’ensemble des langages rationnels est denombrable.

Remarque : il existe beaucoup de langage non rationnel...

Page 8: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Automate Fini Deterministe (AFD)

Automate Fini Deterministe (AFD)

Un Automate Fini Deterministe est un quintuplet(Q,Σ,T , q0,A) avec :

Σ est l’alphabet de l’automate,

Q un ensemble fini appele ensemble des etats de l’automate,

T est une application de Q × Σ dans Q, appelee la fonctionde transition

q0 est un element de Q, appele l’etat initial

A est un sous-ensemble de Q, appele l’ensemble des etatsacceptants.

Page 9: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Automate Fini Deterministe (AFD)

Automate Fini Deterministe (AFD)

Un Automate Fini Deterministe est un quintuplet(Q,Σ,T , q0,A) avec :

Σ est l’alphabet de l’automate,

Q un ensemble fini appele ensemble des etats de l’automate,

T est une application de Q × Σ dans Q, appelee la fonctionde transition

q0 est un element de Q, appele l’etat initial

A est un sous-ensemble de Q, appele l’ensemble des etatsacceptants.

Page 10: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Exemple

a

1 2

43

b

a

bab

a,b

Page 11: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Langage reconnu par un automate

fonction de transition iteree

La fonction de transition iteree est l’applicationT ∗ : Q × Σ∗ → Q definie par :

base : si w = ε alors T ∗(q,w) = q

induction : si w = w0x avec x ∈ Σ alorsT ∗(q,w) = T (T ∗(q,w0), x)

Langage decide

Soient M est un automate d’alphabet Σ et L un langage sur Σ

M decide L ssi L est l’ensemble des mots acceptes par M.

Page 12: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Reconnaissance d’un langage de cardinal 1

Soit Σ un alphabet et L = {u} un langage sur Σ de cardinal 1.

u s’ecrit alors comme u = a1a2a3 . . . an avec ∀i ai ∈ Σ.

Automate reconnaissant le langage L :

a21 2 3

a1 ann+1................

0

Page 13: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Reconnaissance d’un langage de cardinal 1

Soit Σ un alphabet et L = {u} un langage sur Σ de cardinal 1.

u s’ecrit alors comme u = a1a2a3 . . . an avec ∀i ai ∈ Σ.

Automate reconnaissant le langage L :

a21 2 3

a1 ann+1................

0

Page 14: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Reconnaissance d’un langage de cardinal 1

Soit Σ un alphabet et L = {u} un langage sur Σ de cardinal 1.

u s’ecrit alors comme u = a1a2a3 . . . an avec ∀i ai ∈ Σ.

Automate reconnaissant le langage L :

a21 2 3

a1 ann+1................

0

Page 15: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Quelques difficultes pratiques

Il n’est pas ”pratique” de devoir definir toutes les transitions,on aimerait :

a21 2 3

a1 ann+1................

Comment construire un automate qui reconnait deux mots ?

a21 2 3

a1 ann+1................

bn1 2 3 n+1................

b2b1

Page 16: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Quelques difficultes pratiques

Il n’est pas ”pratique” de devoir definir toutes les transitions,on aimerait :

a21 2 3

a1 ann+1................

Comment construire un automate qui reconnait deux mots ?

a21 2 3

a1 ann+1................

bn1 2 3 n+1................

b2b1

Page 17: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Quelques difficultes pratiques

Il n’est pas ”pratique” de devoir definir toutes les transitions,on aimerait :

a21 2 3

a1 ann+1................

Comment construire un automate qui reconnait deux mots ?

a21 2 3

a1 ann+1................

bn1 2 3 n+1................

b2b1

Page 18: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Plus generalement

Pour pouvoir definir un automate qui reconnait un langagerationnel,

Il faudrait definir un automate qui puisse reconnaitre :

la reunion de langages,

la concatenation de langages,

l’etoile d’un langage (fermeture de Kleene).

Page 19: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Plus generalement

Pour pouvoir definir un automate qui reconnait un langagerationnel,

Il faudrait definir un automate qui puisse reconnaitre :

la reunion de langages,

la concatenation de langages,

l’etoile d’un langage (fermeture de Kleene).

Page 20: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Plus generalement

Pour pouvoir definir un automate qui reconnait un langagerationnel,

Il faudrait definir un automate qui puisse reconnaitre :

la reunion de langages,

la concatenation de langages,

l’etoile d’un langage (fermeture de Kleene).

Page 21: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Plus generalement

Pour pouvoir definir un automate qui reconnait un langagerationnel,

Il faudrait definir un automate qui puisse reconnaitre :

la reunion de langages,

la concatenation de langages,

l’etoile d’un langage (fermeture de Kleene).

Page 22: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Introduction de non-deterministes

Non-deterministe

En informatique, non-deterministe est souvent associe a”plusieurs choix possibles” par opposition deterministe oul’operation ou l’action a effectuer est unique, i.e. completementdetermine par l’etat actuel du systeme (sans ambiguite).

Non-deterministe dans les automates

Plusieurs sources de non-deterministe dans les automates :

Absence de transition,

Plusieurs transitions pour une meme lettre.

Plusieurs etats initiaux

des transitions sur des mots vides : ε-transitions

Page 23: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Introduction de non-deterministes

Non-deterministe

En informatique, non-deterministe est souvent associe a”plusieurs choix possibles” par opposition deterministe oul’operation ou l’action a effectuer est unique, i.e. completementdetermine par l’etat actuel du systeme (sans ambiguite).

Non-deterministe dans les automates

Plusieurs sources de non-deterministe dans les automates :

Absence de transition,

Plusieurs transitions pour une meme lettre.

Plusieurs etats initiaux

des transitions sur des mots vides : ε-transitions

Page 24: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Absence de transition

lecture de bbba

b

1 2

3

b

a

a

S’il n’y a plus de transition possibleet que le mot est encore en cours de lecture

Alors le mot est refuse

Remarque : remplace la technique de l’etat ”puit”

Page 25: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Absence de transition

lecture de bbba

b

1 2

3

b

a

a

S’il n’y a plus de transition possibleet que le mot est encore en cours de lecture

Alors le mot est refuse

Remarque : remplace la technique de l’etat ”puit”

Page 26: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Plusieurs transitions

Lecture de aabaabab et de aaaaaba

41 2

a,b

a

a

3

b

Le mot est accepte lorsqu’il existe au moins une lecture menant aun etat acceptant.

Consequence : Il faut essayer tous les lectures possibles pour estsur que le mot est refuse

Page 27: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Plusieurs transitions

Lecture de aabaabab et de aaaaaba

41 2

a,b

a

a

3

b

Le mot est accepte lorsqu’il existe au moins une lecture menant aun etat acceptant.

Consequence : Il faut essayer tous les lectures possibles pour estsur que le mot est refuse

Page 28: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Plusieurs etats initiaux

a21 2 3

a1 ann+1................

bn1 2 3 n+1................

b2b1

Le mot est accepte lorsqu’il existe une lecture a partir de l’un desetats initiaux menant a un etat acceptant.

Page 29: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

ε-transistions

¡1 2

a b

Une ε-transistion est une transition par lecture du mot vide.

Pendant la lecture d’un mot, il est possible de choisir d’effectuer latransition ε sans lire aucune lettre.

Page 30: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Definition AFN

Automate Fini Non-deterministe (AFN)

Un Automate Fini Non-deterministe est un quintuplet(Q,Σ,T , I ,A) ou :

Σ est l’alphabet de l’automate,

Q un ensemble fini appele ensemble des etats de l’automate,

T est une application de Q × Σ dans P(Q), appelee lafonction de transition

I est un sous-ensemble de Q, appele l’ensemble des etatsinitiaux

A est un sous-ensemble de Q, appele l’ensemble des etatsacceptants.

Page 31: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Exemple

a b

→ 1 - 22 - 4

3 3 34 4,7 45 4 -

→ 6 5 -7 3 -

7

a,b

a a

a,b

3

1

aa

b

b

2

4

56

Page 32: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Lecture / reconnaissance

Lecture

Soient M = (Q,Σ,T , I ,A) un AFN et u = x1x2 . . . xl un mot surΣ.

Une lecture de u par M est une suite d’etats (q0, q1, . . . , ql)verifiant :

i q0 ∈ I , et

ii qi ∈ T (qi−1, xi ) pour 1 ≤ i ≤ l .

Acceptation

Le mot u est accepte par M s’il existe au moins une lecture de upar M qui se termine par un etat acceptant.

Page 33: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Lecture / reconnaissance

Lecture

Soient M = (Q,Σ,T , I ,A) un AFN et u = x1x2 . . . xl un mot surΣ.

Une lecture de u par M est une suite d’etats (q0, q1, . . . , ql)verifiant :

i q0 ∈ I , et

ii qi ∈ T (qi−1, xi ) pour 1 ≤ i ≤ l .

Acceptation

Le mot u est accepte par M s’il existe au moins une lecture de upar M qui se termine par un etat acceptant.

Page 34: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Equivalence deterministe / non-deterministe

Definition equivalence

Soient M et M′

deux automates. On dit que M et M′

sontequivalents s’ils acceptent et refusent exactement les memes mots.

Equivalence : Deterministe ⇒ Non-deterministe

L’automate deterministe M = (Q,Σ,T , q0,A) est equivalent al’automate non-deterministe M = (Q,Σ,T

′, {q0},A) avec

T′(q, x) = {T (q, x)}.

Page 35: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Equivalence deterministe / non-deterministe

Definition equivalence

Soient M et M′

deux automates. On dit que M et M′

sontequivalents s’ils acceptent et refusent exactement les memes mots.

Equivalence : Deterministe ⇒ Non-deterministe

L’automate deterministe M = (Q,Σ,T , q0,A) est equivalent al’automate non-deterministe M = (Q,Σ,T

′, {q0},A) avec

T′(q, x) = {T (q, x)}.

Page 36: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Equivalence deterministe / non-deterministe

Equivalence : Non-deterministe ⇒ Deterministe (admis)

Soient M = (Q,Σ,T , I ,A) un AFN. Alors M est equivalent l’AFDM

′definit par M

′= (P(Q),Σ,T

′, I ,A

′) avec :

T′(X , x) = ∪q∈X{T (q, x)}

A′

= {X ∈ P(Q) | X ∩ A 6= ∅}

Remarques :

Un etat dans l’automate deterministe est un ensemble.

Un etat pour M′

est acceptant lorsqu’il contient un etatacceptant pour M.

Page 37: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Algorithme de determinisation

Les mots se terminant par a :

a b

→ 0 0,1 0

1 - -

a,b

0a

1

AFD equivalent :a b

→ 0 0,1 0

0,1 0,1 0

On part de l’etat initial et pour chaque etat suivant, on reunitl’ensemble des etats atteignables depuis cet etat.

Page 38: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Algorithme de determinisation

Les mots se terminant par a :

a b

→ 0 0,1 0

1 - -

a,b

0a

1

AFD equivalent :a b

→ 0 0,1 0

0,1 0,1 0

On part de l’etat initial et pour chaque etat suivant, on reunitl’ensemble des etats atteignables depuis cet etat.

Page 39: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Algorithme de determinisation

Les mots se terminant par a :

a b

→ 0 0,1 0

1 - -

a,b

0a

1

AFD equivalent :a b

→ 0 0,1 0

0,1 0,1 0

On part de l’etat initial et pour chaque etat suivant, on reunitl’ensemble des etats atteignables depuis cet etat.

Page 40: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Algorithme de determinisation

a b

→ 0 0 2→ 1 2 1

2 - -On regroupe les etats initiaux dans un meme ensemble :

a b

→ 0,1 0,2 1,2

0,2 0 2

1,2 2 1

0 0 2

2 � �1 2 1� � �

� est un etat ”puit”

Page 41: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Algorithme de determinisation

a b

→ 0 0 2→ 1 2 1

2 - -On regroupe les etats initiaux dans un meme ensemble :

a b

→ 0,1 0,2 1,2

0,2 0 2

1,2 2 1

0 0 2

2 � �1 2 1� � �

� est un etat ”puit”

Page 42: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Et les ε-transistions ?

¡1 2

a b

Une ε-transistion est une transition sur un mot vide.

Pendant la lecture d’un mot, il est possible de choisir d’effectuer latransition ε sans lire aucune lettre.

Page 43: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Definition Σ@

Definir les ε-transitions consiste a definir un alphabet Σ@ ou ilexiste une lettre supplementaire correspondant a ε.

Definition de Σ@

Σ@ = Σ ∪ {@}

Notons π@ : Σ∗@ → Σ∗ la fonction (projection) qui remplace :

chaque lettre de Σ par elle-meme

@ par le mot vide.

Exemple

Si Σ = {a, b} alors Σ@ = {a, b,@}et π@(@aa@b@@b) = aabb

Remarque : @ represente le mot vide ε, π@(u) sous-mot de u

Page 44: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Definition AFNε

AFNε

Un Automate Fini Non-deterministe avec ε-transitions est unquintuplet (Q,Σ,T , I ,A) ou :

Σ est l’alphabet de l’automate,

Q un ensemble fini appele ensemble des etats de l’automate,

T est une application de Q× Σ@ dans P(Q), appelee lafonction de transition

I est un sous-ensemble de Q, appele l’ensemble des etatsinitiaux

A est un sous-ensemble de Q, appele l’ensemble des etatsacceptants.

Page 45: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Acceptation

Acceptation

Un mot u sur Σ est accepte par l’AFNε (Q,Σ,T , I ,A) s’il existe aumoins un mot u@ sur Σ@ qui est accepte par l’AFN(Q,Σ@,T , I ,A) et tel que u = π@(u@).

Intuitivement, un mot est accepte s’il existe un parcours del’automate avec ε-transitions ”spontanees”

Page 46: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Equivalence AFNε / AFN

Equivalence (admis)

Soient M = (Q,Σ,T , I ,A) un AFNε. Alors M est equivalent l’AFNM

′definit par M

′= (Q,Σ,T

′, I

′,A

′) avec :

T′(q, x) = ∪q′∈cl(q){T (q

′, x)}

I′

= {cl(q) | q ∈ I}A

′= {q | cl(q) ∩ A 6= ∅}

cl(q) est la cloture (union des iteres) de q par ε-transitions,c’est-a-dire l’ensemble des etats atteignables par ε-transitionsiterees (cf. suite).

Page 47: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Equivalence AFNε / AFNCloture de q

cl(q) est la cloture de q par ε-transitions, c’est-a-dire l’ensembledes etats atteignables par ε-transitions iterees.

Cloture : Definition ascendante

cl(q) = ∪i∈INXi

avec :

X0 = {q}Xi+1 = Xi ∪ {q

′: q

′= T (qi ,@) avec i ∈ Xi}

Cloture : Definition descendante

cl(q) = ∩{X : q ∈ X et X stable par ε-transistion}

On dit que X ⊂ P(Q) est stable par ε-transition si T (X ,@) ⊂ X .

Page 48: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Algorithme de determinisation

a b ε

→ 1 1 - 2

2 - 2 - ¡1 2

a b

AFN equivalent :

cl(1) = {1, 2}

a b

→ 1 1 2

→ 2 - 2

Page 49: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Algorithme de determinisation

a b ε

→ 1 1 - 2

2 - 2 - ¡1 2

a b

AFN equivalent :

cl(1) = {1, 2}

a b

→ 1 1 2

→ 2 - 2

Page 50: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Question

Quel rapport entre les langages reconnus par un Automate Fini etles langages decrits par une expression reguliere (langagerationnel) ?

Page 51: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Theoreme de Kleene

Theoreme de Kleene (admis...)

Un langage sur un alphabet Σ est rationnel si et seulement si il estreconnu par un automate fini.

Idee de la demonstration :On peut construire de maniere inductive l’ensemble des langagesrationnels et les automates reconnaissant ces langages.

Page 52: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Union de langages rationnels

Soient deux automates finis deterministes M1 et M2

reconnaissant respectivement les langages L1 et L2

L1 ∪ L2 est reconnu par :

¡

¡

On ajoute des ε-transitions entre un nouvel etat initial et les etatsinitiaux de M1 et de M2

Page 53: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Produit de concatenation de langages rationnels

Soient deux automates finis deterministes M1 et M2

reconnaissant respectivement les langages L1 et L2

L1.L2 est reconnu par :

¡¡

On ajoute des ε-transitions entre les etats acceptants de M1 etl’etat intial de M2

Page 54: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Etoile (cloture de Kleene) de langages rationnels

Soit un automate fini deterministe M reconnaissant le langage L

L∗ est reconnu par :

¡

¡

¡

On ajoute des ε-transitions entre les etats finaux et le nouvel etatinitial

Page 55: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Conclusion (1)

A chaque langage rationnel est associeun automate fini, et reciproquement.

Les automates sont des machines abstraites capables derealiser des calculs sur des mots :

entree : mot (donnee du probleme)sortie : oui/non (une decision)

Lien tres fort entre langage et machine :

Langage : definit un ensemble de motsMachine : calcul un ensemble de mots

Page 56: Automate Fini Non-d eterministe Th eor eme de Kleeneverel/TEACHING/14-15/SF-M1/... · 2015-02-10 · Introduction Automate Fini Non-d eterministe D eterminisation Th eor eme de Kleene

Introduction Automate Fini Non-deterministe Determinisation Theoreme de Kleene

Conclusion (2)

Il est possible de definir d’autres machines abstraites quipermettent de definir d’autres classes de langages.

L’expressivite du langage et la capacite de calcul de la machinesont alors differentes.

Les questions que l’on se pose sont alors les memes :

mode de lecture,description algebrique langage (souvent a l’aide d’unedefinition inductive),equivalence avec d’autres classes de langages,complexite de calcul d’une machine reconnaissant le langage.

Par exemple, on peut remplacer automate par machine de Turing...