Domanda

Sto cercando di capire questo esempio di convertire PDA in CFG ma non sto ottenendo l'idea abbastanza giusta. Ho la comprensione generale del teorema che se $ p, q \ \ \ esilon \ q $ e $ x \ varepsilon \ \ Gamma $ per $ [PXQ] $ Abbiamo incluso la sequenza di derivazioni che dovrebbero fare x dallo stack.

Capisco parzialmente cosa sta succedendo ma non riesco a capire come srotolare le produzioni per formare stringhe, quindi posso capirlo chiaramente. Prendere la produzione (5) nell'esempio per esempio. Da quello che lo capisco siamo in stato P vogliamo far partire a e alla fine dovremmo essere in stato P con pila vuota. Come stiamo leggendo 0 abbiamo zero nella produzione seguito da $ [PAQ] [qap] $ , questa è la cosa che sono Non capire perché se guardiamo al PDA non c'è modo di andare a Q sulla lettura 0. Vorrei sapere cosa sta succedendo davvero.

Una domanda correlata viene risposta qui Ma non riesco a capirlo come cancellare la mia confusione.

È stato utile?

Soluzione

Hai il diritto di intuizione di base. La variabile $ [P, a, q] $ rappresenta il set di (stringhe accettate da) calcoli da Stato $ p $ per dichiarare $ q $ che farà infascare il simbolo più alto $ a $ dalla pila.

 Inserire l'immagine Descrizione qui

Tecnica la relazione tra grammatica $ G $ e PDA $ m $ è dato sulla parte superiore di lo scivolo che mostra.

Allora la costruzione segue la ricorsione. Se il PDA si apre $ a $ ma spinge $ B_1b_2b3 $ La grammatica sostituirà il calcolo sulla classe <="container math"> $ A $ A partire da $ P $ e termina in $ Q $ < / span> in tre calcoli separati $ [Q_1, B_1, Q_2] [Q_2, B_1, Q_3] [Q_3, B_1, Q] $ . Qui gli Stati intermedi $ Q_2, q_3 $ sono sconosciuti e sono indovinato dalla grammatica. Solo $ Q_1 $ è noto, poiché è lo stato in cui si sposta l'istruzione PDA.

 Inserire l'immagine Descrizione qui

La tua osservazione è giusta. Questa costruzione standard potrebbe introdurre terzine $ [P, a, q] $ che sarà inutile. Nel tuo esempio non ci saranno calcoli da $ q $ a $ p $ quindi una lezione di tregua="container math"> $ [q, a, p] $ non viene mai utilizzato in una derivazione di successo. Questo non è prolmatico. La costruzione produce solo tutte le possibilità e variabili che risultano essere inutili possono essere rimosse in seguito se si desidera veramente.

Nota. L'altra domanda che colleghi utilizzare un diverso modello di AutomaTon Style Style! Ci sono dei simboli dello stack sono spinti uno per uno senza spuntare allo stesso tempo. Per aggiungere alla confusione il risposta data a quella domanda perfettamente abbina perfettamente la costruzione dalla tua diapositiva!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top