Frage

Ich möchte nach Intuition bitten, den Unterschied zwischen einem CFG-Generieren von $ \ Sigma ^ * $ und einer regulären Grammatikgenerierung $ \ Sigma ^ * $ .. Ich habe die Beispiele hier von SIPSER erhalten. Lassen Sie $ ALL_ {CFG} $ Siehe in der Sprache, dass ein bestimmter CFG $ \ Sigma ^ * $ generiert wird. , und lassen Sie $ ALL_ {REX} $ Siehe in der Sprache, dass ein bestimmter regulärer Ausdruck $ \ Sigma ^ * $ erzeugt / span> (und da für jeden regulären Ausdruck eine regelmäßige Grammatik gibt, können wir auch sagen, dass die äquivalente reguläre Grammatik $ \ Sigma ^ * $ ) generiert.

von dem, was ich bekommen habe, wir haben:

  • $ ALL_ {CFG} $ ist nicht entschieden, sondern auch nicht erkennbar. Lassen Sie $ \ Overline {A_ {TM}} $ Siehe in der Sprache, dass ein TM $ M $ tut Eingabeswort nicht akzeptieren $ W $ . Wir können $ \ Overline {A_ {TM}} $ auf $ ALL_ {CFG} $ in Polynomial reduzieren Zeit mit Berechnungshistorien. Die Reduktion konstruiert ein CFG, der alle möglichen Wörter erzeugt, in denen: 1) die ersten Zeichen nicht mit $ W $ , 2) die letzten Zeichen übereinstimmen, die nicht mit der Annahme von Konfigurationen übereinstimmen, und 3) Zeichen entsprechen nicht zu gültigen Übergängen von $ M $ 's Konfigurationen. Somit wird $ A_ {TM} $ nicht akzeptiert $ W $ ifef Die CFG generiert $ \ Sigma ^ * $ (dh es gibt keine akzeptierende Rechenhistorien). Da die Reduzierkarten $ \ Overline {A_ {TM}} $ in $ ALL_ {CFG} $ , und $ \ Overline {A_ {TM}} $ ist nicht turnierende erkennbare, $ ALL_ {CFG} $ Turniert nicht erkennbar.

  • $ ALL_ {REX} $ ist entschieden, da sie entschieden wird, wenn ein endlicher Automaton $ \ Sigma akzeptiert ^ * $ . Das Akzeptanzproblem für jede reguläre Sprache $ R $ kann jedoch auf die Sprache $ ALL_ {REX} - f auf Polynom reduziert werden (R_M) $ , wobei $ r_m $ ein TM ist, der entscheidet, dass $ R $ , und $ F (R_M) $ ist eine ähnliche Reduzierung der Berechnungsgeschichte wie oben beschrieben. Darüber hinaus ist $ F (R_M) $ die reguläre Grammatik, die alle möglichen Wörter erzeugt, in denen 1) die ersten Zeichen nicht mit $ W $ , 2) Die letzten Zeichen stimmen nicht mit Ablehnungskonfigurationen überein, und 3) Zeichen entsprechen nicht zu gültigen Übergängen von $ R_M $ Konfigurationen. Der Decider für $ ALL_ {REX} - F (R_M) $ prüft, ob es leer ist (was bedeutet, dass $ F ( R_M) $ ist gleich $ \ sigma ^ * $ ). Wenn leer, dann gibt es keine abgelehnenden Berechnungshistorien und $ W \ in R $ . (In Sipser nutzte er so etwas, um Expspace-Vollständigkeit für $ ALL_ {REX} - F (R_M) $ )

Ich möchte fragen:

Von oben könnten sowohl regelmäßige Grammatiken als auch CFG Berechnungshistorien eines TM generieren, und beide könnten $ \ Sigma ^ * $ erstellen. Was ist jedoch mit der grundlegenden Macht der Grammatik der CFG, die es zur Verringerung der $ \ Overline {A_ {TM}} $ auf $ ALL_ {CFG} $ , aber es ist nicht möglich, dass $ \ Overline {A_ {TM}} $ auf $ ALL_ {REX} - F (A_ {TM}) $ ? Ich weiß, dass wir $ \ Overline {A_ {TM}} $ auf $ ALL_ {REX} - F (A_ {TM}) $ Da $ ALL_ {REX} - F (A_ {TM}) $ decidable, während $ \ Overline {A_ {TM}} $ ist nicht turnierende ... aber ich möchte dies in Bezug auf den Unterschied in Bezug auf die Erzeugung von Macht zwischen CFGs und regulären Grammatiken über ihre Regeln verstehen.

Beispielsweise, von dem von dem, was ich lese, CFGs erlaubt, die Regeln zuzulassen $ a \ rightarrow BC $ , wobei $ B $ und $ C $ sind Saiten von Variablen und Terminals. Andererseits erlaubt regelmäßige Grammatiken nur Regeln in Form von

