Jedes DFA ist äquivalent zu einem PDA, der niemals etwas auf seinen Stack verschiebt, daher sind alle regulären Sprachen ebenfalls kontextfrei. Formaler:
Ein DFA ist definiert als ein 5-Tupel (Σ, S, s0, δ, F) bestehend aus dem Eingabealphabet, Satz von Zuständen, Startzustand, Übergangstabelle und Satz von final (accepting) Zustände.
Ein PDA ist als 7-Tupel definiert, einschließlich aller Elemente eines DFA, plus zwei zusätzliche Parameter: Γ (das Stapelalphabet) und Z (das ursprüngliche Stapelsymbol). Eine PDA-Übergangstabelle unterscheidet sich etwas von einer DFA-Übergangstabelle: jeder Übergang kann sowohl vom Eingangssymbol als auch vom aktuellen Stapelsymbol abhängig sein, und die Übergänge können vom Stapel schieben oder vom Stapel springen.
also durch ein Dummy-Stack-Alphabet aus einem einzigen Symbol bestehend einzuführen, ist es trivial ist (wenn auch etwas ärgerlich und weitschweifiger zu schreiben!), Um die Übergangstabelle DFA (state, input, stack) -> (state, stack)
(state, input) -> state
zu einer äquivalenten PDA Übergangstabelle abzuzubilden.
Um den Beweis einer richtigen Teilmengenbeziehung zu vervollständigen: Es gibt Sprachen, die kontextfrei sind, aber nicht regulär, so dass die regulären Sprachen eine richtige Teilmenge der kontextfreien Sprachen bilden. Beispiel: Die Sprache der Strings besteht aus ausgeglichenen Klammern.
Danke - Haben Sie eine Referenz für diese Aussage: Jedes DFA ist äquivalent zu einem PDA, der nie etwas auf seinen Stack drückt, daher sind alle regulären Sprachen auch kontextfrei? –
@David: Ich habe meine Antwort ein bisschen erweitert, um zu zeigen, wie ein formaler Beweis strukturiert sein könnte. –