Warum ist 2SAT in P?


55

Ich bin auf den Polynomalgorithmus gestoßen, der 2SAT löst. Ich fand es verblüffend, dass 2SAT in P ist, wo alle (oder viele andere) der SAT-Instanzen NP-Complete sind. Was unterscheidet dieses Problem? Was macht es so einfach (NL-Complete - noch einfacher als P)?


18
Warum denken die Leute, dass dies eine so schlechte Frage ist?
Peter Shor

12
Ein interessanter Aspekt ist, dass, wenn Sie die maximale Anzahl gleichzeitig erfüllbarer Klauseln in einem 2SAT-Ausdruck (dh Max2SAT) kennen möchten, Sie wieder zu NP-complete zurückkehren.
Shaun Harker

11
Dies ist entweder eine schreckliche Frage, weil es keine nützliche Antwort gibt, oder eine fantastische Frage, weil die einzig richtige Antwort "niemand weiß" ist.
Jeffs

12
Bitte lesen Sie den Artikel "Die Komplexität von Erfüllbarkeitsproblemen: Verfeinerung des Schaefer-Theorems".
Diego de Estrada

3
Lieber Guy, die Tatsache, dass 2SAT in P enthalten ist, wird in fast jedem Lehrbuch mit Standardkomplexität behandelt. Wenn Sie also sagen, dass Sie diese Tatsache gerade bemerkt haben, sieht die Frage so aus, als hätten Sie noch nicht einmal ein Standardlehrbuch mit Komplexität gelesen.
Kaveh

Antworten:


88

Hier ist eine weitere intuitive und unprätentiöse Erklärung in Anlehnung an MGwynnes Antwort.

Mit -SAT können Sie nur Implikationen der Form ausdrücken , wobei und Literale sind. Genauer gesagt kann jeder Satz als ein Paar von Implikationen verstanden werden: und . Wenn Sie auf true setzen, muss auch true sein. Wenn Sie setzen auf false, muss auch falsch sein. Solche Implikationen sind einfach: Es gibt keine Wahl, Sie haben nur2abab2l1l2¬l1l2¬l2l1abba1Möglicherweise gibt es keinen Raum für die Multiplikation von Groß- und Kleinschreibung. Sie können einfach jede mögliche Verwicklung Kette folgen und sehen , ob Sie jemals beide ableiten von und von : wenn Sie für einige tun , dann ist die 2-SAT Formel unerfüllbar ist, sonst ist es erfüllbar ist. Es ist der Fall, dass die Anzahl der möglichen Implikationsketten in der Größe der Eingabeformel polynomiell begrenzt ist.¬lll¬ll

Mit -SAT können Sie Implikationen der Form ausdrücken , wobei , und Literale sind. Jetzt stecken Sie in Schwierigkeiten: Wenn Sie auf true setzen, muss entweder oder true sein, aber welches? Sie müssen eine Wahl treffen: Sie haben 2 Möglichkeiten. Hier wird die Multiplikation von Groß- und Kleinschreibung möglich, und hier entsteht die kombinatorische Explosion.3abcabcabc

Mit anderen Worten, SAT kann das Vorhandensein von mehr als einer Möglichkeit ausdrücken, während SAT nicht über diese Fähigkeit verfügt. Gerade das Vorhandensein von mehr als einer Möglichkeit ( Möglichkeiten bei SAT, Möglichkeiten bei SAT) verursacht die typische kombinatorische Explosion von NP-vollständigen Problemen.3223k1k


6
Ich wünschte, ich könnte das mehr befürworten! Eine viel bessere Antwort!
MGwynne

5
@MGwynne: Danke für deinen sehr netten Kommentar. Gern geschehen und Ihre Antwort ist in der Tat sehr gut!
Giorgio Camerani

8
Dies ist eine schöne Antwort auf eine gute Frage (IMHO). Wie Mac Lane geschrieben hat: "Effektive oder knifflige formale Manipulationen werden von Mathematikern eingeführt, die zweifellos eine Leitidee haben - aber es ist einfacher, die Manipulationen zu formulieren, als sie in Worten zu formulieren. ... Eine scharfsinnige Darstellung eines Stücks of Mathematics lässt die Ideen durch die Darstellung von Manipulationen erstrahlen. " Diese spezielle Frage und Antwort hat (für mich) dazu beigetragen, dass "die Ideen durchscheinen". Vielen Dank! :)
John Sidles

4
@ John: Gern geschehen! ;-) Vielen Dank für deinen tollen und großzügigen Kommentar, ich habe ihn sehr geschätzt. Ich konnte den Worten von Mac Lane nicht mehr zustimmen.
Giorgio Camerani

Laut der Antwort von Giorgio Camerani lohnt es sich nicht , ein NP-Problem auf 3SAT zu reduzieren, wenn Sie mehr Dummy-Boolesche Variablen einführen, mehr Klauseln haben und weder Gewinn noch Gewinn haben Schaltung SAT stattdessen, weil Sie in diesen Problemen weniger boolesche Variablen und weniger Klauseln haben und das bedeutet, dass naive Brute-Force-Algorithmen, Karnaugh-Maps und Quine-McClusky-Algorithmus eine bessere Komplexität haben: D.
Abschiedsstapelaustausch

31

Betrachten Sie die Auflösung einer 2-SAT-Formel. Jedes Resolvent hat eine Größe von höchstens 2 (beachten Sie, dass wenn für Klauseln der Länge und resp). Die Anzahl der Klauseln der Größe 2 ist in der Anzahl der Variablen quadratisch. Daher ist der Auflösungsalgorithmus in P.n , m 2 n mn+m22n,m2nm