-container "> $ A \ Rightarrow AB $ , wobei $ A $ ein Terminal ist. Ich möchte fragen: Warum die Regeln des Formulars $ a \ rightarrow BC $ an eine Grammatik, geben Sie es ausreichend Stromerzeugung, so dass es bereits gültig ist, um $ \ Overline zu reduzieren{A_ {TM}} $ an die Grammatik (dh an der CFG).

War es hilfreich?

Lösung

Ihre Zusammenfassung des Nachweiss der Unnachgiebigkeit ist nicht genau. Ihre Spezifikation von $ \ Overline {A_ {TM}} $ ist nicht korrekt.

Für eine vernünftige Darstellung des Beweises, siehe https://liacs.leidenuniv .NL / COOOGEBOOMHJ / Sekunde / CodingComputation.pdf Insbesondere der Beginn des Abschnitts 1 und des Abschnitts 3.

Die Intuition ist nicht leicht zu vermitteln, da der Beweis nicht völlig trivial ist. Aber hier ist die Kerntakt. Lassen Sie $ V, W $ zwei Konfigurationen einer Turingmaschine sein. Schreiben Sie $ n (v) $ , um die nächste Konfiguration der Turing-Maschine nach einem einzigen Schritt der Berechnung zu sein, wenn Sie bei der Konfiguration $ V $ . Definieren Sie die Sprache

$$ l={v \ # w ^ r \ mid n (v) \ ne w \}. $$

Dann ist die Tatsache, dass $ L $ kontextfrei ist. Dies dauert etwas Beweis. Beweis, dass dies ein Schlüsselschritt im Beweis ist. Das ist jedoch die Antwort auf Ihre Frage: $ L $ ist kontextfrei, aber nicht regelmäßig. Infolgedessen können wir das Haltingproblem auf $ ALL_ {CFG} $ jedoch nicht auf $ ALL_ {REX} $ reduzieren .

Ich habe viele Schritte übersprungen, um Ihnen einen Überblick über die Hauptidee zu geben. Sie müssen den Vollnachweis lesen, um die Details auszufüllen. Ich schlage vor, dass Sie den Nachweis mit dieser Perspektive als nächstes lesen und verstehen, und besuchen Sie dann, was ich hier geschrieben habe. Hoffentlich hilft Ihnen, zu verstehen, warum der Beweis für kontextfreie Sprachen gilt, jedoch für regelmäßige Sprachen versagen würde.

Andere Tipps

Der Unterschied zwischen den Modellen stammt intuitiv aus der Fähigkeit von CFGs bis count . Genauer gesagt, können CFGs Saiten des Formulars $ A ^ NB ^ N $ , wobei die Anzahl der $ a $ 's und $ B $ ist das gleiche.

Diese Fähigkeit gewährt es die Kraft, Saiten zu vergleichen, die dann verwendet werden kann, um die Unentschlossenheit zu zeigen, da die CFG den Inhalt eines Bands zwischen zwei aufeinander folgenden Konfigurationen vergleichen kann.

Dies wird etwas offensichtlicher, wenn Sie daran erinnern, dass das anhaltende Problem für zweizählermaschinen (Minsky-Maschinen) unentscheidbar ist. Dort wird eine Konfiguration durch die Werte von zwei Zähler angegeben. Sie können dies als TM mit einer Art Unary-Alphabet (obwohl nicht genau). In zwei Zählermaschinen, in denen zwei aufeinanderfolgende Konfigurationen den Vergleich der Werte der Zähler in aufeinanderfolgenden Schritten mit dem Vergleich der Werte in aufeinanderfolgenden Schritten, der die Gasse für CFGs auf den Vergleich zu vergleichen ist.

Im Gegensatz dazu werden regelmäßige Sprachen von Finite State Automata erfasst, die einen endlichen Gedächtnis haben und nur bis zu einer festen Zahl zählen können. Somit können diese Automaten ein TM simulieren, solange die Länge einer Konfiguration im Voraus begrenzt ist. Warum gibt das uns PSPACE-Härte? Nun, Sie können jedes tm simulieren, das in begrenzten Speicherplatz arbeitet, es muss nicht in der Eingabe Polynom sein. Um jedoch die Reduktion selbst als Polynom zu sein, benötigen Sie jedoch das, um Polynom zu sein. So erhalten Sie genau PSPACE-Härte.

In Bezug auf den "Typ" der Regeln ist es nicht so sehr, dass der $ a \ to bc $ Regeln, die ein Problem sind, es ist mehr in den Regeln der Formular $ A \ bis AAB $ (oder allgemein, die Möglichkeit, cyclic -Regeln) zu haben. Der Grund ist, dass $ a \ to bc $ eine "Baumstruktur" hat, und wenn $ B $ und $ C $ sind später nicht bezogen, dann ist dies effektiv eine Gewerkschaftsoperation, die regelmäßige Sprachen simulieren können.

jedoch eine Regel des Formulars $ A \ bis AAB $ unterhält den "Kontext" $ A $ , was Normalsprachen nicht tun können.

Zusammenfassend:

semantisch liegt die Kraft von CFGs in ihrer Fähigkeit, zu zählen.

syntaktisch liegt die Leistung von CFGs in zyklischen Regeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top