Languages Formels : Exercice à rendre

Exercice 4

On considère des systèmes dont le fonctionnement peut être modélisé par une variante d'automate à pile qui n'a pas de canal d'entrée. Un tel système évolue donc seulement en fonction de l'état de contrôle et de la lettre en haut de la pile.

  • - Un système à pile S est un quadruplet S=(Q, Γ, δ , q0) où Q, Γ, δ et q0 sont respectivement l'ensemble des états de contrôle, l'alphabet de pile, la relation de transition δ ⊆(Q×(Γ∪{ε}))×(Q×Γ*) et l'état initial.
  • - Un état de S est un couple (q, α) où q∈Q est un état de contrôle et α ∈ Γ* un mot de pile. L'état initial de S est (q0, ε). Un état (q', α') est directement accessible à partir d'un état (q, α), ce que l'on note (q, α) ⇒ (q', α'), s'il existe β, a et u tels que α=βa, α'=βu et ((q, a),(q', u)) ∈ δ. La clôture réflexive et transitive de ⇒ est notée ⇒*.
  • - On notera une transition ((q, ε),(q', a)) par (q, a+, q'); de même une transition ((q, a),(q', ε)) sera notée (q, a-, q').
  • - Le langage de la pile de S dans l'état q, noté L(S, q), est défini par
  • L(S, q):={α| α ∈ Γ*, (q0, ε) ⇒* (q, α)}
  • Le langage de la pile de S, noté L(S), est la réunion des L(S, q) pour q ∈ Q.

    1. Expliquer comment on peut simuler un système à pile S quelconque par un autre ayant une relation de transition dans ((Q×Γ)×(Q×{ε}))∪((Q×{ε})×(Q×Γ)).

    On considère dans toute la suite de l'exercice que δ satisfait cette contrainte et peut donc être représentée par un ensemble fini de triplets (q, x, q') où chaque x est de la forme a+ ou a-. On associe alors à un système à pile S=(Q, Γ, δ , q0) l'automate fini S'=(Q, Γ, δ', q0, Q), où tout les états sont acceptants et où la relation de transition δ '⊆ Q×(Γ∪{ε})×Q est la plus petite relation satisfaisant les conditions suivantes :

  • - si (q, a+, q') ∈ δ alors (q, a, q') ∈ δ',
  • - si (q, a-, q') ∈ δ et (q'', a, q)∈ δ'+ alors (q'', ε, q') ∈ δ',
  • où δ'+ représente la clôture transitive de δ'.

  • 2. Soit le système à pile S1 =({1, 2, 3},{a, b}, δ1, 1) où δ1 est l'ensemble
  • {(1, a+, 2),(2, b+, 3),(3, b-, 1),(1, b+, 3)}
  • Dessiner S1 et l'automate associé S'1.
  • 3. Montrer que (q, α) est accessible à partir de (q0, ε) dans S si et seulement si q est accessible dans S' par le mot α.
  • 4. Montrer que pour tout q∈Q, le langage L(S, q) est rationnel ; en conclure que le langage de la pile, L(S), est aussi rationnel.
  • 5. Expliquer comment calculer δ' et prouver la terminaison de votre algorithme.