10.07.2015 Aufrufe

Automaten und formale Sprachen Skript zur Vorlesung 14 ...

Automaten und formale Sprachen Skript zur Vorlesung 14 ...

Automaten und formale Sprachen Skript zur Vorlesung 14 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Automaten</strong> <strong>und</strong> <strong>formale</strong> <strong>Sprachen</strong><strong>Skript</strong> <strong>zur</strong> <strong>Vorlesung</strong><strong>14</strong>. <strong>Vorlesung</strong> 07.07.04SS 2004Martin DietzfelbingerTechnische Universität IlmenauFakultät für Informatik <strong>und</strong> AutomatisierungFachgebiet Komplexitätsheorie <strong>und</strong> Effiziente Algorithmen


Inhaltsverzeichnis0 Vorbemerkungen 10.1 Einleitung <strong>und</strong> Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Zur Arbeitstechnik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50.3 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Gr<strong>und</strong>begriffe 81.1 Alphabete <strong>und</strong> <strong>Sprachen</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Endliche <strong>Automaten</strong> <strong>und</strong> reguläre <strong>Sprachen</strong> 162.1 Deterministische endliche <strong>Automaten</strong> . . . . . . . . . . . . . . . . . . . . . 162.2 Nichtdeterministische endliche <strong>Automaten</strong> . . . . . . . . . . . . . . . . . . 282.3 Reguläre Ausdrücke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.4 Das Pumping-Lemma für reguläre <strong>Sprachen</strong> . . . . . . . . . . . . . . . . . 542.5 Abschlusseigenschaften für reguläre <strong>Sprachen</strong> . . . . . . . . . . . . . . . . . 582.6 Entscheidbarkeitsfragen für reguläre <strong>Sprachen</strong> . . . . . . . . . . . . . . . . 622.7 Die Minimierung deterministischer endlicher <strong>Automaten</strong> . . . . . . . . . . 642.7.1 Unerreichbare Zustände . . . . . . . . . . . . . . . . . . . . . . . . 642.7.2 Äquivalente <strong>und</strong> nicht-äquivalente Zustände . . . . . . . . . . . . . 682.7.3 Minimalautomaten . . . . . . . . . . . . . . . . . . . . . . . . . . . 783 Grammatiken <strong>und</strong> die Chomsky-Hierarchie 823.1 Grammatiken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.2 Rechtslineare Grammatiken <strong>und</strong> reguläre <strong>Sprachen</strong> . . . . . . . . . . . . . 943.2.1 Rechtslineare Grammatiken . . . . . . . . . . . . . . . . . . . . . . 943.2.2 Äquivalenz zu regulären <strong>Sprachen</strong> . . . . . . . . . . . . . . . . . . . 953.2.3 Linkslineare Grammatiken . . . . . . . . . . . . . . . . . . . . . . . 97i


