automates_finis.pdf

87
 Th´ eorie des langa ges Automates nis Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ [email protected] 1 / 51 Th´ eorie des langage s

Upload: sahbi-sk

Post on 02-Nov-2015

2 views

Category:

Documents


0 download

DESCRIPTION

'y-

TRANSCRIPT

  • Theorie des langages

    Automates finis

    Elise Bonzonhttp://web.mi.parisdescartes.fr/vbonzon/

    [email protected]

    1 / 51Theorie des langages

    N

  • Automates finis

    Automates finis

    IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages

    2 / 51Theorie des langages

    N

  • Automates finis

    Automates finis

    IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages

    3 / 51Theorie des langages

    N

  • Automates finis

    Introduction

    Automate fini : machine abstraite qui effectue des calculs en utilisant unememoire de taille bornee.

    Il nest pas possible daugmenter la taille de la memoire au dela` de cetteborne

    Les tailles des donnees et des resultats peuvent etre superieurs a` cetteborne puisque les donnees sont lues et les resultats produitsprogressivement au cours du calcul

    La longueur dun calcul peut aussi etre superieure a` la taille de la memoirede lautomate

    Celui-ci passe alors necessairement plusieurs fois par un meme etat de samemoire

    4 / 51Theorie des langages

    N

  • Automates finis

    Introduction

    Les automates finis ont des applications importantes :

    Definition de certains aspects des langages naturels ou artificielsDescription de machines physiques (circuits electroniques, machines a`calculer, distributeur dobjets, etc.)Definition de protocoles de communication dans des reseauxDescription de syste`mes de commandes (comme le syste`me de commandesdun ascenseur), etc.

    Les automates finis peuvent etre utilises pour calculer des fonctions, oupour reconnatre des langages.

    5 / 51Theorie des langages

    N

  • Automates finis

    Automates finis

    IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages

    6 / 51Theorie des langages

    N

  • Automates finis

    Automate fini deterministe

    Automate fini deterministe

    Un automate fini deterministe est un quintuplet M = Q,, , q0,F ou`

    Q est un ensemble fini detats

    est un ensemble fini de symboles (un alphabet)

    : Q Q est une fonction de transitionsq0 Q est letat initialF Q est lensemble (fini) des etats finaux

    Une paire (q,w), ou` q Q est un etat, et w est un alphabet estappele une configuration.

    7 / 51Theorie des langages

    N

  • Automates finis

    Automate fini deterministe

    Automate fini deterministe

    Un automate fini deterministe est un quintuplet M = Q,, , q0,F ou`

    Q est un ensemble fini detats

    est un ensemble fini de symboles (un alphabet)

    : Q Q est une fonction de transitionsq0 Q est letat initialF Q est lensemble (fini) des etats finaux

    Une paire (q,w), ou` q Q est un etat, et w est un alphabet estappele une configuration.

    7 / 51Theorie des langages

    N

  • Automates finis

    Derivation

    Configuration derivable en une etape

    Soit M un automate, q, q Q deux etats, w ,w deux mots et(q,w), (q,w ) les deux configurations correspondantes.On dit que la configuration (q,w ) est derivable en une etape de laconfiguration (q,w) par M, note (q,w) 7 (q,w ), si

    w = xw , avec x M est dans letat q

    q = (q, x)

    On dit alors quon lit la lettre x .

    8 / 51Theorie des langages

    N

  • Automates finis

    Derivation

    Configuration derivable

    Soit M un automate, q, q Q deux etats, w ,w deux mots et(q,w), (q,w ) les deux configurations correspondantes.On dit que la configuration (q,w ) est derivable de la configuration(q,w) par M, note (q,w)

    7 (q,w ), si k 0 et k configurations(qi ,wi ), 1 i k telles que

    (q,w) = (q1,w1)

    (q,w ) = (qk ,wk)

    i , 1 i k, (qi ,wi ) 7 (qi+1,wi+1)

    9 / 51Theorie des langages

    N

  • Automates finis

    Reconnaissance dun mot

    Reconnaissance dun mot par un automate

    La reconnaissance dun mot w par un automate M (appelee aussiexecution dun automate M sur un mot w) est la suite des configura-tions :

    (q0,w) 7 (q1,w1) 7 (q2,w2) 7 . . . 7 (qn, )

    10 / 51Theorie des langages

    N

  • Automates finis

    Langage reconnu par un automate

    Mot accepte par un automate

    Un mot w est accepte par un automate si et seulement si

    (q0,w)7 (q, ) avec q F

    Langage accepte par un automate

    Le langage accepte par un automate M, note L(M), est defini par

    L(M) = {w |(q0,w) 7 (q, ) avec q F}

    11 / 51Theorie des langages

    N

  • Automates finis

    Langage reconnu par un automate

    Mot accepte par un automate

    Un mot w est accepte par un automate si et seulement si

    (q0,w)7 (q, ) avec q F

    Langage accepte par un automate

    Le langage accepte par un automate M, note L(M), est defini par

    L(M) = {w |(q0,w) 7 (q, ) avec q F}

    11 / 51Theorie des langages

    N

  • Automates finis

    Langage reconnu par un automate

    ATTENTION

    Plutot que langage accepte par un automate M, on parle souventde langage reconnu par lautomate M. Il sagit pourtant toujours delensemble des mots acceptes par lautomate, et non pas les mots re-connus par lautomate.

    12 / 51Theorie des langages

    N

  • Automates finis

    Automates finis

    IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages

    13 / 51Theorie des langages

    N

  • Automates finis

    Notations

    Etat initial

    q0

    Etat final (2 notations possible)

    q q

    Transition entre letat p et q : (p, a) = q

    p qa

    14 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M1

    q0 q1

    ba

    a

    15 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M1

    q0 q1

    ba

    a

    Est-ce que M1 reconnait aaba ? accepte aaba ?

    15 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M1

    q0 q1

    ba

    a

    Est-ce que M1 reconnait aaba ? accepte aaba ?

    Est-ce que M1 reconnait abba ? accepte abba ?

    15 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M1

    q0 q1

    ba

    a

    Est-ce que M1 reconnait aaba ? accepte aaba ?

    Est-ce que M1 reconnait abba ? accepte abba ?

    Est-ce que M1 reconnait baab ? accepte baab ?

    15 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M1

    q0 q1

    ba

    a

    Est-ce que M1 reconnait aaba ? accepte aaba ?

    Est-ce que M1 reconnait abba ? accepte abba ?

    Est-ce que M1 reconnait baab ? accepte baab ?

    L(M1) = {w {a, b}|w ne contient pas deux b consecutifs}

    15 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M2

    q0 q1 q2

    ba

    a

    b

    a,b

    16 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M2

    q0 q1 q2

    ba

    a

    b

    a,b

    Est-ce que M2 reconnait abba ? accepte abba ?

    16 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M2

    q0 q1 q2

    ba

    a

    b

    a,b

    Est-ce que M2 reconnait abba ? accepte abba ?

    Est-ce que M2 reconnait aaba ? accepte aaba ?

    16 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M2

    q0 q1 q2

    ba

    a

    b

    a,b

    Est-ce que M2 reconnait abba ? accepte abba ?

    Est-ce que M2 reconnait aaba ? accepte aaba ?

    L(M2) = {w {a, b}|w contient deux b consecutifs}

    16 / 51Theorie des langages

    N

  • Automates finis

    Automates finis

    IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages

    17 / 51Theorie des langages

    N

  • Automates finis

    Automate complet

    Automate complet

    Un automate est complet si pour tout etat q Q il existe unetransition pour chaque lettre de lalphabet .

    q Q, x , (q, x) est defini

    18 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    = {a, b}Lautomate M1 est-il complet?

    q0 q1

    ba

    a

    Lautomate M2 est-il complet?

    q0 q1 q2

    ba

    a

    b

    a,b

    19 / 51Theorie des langages

    N

  • Automates finis

    Etats puits et poubelles

    Etat puit

    Un etat puits est un etat q Q pour lequel toutes les transitions sontde la forme (q, x) = q.

    Etat puits de M2?

    Etat poubelle

    Un etat poubelle est un etat puits non final.

    Pour = {a, b}

    q0

    a,b

    20 / 51Theorie des langages

    N

  • Automates finis

    Etats puits et poubelles

    Etat puit

    Un etat puits est un etat q Q pour lequel toutes les transitions sontde la forme (q, x) = q.

    Etat puits de M2?

    Etat poubelle

    Un etat poubelle est un etat puits non final.

    Pour = {a, b}

    q0

    a,b

    20 / 51Theorie des langages

    N

  • Automates finis

    Etats puits et poubelles

    Etat puit

    Un etat puits est un etat q Q pour lequel toutes les transitions sontde la forme (q, x) = q.

    Etat puits de M2?

    Etat poubelle

    Un etat poubelle est un etat puits non final.

    Pour = {a, b}

    q0

    a,b

    20 / 51Theorie des langages

    N

  • Automates finis

    Etats puits et poubelles

    Etat puit

    Un etat puits est un etat q Q pour lequel toutes les transitions sontde la forme (q, x) = q.

    Etat puits de M2?

    Etat poubelle

    Un etat poubelle est un etat puits non final.

    Pour = {a, b}

    q0

    a,b

    20 / 51Theorie des langages

    N

  • Automates finis

    Automates equivalents

    Automates equivalents

    Deux automates M et M sont equivalents si et seulement si L(M) =L(M ).

    Propriete

    Pour tout automate fini, il existe un automate fini complet equivalent

    Si lautomate nest pas complet, on le comple`te en ajoutant un etatpoubelle

    21 / 51Theorie des langages

    N

  • Automates finis

    Automates equivalents

    Automates equivalents

    Deux automates M et M sont equivalents si et seulement si L(M) =L(M ).

    Propriete

    Pour tout automate fini, il existe un automate fini complet equivalent

    Si lautomate nest pas complet, on le comple`te en ajoutant un etatpoubelle

    21 / 51Theorie des langages

    N

  • Automates finis

    Automates equivalents

    Automates equivalents

    Deux automates M et M sont equivalents si et seulement si L(M) =L(M ).

    Propriete

    Pour tout automate fini, il existe un automate fini complet equivalent

    Si lautomate nest pas complet, on le comple`te en ajoutant un etatpoubelle

    21 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Lautomate M1.

    q0 q1

    ba

    a

    22 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M1.

    q0 q1

    ba

    a

    Automate M1 complete

    q0 q1 q2

    ba

    a

    b

    a,b

    22 / 51Theorie des langages

    N

  • Automates finis

    Automates complets

    Propriete

    Pour un automate complet, la reconnaissance dun mot ne bloquejamais.

    (q0,w) 7 (q1,w1) 7 (q2,w2) 7 . . . 7 (qn, )On a deux possibilites

    Soit qn F , et w est un mot accepteSoit qn 6 F , et w nest pas un mot accepte

    23 / 51Theorie des langages

    N

  • Automates finis

    Automates finis

    IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages

    24 / 51Theorie des langages

    N

  • Automates finis

    Langage genere par un automateUn automate peut etre vu comme un mecanisme decrivant, ougenerant, un langage

    Langage genere a` partir dun etat par un automate

    Le langage genere a` partir dun etat q par un automate M, noteL(q) est lensemble des mots acceptes a` partir de cet etat.

    L(q) = Lq = {w |(q,w) 7 (q, ) et q F}

    Langage genere par un automate

    Le langage genere par un automate M est defini par

    L(M) = L(q0)

    Remarque : Soit q un etat poubelle. L(q) = .

    25 / 51Theorie des langages

    N

  • Automates finis

    Langage genere par un automateUn automate peut etre vu comme un mecanisme decrivant, ougenerant, un langage

    Langage genere a` partir dun etat par un automate

    Le langage genere a` partir dun etat q par un automate M, noteL(q) est lensemble des mots acceptes a` partir de cet etat.

    L(q) = Lq = {w |(q,w) 7 (q, ) et q F}

    Langage genere par un automate

    Le langage genere par un automate M est defini par

    L(M) = L(q0)

    Remarque : Soit q un etat poubelle. L(q) = .

    25 / 51Theorie des langages

    N

  • Automates finis

    Langage genere par un automateUn automate peut etre vu comme un mecanisme decrivant, ougenerant, un langage

    Langage genere a` partir dun etat par un automate

    Le langage genere a` partir dun etat q par un automate M, noteL(q) est lensemble des mots acceptes a` partir de cet etat.

    L(q) = Lq = {w |(q,w) 7 (q, ) et q F}

    Langage genere par un automate

    Le langage genere par un automate M est defini par

    L(M) = L(q0)

    Remarque : Soit q un etat poubelle. L(q) = .

    25 / 51Theorie des langages

    N

  • Automates finis

    Langage genere par un automateUn automate peut etre vu comme un mecanisme decrivant, ougenerant, un langage

    Langage genere a` partir dun etat par un automate

    Le langage genere a` partir dun etat q par un automate M, noteL(q) est lensemble des mots acceptes a` partir de cet etat.

    L(q) = Lq = {w |(q,w) 7 (q, ) et q F}

    Langage genere par un automate

    Le langage genere par un automate M est defini par

    L(M) = L(q0)

    Remarque : Soit q un etat poubelle. L(q) = .25 / 51

    Theorie des langages

    N

  • Automates finis

    Syste`me dequations definissant un lan-gage

    Equation definissant un langage genere a` partir dun etat

    Le langage genere a` partir dun etat q par un automate M est definipar une equation de la forme :

    L(q) = Lq = (x

    x .L((q, x))) + d(L(q))

    ou` d(A) =

    { si 6 A si A

    Exemple : Pour M1 complete L(q0) = aL(q0) + bL(q1) + L(q1) = aL(q0) + bL(q2) + = aL(q0) + car L(q2) = L(q2) = aL(q2) + bL(q2) + = car q2 est un etat poubelle

    26 / 51Theorie des langages

    N

  • Automates finis

    Syste`me dequations definissant un lan-gage

    Equation definissant un langage genere a` partir dun etat

    Le langage genere a` partir dun etat q par un automate M est definipar une equation de la forme :

    L(q) = Lq = (x

    x .L((q, x))) + d(L(q))

    ou` d(A) =

    { si 6 A si A

    Exemple : Pour M1 complete L(q0) = aL(q0) + bL(q1) + L(q1) = aL(q0) + bL(q2) + = aL(q0) + car L(q2) = L(q2) = aL(q2) + bL(q2) + = car q2 est un etat poubelle

    26 / 51Theorie des langages

    N

  • Automates finis

    Automates finis

    IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages

    27 / 51Theorie des langages

    N

  • Automates finis

    Automate fini non deterministe

    Automate fini non deterministe

    Un automate fini non deterministe est un quintuplet M =Q,,,S ,F ou`

    Q est un ensemble fini detats

    est un ensemble fini de symboles (un alphabet)

    (Q Q) est une relation de transitionsS Q est lensemble (fini) des etat initiauxF Q est lensemble (fini) des etats finaux

    Differences avec un automate fini deterministe :

    Plusieurs etats de depart possible

    Ce nest plus une fonction de transition, mais une relation de transition.

    28 / 51Theorie des langages

    N

  • Automates finis

    Automate fini non deterministe

    Automate fini non deterministe

    Un automate fini non deterministe est un quintuplet M =Q,,,S ,F ou`

    Q est un ensemble fini detats

    est un ensemble fini de symboles (un alphabet)

    (Q Q) est une relation de transitionsS Q est lensemble (fini) des etat initiauxF Q est lensemble (fini) des etats finaux

    Differences avec un automate fini deterministe :

    Plusieurs etats de depart possible

    Ce nest plus une fonction de transition, mais une relation de transition.

    28 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M3

    q0

    q1

    q2

    q3

    b

    a

    a,bb

    a

    a,b

    abb L(M3)

    29 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M3

    q0

    q1

    q2

    q3

    b

    a

    a,bb

    a

    a,b

    abb L(M3)

    29 / 51Theorie des langages

    N

  • Automates finis

    Automate fini non deterministe

    Propriete

    Pour tout automate fini non deterministe M, il existe un automate finideterministe M equivalent.

    L(M) = L(M )

    30 / 51Theorie des langages

    N

  • Automates finis

    Exemple : automate M3

    q0

    q1

    q2

    q3

    b

    a

    a,bb

    a

    a,b

    Determinisons M3 L0 = aL0 + bL0 + aL2 + bL1L1 = bL3L2 = aL3L3 = aL3 + bL3 +

    31 / 51Theorie des langages

    N

  • Automates finis

    Exemple : automate M3

    Determinisons M3 L0 = aL0 + bL0 + aL2 + bL1L1 = bL3L2 = aL3L3 = aL3 + bL3 +

    On sait que L(M3) = L0. On a donc

    L0 = a(L0 + L2) + b(L0 + L1)L0 + L2 = a(L0 + L2 + L3) + b(L0 + L1)L0 + L1 = a(L0 + L2) + b(L0 + L1 + L3)L0 + L2 + L3 = a(L0 + L2 + L3) + b(L0 + L1 + L3) + L0 + L1 + L3 = a(L0 + L2 + L3) + b(L0 + L1 + L3) + L0 + L1 + L3 = L0 + L2 + L3

    32 / 51Theorie des langages

    N

  • Automates finis

    Exemple : automate M3L0 = a(L0 + L2) + b(L0 + L1)L0 + L2 = a(L0 + L2 + L3) + b(L0 + L1)L0 + L1 = a(L0 + L2) + b(L0 + L2 + L3)L0 + L2 + L3 = a(L0 + L2 + L3) + b(L0 + L2 + L3) +

    On obtient lautomate suivant :

    0

    01

    02

    023

    b

    a

    b

    a

    a

    b

    a,b

    33 / 51Theorie des langages

    N

  • Automates finis

    Automates finis

    IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages

    34 / 51Theorie des langages

    N

  • Automates finis

    Complementation

    Complementation

    Pour tout automate fini M, il existe un automate fini M tel queL(M ) = L(M)

    Interet : pour tout automate complet et deterministe M, et pour toutmot w X , il existe une derivation (s,w) 7 (q, ) telle que

    soit q F et w L(M)soit q 6 F et w 6 L(M)

    Permet de pouvoir reconnaitre tous les mots de X qui ne sont pasreconnus par M.Methode :

    1. Determiniser et completer lautomate

    2. Transformer tous les etats finaux en etats non finaux, et vice-versa

    35 / 51Theorie des langages

    N

  • Automates finis

    Complementation

    Complementation

    Pour tout automate fini M, il existe un automate fini M tel queL(M ) = L(M)

    Interet : pour tout automate complet et deterministe M, et pour toutmot w X , il existe une derivation (s,w) 7 (q, ) telle que

    soit q F et w L(M)soit q 6 F et w 6 L(M)

    Permet de pouvoir reconnaitre tous les mots de X qui ne sont pasreconnus par M.

    Methode :

    1. Determiniser et completer lautomate

    2. Transformer tous les etats finaux en etats non finaux, et vice-versa

    35 / 51Theorie des langages

    N

  • Automates finis

    Complementation

    Complementation

    Pour tout automate fini M, il existe un automate fini M tel queL(M ) = L(M)

    Interet : pour tout automate complet et deterministe M, et pour toutmot w X , il existe une derivation (s,w) 7 (q, ) telle que

    soit q F et w L(M)soit q 6 F et w 6 L(M)

    Permet de pouvoir reconnaitre tous les mots de X qui ne sont pasreconnus par M.Methode :

    1. Determiniser et completer lautomate

    2. Transformer tous les etats finaux en etats non finaux, et vice-versa

    35 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Complementation

    Automate M1 complete

    q0 q1 q2

    ba

    a

    b

    a,b

    36 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Complementation

    Automate M1 complete

    q0 q1 q2

    ba

    a

    b

    a,b

    Automate complementaire a` M1 complete

    q0 q1 q2

    ba

    a

    b

    a,b

    36 / 51Theorie des langages

    N

  • Automates finis

    Automate avec transition instantanee

    Automate avec transition instantanee

    Une transition instantanee ou -transition permet de passer dunetat a` un autre sans lire de symbole sur le ruban dentree.

    Une -transition permet dajouter a` un etat les comportements de letatcible (transition et eventuellement etat final).

    37 / 51Theorie des langages

    N

  • Automates finis

    Automate avec transition instantanee

    Automate avec transition instantanee

    Une transition instantanee ou -transition permet de passer dunetat a` un autre sans lire de symbole sur le ruban dentree.

    Une -transition permet dajouter a` un etat les comportements de letatcible (transition et eventuellement etat final).

    37 / 51Theorie des langages

    N

  • Automates finis

    Exemple : transition instantanee

    q0 q2

    q1

    q3

    q4

    q5

    a

    a

    a

    b

    38 / 51Theorie des langages

    N

  • Automates finis

    Union de deux automates

    Union

    Soit deux automates finis A1 et A2. Il existe un automate fini quireconnait L(A1) L(A2).

    Pour calculer lunion de deux automates, il faut calculer lequation quicorrespond a` chacun des langages.

    39 / 51Theorie des langages

    N

  • Automates finis

    Union de deux automates

    Union

    Soit deux automates finis A1 et A2. Il existe un automate fini quireconnait L(A1) L(A2).

    Pour calculer lunion de deux automates, il faut calculer lequation quicorrespond a` chacun des langages.

    39 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Union

    M4 M5

    0 1a

    a,b

    2 3

    ba

    a

    b

    40 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Union

    M4 M5

    0 1a

    a,b

    2 3

    ba

    a

    b

    L(M4){

    L0 = aL1L1 = aL1 + bL1 +

    L(M5){

    L2 = aL2 + bL3L3 = aL2 + bL3 +

    40 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Union

    0 1a

    a,b

    2 3

    ba

    a

    b

    L(M4){

    L0 = aL1L1 = aL1 + bL1 +

    L(M5){

    L2 = aL2 + bL3L3 = aL2 + bL3 +

    L(M4)L(M5) = L0 + L2

    L0 + L2 = a(L1 + L2) + bL3L1 + L2 = a(L1 + L2) + b(L1 + L3) + L1 + L3 = a(L1 + L2) + b(L1 + L3) +

    = L1 + L2L3 = aL2 + bL3 + L2 = aL2 + bL3

    40 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Union

    L(M4) L(M5)

    L0 + L2 = a(L1 + L2) + bL3L1 + L2 = a(L1 + L2) + b(L1 + L3) + L3 = aL2 + bL3 + L2 = aL2 + bL3

    41 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Union

    L(M4) L(M5)

    L0 + L2 = a(L1 + L2) + bL3L1 + L2 = a(L1 + L2) + b(L1 + L3) + L3 = aL2 + bL3 + L2 = aL2 + bL3

    0+2

    3 2

    1+2

    b

    a

    b

    a

    a

    b

    a,b

    41 / 51Theorie des langages

    N

  • Automates finis

    Intersection de deux automates

    Intersection

    Soit deux automates finis A1 et A2 qui reconnaissent L(A1) et L(A2).Alors, il existe un automate fini qui reconnait L(A1) L(A2).

    L(A1) L(A2) = L(A1) L(A2)

    42 / 51Theorie des langages

    N

  • Automates finis

    Intersection de deux automates

    Intersection

    Soit deux automates finis A1 et A2 qui reconnaissent L(A1) et L(A2).Alors, il existe un automate fini qui reconnait L(A1) L(A2).

    L(A1) L(A2) = L(A1) L(A2)

    42 / 51Theorie des langages

    N

  • Automates finis

    Produit de deux automates

    Produit

    Soit deux automates finis A1 et A2 qui reconnaissent L(A1) et L(A2).Alors, il existe un automate fini qui reconnait L(A1).L(A2).

    43 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Produit

    0 1a

    a,b

    2 3

    ba

    a

    b

    L(M4){

    L0 = aL1L1 = aL1 + bL1 +

    L(M5){

    L2 = aL2 + bL3L3 = aL2 + bL3 +

    44 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Produit

    0 1a

    a,b

    2 3

    ba

    a

    b

    L(M4){

    L0 = aL1L1 = aL1 + bL1 +

    L(M5){

    L2 = aL2 + bL3L3 = aL2 + bL3 +

    L(M4).L(M5) = L0L2

    L0L2 = aL1L2L1L2 = aL1L2 + bL1L2 + L2

    = aL1L2 + bL1L2 + aL2 + bL3= a(L1L2 + L2) + b(L1.L2 + L3)

    L1L2 + L2 = a(L1L2 + L2 + L2) + b(L1L2 + L3 + L3)L1L2 + L3 = a(L1L2 + L2) + b(L1L2 + L3) +

    44 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Produit

    L(M4).L(M5) L0.L2 = aL1.L2L1.L2 = a(L1.L2) + b(L1.L2 + L3)

    L1L2 + L3 = a(L1.L2) + b(L1.L2 + L3) +

    45 / 51Theorie des langages

    N

  • Automates finis

    Exemple : Produit

    L(M4).L(M5) L0.L2 = aL1.L2L1.L2 = a(L1.L2) + b(L1.L2 + L3)

    L1L2 + L3 = a(L1.L2) + b(L1.L2 + L3) +

    0.2 1.2

    1.2+3

    aa

    b

    b

    a

    45 / 51Theorie des langages

    N

  • Automates finis

    Automates finis

    IntroductionFormalisationRepresentation et exemplesAutomates completsLangage genere par un automateAutomate fini non deterministeOperations sur les automatesAutomates finis et langages

    46 / 51Theorie des langages

    N

  • Automates finis

    Transformation dun automate fini engrammaire

    Grammaire associee a` un automate fini

    Pour tout automate M = Q,,, q0,F , il existe une grammairelineaire a` droite qui gene`re L(M).G = VG ,G ,PG ,SG , avec

    G = lensemble des symboles terminaux

    VG = Q lalphabet. Il y a donc un symbole non terminal pourchaque etat de lautomate

    SG = S , ou` S est le symbole non terminal associe a` q0

    PG = {A wB|(A,w ,B) } {A |A F}

    47 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M1.

    q0 q1

    ba

    a

    L(M1) : L0 = aL0 + bL1 + ; L1 = aL0 +

    48 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    Automate M1.

    q0 q1

    ba

    a

    L(M1) : L0 = aL0 + bL1 + ; L1 = aL0 + GM1 = VG ,G ,PG , SG , avec VG = {a, b,S ,U}; G = {a, b}; SG = S ;

    PG =

    S aSS bUS U aSU

    48 / 51Theorie des langages

    N

  • Automates finis

    Transformation dune grammairelineaire a` droite en automate

    Automate associe a` une grammaire lineaire a` droite

    Pour toute grammaire lineaire a` droite G = VG ,G ,PG ,SG , il existeun automate M = Q,,,S ,F qui reconnat L(G ).

    Q : Un etat pour chaque symbole non terminal. Letat initial estletat correspondant a` laxiome SG

    F : Les etats finaux sont les etats dont les non terminaux associes ontune re`gle du type A Il est ensuite possible de construire le syste`me dequationcorrespondant a` lautomate

    49 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    G = VG ,G ,PG , SG , avec VG = {a, b, S ,U}; G = {a, b}; SG = S ;

    PG =

    S bSS aUS bU aSU bU

    50 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    G = VG ,G ,PG , SG , avec VG = {a, b, S ,U}; G = {a, b}; SG = S ;

    PG =

    S bSS aUS bU aSU bU

    50 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    G = VG ,G ,PG , SG , avec VG = {a, b, S ,U}; G = {a, b}; SG = S ;

    PG =

    S bSS aUS bU aSU bU

    G = V G ,G ,P G , S G , avec V G = {a, b, S ,U,V }; G = {a, b}; S G = S ;

    PG =

    S bSS aUS bVV U aSU bU

    50 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    G = V G ,G ,P G , S G , avec V G = {a, b, S ,U,V }; G = {a, b}; S G = S ;

    PG =

    S bSS aUS bVV U aSU bU

    51 / 51Theorie des langages

    N

  • Automates finis

    Exemple

    G = V G ,G ,P G , S G , avec V G = {a, b, S ,U,V }; G = {a, b}; S G = S ;

    PG =

    S bSS aUS bVV U aSU bU

    Automate M.

    S UV

    a

    b

    b

    a

    b

    51 / 51Theorie des langages

    N

    Automates finisIntroductionFormalisationReprsentation et exemplesAutomates completsLangage gnr par un automateAutomate fini non dterministeOprations sur les automatesAutomates finis et langages