TD 1 Lngges rtionnels Timothée Bernrd (timothee.ernrd@ens-lyon.org) 21 septemre 2016 1. Soit A = {,, }. Pour hun des lngges suivnts, donner un utomte fini déterministe (AFD) le reonnissnt : () l ensemle des mots dont l longueur est un multiple de 3 ;,,,, strt 0 1 2,, () l ensemle des mots dns lesquels hque ourrene du motif (s il y en ), est suivie de ; () l ensemle des mots se terminnt pr ; strt, X, V (d) l ensemle des mots ne se terminnt ps pr ; strt, V, X (e) l ensemle des mots ontennt extement un ;,, strt 0 1 (f) l ensemle des mots ne ontennt uun ; 1
, strt 0 (g) l ensemle des mots ontennt u moins un ; (h) l ensemle des mots omportnt u moins 3 lettres et dont l troisième lettre à prtir de l fin est un ou un ; Soit déterminiser l utomte suivnt :,, strt 1,,,, 2 3 Soit diretement onstruire un utomte dont les 8 étts orrespondent à toutes les possiilités de distriution des dns les 3 dernières lettres lues ; les trnsitions sont évidentes (si 0 représente un et 1 un ou un, de l étt 010 on psse à 100 en lisnt un ou à 101 sinon) et les étts initiux (000) et finux ussi (tous les 1xx). (i) l ensemle des mots de longueur pire ; (j) l ensemle des mots se terminnt pr. Pour ller plus loin : prouver (pr doule inlusion) que votre utomte pour l question () est ien orret ; prouver (en utilisnt une indution sur l longueur des mots onsidérés) que votre utomte pour l question () est ien orret. 2. Proposer un utomte et une expression rtionnelle pour le lngge de tous les mots de {,, } dont est un sous-mot 1.,,,,,,,, strt 1 2 3 Expression rtionnelle : ( )*( )*( )*( )* 3. Déterminiser l utomte suivnt en ppliqunt l lgorithme vu en ours 2 : 1. Un sous-mot de u est une sous-suite de lettres non néessirement ontiguës de u. À distinguer d un fteur. Exemple : pis est un sous-mot de produits. 2. poly p.9 2
strt 1 2 5 3 «Se onvinre» que l utomte déterminisé reonnît le même lngge en testnt l pprtenne u lngge d un petit nomre de mots. strt 1 2, 3 2, 3 2, 5 2, 3, 5 5. Soit l expression rtionnelle ( ). () Utiliser l méthode vue en ours pour onstruire un utomte reonnissnt le même lngge 3. strt 1 2 3 5 6 7 8 9 10 () À prtir de l utomte, proposer une grmmire régulière engendrnt le même lngge. S 1 -> S 3 S 7 S 3 -> S 5 3. poly p.18 3
S 5 -> S 10 S 7 -> S 10 S 10 -> (N ouliez ps que les règles singulières sont interdites dns une grmmire régulière.) () Donner un rre syntxique ve l grmmire préédente pour le mot. 5. Soit A = {,, }, onsidérons l expression rtionnelle ( ). () Utiliser l méthode vue en ours pour onstruire un AF reonnissnt le même lngge. strt 1 2 3 5 6 7 8 9 () Éliminer les -trnsitions 5. On donne + : 1 -> 2, 3, 6 2 -> 3,6 -> 5, 1, 2, 3, 6 5 -> 1, 2, 3, 6 7 -> 8 9 -> 5, 1, 2, 3, 6 δ 1 (i/f) 7 2 7 3 (f) 7 5 (f) 7 6 7 7 9 8 9 9 (f) 7 (i) Étt initil. poly p.18 5. poly p.7
(f) Étt finl On remrque que les étts 2, 3, 5, 6 et 8 ne sont plus essiles. Ils ne sont don plus utiles et on peut les retirer. strt 1 7 9 () Déterminiser l utomte résultnt 6. On de l hne (mis e n est ps néessirement le s) : on peut vérifier filement que l utomte est déjà déterministe. (d) Compléter 7 puis minimiser 8 l AFD.,, strt 1,, 9 7, 0 (e) Construire l grmmire régulière (à droite) 9 l AFDC. reonnissnt le même lngge que S 1 -> S 1 S 7 S 0 S 7 -> S 1 S 0 S 0 S 0 -> S 0 S 0 S 0 (Il est ependnt isé de montrer qu il n existe uun hemin de l étt 0 vers un étt finl, on peut don supprimer et étt et utiliser l lgorithme pour produire une grmmire plus simple.) 6. Soit l grmmire suivnte : G 1 = ({, }, {S}, S, {S SS SS }). Quel est le lngge L reonnu? (Le prouver pr doule inlusion, -à-d en montrnt d une prt que tout mot 6. poly p.9 7. poly p.6 8. poly p.10 9. poly p.17 5
reonnu pprtient à L et d utre prt que tout mot de L est reonnu.) Il s git de l ensemle des mots ontennt utnt de que de. Ce lngge n est en fit ps régulier (on peut le montrer ve le lemme de pompge)! Montrer que tous les mots ontennt utnt de que de sont ien générés est un peu tehnique mis très intéressnt : on peut proéder pr réurrene sur l tille des mots. 7. Soit L un lngge rtionnel, en utilisnt des onsidértions sur les utomtes montrer que : () l ensemle des préfixes de L, L = {u v, uv L} est ussi rtionnel ; () l ensemle des suffixes de L, L = {v u, uv L} est ussi rtionnel. Soit L un lngge régulier, soit A un AF reonnissnt L, soit A l AF onstruit à prtir de A où tous les étts sont eptnts : on peut montrer filement que A reonnit L, insi L est régulier ; soit A l AF onstruit à prtir de A où tous les étts sont initiux : on peut montrer filement que A reonnit L, insi L est régulier. 6