Wie kann man beweisen, dass eine eingeschränkte Version von 3SAT, in der kein Literal mehr als einmal vorkommen kann, in Polynomzeit lösbar ist?

10

Ich versuche, eine Aufgabe zu erarbeiten (entnommen aus dem Buch Algorithmen - von S. Dasgupta, CH Papadimitriou und UV Vazirani , Kapitel 8, Problem 8.6a), und paraphrasiere, was darin steht:

Angesichts der Tatsache, dass 3SAT auch dann NP-vollständig bleibt, wenn es auf Formeln beschränkt ist, in denen jedes Literal höchstens zweimal vorkommt, zeigen Sie, dass das Problem in Polynomzeit lösbar ist, wenn jedes Literal höchstens einmal vorkommt.

Ich habe versucht, dies zu lösen, indem ich die Klauseln in mehrere Gruppen unterteilt habe:

  1. Klauseln, die keine Variable mit den übrigen Klauseln gemeinsam hatten
  2. Klauseln, die nur 1 Variable gemeinsam hatten
  3. Klauseln, die 2 Variablen gemeinsam hatten
  4. Klauseln, die alle 3 Variablen gemeinsam hatten

Meine Argumentation wurde in der Richtung versucht, dass die Anzahl solcher Gruppen endlich ist (aufgrund der auferlegten Einschränkung, dass kein Literal mehr als einmal vorhanden ist), und wir könnten versuchen, zuerst die am stärksten eingeschränkte Gruppe zu befriedigen (Gruppe 4) und dann die zu ersetzen führen zu den weniger eingeschränkten Gruppen (3, 2 und dann 1), aber ich erkannte, dass dies mich nicht ganz weiter brachte, da dies nicht viel von dem Fall für die eingeschränkte Version von 3SAT abweicht, in der jedes Literal erscheinen kann höchstens zweimal, was sich als NP-vollständig erwiesen hat.

Ich habe versucht, online nach Hinweisen / Lösungen zu suchen, aber alles, was ich bekommen konnte, war dieser Link , in dem der angegebene Hinweis für mich keinen ausreichenden Sinn ergab, den ich hier wörtlich wiedergebe:

Hinweis: Da jedes Literal höchstens einmal vorkommt, konvertieren Sie dieses Problem in ein 2SAT-Problem - daher Polynomzeit, wenn ein Literal in Klausel und ein Komplement von (dh ) in Klausel , konstruieren Sie eine neue Klausel Klausel .xiCjxi CkCj ¯ C kxi¯CkCjCk¯

Sowohl als auch haben jeweils drei Literale - ich habe nicht verstanden, wie ich es in 2SAT konvertieren soll, indem ich (oder wenn ich es falsch gelesen habe) .C k C j¯ C k ¯ C jC kCjCkCjCk¯CjCk¯

Jede Hilfe beim Entschlüsseln des Hinweises oder beim Bereitstellen eines Pfades, den ich erkunden kann, wäre sehr dankbar.

TCSGrad
quelle

Antworten:

12

Ohne Verlust der Allgemeinheit können wir davon ausgehen, dass jede Variable genau einmal positiv und genau einmal negativ erscheint (wenn eine Variable nur einmal erscheint, setzen Sie ihren Wert, um die Klausel zu erfüllen und die Klausel zu entfernen). Wir können auch davon ausgehen, dass eine Variable in einer Klausel nicht mehr als einmal vorkommt (wenn eine Variable in einer Klausel sowohl positiv als auch negativ vorkommt, ist die Klausel erfüllt und kann entfernt werden). Diese werden die Erfüllbarkeit nicht verändern.

Verwenden Sie nun die Auflösungsregel , um die Variablen einzeln zu entfernen (da jede Variable genau einmal positiv und einmal negativ erscheint, ist dies ein deterministischer Prozess). Wenn wir zu irgendeinem Zeitpunkt die leere Klausel erhalten, ist die Menge der Klauseln nicht zufriedenstellend, andernfalls ist sie erfüllt. Das ist weil:

  • Die Auflösung ist ein vollständiges aussagekräftiges Beweissystem (dh wenn eine Klausel durch den Satz von Klauseln logisch impliziert wird, kann sie nur unter Verwendung der Auflösungsregel aus dem Satz von Klauseln abgeleitet werden).

  • Eine Reihe von Klauseln ist unbefriedigend, wenn sie die leere Klausel logisch impliziert.

Dieser Algorithmus benötigt Polynomzeit, da jede Variable genau einmal aufgelöst wird. Insbesondere wird durch jeden Beschlussantrag die Gesamtzahl der Klauseln um eins verringert, sodass sich die Anzahl der Klauseln nicht erhöht. Wenn Sie beispielsweise die Auflösung auf anwenden, erhalten Sie , die eine Klausel weniger enthält als vor der Auflösung. Wenn Sie dies dagegen auf eine 3SAT-Formel anwenden, ohne die Anzahl der Auftritte jedes Literals einzuschränken, kann das Anwenden der Auflösung dazu führen, dass die Anzahl der Klauseln exponentiell zunimmt.( B C ) (xB)(x¯C))(BC)

Kaveh
quelle
3
Zusammenfassung der Wikipedia - Artikel: und bedeuten . (OK, nicht wirklich eine Zusammenfassung.)¬ a C B C.aB¬aCBC
Rgrig
1
Man muss auch sicherstellen, dass die Invariante auch nach Verwendung der Auflösung noch gilt. Nach diesem Schritt behält die SAT-Instanz (beachten Sie, dass es sich nicht mehr um 3SAT handelt) die Eigenschaft bei, dass jedes Literal genau einmal positiv und einmal negativ auftritt. Dies zeigt auch, dass die 3SAT-Einschränkung in der Frage nicht notwendig war; Die Auflösung der Einheiten funktioniert für jede SAT-Instanz, die die Grad-2-Beschränkung erfüllt. Kurz gesagt: Die Auflösung der Einheit löst Grad-2-SAT in linearer Zeit.
András Salamon
Ich verstehe den letzten Teil nicht. Warum werden die Klauseln im normalen 3SAT exponentiell zunehmen?
Parth Tamane