TD Lngges - XML Exercices Corrigés TD 6 1 Trvux Dirigés de Lngges & XML - TD 6 1 Grmmires non-mbiguës Exercice 1 Construire l grmmire générnt tous les plindromes sur l lphbet {0, 1}. 0 1 ε 00 11 Exercice 2 oit l grmmire : (L) L L, 1. Quels sont les symboles terminux et non terminux? 2. Donner les rbres de dérivtion pour : (,) (,(,)) (,((,),(,))) 3. Construire une dérivtion à guche et une dérivtion à droite pour chcune des phrses de l question précédente. L et sont des vribles,, (, ) et, sont des symboles terminux. (L) (L,) (,) (,) (,). (L) (L,) (L,) (,) (,). ( L ) L, (L) (L,) (,) (,) (,(L)) (,(L,)) (,(,)) (,(,)) (,(,)). (L) (L,) (L,(L)) (L,(L,)) (L,(L,)) (L,(,)) (L,(,)) (,(,)) (,(,)). Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre
2 Exercices Corrigés TD 6 TD Lngges - XML ( L ) L, ( L ) L, (L) (L,) (,) (,) (,(L)) (,(L,)) (,(,)) (,((L),)) (,((L,),)) (,((,),)) (,((,),)) (,((,),)) (,((,),(L))) (,((,),(L,))) (,((,),(,))) (,((,),(,))) (,((,),(,))). (L) (L,) (L,(L)) (L,(L,)) (L,(L,(L))) (L,(L,(L,))) (L,(L,(L,))) (L,(L,(,))) (L,(L,(,))) (L,(,(,))) (L,((L),(,))) (L,((L,),(,))) (L,((L,),(,))) (L,((,),(,))) (L,((,),(,))) (,((,),(,))) (,((,),(,))). Exercice 3 oit l grmmire : ba A baa b b 1. Trouver pour le mot bbbbb une dérivtion à guche, une dérivtion à droite et un rbre de dérivtion. 2. Montrer pr récurrence sur w que L(G) est l ensemble des mots de longueur non nulle qui contiennent utnt de que de b. 1. Il y pr exemple : b bb bb bbb bbbb bbbbba bbbbb Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre
TD Lngges - XML Exercices Corrigés TD 6 3 b bba bb bb bbb bbbb bbabbb bbbbb (Ce n est ps le même rbre de dérivtion que l précédente.) b b b b b A 2. oit L 0 l ensemble des mots de longueur non nulle contennt utnt de que de b, L l ensemble des mots ynt un de plus que de b et L b l ensemble des mots ynt un b de plus que de. Nous llons montrer que ( w) w L 0 (A w) w L ( w) w L b. i w = 1, (w L ) (w = ) (A ) et (w L b ) (w = b) ( b). i w = 2, si w L 0 lors w = b et b ou bien w = b et ba b ; de même si w, on forcément w = b ou w = b et donc w L 0. upposons mintennt w. L dérivtion commence soit pr w, soit pr ba w. Dns le premier cs, on w vec w < w et donc w L b ce qui donne w = w L 0 ; dns le deuxième cs, on A w vec w < w et donc w L ce qui donne bw = w L 0. Les cs A w et w se tritent de l même mnière. Dns l utre sens, supposons w L 0. w est de longueur non nulle, il s écrit donc w = w (resp. w = bw ). Dns le premier cs, w L b (resp. L ) et donc w (resp. A w ). On lors une dérivtion w = w (resp. ba bw = w). Les cs w L et w L b se tritent preillement. Exercice 4 Quel est le lngge reconnu pr l grmmire : A C A Ab b cd cd Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre
4 Exercices Corrigés TD 6 TD Lngges - XML C Cd Dd D bdc bc i on prt vec l règle A, on génère d bord utnt de que de b, puis utnt de c que de d ; le lngge est donc { n b n c m d m }. i on prs vec l règle C, on génère d bord utnt de que de d, puis utnt de b que de c ; le lngge est donc { n b m c m d n }. Finlement, le lngge reconnu est { n b n c m d m } { n b m c m d n } pour n,m 1. Exercice 5 Montrer que l grmmire () ε génère tous les mots de prenthèses équilibrés et corrects. 1. Montrons tout d bord que tous les mots générés sont équilibrés et corrects (brévié en corrects). Il suffit de fire une récurrence sur l longueur de l dérivtion à guche qui boutit à un mot. Au rng 1, ε, qui est correct. oit une dérivtion à guche de n étpes () (x) (x)y. x et y dérivent de en moins de n étpes, donc ils sont corrects et (x)y l est églement. 2. Montrons mintennt que tous les mots corrects sont générés. Nous llons fire une récurrence sur l longueur du mot. Le seul mot correct de longueur 0 est ε et il est généré. upposons que tous les mots corrects de longueur inférieure à 2n sont générés. oit un mot de longueur 2n correct. Il commence forcément pr (. oit (x) son plus petit préfixe ynt utnt de ( que de ). Le mot s écrit lors (x)y où x et y sont corrects et de longueur inférieure à 2n. Donc ils sont tous les deux générés. Autrement dit, x et y. Mis lors : () (x) (x)y. 2 Grmmires mbiguës Exercice 6 b b ε Montrer que cette grmmire est mbiguë en générnt deux dérivtions à guche pour bb. Donner deux dérivtions à droite de bb. Quels sont les rbres de dérivtion correspondnts? Les dérivtions à guche sont : b b bb bb bb et b bb bb bb bb. Les dérivtions à droite sont : b bb bb bb bb et b b bb bb bb. Les rbres sont : Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre
TD Lngges - XML Exercices Corrigés TD 6 5 b b ε b b ε ε ε ε ε Exercice 7 oit l grmmire () b 1. Montrer que cette grmmire génère les expressions régulières sur l lphbet {, b}. 2. Montrer que cette grmmire est mbiguë. 3. Construire une grmmire équivlente non-mbiguë vec les priorités clssiques ( puis. puis ) et l ssocitivité à guche. 4. Construire un rbre de dérivtion pour b*b dns les deux grmmires. Elle est mbiguë cr, pr exemple, on b qui peut être généré de deux fçons pr une dérivtion à guche : b et b. T T T T F F F F b () T F T T F F b F b b b Exercice 8 eprenons l grmmire de l exercice 4 : A C A Ab b cd cd C Cd Dd D bdc bc Montrer que cette grmmire est mbiguë. Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre
6 Exercices Corrigés TD 6 TD Lngges - XML Le lngge lui-même est mbigu : si n = m, les mots n b n c m d m et n b m c m d n sont identiques. Ainsi, on les deux dérivtions suivntes : A b bcd C Dd bcd Exercice 9 On considère l grmmire suivnt : b ba A ba b 1. Montrer que cette grmmire est mbiguë en produisnt tous les rbres de dérivtion que l on peut obtenir pour le mot bbbb. 2. Un moyen que nous pourrions utiliser (non vu en cours) pour désmbiguïser une grmmire consiste à ssigner des probbilités ux règles de production de l grmmire de telle mnière que α (V T ) + p(a α) = 1 vec (A α) P. On peut lors déterminer l probbilité d une dérivtion en clculnt le produit des probbilités ssignées ux règles de production utilisées pendnt l dérivtion. On peut pr exemple ttribuer les probbilités suivntes ux règles de production de notre grmmire : (0,8) b (0,01) ba (0,19) A ba (0,9) b (0,1) Prmi les dérivtions obtenues à l question précédente, déterminer celle qui est désormis l plus probble. 1. On les trois dérivtions suivntes : b bb bbba bbbb b bba bbba bbbb ba bba bbba bbbb 2. Ce qui nous donne les probbilités suivntes : 0,8 0,8 0,01 b 0,01 bb 0,19 bbba 0,1 bbbb 0,8 0,8 0,01 b 0,19 bba 0,9 bbba 0,1 bbbb 0,8 0,8 0,19 ba 0,9 bba 0,9 bbba 0,1 bbbb C est clirement l dernière dérivtion qui est l plus probble. Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre
TD Lngges - XML Exercices Corrigés TD 6 7 3 implifiction de grmmires Exercice 10 upprimer (en expliqunt l procédure) les symboles inutiles de l grmmire : AA CC ca A A C cc À l première étpe, on grde A qui dérive un terminl () puis qui dérive une phrse formée d un terminl et d une vrible déjà conservée (ca). Cel nous donne l grmmire : ca A A L deuxième étpe ne permet ps d éliminer d utres symboles cr A dérive de. L grmmire ci-dessus est donc une grmmire équivlente sns symboles inutiles. Exercice 11 upprimer (en expliqunt l procédure) les ε-productions de l grmmire : A A A ε b ε A et sont nnulbles et donc églement. On obtient donc l grmmire: A A A A b On peut rjouter l règle ε si on veut grder l possibilité de générer ε. Exercice 12 upprimer (en expliqunt l procédure) les règles unitires de l grmmire : Ac A b c Les règles Ac et b c sont non-unitires, il fut les grder. Comme A et qu on l règle non-unitire b c, il fut rjouter l règle A b c. On obtient : Ac A b c b c Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre
8 Exercices Corrigés TD 6 TD Lngges - XML Exercice 13 Trnsformer l grmmire suivnte en une grmmire équivlente (sns ε) sns symboles inutiles, sns ε-productions et sns règles unitires. A CA A b ε C D C E ε D d E c d ε 1. Éliminons d bord les symboles inutiles. À l première étpe, seul ne permet ps de dériver un terminl ou une phrse composée de terminux et de vribles dérivnt une phrse terminle. On peut donc l éliminer. On obtient donc : CA A b ε C E ε D d E c d ε Pour l deuxième étpe, dérive CA et C dérive E, il fut donc grder A, C, E et comme vribles. Voici notre grmmire sns symboles inutiles : CA A b ε C E ε E c d ε 2. A, C, E et sont nnulbles, on obtient donc une grmmire équivlente (ne générnt ps ε), sns ε-productions : CA C A A b C E E c d 3. Nous vons trois règles unitires : C, A et C E. Pr illeurs on peut dériver A, C, E et C E, donc on obtient l grmmire sns règles unitires : CA b c d A b C c d E c d 4. On termine en éliminnt à nouveu les symboles devenus inutiles : E ne dérive ps de, donc on obtient l grmmire suivnte. CA b c d A b C c d Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre
TD Lngges - XML Exercices Corrigés TD 6 9 Exercice 14 On considère l (célèbre) grmmire des expressions rithmétiques bien formées, où n désigner pr commodité tout entier positif (trité ici comme un terminl). T + + T T T F T T F F F n () Mettre cette grmmire sous forme normle de Chomsky. Utiliser l lgorithme CYK (Cocke, Younger et Ksmi) pour déterminer si le mot n+(n) est généré pr cette grmmire. Pour mettre sous forme normle de Chomsky, on procède d bord à l élimintion des ɛ-trnsitions, des productions unités et des symboles inutiles. L grmmire ne comporte ps de ɛ-trnsitions. L élimintion des productions unités nous donne l grmmire : T + + T F T T F n () T F T T F n () F n () L grmmire ne comporte ps de symboles inutiles. Pour l mise sous forme normle de Chomsky, on introduit d bord de nouvelles vribles pour tous les symboles terminux qui pprissent dns les prties droites des règles de longueur plus grnde que 2. T O 1 O 1 T F O 2 T T O 2 F n P 1 P 2 T F O 2 T T O 2 F n P 1 P 2 n P 1 P 2 O 1 + O 2 P 1 ( P 2 ) Puis on scinde de mnière à obtenir des règles vec deux symboles, en introduisnt de nouveux symboles (X i ) T X 1 X 2 F X 3 T X 4 n P 1 X 5 T F X 3 T X 4 n P 1 X 5 F n P 1 X 5 O 1 + O 2 P 1 ( P 2 ) Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre
10 Exercices Corrigés TD 6 TD Lngges - XML X 1 O 1 X 2 O 1 T X 3 O 2 T X 4 O 2 F X 5 P 2 On pplique ensuite l lgo CYK, et on obtient le tbleu suivnt: {} {X 1, X 2 } {, T, F } {X 5 } {, T, F } O 1 P 1 {, T, F } P 2 n + ( n ) Donc le mot est bien généré pr cette grmmire. Université Pris-Duphine Licence MI2E - 2005/2006 N. Mudet, E. Lzrd, Y. Chevleyre