unverändert. Der neue DPDA M ∩ ist in einem akzeptierenden Zustand, wenn M in einemakzeptierenden Zustand ist <strong>und</strong> das Register einen Zustand q ′ ∈ F ′ enthält.Es ist nicht schwierig, den NPDA M ∩ durch eine leichte Verallgemeinerung der Kreuzproduktkonstruktion(Siehe Satz 2.1.10(c)) präzise zu definieren <strong>und</strong> zu zeigen, dassL M∩ = L 1 ∩ L 2 ist.□Wir bemerken, dass es nicht möglich ist, zwei NPDA’s mit einer an die Kreuzproduktkonstruktionangelehnten Verfahren zu kombinieren. Gr<strong>und</strong> ist, dass jeder NPDA seineneigenen Keller mitbringt <strong>und</strong> es nicht möglich ist, diese beiden Keller zu einem einzigen zuvermischen“. Hier handelt es sich um eine mathematisch präzise Aussage! Wäre es immermöglich, auf eine solche Weise aus zwei NPDA’s einen NPDA für den Durchschnitt”der zwei <strong>Sprachen</strong> zu konstruieren, dann wären die kontextfreien <strong>Sprachen</strong> unter derDurchschnittsoperation abgeschlossen, was nach Satz 4.6.4 nicht der Fall ist. Tatsächlichwerden wir in der <strong>Vorlesung</strong> Algorithmentheorie“ sehen, dass zwei unabhängige Keller”zu Rechenmodellen führen, die viel stärker sind als die NPDA’s.5.7 Deterministische Kellerautomaten <strong>und</strong> ihre <strong>Sprachen</strong>Wir betrachten hier eine Teilklasse der NPDA’s, nämlich deterministische Kellerautomaten(DPDA’s). Diese zeichnen sich dadurch aus, dass in jeder Konfiguration höchstens einnächster Zug möglich ist.Weil dazu auch keine Wahlmöglichkeit zwischen ε-Zug <strong>und</strong> Lesen eines Symbols vomEingabeband bestehen darf, verlangt man:(5.6) |δ(q,a,A)| + |δ(q,ε,A)| ≤ 1für jedes q ∈ Q,a ∈ Σ,A ∈ Γ. Der Berechnungsbaum (vgl. Abb. 5.5) degeneriert zu einemWeg ohne Verzweigung. Weiterhin muss man (aus technischen Gründen) festlegen, dassüber akzeptierende Zustände akzeptiert wird.Beispiel: Wir wollen die Klammersprache mit einem deterministischen Kellerautomatenbearbeiten. Würde dieser ”mit leerem Keller“ akzeptieren, dann müsste zum Beispiel nachdem Lesen des Wortes (()) der Keller leer sein; damit ist aber das Weiterrechnen <strong>und</strong>Akzeptieren auf der Eingabe (())() nicht möglich. (Allgemein können deterministischeVerfahren mit Akzeptierungsmodus ”leerer Keller“ nicht funktionieren, wenn die zu akzeptierendeSprache L nicht präfixfrei ist, d. h. wenn es Wörter w 1 ,w 2 ∈ L gibt, derartdass w 1 echtes Präfix von w 2 ist.)Ein DPDA hat also eine Menge F ⊆ Q von akzeptierenden Zuständen, <strong>und</strong> M akzeptiertw ∈ Σ ∗ , wenn w vollständig gelesen wird <strong>und</strong> nach dem vollständigen Lesen von w einakzeptierender Zustand erreicht wird. Die <strong>formale</strong>n Definitionen lauten folgendermaßen.190


5.7.1 Definition Ein deterministischer Kellerautomat (DPDA) besteht aus 7Komponenten: Q, Σ, Γ, q 0 , Z 0 sind wie in Definition 5.1.2, F ist Teilmenge von Q, <strong>und</strong>δ : Q × (Σ ∪ {ε} × Γ) → P


