Vous êtes sur la page 1sur 2

TD Automates, langages et applications

Exercices Corrig es TD 7

Automates, Langages et Applications - TD 7


1 Automates ` a pile
Exercice 1 Donner lautomate a ` pile permettant de reconna tre le langage suivant : {an bm | n,m 0 et n m} : Lid Corrige ee est de mettre un symbole sur la pile pour chaque a et de lenlever pour chaque b. Comme on veut plus de b que de a, il sut de rester sur la pile $ tant quil y a des b. Notons que lautomate obtenu nest pas d eterministe. symbole pile A $

etat q1 q2 q1 q2

a (q1 , AA) (q1 , A$)

b (q2 , ) (q2 , ) (q2 , $) (q2 , $)

(q1 , ) (q2 , )

Exercice 2 Donner lautomate a ` pile permettant de reconnaitre le langage suivant : {an bm c2(n+m) | n,m 0} : Comme on veut deux fois plus de c, on met deux symboles sur la pile pour chaque a et Corrige chaque b et on en enl` eve un ` a chaque c rencontr e. On a besoin de trois etats car, quand on commence a lire les b, on ne peut plus lire de a. ` symbole pile A

etat q1 q2 q3 q1 q2 q3

a (q1 , AAA)

b (q2 , AAA) (q2 , AAA) (q2 , AA$)

c (q3 , ) (q3 , ) (q3 , ) ( q1 , ) ( q3 , )

(q1 , AA$)

Exercice 3 Donner lautomate a ` pile permettant de reconnaitre le langage suivant : {an bm | n,m 0 et n m 2n} : Pas dautomate d Corrige eterministe car on ne sais pas combien de b on va lire. On met donc un ou deux symboles sur la pile pour chaque a, et on en enl` eve un pour chaque b lu. On devra donc lire au minimum autant de b que de a pour se retrouver avec une pile $ (cest le chemin pris lorsquon met un symbole pour chaque a) et au maximum deux fois plus (cest le chemin pris lorsquon met deux symboles pour chaque a) ; les autres chemins donnent un nombre interm ediaire de b.

Universit e Paris-Dauphine

M1 Master MIAGE&D - 2009/2010

B, Escoer, E. Lazard

Exercices Corrig es TD 7

TD Automates, langages et applications

symbole pile A $

etat q1 q2 q1 q2

a (q1 , AA) ; (q1 , AAA) (q1 , A$) ; (q1 , AA$)

b (q2 , ) (q2 , ) ( q1 , ) ( q2 , )

Exercice 4 Donner lautomate ` a pile qui permet de reconnaitre le langage des palindromes de longueur paire (non nulle) sur lalphabet {a, b}. Lautomate obtenu est-il d eterministe? Justiez votre r eponse. Si ce nest pas le cas, pourriez-vous proposer un automate d eterministe qui reconnaisse ce langage ? Comment modier lautomate obtenu pour reconna tre tous les palindromes (pairs et impairs)? : Lorsquon rencontre un a, on met un symbole sur la pile (si on est dans la premi` Corrige ere moiti e, etat q1 ) ou on lenl` eve (si on est dans la deuxi` eme moiti e, etat q2 ) ; idem pour les b avec un autre symbole. Lorsque lon (( devine )) le milieu du mot, on passe avec sans rien consommer et sans modier la pile de q1 ` a q2 . symbole pile A B $

etat q1 q2 q1 q2 q1 q2

a (q1 , AA) (q2 , ) (q1 , AB ) (q1 , A$)

b (q1 , BA) (q1 , BB ) (q2 , ) (q1 , B $) (q2 , A) ( q2 , B )

( q2 , )

Il nest pas d eterministe et il ny a aucun moyen den construire un car lors de lanalyse dun mot, on ne peut pas savoir si la partie (( retourn ee ) ) a d ej` a commenc ee. Pour reconna tre tous les palindromes, il faut rajouter la reconnaissance non-d eterministe du caract` ere du milieu (si le palindrome est de longueur impaire, ce sera un a ou un b; si le palindrome est de longueur paire, on utilise une transition comme dans le cas pr ec edent). Pour ce caract` ere-l` a, on ne change pas la pile. symbole pile A

etat q1 q2

a (q1 , AA) (q2 , A) (q2 , ) (q1 , AB ) (q2 , B ) (q1 , A$)

b (q1 , BA) (q2 , A) (q1 , BB ) (q2 , B ) (q2 , ) (q1 , B $) (q2 , A)

B $

q1 q2 q1 q2

( q2 , B )

( q2 , )

Universit e Paris-Dauphine

M1 Master MIAGE&D - 2009/2010

B, Escoer, E. Lazard

Vous aimerez peut-être aussi