Théorie des langages et des automates

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Théorie des langages et des automates"

Transcription

1 Théorie des lngges et des utomtes Frnçois Lemieux Déprtement d informtique et de mthémtique Université du Quéec à Chicoutimi 1 Le théorème de Myhill-Nerode Soit L Σ, un lngge quelconque. Considérons deux mots u, v Σ. Nous dirons que u et v sont L-équivlents (dénoté u L v ) si pour tout mot z Σ, uz L vz L Cette reltion prtitionne l ensemle Σ en sous-ensemles disjoints que nous ppelerons L-clsses. Plus précisément, deux mots u, v Σ sont dns l même L-clsse si et seulement si u L v. Nous dirons que deux mots sont L-distincts s il ne sont ps L-équivlent. Théorème 1 (Myhill-Nerode) Un lngge L est régulier si et seulement s il existe un nomre fini de L-clsses distinctes. L preuve de ce théorème ser donnée plus loin. Pour l instnt, voyons comment il peut être utilisé pour démontrer que certins lngges ne sont ps réguliers. Exemple 1.1 Soit L = {0 n 1 n n 0}. L ensemle infini {0 n n 0} ne contient que des mots L-distincts puisque si i j lors 0 i 1 i L tndis que 0 j 1 i L. Il y donc une infinité de L-clsses. Pr le théorème de Myhill-Nerode, on conclu que L n est ps régulier. Exemple 1.2 Soit L = {w {0, 1} w est un plindrome}. L ensemle infini {0 n 1 n 0} ne contient que des mots L-distincts puisque si i j lors 0 i 10 i et 0 j 10 i L. On conclu que L n est ps régulier. 1

2 Exemple 1.3 Soit L = {0 2n n 0}. L ensemle L ne contient que des mots L-distincts puique si i j lors 0 2i 0 2i = 0 2i+1 L tndis que 0 2j 0 2i = 0 2i +2 j L puisque 2 i + 2 j n est ps une puisssnce de 2 lorsque i j. Il y donc une infinité de L-clsses et on conclu que L n est ps régulier. 2 Preuve du théorème de Myhill-Nerode Nous commencerons pr démontrer deux petits lemmes. Soit M = (Q, Σ, δ, q 0, F ) un AFD et L = L(M). À chque étt q Q correspond un sous ensemle S q Σ défini pr S q = {w Σ δ (q 0, w) = q} En d utre mots, S q est l ensemle de tous les mots llnt à l étt q à prtir de l étt q 0. Lemme 1 Pour tout q Q, tous les mots de S q sont L-équivlents. Preuve. Si δ (q 0, u) = q = δ (q 0, v) lors δ (q 0, ux) = δ (q, x) = δ (q 0, vx) pour tout x Σ. On donc que ux L si et seulement si vx L. On conclu que u L v. Lemme 2 Si u L v lors ux L vx pour tout mot x Σ. Preuve. Si u L v lors uz L vz L, pour tout z Σ. En prticulier cel est vri si z est de l forme z = xy. On peut donc écrire: uxy L vxy L pour tout y Σ. On conclu que ux L vx. Nous pouvons mintennt commencer l preuve du théorème de Myhill- Nerode. Supposons d ord que L est un lngge régulier reconnu pr un AFD M = (Q, Σ, δ, q 0, F ). Nous devons montrer qu il y un nomre fini de L- clsses. Pr le lemme??, nous svons que pour chque étt q Q, tous les mots de S q pprtiennent à l même L-clsse. Il ne peut donc ps y voir plus de L-clsses qu il y d étts dns Q. Ce qui montre que le nomre de L-clsses est fini. Supposons mintennt que L est un lngge quelconque tel que le nomre de L-clsses est fini. Nous devons démontrer que L est réguliers. Il ser utile de dénoter pr [w] l L-clsse contennt w Σ. Considérons l AFD M = (Q, Σ, δ, q 0, F ) où 2

