Transformieren Sie einen CNF in einen äquivalenten 3-CNF, der für dieselben Variablen definiert ist


8

(Ich habe diese Frage vor zehn Tagen auf CS gepostet , seitdem keine Antwort mehr - also poste ich sie hier.)

Jede CNF-Formel kann in Polynomzeit unter Verwendung neuer Variablen in eine 3-CNF-Formel umgewandelt werden. Es ist nicht immer möglich, wenn neue Variablen nicht zulässig sind (nehmen Sie zum Beispiel die Einzelklauselformel: ).(x1x2x3x4)

Definieren wir das Problem (SAT bis 3-SAT): Gegeben ist , eine CNF-Formel. Ist es möglich, in einen äquivalenten 3-CNF umzuwandeln, der auf denselben Variablen wie ? - wobei "äquivalent" mit demselben Modellsatz bedeutet.FFF

Was ist die Komplexität dieses Problems?


Mit Äquivalent meinen Sie gleichwertig, nehme ich an?
Jan Johannsen

1
Eher "mit dem gleichen Satz von Modellen".
Xavier Labouze

fyi tseitin Transformation ist der Name für die Transformation von -SAT bis 3-SAT unter Verwendung von zusätzlichen Vars. Ihre Frage scheint so etwas wie die Frage nach der Existenz eines Komprimierungsalgorithmus für SAT zu sein. Es hört sich so an, als wollten Sie die gleichen Lösungen, indem Sie die Klauseln auf 3 oder weniger Variablen kürzen. von EE bezieht sich dies auf die Aufzählung aller Zwischenzeiten und das Auffinden minimaler Deckungen und die Frage, ob welche vorhanden sind, die den Kriterien entsprechen (in diesem Fall alle Klauseln 3 oder weniger vars). es scheint eine potenziell hohe Komplexität zu haben. n
VZN

Vielleicht ist es Co-NP-vollständig: Wählen Sie eine 3CNF-Formel , erstellen Sie eine neue Formel mit 4 neuen Variablen . hat eine 3CNF-äquivalente Formel für dieselben Variablen, wenn und nur wenn nicht erfüllt werden kann. φ=C1...Cnφ=(y1y2y3y4)C1...Cny1,...,y4φφ
Marzio De Biasi

@MarzioDeBiasi. Nett ! Ich bin mir jedoch nicht sicher, ob es ausreicht, die Vollständigkeit des Co-NP zu beweisen (irgendwie erwarte ich eine höhere Komplexität, aber es ist nur eine Intuition ...)
Xavier Labouze,

Antworten:


6

(Aus dem obigen Kommentar) Das Problem scheint coNP-schwer zu sein; Die einfache Reduktion stammt von 3CNF-UNSAT (das coNP-vollständig ist): Wenn eine 3CNF-Formel , erweitern Sie sie um eine neue Klausel mit 4 neuen Variablen:φ=C1...Cm

φ=(y1y2y3y4)C1...Cm

φ hat eine äquivalente 3CNF-Formel, die genau dann für dieselben Variablen definiert ist, wenn die ursprüngliche Formel zufriedenstellend ist.φ

( ) Die 3CNF-Formel entspricht(y1y2y3)(y1y2y4)C1...Cmφ

( ) Angenommen, hat eine äquivalente 3CNF-Formel und ist erfüllbar. Wählen Sie eine zufriedenstellende Zuordnung von und vereinfachen Sie sowohl als auch indem Sie die Variablen durch die entsprechende Wahrheit ersetzen Werte . Wir erhalten was genau dann , wenn erfüllt werden kann (beide enthalten nur Variablen ). OffensichtlichφφφX=x˙1,...,x˙nφφφxix˙iφXφXyiφX=(y1y2y3y4). Jede Klausel von enthält höchstens drei Variablen, sodass wir eine davon auswählen können, z. B. , und daraus eine zufriedenstellende Zuordnung für : erstellen können was für keine zufriedenstellende Zuordnung ist , was zu a führt Widerspruch.φX(y1¬y2y3)φy1=false,y2=true,y3=false,y4=true,x˙1,...,x˙nφ


Tks für die Antwort. Ich verstehe das : Ich hätte gesagt, wenn unbefriedigend ist, ist es auch , was dann der leeren Klausel (Größe 0) entspricht. Wenn Sie für ) nur denken, wenn , dann ist äquivalent zu ...()φφ(φ=(x¬x)(y1y2y3y4)(x¬x)(y1y2x)(y3y4¬x)
Xavier Labouze

@ XavierLabouze: Ja, dein scheint besser zu sein. In ( gehe ich davon aus, dass es ein äquivalentes 3CNF , und leite dann einen Widerspruch aus der Annahme ab, dass das ursprüngliche erfüllbar ist. Glaubst du, es ist falsch? ())φφ
Marzio De Biasi

Sie haben Recht - ich habe mich geirrt, als ich angegeben habe, dass die gleichen Modelle hat wie . (y1y2y3y4)(x¬x)(y1y2x)(y3y4¬x)
Xavier Labouze

Haben Sie bemerkt, dass gleich ? Können Sie dies erklären: "Wir erhalten das genau dann , wenn erfüllt werden kann", als Sie hinzufügen "(beide enthalten nur Variablen )", wie können Sie sicher sein, dass der ist nur enthalten ? Ich verstehe auch die Schlussfolgerung nicht. Haben Sie bewiesen, dass das Hinzufügen einer 4-Variablen-Klausel zu 3-cnf aus denselben Variablen coNP-Complete ist? (y1y2y3)(y1y2y4)(y1y2)(y3y4)φXφXyiyi
Ilya Gazman

1
φ1=(y1y2y3)(y1y2y4) und sind gleichwertig, aber nicht gleichwertig (gleich) Satz von Modellen): y1 = F, y2 = F, y3 = T, y4 = T ist ein gültiges Modell für jedoch nicht für . In der Frage sprechen wir über äquivalente Formeln. Der Beweis beruht auf der Tatsache, dass nicht den gleichen Satz von Modellen von 3CNF-Formeln haben kann. φ2=(y1y2)(y3y4)φ1φ2(y1y2y3y4)
Marzio De Biasi
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.