Ist SAT eine kontextfreie Sprache?


12

Ich bin die Sprache aller erfüllbar Propositionslogik Formeln unter Berücksichtigung, SAT (um sicherzustellen , dass dies eine endliche Alphabet hat, würden wir propositionaler Buchstaben in geeigneter Weise kodieren [edit: die Antworten darauf hingewiesen , dass die Antwort auf die Frage nicht robust unter sein kann Da die Kodierungen variieren, muss man genauer sein - siehe meine Schlussfolgerungen weiter unten] ). Meine einfache Frage ist

Ist SAT eine kontextfreie Sprache?

Meine erste Vermutung war, dass die heutige Antwort (Anfang 2017) lauten sollte: "Niemand weiß, da dies ungelöste Fragen in der Komplexitätstheorie betrifft." Dies ist jedoch nicht wirklich wahr (siehe Antwort unten), obwohl es auch nicht völlig falsch ist. Hier ist eine kurze Zusammenfassung von Dingen, die wir kennen (beginnend mit einigen offensichtlichen Dingen).

  1. SAT ist nicht regulär (da auch die Syntax der Aussagenlogik aufgrund übereinstimmender Klammern nicht regulär ist)
  2. SAT ist kontextsensitiv (es ist nicht schwer, eine LBA dafür zu vergeben)
  3. SAT ist NP-vollständig (Cook / Levin) und wird insbesondere von nicht deterministischen TMs in der Polynomzeit bestimmt.
  4. SAT kann auch von nichtdeterministischen Einweg-Stapelautomaten (1-NSA) erkannt werden (siehe WC-Runden, Komplexität der Erkennung in Sprachen der Mittelstufe , Switching and Automata Theory, 1973, 145-158 http://dx.doi.org/ 10.1109 / SWAT.1973.5 )
  5. Das Wort Problem für kontextfreie Sprachen hat eine eigene Komplexitätsklasse (siehe https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cfl )CFL
  6. , wobei LOGCFL die auf CFL reduzierbare Klasse von Problemen ist(siehehttps://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#logcfl). Es ist bekannt, dass NLLOGCFL .CFLLOGCFLAC1LOGCFLCFLNLLOGCFL
  7. Es ist nicht bekannt, ob oder NL = NP (in der Tat ist sogar NC 1 open PH offen; ich glaube, ich habe dies von S. Arora, B. Barak erhalten: Computational Complexity: A Modern Approach ; Cambridge University Press 2009) . Daher kann es kein NP- vollständiges Problem geben, von dem bekannt ist, dass es nicht in LOGCFL vorhanden ist . Daher muss unbekannt sein, ob SAT in LOGCFL ist .NLNPNL=NPNC1PHNPLOGCFLLOGCFL

Dieser letzte Punkt lässt jedoch immer noch die Möglichkeit offen, dass SAT bekanntermaßen nicht in der . Im Allgemeinen konnte ich nicht viel über die Beziehung von CFL zur NC- Hierarchie herausfinden , was dazu beitragen könnte, den epistemischen Status meiner Frage zu klären.CFLCFLNC

Bemerkung (nachdem ich einige erste Antworten gesehen habe): Ich erwarte nicht, dass die Formel in konjunktiver normaler Form vorliegt (dies wird keinen Unterschied zum Wesen der Antwort machen, und normalerweise gelten immer noch Argumente, da ein CNF auch eine Formel ist behaupten, dass die Konstante-Anzahl-von-Variablen-Version des Problems regelmäßig ist, schlägt fehl, da man Klammern für die Syntax benötigt.).

Fazit: Entgegen meiner von der Komplexitätstheorie inspirierten Annahme kann man direkt zeigen, dass SAT nicht kontextfrei ist. Die Situation ist daher:

  1. Es ist bekannt , dass SAT ist nicht kontextfrei (mit anderen Worten: SAT nicht in ist ), unter der Annahme , dass man eine „direkte“ Codierung verwendet der Formeln in denen Aussagenvariablen durch Binärzahlen gekennzeichnet sind (und einige weitere Symbole verwendet werden , für Betreiber und Abscheider).CFL
  2. Es ist nicht bekannt, ob SAT in LOGCFL , aber "die meisten Experten glauben", dass dies nicht der ist, da dies implizieren würde . Dies bedeutet auch, dass es nicht bekannt ist, ob andere "vernünftige" Kodierungen von SAT kontextfrei sind (vorausgesetzt, wir würden Logspace als akzeptablen Kodierungsaufwand für ein NP-hartes Problem betrachten).P=NP

Beachten Sie, dass diese beiden Punkte nicht implizieren . Dies kann direkt gezeigt werden, indem gezeigt wird, dass es Sprachen in L (daher in LOGCFL ) gibt, die nicht kontextfrei sind (z. B. a n)CFLLOGCFLLLOGCFL ).anbncn


Wenn ja, dann ist P = NP.
Ryan

1
Wenn SAT kontextfrei wäre, würde die dynamische Programmierung (der CYK-Algorithmus) einen polynomiellen Zeitalgorithmus zum Testen der Zugehörigkeit zu SAT ergeben, was P = NP ergibt. Selbst P = NP würde nicht bedeuten, dass SAT kontextfrei ist. Diese Kodierung von Variablen scheint wichtiger zu sein, als Sie es zu schätzen wissen. Ich habe die Details nicht ausgearbeitet, aber wenn Sie unäre oder binäre "Indizes" zu den Variablen hinzugefügt haben, haben Sie meiner Meinung nach Probleme, (x und y) von (x und nicht x) für ausreichend große Indizes zu unterscheiden.
AdamF

Sie müssen die Darstellung genau kennen, bevor Sie P = NP-Schlussfolgerungen ziehen. Zum Beispiel ist die Faktorisierung einer Zahl N eine Polynomzeit in N (die interessante Frage betrifft die Anzahl der Bits, die zum Schreiben von N in Binärform benötigt werden, oder log N).
Aryeh

Ich war mir der Schlussfolgerung von P = NP bewusst und dass die Antwort daher nicht "Ja" lauten sollte (entschuldige, dass ich ein wenig provokativ war, wie ich das formuliert habe ;-). Ich habe mich immer noch gefragt, ob dies wirklich bekannt ist oder nur etwas, was "die meisten Experten glauben" (die Antworten zeigen jetzt deutlich, dass ersteres zutrifft; ich werde eines zu gegebener Zeit auswählen).
Mak

Antworten:


7

Nur ein alternativer Beweis mit einer Mischung bekannter Ergebnisse.

Nehme an, dass:

  • Variablen werden mit dem regulären Ausdruck d = ( + | - ) 1 ( 0 | 1 ) ausgedrücktd=(+|)1(0|1)
  • und dass die ( reguläre ) Sprache (über die zur Darstellung von CNF-Formeln verwendet wird, ist: S = { d + ( d + ) ( ( d + ( ∨) d + ) ) ) } ; Beachten Sie nur, dass S alle gültigen CNF-Formeln bis zur Variablenumbenennung erfasst.Σ={0,1,+,,,})S={d+(d+)((d+(d+)))}S

