30
Automates Automates à états fnis Damien Nouvel

Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Embed Size (px)

Citation preview

Page 1: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Automates

Automates à états fnis

Damien Nouvel

Page 2: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates2 / 30

Automates à états fnisPlan

● Représentation des automates (FSA)

● Défnition formelle (DFA)

● Déterminisme du FSA (DFA / NFA / ε-NFA)

● Équivalence DFA / NFA / ε-NFA

Page 3: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates3 / 30

Automates à états fnisPlan

● Représentation des automates (FSA)

● Défnition formelle (DFA)

● Déterminisme du FSA (DFA / NFA / ε-NFA)

● Équivalence DFA / NFA / ε-NFA

Page 4: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates4 / 30

Automates à états fnisReprésentation des automates (FSA)

● Automate à états fnis● Finite State Automaton (FSA)

● Machine abstraite, issue des travaux de A. Turing

● Éléments de l'automate● Une ensemble fni d'états possibles

● Un ensemble fni de symboles en entrées

● Une fonction de transition entre états

● Représentations● Diagrammes de transition

● Tables de transition

● Notations formelles

Page 5: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates5 / 30

Automates à états fnisReprésentation des automates (FSA)

● Diagrammes de transition● Représentation « graphique »

● Graphe orienté étiqueté :

– Nœuds : états de l'automate

● Étiqueté par les noms des états (généralement qx : q

1, q

2, q

3, ...)

● État fnal : double cercle

– Arcs orientés : transitions de l'automate● Étiqueté par les symboles (a, b, c, d, ...)● État initial : marqué par un arc sans nœud d'origine

q1

q2

q3

c

db

aq

4

Page 6: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates6 / 30

Automates à états fnisReprésentation des automates (FSA)

● Diagrammes de transition (suite)● Pour la lisibilité, lorsque deux arcs de même orientation sont

possibles entre deux nœuds, ils sont fusionnés (disjonction) :

● Un arc peut « boucler » un état sur lui-même :

● Des transitions peuvent partir de l'état fnal :

a

a

ba,b

Page 7: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates7 / 30

Automates à états fnisReprésentation des automates (FSA)

● Diagrammes de transition (suite)● Les transitions correspondent à la concaténation

● On « suit » les arcs pour voir quel langage est accepté :

● Le langage n'est pas forcément fni :

q1

q2

q3

c,e

db

a

q4

a

q1

q2

q3

c,e

d

a

q4

L = {ac, ae, bd, aad }

ba

L = {ac, ae, aad, aabac, aabae, aabaad, aabaabac, aabaabae, aabaabaad ... }

Page 8: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates8 / 30

Automates à états fnisReprésentation des automates (FSA)

● Diagrammes de transition (suite)● Peuvent être mis intuitivement (formellement aussi) en

correspondance avec des expressions régulières

b

dc

aR = ab+cd

R = aba b

R = ab*ca c

b

R = a+ba,b

Page 9: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates9 / 30

Automates à états fnisReprésentation des automates (FSA)

● Table de transitions● Équivalente à la représentation par diagramme de transitions

● États en lignes, symboles en colonnes

– Ligne de l'état initial marqué par une fèche →

– Ligne de l'état fnal marqué par une étoile *

● Contenu décrit les transitions depuis un état / symbole

q1

q3

c

d

a

q4

b

a

q2

ba b c d

→ q1

q2

Ø Ø Ø

q2

q3

q2

q4

Ø

q3

Ø q1

Ø q4

* q4

Ø Ø Ø Ø

Page 10: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates10 / 30

Automates à états fnisPlan

● Représentation des automates (FSA)

● Défnition formelle (DFA)

● Déterminisme du FSA (DFA / NFA / ε-NFA)

● Équivalence DFA / NFA / ε-NFA

Page 11: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates11 / 30

Automates à états fnisDéfnition formelle (DFA)

● Notations pour un automate « déterministe » (DFA)● Un ensemble fni d'états

– Notation : Q = {q1, q

2, q

3...}

● Un ensemble fni de symboles (alphabet)

– Notation : Σ = {a, b, c, d...}

● Une fonction de transition qui prend en paramètre un état et un symbole et qui renvoie un état

– Notation : δ(qi, a) = q

j (« signature » δ : Q × Σ → Q)

● Un état initial

– Notation : q0 ∈ Q

● Un ensemble d'états fnaux

– Notation : F ⊆ Q

Page 12: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates12 / 30

Automates à états fnisDéfnition formelle (DFA)

● Automate à états fnis

● Défni comme le quintuplet : A = (Q, Σ, δ, q0, F)

● Défnition équivalente aux diagrammes et tables de transition

● Repose sur la défnition de la fonction de transition δ, souvent défnie par extension (en listant les cas possibles)