Sobald Sie 3-SAT erreicht haben, können Sie immer größere Auflösungen erhalten, so dass alles birnenförmig wird :).

Versuchen Sie, ein Problem in 2-SAT zu übersetzen. Da Sie keine Klauseln der Größe 3 haben können, können Sie (im Allgemeinen) keine Implikationen codieren, die drei oder mehr Variablen betreffen, zum Beispiel, dass eine Variable das Ergebnis einer Binäroperation für zwei andere ist. Dies ist eine enorme Einschränkung.


3
"Sie können Dinge wie Implikation nicht kodieren" - IMP-SAT ist auch in P (und ich denke NL)
Max

8
¬ p qpq ist nur . ¬pq
Kaveh

1
Kaveh, guter Punkt, jetzt behoben.
MGwynne

Wie ich bereits sagte, wenn Sie Ihr beliebiges NP-Problem auf Boolean Satisfiability oder Circuit SAT oder CNF SAT reduziert haben , reduzieren Sie das Problem nicht auf 3SAT, da das Problem mit mehr booleschen Variablen und Klauseln noch schwieriger und komplexer wird. Selbst der Auflösungsalgorithmus wird in dem neuen Problem weniger effizient!
Farewell Stack Exchange

20

Wie Walter sagt, haben 2-SAT-Klauseln eine besondere Form. Dies kann ausgenutzt werden, um schnell Lösungen zu finden.

Es gibt tatsächlich mehrere Klassen von SAT-Instanzen, die in Polynomialzeit entschieden werden können, und 2-SAT ist nur eine dieser verfolgbaren Klassen . Es gibt drei Hauptgründe für die Rückverfolgbarkeit:

  1. (Strukturelle Traktierbarkeit) Jede Klasse von SAT-Instanzen, in denen die Variablen baumartig interagieren, kann in Polynomzeit gelöst werden. Der Grad des Polynoms hängt von der maximalen Breite der Instanzen in der Klasse ab, wobei die Breite misst, wie weit eine Instanz von einem Baum entfernt ist. Genauer gesagt zeigte Marx, dass, wenn die Instanzen eine begrenzte submodulare Breite haben, die Klasse in Polynomzeit unter Verwendung eines Divide-and-Conquer-Ansatzes bestimmt werden kann.

  2. (Sprachverfolgbarkeit) Jede Klasse von SAT-Fällen, in denen das Muster von wahr-falsch-Variablen "schön" ist, kann in Polynomzeit gelöst werden. Genauer gesagt definiert das Muster der Literale eine Sprache der Beziehungen, und Schäfer klassifizierte die sechs Sprachen, die zur Nachvollziehbarkeit führen, jeweils mit einem eigenen Algorithmus. 2-SAT bildet eine der sechs Schaefer-Klassen.

  3. (Hybrid Tractability) Es gibt auch einige Klassen von Instanzen, die nicht in die anderen beiden Kategorien fallen, die jedoch aus anderen Gründen in Polynomialzeit gelöst werden können.

    • Dániel Marx, Tractable Hypergraph Properties für Constraint-Zufriedenheit und Conjunctive Queries , STOC 2010. ( Doi , Preprint )
    • Thomas J. Schaefer, Die Komplexität von Erfüllbarkeitsproblemen , STOC 1978. ( doi )

2
Es gibt auch Argumente basierend auf der Struktur des Lösungsraums aus der zufälligen k-SAT-Literatur, die verwendet werden können, um den Unterschied zu erklären.
Kaveh

3
@Kaveh: Meine Beschreibung der hybriden Traktabilität sollte vage genug sein, um solche Dinge zu erfassen. Zum Beispiel kann man für sehr spezielle Arten von Fällen ein Argument für die Erfüllbarkeit auf der Grundlage des Lovász Local Lemma vorbringen. Siehe die Umfrage von Pearson und Jeavons von 1997: cs.ox.ac.uk/publications/publication1610-abstract.html
András Salamon

3
Beachten Sie auch, dass SAT der Spezialfall des Problems der Einschränkungserfüllung ist, bei dem jede Variable 2 Werte annehmen kann. Wenn Variablen 3 Werte annehmen können, gibt es 10 nachvollziehbare Sprachklassen, die von Andrei Bulatov klassifiziert werden: cs.sfu.ca/~abulatov/papers/3-el-journal.ps Hybridklassen sind auch für größere Domänen interessanter.
András Salamon

10

Wenn Sie den Algorithmus für 2SAT verstehen, wissen Sie bereits, warum er in P ist - genau das demonstriert der Algorithmus. Ich denke, dieser Comic illustriert meinen Standpunkt. Da Sie bereits wissen, warum 2SAT in P enthalten ist, möchten Sie wahrscheinlich wissen, warum 2SAT nicht NP-hart ist.

Um zu verstehen, warum 2SAT nicht NP-schwer ist, müssen Sie überlegen, wie einfach es ist, andere NP-Probleme darauf zu reduzieren. Um dies intuitiv zu verstehen, schauen Sie sich an, wie SAT auf 3SAT reduziert werden kann, und versuchen Sie, die gleichen Techniken anzuwenden, um SAT auf 2SAT zu reduzieren. 2SAT ist einfach nicht so ausdrucksstark wie 3SAT und andere SAT-Varianten.

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.