Zum Beispiel wird folgt geschrieben: s φ = + 1 + 10 - 11 S (der Operator hat Vorrang vor ∧)φ=(x1x2)x3sφ=+1+1011S ).

Angenommen, st die entsprechende Formel φ ist erfüllbar }L={sφSφ} ist CF.

Wenn wir schneiden sie mit der regulären Sprache: wir noch eine CF Sprache erhalten. Wir können auch den Homomorphismus anwenden: h ( + ) = ϵ , h ( - ) = ϵ und die Sprache bleibt CF.R={+1a1b1ca,b,c>0}h(+)=ϵh()=ϵ

Aber die Sprache, die wir erhalten, ist: , denn wenn a = b, dann ist die "Quellen" -Formel + x a- x a- x b, was nicht befriedigend ist (ähnlich wenn a = c ). Aber L ' ist eine bekannte Nicht-CF-Sprache Widerspruch.L={1a1b1cab,ac}a=b+xaxaxba=cL


Ich habe diese Antwort jetzt akzeptiert, da es noch ein offenes Problem mit dem anderen Ansatz gibt (siehe Kommentare), und ich mag das etwas grundlegendere Argument. Es mag nett sein zu betonen, dass das Argument spezifisch für die gewählte Codierung ist und es in der Tat unbekannt ist, ob man eine andere einfache (logspace) Codierung finden kann, die zu einer kontextfreien Sprache führt.
Mak