– La fonction peut renvoyer Ø (par ex. δ(q1, d) = Ø)

● Défnition de la fonction de transition « étendue »

– Fonction qui prend un mot en entrée et utilise δ de l'automate

– Notation (α ∈ Σ*) : δ(qi, α) = q

j (« signature » δ : Q × Σ* → Q)

– Défnie récursivement par décomposition du mot w :

● Si w = ε alors δ(qi, ε) = { q

i }

● Si w = x.a tels que et x ∈ Σ* et a ∈ Σ alors δ(qi, w) = δ( δ(q

i, x) , a)

Page 13: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates13 / 30

Automates à états fnisDéfnition formelle (DFA)

● Langage reconnu par un automate déterministe● Ensemble des mots tels que la fonction de transition étendue

appliquée à l 'état initial et au mot conduit à un état fnal :

– L(A) = { w ∈ Σ* | δ(q0, w) ∈ F }

● Théorème de Kleene : par défnition, le langage reconnu par un automate à états fnis (NFA) est régulier (ou rationnel)

● Avantages et limites des automates à états fnis (FSA)● Algorithmes rapides pour implémenter les FSA

● Impossible de « compter » dans le cas général

– Pas d'automate qui décrive un mot ayant autant de a que de b

– Pas d'automate pour reconnaître une expression arithmétique bien formée (nécessité de recourir à des grammaires)

Page 14: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates14 / 30

Automates à états fnisPlan

● Représentation des automates (FSA)

● Défnition formelle (DFA)

● Déterminisme du FSA (DFA / NFA / ε-NFA)

● Équivalence DFA / NFA / ε-NFA

Page 15: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates15 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Types d'automates● Automates à états fnis

– FSA : Finite State Automata

● Automates à états fnis déterministes

– DFA : Determinist Finite state Automata

● Automates à états fnis non-déterministes

– NFA : Non-determinist Finite state Automata

● Automates à états fnis non-déterministes avec possiblité de transitions ε (mot vide)

– ε-NFA : Non-determinist Finite state Automata with ε transitions

● Tous peuvent être représentés à l'aide des diagrammes de transition, tables de transition, notations formelles

Page 16: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates16 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Déterminisme : requiert que l'automate soit dans un état unique (« déterminé ») après avoir lu n symboles

● Automates non-déterministes (NFA)● Non-déterminisme : l'automate peut-être dans plusieurs

états, « simultanément » après avoir lu n symboles

– Attention : un automate non-déterministe n'implique pas que l'on ne « sache » pas dans quels états il est (au contraire)

● Particulièrement utile lorsque l'on ne sait pas « à l'avance » quel état fnal l'automate atteindra (hypothèses)

– Facilité de représentation / programmation● GPS : une voiture se dirige vers Paris, mais on ne connaît pas la

destination fnale (Orléans, Strasbourg)● Prédiction SMS : un utilisateur tape le début d'un mot, mais plusieurs

hypothèses sont possibles pour le mot qu'il veut écrire

Page 17: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates17 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Fonction de transition d'un NFA● A partir d'un état et d'un symbole : plusieurs états possibles

– Notation : δ(qi, a) = R ⊆ Q (« signature » δ : Q × Σ → Q*)

● Par ex. δ(qi, a) = { q

j, q

k, q

l }

– Peut aussi être l'ensemble vide : δ(qi, a) = Ø

● Diférence de représentations DFA / NFA

DFA NFA

Diagramme de transitions

Pour chaque paire (état, symbole), au maximum un arc sortant

Possibilité de plusieurs arcs sortant par paire (état, symboles)

Table de transitions

Les cases de la table contiennent un état ou Ø

Les cases de la table contiennent un ensemble d'états

Notation formelle

La fonction de transition renvoie au maximum un état

La fonction de transition peut renvoyer plusieurs états

Page 18: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates18 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Diférence de représentations DFA / NFA (suite)● Soit Σ = { a, b }, comment représenter un automate qui

reconnaît tous les mots se terminant par ab ?

q2

aq0

a,b

q2

a

q0

bb

a

b

b

DFA

NFA

a b

→ q0

q1

q0

q1

q1

q2

* q2

q1

q0

a b

→ q0

{ q0, q

1 } { q

0 }

q1

{ a } { q2 }

* q2

Ø Ø

q1

a

q1

a

Page 19: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates19 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Fonction de transition étendue d'un NFA● A partir d'un état et d'un mot, plusieurs états possibles

– Fonction qui prend un mot en entrée et utilise δ du NFA

– Notation (α ∈ Σ*) : δ(qi, α) = R ⊆ Q (« signature » δ : Q × Σ* → Q*)

– De même, défnition récursive par décomposition du mot w :

● Si w = ε alors δ(qi, ε) = { q

i }