3 Q est l ensemle des L-clsses, q 0 = [ɛ] est l L-clsse contennt le mot vide, F est l ensemle des L-clsses contennt un mot de L, δ : Q Σ Q est défini pr δ([w], ) = [w] Remrque 1: Pr définition, si u L v lors [u] = [v]. De plus, pr le lemme??, on [u] = [v] pour tout Σ, ce qui nous ssure que l fonction δ est ien définie. En prticulier, pour tout w Σ on δ (q 0, w) = [w]. Remrque 2: Il est fcile de voir que [w] F si et seulement si w L. En effet, pr l définition de F, si w L lors [w] F. De plus, si [w] F lors [w] contient un mot u L. Puisque u et w sont L-équivlents, on donc w L. Les deux remrques précédentes, indiquent que pour tout w Σ on δ (q 0, w) = [w] et que [w] F si et seulement si w L. On donc que L = L(M) est un lngge régulier. Ceci conclu l preuve du théorème de Myhill-Nerode. 3 Le lemme de l étoile Dns cette section nous llons étudier une utre propriété importnte des utomtes finis déterministes. Cette propriété est énoncé dns une proprosition qui porte le nom de lemme de l étoile (Pumping Lemm en nglis). Nous supposerons que M = (Q, A, q 0, F, δ) est un utomte fini déterministe quelconque. Puisqu un AFD peut être vu comme un grphe de trnsition, chque mot dns A peut être interprété comme un chemin dont le premier noeud est l étt initil. Le lngge L(M) est donc l ensemle des mots correspondnt ux chemins prtnt de l étt initil et se terminnt dns un étt finl. Avnt d énoncer le lemme de l étoile nous commençons pr effectuer deux petites oservtions concernnt les grphes. Oservtion 1 : Si un grphe possède n sommets lors tout chemin de longueur supérieure ou égle à n doit nécessirement psser deux fois pr le même sommet. 3

4 Lorsque le grphe est un AFD, cette oservtion se trduit de l fçon suivnte. Soit w un mot dns L tel que w Q. Alors il existe un étt p Q et il existe une décomposition w = xyz tels que : 1. δ (q 0, x) = p 2. δ (p, y) = p 3. δ (p, z) est dns F Exemple. Considérons l AFD de l figure Figure 1: Les mots,, et vont tous de l étt initil 1 à l étt finl 5 et possèdent tous u moins cinq crctères. L figure 2 résume l sitution. w x y z δ (1, x) = p δ (p, y) = p δ (p, z) = 5 ɛ δ (1, ɛ) = 1 δ (1, ) = 1 δ (1, ) = 5 ɛ δ (1, ) = 5 δ (5, ) = 5 δ (5, ɛ) = 5 δ (1, ) = 4 δ (4, ) = 4 δ (4, ) = 5 δ (1, ) = 4 δ (4, ) = 4 δ (4, ) = 5 Figure 2: 4

5 Comme on peut l oserver dns l exemple précédent, on peut toujours trouver un cycle dns les Q premiers crctères de w. De plus y possède toujours u moins un crctère (contrirement à x et z). On peut donc, sns perte de générlité, supposer que: 4. y > 0 5. xy Q Oservtion 2 : S il existe un chemin dns un grphe qui psse deux fois pr le même sommet lors il existe un chemin qui psse utnt de fois que l on veut pr ce sommet. Lorsque le grphe est un AFD, cette oservtion se trduit de l fçon suivnte. Soit y A et soit l étt p Q tel que δ (p, y) = p. Alors, pour tout entier i 0 on δ (p, y i ) = p. Exemple. Poursuivnt vec l exemple précédent, le mot y = correspond à un cycle de l étt 4 vers lui-même puisque δ (4, ) = 4. On peut vérifier que: y 0 = ɛ et δ (4, ɛ) = 4 y 1 = et δ (4, ) = 4 y 2 = et δ (4, ) = 4 y 3 = et δ (4, ) = 4 Et insi de suite. Le lemme de l étoile s otient en réunissnt les deux oservtions précédentes. Lemme de l étoile: Soit w un mot dns L(M) tel que w Q. Alors il existe une décomposition w = xyz telle que: 1. xy i z L(M), pour tout i 0 2. y > 0 3. xy Q 5

