Languages Formels
TP5: Automates à piles
Exercice 1 (Exemples d'automates à pile)
1. Construire un automate à pile reconnaissant le langage
L1 = { uũ | u ∈ Σ*}
2. Construire un automate à pile reconnaissant le langage de Dyck
D*n
3. Construire un automate à pile reconnaissant le langage
L2 ={w ∈ {a,b}* | |w|a = 2 |w|b}
4. Construire un automate à pile reconnaissant par pile vide le langage
L3 = { an bp | 1 ≤ n ≤ p ≤ 2 n }
Exercice 2 (Variantes d'automates à pile)
Soit A = (Q, Σ, Z, T, q0, z0, F) un automate à pile.
1. Montrer que l'on peut construire un automate à pile A' reconnaissant le même langage et tel que T' ⊆ Q' × Z × (Σ ∪ {ε}) × Q' × Z≤ 2.
2. Montrer que l'on peut construire un automate à pile A'' équivalent à A tel que les mouvements de la pile sont uniquement du type push ou pop ou skip.
Exercice 3
On s'intéresse ici à des automates dont l'alphabet de pile Γ est un singleton {z}.
a) Montrer que le langage L={anbmc| n≥ m ≥ 1} peut être accepté par pile vide et état final par un automate dont l'alphabet de pile est un singleton.
b) Montrer que le langage L={anbmc| n≥ m ≥ 1} ne peut pas être accepté par pile vide par un automate dont l'alphabet de pile est un singleton.
Exercice 4
1. Soit A = (Q,Σ,Z,T,q0,z0,F,K) un automate à pile déterministe reconnaissant par sommet de pile et état final (une configuration (q,az) est acceptante si (q,z) ∈ K ⊆ Q × Z). Montrer qu'on peut effectivement construire un automate à pile déterministe équivalent reconnaissant par état final.
2. Soit A un automate à pile déterministe. Montrer qu'on peut effectivement construire un automate à pile qui reconnaît le même langage et dont les ε-transitions sont uniquement effaçantes : (p,x) ε→ (q,ε).
Exercice 5 (Autres Exemples)
Montrer que le complémentaire du langage L0
où L0 = { uu | y ∈ Σ*}
peut être reconnu par un automate à pile.
Construire un automate à pile reconnaissant le complémentaire du langage L1
où L1 = { uũ | u ∈ Σ*}