● Si w = x.a tels que x ∈ Σ*, a ∈ Σ et R = δ(qi, x) alors

δ(qi, w) = ∪

r ∈ R δ(r, a)

ou (équivalent) : δ(qi, w) = ∪

qj ∈ δ(qi, x) δ(q

j, a)

● Langage reconnu par un NFA

● Mots w tels que δ(q0, w) contienne au moins un état fnal

● L(A) = { w ∈ Σ* | δ(q0, w) ∩ F ≠ Ø }

Page 20: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates20 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Par ex. soit l'automate ci-dessous et w = baababbbab

δ(q0, b) = {q

0}

δ(q0, ba) = ∪

p ∈ {q0} δ(p, a) = δ(q

0, a) = {q

0, q

1}

δ(q0, baa) = ∪

p ∈ {q0, q1} δ(p, a) = δ(q

0, a) ∪ δ(q

1, a) = {q

0, q

1}

δ(q0, baab) = ∪

p ∈ {q0, q1} δ(p, b) = δ(q

0, b) ∪ δ(q

1, b) = {q

0, q

2}

δ(q0, baaba) = ∪

p ∈ {q0, q2} δ(p, a) = δ(q

0, a) ∪ δ(q

2, a) = {q

0, q

1}

...

δ(q0, baababbbab) = {q

0, q

2}

donc δ(q0, baababbbab) ∩ F = {q

2} ≠ Ø et w ∈ L(A)

q2

aq0

a,b

q1

b

a b

→ q0

{ q0, q

1 } { q

0 }

q1

Ø { q2 }

* q2

Ø Ø

Page 21: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates21 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Automates avec transitions ε (ε-NFA)● Transition ε : transitions sur le mot vide → aucun symbole

– La transition se réalise systématiquement

● Facilité supplémentaire de représentation / programmation

– Lorsque des parties sont « optionnelles »

● Tout automate qui comporte une transition ε est non-déterministe (peut-être dans plusieurs états simultanément)

● Par ex., les mots abc ou c :

q3q

0

a

q1

q2

c

b

εq3q

0

a

q1

q2

c

b

c

NFA ε-NFA

Page 22: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates22 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Fonction de transition d'un ε-NFA● Identique à celle du NFA, mais en tenant compte des

transitions ε comme élément pour réaliser une transition

– Le mot-vide ε n'est pas nécessairement un élément de l'alphabet Σ

– Notation : δ(qi, a) = R ⊆ Q (« signature » δ : Q × Σ ∪ {ε} → Q*)

● Fermeture (transitive) par transition ε● Fermeture transitive (clôture, algèbre) ≃ éléments que l'on

peut atteindre en utilisant un opérateur donné récursivement

● Défnition d'une fonction récursive « epsClos » :

– Pour tout qi ∈ Q, q

i ∈ epsClos(q

i)

– Pour tout qi ∈ Q, si δ(q

i, ε) = R ⊆ Q alors R ⊂ epsClos(q

i)

● On « suit » toutes les transitions ε possibles, récursivement

Page 23: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates23 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Par ex. :

● epsilonClosure(q0) = {q

0}

● epsilonClosure(q1) = {q

1, q

3}

● epsilonClosure(q2) = {q

2, q

1, q

3}

● epsilonClosure(q3) = {q

3}

● epsilonClosure(q4) = {q

4, q

2, q

1, q

3}

● epsilonClosure(q5) = {q

5}

q5q

0

a

q2

q1

εb q3

ε

q4

a

ε

a

b

Page 24: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates24 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Fonction de transition étendue d'un ε-NFA● Même approche que pour un NFA

– Fonction qui prend un mot en entrée et utilise δ du ε-NFA

– Notation (α ∈ Σ*) : δ(qi, α) = R ⊆ Q (« signature » δ : Q × Σ* → Q*)

– Transitions tiennent compte des transitions ε avec epsClos

– De même, défnition récursive par décomposition du mot w :

● Si w = ε alors δ(qi, w) = epsClos(q

i)

● Si w = x.a tels que x ∈ Σ*, a ∈ Σ et R = δ(qi, x) alors

δ(qi, w) = ∪

r ∈ R ∪

s ∈ δ(r, a) epsClos(s)

ou (équivalent) : δ(qi, w) = ∪

qj ∈ δ(qi, x) ∪

qk ∈ δ(qj, a) epsClos(q

k)

● Langage reconnu par un ε-NFA (comme pour NFA)

● L(A) = { w ∈ Σ* | δ(q0, w) ∩ F ≠ Ø }

Page 25: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates25 / 30

Automates à états fnisDéterminisme du FSA (DFA / NFA / ε-NFA)

● Par ex. :

● δ(q0, a) = {q

2, q

1, q

3}

● δ(q0, b) = {q

1, q

3}

