Zeigen Sie, dass DPDA aufgrund von Bauarbeiten geschlossen ist


8

Ich habe lange versucht, eine Konstruktion zu finden, damit ich formal nachweisen kann, dass ein deterministischer PDA unter Ergänzung geschlossen ist. Es kommt jedoch vor, dass jede Idee, die ich habe, etwas hat, das am Ende nicht passt. Könnten Sie mir helfen?

Das Hauptproblem tritt bei den ε-Bewegungen auf . Ein PDA könnte das Lesen seiner Eingabe in einem nicht endgültigen (zurückweisenden) Zustand beenden, aber dennoch durch einen ε-Zug in einen endgültigen (akzeptierenden) Zustand übergehen und am Ende die Zeichenfolge akzeptieren. Dies bedeutet, dass es nicht funktioniert, nur einen toten Zustand hinzuzufügen und die Zustände zu ergänzen. Ich habe bereits das Problem möglicher unendlicher Folgen von ε-Bewegungen gelöst , so dass dies kein Hauptteil meiner Frage ist.

BEARBEITEN: Soweit ich weiß, würde die DPDA, wenn sie das Ende der Eingabe erreicht und sich in einem akzeptierenden Zustand befindet und durch eine ε-Bewegung in einen ablehnenden Zustand übergeht, diese weiterhin akzeptieren (da sie einen Endzustand ohne Eingabesymbol erreicht hat) lesen).

Bitte lassen Sie mich wissen, ob ich klarer sein kann.


Ich denke, Sie interessieren sich für die Verschlusseigenschaft von DCFL gegen Komplementation? Ihre Formulierung "formal demonstrieren, dass ein deterministischer PDA unter Ergänzung geschlossen wird" macht für mich sonst wenig Sinn.
Raphael

Antworten:


3

Ich hatte vorher keine Zeit, dies zu schreiben, aber ich fand eine Antwort. Folgendes habe ich getan:

Sei der ursprüngliche . Wir werden einen neuen konstruieren , ihn ( steht für modifiziert).P D A P D A M M.OPDAPDAMM

Um das Komplement von , können wir Endzustände in Nicht-Endzustände umkehren und umgekehrt. Es ist das gleiche Verfahren wie für endliche Automaten. Es gibt jedoch eine Subtilität. Das Hauptproblem besteht darin, dass im ursprünglichen PDA die Eingabe zu einem Zustand führen kann, der kein Endzustand ist, aber eine ausführen und in einen akzeptierenden Zustand . Das Umdrehen von Zuständen, wie oben erwähnt, würde dazu führen, dass in mit der Eingabe endet, was ein Endzustand wäre (was dazu führt, dass die Eingabe akzeptiert), obwohl es später eine nachO w S ε - m o v e S ' M S W M ε - m o v e S ' O M w S S ' S ε - m o v eOOwSϵmoveSMSwMϵmoveS, ein nicht akzeptierender Zustand. Daher akzeptieren sowohl als auch . Ähnliches passiert, wenn ein Endzustand und ein Nicht-Endzustand war, der von durch eine .OMwSSSϵmove

Um dieses Problem zu lösen, müssen wir sicherstellen, dass alle Bewegungen ausgeführt werden, bevor wir das nächste Symbol lesen. Das heißt, wir werden nur dann in einen Lesezustand eintreten, wenn einem Pfad von -moves gefolgt wird und wir einen Zustand erreichen, in dem kein -move verfügbar ist. Wir nennen diese letzteren Zustände Lesezustände , da sie ein tatsächliches Symbol benötigen, um einen neuen Übergang durchzuführen.ϵ ϵϵϵϵ

Definieren Sie die Zustände von als Tupel der Form wobei ( ist die Menge der Zustände des ursprünglichen ) und .< q , n > q Q Q P D A n { 1 , 2 , 3 , 4 }M<q,n>qQQPDAn{1,2,3,4}

  • Wenn in , sei in wenn .O δ ( < q , 3 > , ε , X ) = < < q ' , 2 > , α > M q F Oδ(q,ϵ,X)=<q,α>Oδ(<q,3>,ϵ,X)=<<q,2>,α>MqFO

  • Wenn in , sei in wenn .O δ ( < q , 3 > , ε , X ) = < < q ' , 3 > , α > M q F Oδ(q,ϵ,X)=<q,α>Oδ(<q,3>,ϵ,X)=<<q,3>,α>MqFO

  • Wenn in , sei in .O δ ( < q , 2 > , ε , X ) = < < q ' , 2 > , α > Mδ(q,ϵ,X)=<q,α>Oδ(<q,2>,ϵ,X)=<<q,2>,α>M

  • Wenn ist in , inu n d e f i n e d O δ ( < q , 2 > , ε , X ) = < < q , 1 > , X > Mδ(q,ϵ,X)undefinedOδ(<q,2>,ϵ,X)=<<q,1>,X>M

  • Wenn ist in , inu n d e f i n e d O δ ( < q , 3 > , ε , X ) = < < q , 4 > , X > Mδ(q,ϵ,X)undefinedOδ(<q,3>,ϵ,X)=<<q,4>,X>M