• Q = {A,V },• q 0 = V ,• Σ = {(,)},• Γ = {1, ⊥},• Z 0 = ⊥,• F = {A},• δ ist als Graph <strong>und</strong> als Tabelle beschrieben.Start(,1 11V),1 εε ,(,1AAbbildung 5.7: Ein DPDA für die Klammerspracheδ ⊥ 1(V,ε) (A, ⊥) −(V,() − (V,11)(V,)) − (V,ε)(A,ε) − −(A,() (V,1⊥) −(A,)) − −Auf der Eingabe ()(())((()())) arbeitet dieser DPDA wie folgt:192


schon gelesen Keller Zustand− ⊥ V− ⊥ A( 1⊥ V() ⊥ V() ⊥ A()( 1⊥ V()(( 11⊥ V()(() 1⊥ V()(()) ⊥ V()(()) ⊥ A()(())( 1⊥ V()(())(( 11⊥ V()(())((() 11⊥ V()(())((()( 111⊥ V()(())((()() 11⊥ V()(())((()()) 1⊥ V()(())((()())) ⊥ V()(())((()())) ⊥ AMan beachte, wie der Keller tatsächlich immer die Anzahl der momentan geöffneten Klammernwiderspiegelt, <strong>und</strong> wie der ε-Zug im Zustand V genutzt wird, um die Beobachtung,dass das Kellersymbol ⊥ sichtbar ist, in einen Zustandswechsel umzusetzen.5.7.4 BeispielWir konstruieren einen Kellerautomaten für die Sprache L = {a i b j | i,j ≥ 0,i ≠ j}.Hierbei ist die erste Idee, die Bedingung, dass erst a’s <strong>und</strong> dann b’s kommen sollen,im Zustand der Steuereinheit zu kontrollieren. Weiterhin zählen wir die gelesenen a’sim Keller, um dann für jedes gelesene b den Zählerstand um 1 zu erniedrigen. Solangeder Zählerstand nicht 0 ist, erklären wir den Zustand für akzeptierend. Wichtig ist hier,beim Herunterzählen zunächst in einen verwerfenden Zustand zu gehen <strong>und</strong> erst dannmit einem ε-Zug in einen akzeptierenden zu wechseln, wenn sich der Keller nicht als leererweist. Wenn der Zählerstand exakt 0 ist, muss verworfen werden; wenn dann weitere b’sfolgen, können wir wieder akzeptieren. Das Kellerendezeichen ⊥ wird nie gelöscht. Formalsieht der DPDA für L folgendermaßen aus.• Q = {S,A,B,C,D},• q 0 = S,• Σ = {a,b},• Γ = {1, ⊥}193


• Z 0 = ⊥,• F = {A,C,D},• δ ist als Graph beschrieben.a,1 11b,a , 1Start S Ab, 1 εBb,Dε,11 b,1εCb,Abbildung 5.8: Ein DPDA für die Sprache {a i b j | i,j ≥ 0,i ≠ j}Man prüfe nach, dass in diesem DPDA es nie zwei miteinander konkurrierende Züge gibt.Die Zustände S <strong>und</strong> A dienen zum Lesen vona’s, die Zustände B, C <strong>und</strong> D zum Lesen vonb’s. Die Kombination der Zustände B <strong>und</strong> C realisiert das vorsichtige Lesen der b’s: erstwird gelesen <strong>und</strong> der Zähler erniedrigt (Zustand B), dann wird mit einem ε-Zug geprüft,dass der Keller nicht leer ist.Eine Beispielberechnung dieses DPDA’s sieht wie folgt aus:Eingabe: aaabbbbbbbschon gelesen Keller Zustand− ⊥ S− ⊥ Sa 1⊥ Aaa 11⊥ Aaaa 111⊥ Aaaab 11⊥ Baaab 11⊥ Caaabb 1⊥ Baaabb 1⊥ Caaabbb ⊥ Baaabbbb ⊥ Daaabbbbb ⊥ D. . . . . . . . .5.7.5 Definition Eine Sprache L heißt deterministisch kontextfrei, wenn L = L Mfür einen DPDA M gilt.194


M ′ :a lesen−→ verw. → verw. → verw.ε→ akz.Außer gegen Komplement sind deterministische kontextfreie <strong>Sprachen</strong> gegen fast nichtsabgeschlossen.5.7.8 Behauptung Es gibt kontextfreie <strong>Sprachen</strong>, die nicht deterministisch kontextfreisind.Beweis:L = {a i b j c k | i ≠ j ∨ j ≠ k} ist kontextfrei.Wäre L deterministisch kontextfrei, wäre nach 5.7.7 auch ¯L deterministisch kontextfrei,also insbesondere kontextfrei. Die Sprache ¯L ist aber nicht kontextfrei, sonst wäre nachSatz 5.6.1 ¯L ∩ {a} ∗ {b} ∗ {c} ∗ = {a n b n c n | n ≥ 0} ebenfalls kontextfrei, was nicht der Fallist.□Es sei bemerkt, dass die Sprache{w | w ∈ {0, 1} ∗ ,w = w R }der Spiegelwörter ohne Mittezeichen nicht deterministisch kontextfrei ist. Intuitiv gesprochenkann ein deterministischer Kellerautomat die Stelle nicht identifizieren, an derumzukehren <strong>und</strong> mit dem bisher Gelesenen zu vergleichen ist. Der Beweis für diese einleuchtendeTatsache ist allerdings technisch aufwendig.5.7.9 Behauptung Die deterministisch kontextfreien <strong>Sprachen</strong> sind nicht gegen ∪ <strong>und</strong>∩ abgeschlossen.Beweis:L 1 = {a i b j c k | i ≠ j} ist deterministisch kontextfrei.L 2 = {a i b j c k | j ≠ k} ist deterministisch kontextfrei.aber nicht L 1 ∪ L 2 (siehe oben).L 3 = {a i b j c k | i = j} <strong>und</strong>L 4 = {a i b j c k | j = k} sind deterministisch kontextfrei.aber L 3 ∩ L 4 /∈ L 2 .5.7.10 Behauptung Die deterministisch kontextfreien <strong>Sprachen</strong> sind nicht gegen Konkatenation<strong>und</strong> Kleene-Abschluss abgeschlossen.(Ohne Beweis.)5.7.11 Satz Die deterministisch kontextfreien <strong>Sprachen</strong> sind gegen Durchschnitt mitregulären <strong>Sprachen</strong> abgeschlossen.(D.h.: L 1 deterministisch kontextfrei, L 2 regulär ⇒ L 1 ∩ L 2 deterministisch kontextfrei.)Dies beweist man genauso wie Satz 5.6.1.196


5.8 Entscheidungsfragen für kontextfreie <strong>Sprachen</strong>Ebenso wie bei regulären <strong>Sprachen</strong> kann man sich fragen, welche Eigenschaften der SpracheL(G) man anhand der Grammatik G effizient — oder zumindest effektiv, also algorithmisch— testen kann. Dabei stellt sich heraus, dass viele Probleme bezüglich kontextfreierGrammatiken unentscheidbar werden. Das bedeutet, dass es prinzipiell keinenAlgorithmus geben kann, der dieses Problem für alle Grammatiken lösen kann. Den technischenHintergr<strong>und</strong> für Unentscheidbarkeitsaussagen werden wir jedoch erst im nächstenSemester, in der <strong>Vorlesung</strong> ”Algorithmentheorie“, kennenlernen. Daher werden hier alleUnentscheidbarkeitsaussagen (einstweilen) ohne Beweis bleiben.5.8.1 Satz Die folgenden Aufgaben bezüglich kontextfreier <strong>Sprachen</strong> sind algorithmischlösbar:(a) (Leerheitsproblem) Gegeben eine kontextfreie Grammatik G = (V, Σ,S,P), entscheideob L(G) = ∅ ist.(b) (Wortproblem) Gegeben eine kontextfreie Grammatik G = (V, Σ,S,P) <strong>und</strong> einw ∈ Σ ∗ , entscheide ob w ∈ L(G), <strong>und</strong> finde im positiven Fall einen Ableitungsbaum.(c) (Unendlichkeitsproblem) Gegeben eine kontextfreie Grammatik G, entscheideob |L(G)| = ∞ ist.Beweis: (a) Nach Proposition 4.3.<strong>14</strong>(c) genügt es, mit dem dort angegebenen Markierungsalgorithmusdie Menge der produktiven Variablen in V zu bestimmen. Die SpracheL(G) ist nicht leer genau dann wenn S produktiv ist.(b) Man wandelt G in eine äquivalente Grammatik G ′ in Chomsky-Normalform um (s.Abschnitt 4.3). Dann wendet man auf G ′ <strong>und</strong> w den CYK-Algorithmus an, der in Abschnitt4.5 besprochen wurde.(c) Mit dem Algorithmus aus Abschnitt 4.3 wandeln wir G in eine äquivalente GrammatikG ′ = (V ′ , Σ,S ′ ,P ′ ) in Chomsky-Normalform um. Mit dem Algorithmus zu Proposition4.3.<strong>14</strong> ermitteln wir die Menge der produktiven Variablen in V ′ . Wenn S ′ nichtproduktiv ist, ist L(G) = ∅, <strong>und</strong> wir sind fertig. Sonst lassen wir aus V ′ die nicht produktiven(die ”nutzlosen“) Variablen weg, <strong>und</strong> erhalten eine zu G äquivalente GrammatikG ′′ = (V ′′ , Σ,S ′ ,P ′′ ) in Chomsky-Normalform, die keine nutzlosen Variablen hat.Mit einem weiteren Markierungsalgorithmus ermitteln wir nun die Menge V ′′′ aller VariablenA ∈ V ′′ , die in einer Satzform α von G ′′ vorkommen, also mit einer AbleitungsfolgeS ⇒ G ′′ α 1 ⇒ G ′′ α 2 ⇒ G ′′ · · · ⇒ G ′′ α t = αerreichbar sind. (Die Details möge man sich als Übung überlegen.) Wenn wir aus G ′′die nicht erreichbaren Variablen weglassen <strong>und</strong> alle Produktionen streichen, in denensolche Variablen vorkommen, erhalten wir eine zu G äquivalente Grammatik G ′′′ =(V ′′′ , Σ,S ′ ,P ′′′ ), in der jede Variable erreichbar <strong>und</strong> produktiv ist.197


Zur Vereinfachung der Notation nehmen wir ab hier einfach an, dass L(G) ≠ ∅ ist <strong>und</strong>dass V keine nutzlosen <strong>und</strong> keine unerreichbaren Variablen enthält.Nun definieren wir einen gerichteten Graphen H = (V,E) mit Knotenmenge V <strong>und</strong>KantenmengeE := {(A,B) ∈ V × V | ∃C ∈ V : A → BC oder A → CB ist Produktion}.Mit einem geeigneten Graphalgorithmus oder auch einem simplen Markierungsalgorithmuskönnen wir überprüfen, ob es r ≥ 1 <strong>und</strong> eine Folge A 0 ,A 1 ,...,A r in V gibt mitA 0 = A r <strong>und</strong>(A 0 ,A 1 ),...,(A r−1 ,A r ) ∈ E.(Diese Kantenfolge bildet also einen gerichteten Kreis der Länge r im Graphen H.) DieserTest liefert die gewünschte Antwort, wie die folgende Behauptung feststellt.Behauptung:|L(G)| = ∞ ⇔ H besitzt einen gerichteten Kreis.Beweis der Behauptung: “⇒“: Wenn H keinen Kreis besitzt, dann besitzt jeder Weg ineinem Ableitungsbaum von G höchstens |V | viele innere Knoten. Es gibt aber nur endlichviele Binärbäume der Tiefe ≤ |V | mit Knotenmarkierungen aus V , also lässt G nurendlich viele Ableitungsbäume zu. Also ist L(G) endlich.“⇐“: Angenommen, H besitzt einen Kreis A 0 ,A 1 ,...,A r = A 0 . Nun bauen wir einenAbleitungsbaum in G wie folgt:1. Bilde einen Ableitungsbaum T mit Wurzelbeschriftung S für eine Satzform α(T),in der A 0 vorkommt. (Dies geht, weil jede Variable, also auch A 0 , erreichbar ist.)Das heißt, dass T einen Blattknoten k 1 hat, der mit A 0 beschriftet ist.2. Bilde einen A 0 -Ableitungsbaum T ′ 1 mit Wurzelbeschriftung A 0 , der nicht nur aus derWurzel besteht <strong>und</strong> ein Wort α(T 1 ) als Ergebnis hat, in dem A 0 vorkommt. (Diesgeht mit den Produktionen, die den Kreis A 0 ,A 1 ,...,A r = A 0 in H erzeugen.)3. Füge T ′ 1 in T ein, indem die Wurzel von T ′ 1 mit k 1 identifiziert wird. Das Resultatist der Baum T ′ . Der Blattknoten in T ′ 1, der mit A 0 beschriftet ist, heiße k 2 .4. Wenn k ein Blatt von T ′ ist, das mit einer Variablen A beschriftet ist, so ergänzeunter k einen A-Ableitungsbaum, dessen Blätter mit Terminalzeichen beschriftetsind. (Dies geht, weil A produktiv ist.)5. Der resultierende Ableitungsbaum heiße T 0 . Der Unterbaum mit Wurzel k 1 heißt T 1 ;der Unterbaum von T 1 mit Wurzel k 2 heißt T 2 .Nun haben wir eine Situation erreicht, die der im Beweis des Pumping-Lemmas (Satz 4.4.1)entspricht. Wenn wir w = α(T 2 ) setzen <strong>und</strong> v <strong>und</strong> x so wählen, dass α(T 1 ) = vwx, <strong>und</strong>schließlich u <strong>und</strong> y so, dass uvwxy = α(T 0 ) ist, so können wir genau wie im Beweis desPumping-Lemmas schließen, dass |vx| ≥ 1 ist <strong>und</strong> alle Wörter uv i wx i y ∈ L(G) sind. DieseWörter sind alle verschieden; also ist L(G) unendlich.□198


5.8.2 Satz Die folgenden Aufgaben bezüglich NPDA’s sind algorithmisch lösbar:(a) (Leerheitsproblem) Gegeben ein NPDA M, entscheide ob L M = ∅ ist.(b) (Wortproblem) Gegeben ein NPDA M <strong>und</strong> ein w ∈ Σ ∗ , entscheide ob w ∈ L M ,<strong>und</strong> finde im positiven Fall eine akzeptierende Berechnung von M auf x.(c) (Unendlichkeitsproblem) Gegeben ein NPDA M, entscheide ob |L M | = ∞ ist.Beweis: Aus Satz 5.5.1 wissen wir, dass man aus M eine kontextfreie Grammatik G(in Chomsky-Normalform) mit L(G) = L M konstruieren kann. Auf diese Grammatikwenden wir die Algorithmen aus Satz 5.8.1(a), (b) <strong>und</strong> (c) an. Wenn wir in Aufgabe (b)herausfinden, dass w ∈ L M ist, dann probieren wir systematisch alle Berechnungen vonM auf Eingabe w durch, die t Schritte machen, für t = |w|, |w| + 1, |w| + 2,..., bis wireine akzeptierende Berechnung finden.□Natürlich sind dieselben Fragen für DPDA’s im Prinzip mit denselben Algorithmen lösbar,da DPDA’s nur ein Spezialfall von NPDA’s sind. Im Fall des Wortproblems gibt es fürDPDA’s einen einfacheren Algorithmus. Gegeben einen DPDA M <strong>und</strong> ein Eingabewortw, bauen wir M nach den in Lemmas 5.7.6 <strong>und</strong> 5.7.7 beschriebenen Methoden in einenzu M äquivalenten DPDA M ′ um, der seine Eingabe w vollständig liest <strong>und</strong> dann mittelsseines Zustandes mitteilt, ob w ∈ L M oder nicht. Damit lässt sich das Wortproblem danndirekt lösen, ohne den DPDA in eine Grammatik umzuformen.Weiter kann man für einen DPDA M algorithmisch testen, ob L M = Σ ∗ ist. (Man bautmit der Methode der eben erwähnten Lemmata einen DPDA M ′ für L M <strong>und</strong> testet, obL M ′ = ∅.)Zum Abschluss wollen wir noch einige algorithmisch unentscheidbare“ Eigenschaften von”kontextfreien <strong>Sprachen</strong> diskutieren. Eine Eigenschaft“ ist dabei einfach eine Aussage,”die auf kontextfreie Grammatiken zutreffen kann oder nicht, beispielsweise die Aussagen” L(G) ist endlich“ oder G ist mehrdeutig“.”Zunächst erklären wir:5.8.3 Erklärung Eine Eigenschaft E von kontextfreien Grammatiken heißt unentscheidbar,wenn es keinen Algorithmus A gibt, der zu jeder vorgelegten kontextfreienGrammatik G als Eingabe die Antwort ja“ liefert, wenn G die Eigenschaft E hat, <strong>und</strong>”nein“ sonst.”Die Erklärung des Begriffs ”unentscheidbar“ muss momentan noch etwas vage <strong>und</strong> mathematischungenau bleiben, weil wir den Begriff ”Algorithmus“ nicht präzise definiert haben(<strong>und</strong> dies auch gar nicht können). In der <strong>Vorlesung</strong> ”Algorithmentheorie“ wird gezeigt,wie man den intuitiven Algorithmusbegriff durch eine <strong>formale</strong> Definition ersetzen kann,so dass die Behauptung ”es gibt keinen Algorithmus“ mathematischer Argumentationzugänglich wird.199


Natürlich kann man genauso über Eigenschaften anderer Dinge, wir NPDA’s oder DPDA’ssagen, sie seien unentscheidbar. Manchmal bezeichnet man auch eine Eigenschaft vonkontextfreien <strong>Sprachen</strong> als unentscheidbar (z.B. sagt man, die Eigenschaft L = Σ ∗ “ oder ”” L ist regulär“ sei für kontextfreie <strong>Sprachen</strong> unentscheidbar“). Dann ist aber implizit”immer gemeint, dass die <strong>Sprachen</strong> durch eine endliche Beschreibung wie eine Grammatikoder einen Kellerautomaten gegeben sein müssen.Wenn eine Eigenschaft von Grammatiken unentscheidbar ist, dann bedeutet dies insbesondere,dass es prinzipiell kein ”Debugging-Tool“ geben kann, das das entsprechendeEntscheidungsproblem allgemein <strong>und</strong> für jede Grammatik löst. Beispielsweise ist dieEigenschaft ”G ist mehrdeutig“ unentscheidbar. Das bedeutet, dass jeder menschlicheGrammatik-Designer, aber auch automatische Grammatik-Konstruktions-Verfahren aufandere Weise sicherstellen müssen, dass eine neu konstruierte Grammatik nicht versehentlichmehrdeutig wird.Wir geben nun einige unentscheidbare Fragen im Zusammenhang mit kontextfreien <strong>Sprachen</strong>an. Für die Beweise (Auswahl) sei auf die <strong>Vorlesung</strong> ”Algorithmentheorie“ verwiesen.5.8.4 Satz (Schnittproblem, Äquivalenzproblem für L 2 )Folgende Probleme sind unentscheidbar:Gegeben seien zwei kontextfreie Grammatiken G 1 <strong>und</strong> G 2 .(a) Ist L(G 1 ) ∩ L(G 2 ) = ∅?(b) Ist L(G 1 ) = L(G 2 )?5.8.5 Satz (Unentscheidbare Fragen für L 2 )Folgende Probleme sind unentscheidbar:Gegeben sei eine kontextfreie Grammatik G.(a) Ist G mehrdeutig?(b) Ist L(G) inhärent mehrdeutig?(c) Ist L(G) kontextfrei?(d) Ist L(G) deterministisch kontextfrei?(e) Ist L(G) regulär?Wir bemerken, dass die Unentscheidbarkeit sich auf NPDA’s überträgt, da man nachSatz 5.5.1 Grammatiken <strong>und</strong> NPDA’s algorithmisch ineinander umformen kann.Wir benennen noch den Entscheidbarkeitsstatus dreier Fragen zu DPDA’s. Der Statusdes Äquivalenzproblems bildete jahrzehntelang ein (berühmtes) offenes Problem, bis seinStatus 1997 geklärt wurde.200


5.8.6 Satz (Entscheidungsfragen für DPDA’s)(a) (Schnittproblem) Es ist unentscheidbar, ob für gegebene DPDA’s M 1 <strong>und</strong> M 2 gilt,dass L M1 ∩ L M2 = ∅.(b) (Äquivalenzproblem) Es gibt einen Algorithmus, der zu gegebenen DPDA’s M 1<strong>und</strong> M 2 entscheidet, ob L M1 = L M2 gilt. (G. Sénizergues, 1997.)(c) (Regularitätsproblem) Es gibt einen Algorithmus, der zu einem gegebenen DPDAM entscheidet, ob L(M) regulär ist.201

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!