Chpitre 2 Les utomtes finis 28
2.1 Introduction Automtes finis : première modélistion de l notion de procédure effective.(ont ussi d utres pplictions). Dérivtion de l notion d utomte fini de celle de progrmme exécuté sur un ordinteur : étt, étt initil, fonction de trnsition. Hypothèse du nomre d étts fini. Conséquence : séquences d étts finies ou cycliques. Prolème de l représenttion des données : nomre de données différentes limitées cr nomre d étts initiux possiles fini. 29
Représenttion des données. Prolème : reconnître un lngge. Données : mot. On supposer le mot fourni crctère pr crctère, l mchine tritnt un crctère à chque cycle et s rrêtnt à l fin du mot. 30
2.2 Description Run d entrée. Ensemle d étts : étt initil, étts ccepteurs. Mécnisme d exécution. run : tête : 31
2.3 Formlistion Un utomte fini déterministe est défini pr un quintuplet M = (Q, Σ, δ, s, F ), où Q est un ensemle fini d étts, Σ est un lphet, δ : Q Σ Q est l fonction de trnsition, s Q est l étt initil, F Q est l ensemle des étts ccepteurs. 32
Définition du lngge ccepté Configurtion : (q, w) Q Σ. Configurtion dérivle en une étpe : (q, w) M (q, w ). Configurtion dérivle (en plusieurs étpes) : (q, w) M (q, w ). Exécution d un utomte : (s, w) (q 1, w 1 ) (q 2, w 2 ) (q n, ε) Mot ccepté : (s, w) M (q, ε) et q F. Lngge ccepté L(M) : {w Σ (s, w) M (q, ε) vec q F }. 33
2.4 Exemples Mots se terminnt pr : δ : q σ δ(q, σ) Q = {q 0, q 1 } q 0 q 0 Σ = {, } q 0 q 1 s = q 0 q 1 q 0 F = {q 1 } q 1 q 1 > q 0 q 1 34
> q 0 q 1 q 2 {w w ne contient ps 2 consécutifs}. 35
2.5 Les utomtes finis non déterministes Automtes qui peuvent choisir prmi plusieurs trnsitions. Motivtion : Voir les conséquences de l extension d une définition donnée. Fciliter l description de lngges pr les utomtes finis. Le concept de non-déterminisme est générlement utile. 36
Description Les utomtes finis non déterministes sont des utomtes finis où l on permet : plusieurs trnsitions correspondnt à l même lettre dns chque étt, des trnsitions sur le mot vide (c est-à-dire sns vncer dns le mot d entrée), des trnsitions sur des mots de longueur supérieure à 1 (regroupement de trnsitions). Acceptent si u moins une exécution ccepte. 37
Formlistion Un utomte fini non déterministe est défini pr un quintuplet M = (Q, Σ,, s, F ), où Q est un ensemle d étts, Σ est un lphet, (Q Σ Q) est l reltion de trnsition, s Q est l étt initil, F Q est l ensemle des étts ccepteurs. 38
Définition du lngge ccepté L configurtion (q, w ) est dérivle en une étpe de l configurtion (q, w) pr l mchine M ((q, w) M (q, w )) si w = uw (le mot w commence pr un préfixe u Σ ), (q, u, q ) (le triplet (q, u, q ) est dns l reltion de trnsition ). Un mot est ccepté s il existe une exécution pour ce mot mennt à un étt ccepteur. 39
Exemples ε > q 0 q 1 q 2 q 3 q 4 L(M) = (( ) Σ ) (( ) () Σ ) 40
q 0 > q 1 q 2 L(M) = Σ () Mots se terminnt pr u moins une répétition de. 41
2.6 Elimintion du non-déterminisme Définition Deux utomtes M 1 et M 2 sont équivlents s ils cceptent le même lngge, c est-à-dire si L(M 1 ) = L(M 2 ). Théorème Pour tout utomte non déterministe, il est possile de construire un utomte déterministe équivlent. 42
2.6 Principe de l construction 1. Eliminer les trnsitions de longueur supérieure à 1. 2. Eliminer les trnsitions comptiles. Trnsitions de longueur supérieure à 1. 43
Trnsitions comptiles. > q 0 q 1 q 2 > {q 0 } {q 0, q 1 } {q 2 } 44
Formlistion Automte non déterministe M = (Q, Σ,, s, F ). Construire un utomte non déterministe équivlent M = (Q, Σ,, s, F ) tel que (q, u, q ), u 1. Initilement Q = Q et =. Pour chque trnsition (q, u, q ) vec u = σ 1 σ 2... σ k, (k > 1) : on enlève cette trnsition de, on joute de nouveux étts p 1,..., p k 1 à Q, on joute les nouvelles trnsitions (q, σ 1, p 1 ), (p 1, σ 2, p 2 ),..., (p k 1, σ k, q ) à 45
Formlistion Automte non déterministe M = (Q, Σ,, s, F ) tel que (q, u, q ), u 1. Construire un utomte déterministe équivlent M = (Q, Σ, δ, s, F ). E(q) = {p Q (q, w) M (p, w)}. Q = 2 Q. s = E(s). δ (q, ) = {E(p) q q : (q,, p) }. F = {q Q q F }. 46
Exemple ε > q 0 ε q 1 q 3 ε q 2 q 4 47
> {q 0, q 1, q 3 } {q 1, q 2, q 3 } {q 3, q 4 } {q 1, q 3, q 4 } 48
Autre construction : Uniquement étts ccessiles 1. Au déprt Q contient l étt initil s. 2. Les opértions suivntes sont lors répétées jusqu à ce qu elles ne modifient plus l ensemle Q. () On choisit un étt q Q uquel l opértion () n ps encore été ppliquée. () Pour chque lettre Σ on clcule l étt p tel que p = δ (q, ). L étt p est jouté à Q. 49
2.7 Automtes finis et expressions régulières Théorème Un lngge est régulier si et seulement si il est ccepté pr un utomte fini. Nous démontrons : 1. Si un lngge est dénoté pr une expression régulière, il est ccepté pr un utomte fini non déterministe. 2. Si un lngge est ccepté pr un utomte fini non déterministe, il est régulier. 50
Des expressions ux utomtes > ε > σ Σ σ > 51
α 1 : A 1 = (Q 1, Σ, 1, s 1, F 1 ) α 2 : A 2 = (Q 2, Σ, 2, s 2, F 2 ) A 1 > A 2 > 52
α 1 α 2 A 1 > ε A 2 ε ε Formellement, A = (Q, Σ,, s, F ) où Q = Q 1 Q 2, = 1 2 {(q, ε, s 2 ) q F 1 }, s = s 1, F = F 2. 53
α = α 1 A 1 > ε ε 6 ε ε 54
α = α 1 α 2 ε > ε A 1 A 2 55
Des utomtes ux lngges réguliers Idée intuitive : Construire l expression régulière correspondnt à chque chemin entre l étt initil et un étt ccepteur. Triter les oucles à l ide de l opérteur. Définition Soit un utomte M et Q = {q 1, q 2,..., q n } l ensemle de ses étts. Nous désignons pr R(i, j, k) l ensemle des mots permettnt de psser de l étt q i à q j en pssnt uniquement pr des étts {q 1,..., q k 1 }. 56
{ {w (qi, w, q R(i, j, 1) = j ) } si i j {ε} {w (q i, w, q j ) } si i = j R(i, j, k + 1) = R(i, j, k) R(i, k, k)r(k, k, k) R(k, j, k) q i q k 7 q j L(M) = q j F R(1, j, n + 1). 57
Exemple > q 1 q 2 k = 1 k = 2 R(1, 1, k) ε (ε ) (ε )(ε ) (ε ) R(1, 2, k) (ε )(ε ) R(2, 1, k) (ε ) (ε ) R(2, 2, k) ε (ε ) (ε ) Le lngge ccepté pr l utomte est lors R(1, 2, 3), soit [ (ε )(ε ) ] [ (ε )(ε ) ] [(ε ) (ε ) ] [(ε ) (ε ) ] 58