6 Exemple. Poursuivnt vec notre exemple, le mot pprtient u lngge L(M). Il peut être décomposé en trois prties en prennt x =, y = et z =. On peut vérifier que {,,,,...} L(M) 4 Utilistion du lemme de l étoile Le lemme de l étoile est utilisé fin de démontrer que certins lngges ne sont ps réguliers. Nous vons vu qu un lngge est régulier si et seulement s il est reconnu pr un AFD. Donc, si un lngge n est ps régulier, il n existe ucun AFD qui le reconnisse. Une des méthodes utilisées pour démontrer qu un lngge L n est ps régulier consiste à effectuer les étpes suivntes: 1. On suppose qu il existe un AFD M = (Q, A, q 0, F, d) tel que L = L(M). 2. On démontre qu il existe un mot w L(M) tel que: () w Q et () quelque soit l décomposition w = xyz, on peut toujours trouver un entier i tel que xy i z L. 3. On conclut qu il y contrdiction, puisque si L étit régulier, l étpe précédente serit impossile pr le lemme de l étoile. Exemple. Montrons que L = {w 0 n2 n 1} n est ps régulier mis commençons d ord pr effectuer deux oservtions. Oservtion 1 : Nous vons L = {0, 0 4, 0 9, 0 16, 0 25, 0 36, 0 49, 0 64, 0 81, 0 100,...}. Dénotons pr w n le n-ième mot de cette suite: c est-à-dire que w n est l unique mot de longueur n 2. Ainsi, l différence du nomre de crctères entre w n et w n+1 est w m w n = (n + 1) 2 n 2 = 2n + 1 On voit donc que l différence du nomre de crctères entre deux mots consécutifs n est ps constnte mis ugmente plutôt de fçon linéire. De fçon générle, si n < m lors 6

7 w m w n 2n + 1 Oservtion 2 : Soit w A et une décomposition w = xyz. Considérons l suite {xz, xyz, xy 2 z, xy 3 z, xy 4 z,...}. On oserve ici que l différence du nomre de crctères entre deux mots consécutifs de cette suite est constnte puisqu elle est toujours égle à y. Supposons mintennt que le lngge L est régulier. Supposons donc qu il existe un AFD M = (Q, A, q 0, F, δ) qui reconnît L. Il est possile de choisir un mot w n stisfisnt les conditions suivntes: 1. w n Q 2. 2n + 1 > Q Considérons n importe quelle décomposition w n = xyz. Pr l oservtion 1 on que si xy 2 z pprtient u lngge L lors xy 2 z xyz 2n + 1 > Q Cependnt, cel ne peut ps être vri puisque, pr l oservtion 2, on xy 2 z xyz = y Q Cel démontre que xy 2 z L contrirement à ce que prévoit le lemme de l étoile. On en déduit que le lngge L n est ps régulier. Exemple. Voici un exemple d une muvise ppliction du lemme de l étoile. Soit L = { n n est pir}. Nous llons essyer de montrer que L n est ps régulier. Supposons le contrire,c est-à-dire que L est reconnu pr un AFD M = (Q, A, q 0, F, δ). Soit w = n L où n est un nomre pir supérieur à Q. Considérons l décomposition w = xyz telle que y =. Alors xy 2 z = n+3 n pprtient ps à L puisque n + 3 est impir. On conclut donc que L n est ps régulier. Mis un instnt! Cette preuve ne peut être correcte puisque L = () est effectivement régulier. Quelle est l erreur? Le prolème est que nous vons montré que xy 2 z L pour une seule décomposition de w = xyz. Pour prouver que L n est ps régulier il urit fllu démontrer que pour toute décomposition w = xyz il existe i 0 tel que xy i z L. Bien sur, cel ne peut ps être démontré pour le lngge L précédent. 7