In diesen Definitionen lassen wir Zustände der Form und Bewegungen verbrauchen, die Bewegungen von imitieren, bis keine mehr vorhanden sind. Führen Sie dann eine Bewegung in einen Lesezustand durch. Nun zu den Lesezuständen:< q , 3 > ϵ ϵ O ϵ<q,2><q,3>ϵϵOϵ

  • Wenn in , sei in .O δ ( < q , 1 > , a , X ) = δ ( < q , 4 > , a , X ) = < < q ' , 3 > , α > M.δ(q,a,X)=<q,α>Oδ(<q,1>,a,X)=δ(<q,4>,a,X)=<<q,3>,α>M

Durch diese Definition verbrauchen wir ein Symbol der Eingabe und wechseln in einen Zustand der Form , um eine neue Reihe von Bewegungen zu beginnen .ϵ<q,3>ϵ

Schließlich lassen Sie Zustände der Form Zustände von akzeptieren, wenn . Machen Sie auch zum Anfangszustand von wenn der Anfangszustand von .<q,4>MqFO<q0,3>Mq0O


Was wir getan haben, ist Folgendes:

Erstellen Sie 4 "Stockwerke" von Zuständen (das zweite Element des Tupels in Zuständen von bestimmt, in welchem ​​Stockwerk wir uns befinden). Etage 3 imitiert Bewegungen von möglicherweise einen akzeptierenden Zustand von . Wenn dies der Fall ist, gehen wir zu Etage 2; Andernfalls bleiben wir in Etage 3. Wenn von keine Bewegungen mehr folgen , definieren wir Bewegungen von , um einen Lesezustand zu erreichen. Die Etagen 1 und 4 entsprechen den Lesezuständen. Wenn wir uns in Etage 3 befanden, gingen wir zu Etage 4. Wenn wir uns in Etage 2 befanden, erreichten wir Etage 1. Nur Zustände (Zustände in Etage 4) akzeptieren Zustände vonϵMϵOqOϵOϵM<q,4>M , mit der Maßgabe , dass nicht ein akzeptierende Zustand ist .qO

Bitte lassen Sie mich wissen, wenn ich beim Schreiben einen Tippfehler gemacht habe. Ich hätte mich leicht irren können. Außerdem ist mein Englisch nicht sehr gut, also zögern Sie nicht, die Dinge besser zu bearbeiten und neu zu formulieren.


1

In Sipsers Einführung in die Theorie der Berechnung (3 Edition enthält einen Abschnitt über DCFLs) gibt es einen konstruktiven Beweis , der die Lesezustände des Automaten identifiziert, indem jeder Zustand, der gleichzeitig liest und erscheint, aufgeteilt wird. Nur diese Lesezustände können Endzustände sein, und um das Komplement DPDA zu erhalten, kehren Sie nur das Akzeptanzverhalten innerhalb des Satzes von Lesezuständen um.rd


-2

Sie können davon ausgehen, dass der Automat ohne Verlust der Allgemeinheit frei von Übergängen ist.ε

Dies kann anhand der Standardkonstruktion von CFG bis PDA gezeigt werden, die auf eine Greibach-Normalform angewendet wird . In Stille Übergänge in Automaten mit Speicher hat G. Zetzsche kürzlich eine Konstruktion direkt auf Automaten vorgestellt.

Mögliche Einschränkung: Ich gehe davon aus, dass diese Standardkonstruktion eine DPDA ergibt, wenn wir sie auf eine geeignete, dh "deterministische" Grammatik anwenden, und dass diese Eignung die Transformation in Greibach-Normalform überlebt.


2
Entschuldigung, aber die Annahme gilt nicht. . {anbmcnm,n1}{anbmdmm,n1}
Hendrik Jan

@ HendrikJan Ich verstehe nicht, auf welche Weise Ihre Sprache meine Annahme widerlegt.
Raphael

Es ist deterministisch kontextfrei, benötigt aber Übergänge. Intuitiv muss man sowohl als auch stapeln und den Buchstaben oder entscheiden lassen, welcher verwendet werden soll. Wenn wir lesen, müssen wir alle 's platzen lassen. n m c d c bεnmcdcb
Hendrik

1
Es ist das Beispiel, das ich kenne und das zeigt, dass DPDA in Echtzeit keine normale Form sind. (Zum Beweis müssen Sie eine neue Frage stellen :)) Eine nette Funktion ist, dass Sie nur Übergänge benötigen , die auch den Stapel platzen lassen und unendliche Berechnungen vermeiden. ε
Hendrik Jan

3
Raphael, ich denke @HendrikJan hat recht. Dies widerspricht nicht der Eliminierung für PDAs, da die Anwendung letzterer auf eine DPDA einen Nichtdeterminismus einführt. ε
Georg Zetzsche
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.