1
@mak: Ich vermute, dass jede andere "vernünftige" Kodierung von SAT mit einer ähnlichen Technik als nicht-CF erwiesen werden kann. Vielleicht wäre eine andere interessante Richtung zu untersuchen, ob wir irgendeine Art von Diagonalisierung anwenden können, um einen allgemeineren Beweis zu erhalten: Die SAT-Formel codiert eine Berechnung, die ein Herunterdrücken von Automaten für eine bestimmte Eingabe simuliert, und ist dann und nur dann erfüllbar, wenn dies nicht der Fall ist. ' Ich akzeptiere es nicht. Aber es ist nur eine unscharfe Idee ...
Marzio De Biasi

Überprüfen Sie, ob eine Zeichenfolge in einer regulären Sprache vorliegt. Dann ist NP = coNP. L sei in Reg. Betrachten Sie die Formel, die wahr ist, wenn sie nicht in L ist. Sie ist in NP, sodass sie als SAT-Formel ausgedrückt werden kann. Es ist in der Sprache, wenn es nicht ist.
Kaveh

5

Wenn die Anzahl der Variablen endlich ist, ist auch die Anzahl der erfüllbaren Konjunktionen endlich (und daher regelmäßig). [Bearbeiten: Diese Behauptung nimmt das CNFSAT-Formular an.]

Ansonsten stimmen wir zu, Formeln wie mit ( 17 + ~ zu codieren(x17¬x21)(x1x2x3) . Wir werdenOgdens Lemma verwenden, um zu beweisen, dass die Sprache aller erfüllbaren Konjunktionen nicht kontextfrei ist.(17+~21)(1+2+3)

Sei die "Markierungs" -Konstante in Ogdens Lemma und betrachte eine Sat-Formel w, deren erster Satz aus ( 1 p ) besteht - das heißt, die Kodierung von ( x N ) , wobei N die Dezimalzahl ist, die aus p besteht Einsen. Wir markieren die p von 1 p und fordern dann, dass alle Pumpungen der entsprechenden Zerlegung von w (siehe die Schlussfolgerung von Ogdens Lemma) auch erfüllbar sind. Aber wir können dies leicht blockieren, indem wir verlangen, dass keine Klausel x q enthält , wobei q eine Folge von istpw(1p)(xN)Npp1pwxqq kürzer als p , sei erfüllbar - zum Beispiel indem sichergestellt wird, dass jede zweite Klausel von w eine Negation von jedem solchen x q hat . Dies bedeutet, dass w die Eigenschaft "negatives Pumpen" nicht erfüllt, und wir schließen daraus, dass die Sprache nicht kontextfrei ist. [Anmerkung: Ich habe die trivialen Fälle ignoriert, in denen das Pumpen schlecht geformte Saiten erzeugt.]1pwxqw


Hinweis: In meiner Behauptung, dass die Sprache für eine endliche Anzahl von Variablen endlich ist, lehne ich implizit ab, eine Variable innerhalb eines Satzes oder eines Satzes viele Male unbegrenzt zu wiederholen
Aryeh

... Aber ich denke, die Sprache ist immer noch regelmäßig, weil man die endliche Sammlung von "im Wesentlichen verschiedenen" (dh ohne triviale Wiederholungen) Formeln nimmt und dann die verschiedenen Wiederholungen zulässt.
Aryeh

Der Anspruch mit der Regelmäßigkeit funktioniert nur für CNFSAT (ich habe meine Frage geklärt).
mak

4
Selbst bei willkürlichen Nicht-CNF-Formeln in endlich vielen Variablen ist die Erfüllbarkeit (und jede Sprache, die zwei logisch äquivalente Formeln nicht unterscheiden kann) leicht als kontextfrei anzusehen. Die Relevanz sehe ich jedoch nicht. Die Erfüllbarkeit von Formeln in endlich vielen Variablen ist ein triviales Problem, das nichts mit der Komplexität von SAT zu tun hat.
Emil Jeřábek unterstützt Monica am

1
|xyz|
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.