2015-03-13 4 views
0

Je suis en train d'écrire un pushdown pda automates qui acceptent un V2n b^n, n> 0 mais je ne sais pas si la dernière partie est correctePushdown Automata (PDA)

(p0, a, z0) = (p0, az0) 
(p0, a, a) = (p0, aa) 
(p0, b, a) = (p1, λ) 
(p1, λ, b) = (p2, λ) <= 
(p2, 0, b) = (p1, λ) <= 
(p2, λ, z0) = (p3, λ) <= 
+0

Pourquoi retournez-vous à p0? Cela ne semble pas juste. – harold

+0

@harold ya ... je suis un exemple, qu'en est-il maintenant? – userNew

+0

Toujours pas tout à fait (pas assez d'opportunités pour pousser 1). L'avez-vous dessiné? Cela pourrait aider – harold

Répondre

0

En ce qui concerne votre réponse, dans vos deux premières étapes, vous ne faites que pousser le pas en un seul pas. Avec la conception actuelle, la machine accepterait aaabb qui n'est pas sous la forme a^2nb^n. Il est donc préférable de le diviser en deux états séparément. Selon moi, la bonne réponse est peut-être quelque chose comme:

  1. (p0, a, Z0) = (p0, az0)
  2. (p0, a, a) = (p1, aa)
  3. (p1, a, a) = (p0, aa)
  4. (p1, b, a) = (P2, λ)
-1

déterministes pousser vers le bas les automates pour un^2NB^nn> = 0
Bypass Altetnate a et pousser le reste de

flipchart capture

+0

Alors que ce lien peut répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. - [De l'avis] (/ review/low-quality-posts/16783317) –