● δ(q0, aa) = {q

5, q

4, q

2, q

1, q

3} = δ(q

0, ba) = δ(q

0, aaa)

● δ(q0, bb) = Ø

● δ(q0, bab) = {q

5} = δ(q

0, baab) = δ(q

0, aab) = δ(q

0, aaab)

q5q

0

a

q2

q1

εb q3

ε

q4

a

ε

a

b

Page 26: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates26 / 30

Automates à états fnisPlan

● Représentation des automates (FSA)

● Défnition formelle (DFA)

● Déterminisme du FSA (DFA / NFA / ε-NFA)

● Équivalence DFA / NFA / ε-NFA

Page 27: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates27 / 30

Automates à états fnisÉquivalence DFA / NFA / ε-NFA

● Les automates reconnaissent des langages● Représentation de l'automate plus ou moins « dense »

● Distinction entre DFA, NFA et NFA

– Fonctions de transitions

– Nombre d'états atteints depuis un état en consommant un symbole

● Le langage reconnu par un automate ne dépend pas des états de l'automate

– Plusieurs automates possibles pour un même langage

● Équivalence des automates (langages reconnus)● Automates DFA et NFA

● Automates NFA et ε-NFA

Page 28: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates28 / 30

Automates à états fnisÉquivalence DFA / NFA / ε-NFA

● Équivalence DFA / NFA● Tout DFA peut-être considéré comme un NFA

● Soit un NFA, N = (QN, Σ

N, δ

N , q

N0, F

N)

– Il existe un DFA, D = (QD, Σ

D, δ

D, q

D0 , F

D) tel que L(D) = L(N)

● Même alphabet (ΣD = Σ

N), même état initial (q

D0 = q

N0)

● On construit QD comme l'ensemble des sous-ensemble de Q

N

– Par ex. si QN = {q

0, q

1} alors Q

D = {{q

0}, {q

1}, {q

0q

1} }

● États fnaux FD 

: ceux qui sont construits avec un état fnal de FN

FD

= {qDi

∈ QD | {q

Ni ∈ q

Di } ∩ F

N ≠ Ø}

● Fonction de transition δD de D qui, à partir d'un état de Q

D comme

construction de QN

renvoie vers une autre construction de QN :

δD(q

Di, a) = { ∪qNj ∈ qDi δN

(qNj

, a) }

Page 29: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates29 / 30

Automates à états fnisÉquivalence DFA / NFA / ε-NFA

● Équivalence DFA / NFA (suite)● Preuve sur la longueur du mot w = x.a

– Supposons que : δD(q

D0, x) = δ

N(q

N0, x) = Q

– Par défnition du NFA :

● δN(q

N0, x.a) = ∪

qNj ∈ δ(qN0, x) δ(q

Nj, a) = ∪qNj ∈ Q δ

N(q

Nj, a)

– Et par construction du DFA :

● δD(q

Di, a) = { ∪qNj ∈ qDi δN

(qNj

, a) }

● δD(q

D0, x.a) = δ

D(δ

D(q

D0, x), a) = δ

D(Q, a) = { ∪qNj ∈ Q δ

N(q

Nj, a) }

– Alors δN(q

N0, x.a) = ∪qNj ∈ Q δ

N(q

Nj, a) = δ

D(q

D0, x.a)

● Récursivité : le DFA et le NFA aboutissent aux mêmes états, mais dans le cas du DFA c'est « par construction »

● Pour tout NFA, il est possible de construire un DFA qui reconnaîtra le même langage.

Page 30: Automates - damien.nouvels.netdamien.nouvels.net/cours/automates/3_AutomatesAEtatsFinis.pdf · Licence Informatique –L1 Damien Nouvel Automates 3 / 30 Automates à états fnis Plan

Licence Informatique –L1Damien Nouvel

Automates30 / 30

Automates à états fnisÉquivalence DFA / NFA / ε-NFA

● Équivalence NFA / ε-NFA● Tout NFA peut-être considéré comme un ε-NFA

● Soit un ε-NFA, E = (QE, Σ

E, δ

E , q

E0, F

E)

– Il existe un NFA, N = (QN, Σ

N, δ

N , q

N0, F

N) tel que L(N) = L(E)

● Même alphabet (ΣN = Σ

E)

● On construit QN comme l'ensemble des sous-ensemble de Q

E

● État initial construit qN0

= {epsClos(qE0

)}

● États fnaux FN 

: construits avec un état fnal de FE

FN

= {qNi

∈ QN | {q

Ei ∈ q

Ni } ∩ F

E ≠ Ø}

● Fonction de transition δN de N qui, à partir d'un état de Q

N comme

construction de QE renvoie vers une autre construction de Q

E :

δN(q

Ni, a) = { ∪qEj ∈ qNi ∪qNk ∈ δE(qNi, a) epsClos(q

Nk) }