Ist es entscheidend, ob ein Pushdown-Automat eine bestimmte reguläre Sprache erkennt?

16

Das Problem, ob zwei Pushdown-Automaten dieselbe Sprache erkennen, ist nicht zu entscheiden. Das Problem, ob ein Pushdown-Automat die leere Sprache erkennt, ist entscheidbar, daher ist es auch entscheidbar, ob er eine bestimmte endliche Sprache erkennt. Es ist nicht zu entscheiden, ob die von einem Pushdown-Automaten akzeptierte Sprache regulär ist. Aber ...

... ist es entscheidend, ob ein Pushdown-Automat eine bestimmte reguläre Sprache erkennt ?

Wenn die Antwort nein ist, wird das Problem dann entscheidbar, wenn die angegebene reguläre Sprache die Sternhöhe ?1

Thomas Klimpel
quelle
1
Beachten Sie, dass die Äquivalenz deterministischer PDAs entscheidend ist.
SDCVVC

Antworten:

14

Es ist entscheidbar , ob ein PDA erkennt , die Menge aller Strings über das Eingabealphabet.Σ

Hinzugefügt. Es ist unentscheidbare das überprüfen als Folge der Tatsache , dass „non-valid“ Berechnungen eines TM können als Saite einer CFG codiert werden. Dies ist Lemma 8.7 der Einführung in die Automatentheorie von Hopcroft und Ullman. Die Autoren verweisen für dieses Ergebnis auf Hartmanis (1967), Context-free languages ​​und Turing machine computations.L(G)=Σ

Eine bequeme Codierung der Berechnungen einer Turingmaschine ist wie folgt. Eine Konfiguration von TM M ist eine Zeichenfolge der Form x p y, wobei u v der Inhalt des Bandes ist und der Zustand p an der Stelle angegeben ist, an der sich der Kopf befindet. Es ist wichtig zu beachten, dass Rechenschritte eines TMs lokale Änderungen sind: u c p a v u q c b v für den Befehl ( p , a , q , b , LMMxpyuvpucpeinvuqcbv , Wo der Kopf bewegt sichlinks, und u c p eine v u c b q v für die Instruktion ( p , a , q , B , R ) , in der der Kopf bewegt sichrechts.(p,ein,q,b,L)ucpeinvucbqv(p,ein,q,b,R)

Eine gültige Berechnung kann als Zeichenfolge codiert werden, wobei w 0 = q 0 x die Anfangskonfiguration für Zeichenfolge x codiert , und wir haben geeignete Schritte w i i w i + 1 . Die letzte Konfiguration in der Zeichenfolge sollte final sein, dh einen Halte- / Endzustand haben.w0#w1R#w2#w3R#w0=q0xxwichwich+1

Es ist nun eine Übung, um zu überprüfen, ob die Zeichenfolgen, die keine gültigen Berechnungen sind, von einem CFG generiert (oder von einem PDA akzeptiert) werden können. Die Zeichenfolgen, die nicht aus Konfigurationssequenzen bestehen, sind sogar regelmäßig. Andernfalls errät man nicht deterministisch eine Position, an der nicht w iw i + 1 ist . Dieser Teil der Zeichenfolge wird von einer Grammatik generiert, die derjenigen für { x # y Rx , y { a , b } , x y } ähnlich ist .GM wichwich+1{x#yRx,y{ein,b},xy}

MGM

Hendrik Jan
quelle
2
Es gibt einen Beweis in Abschnitt 17.3.3 von Computation Engineering: Angewandte Automatentheorie und Logik von Ganesh Gopalakrishnan
Pål GD
2
Σ¯