(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: ).
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.
Was ist die Komplexität dieses Problems?
cc.complexity-theory
complexity-classes
sat
Xavier Labouze
quelle
quelle
Antworten:
(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
( ) Die 3CNF-Formel entspricht⇐ (y1∨y2∨y3)∧(y1∨y2∨y4)∧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⟩ φ φ′ φ′′ xi x˙i φ′X φ′′X yi φ′X=(y1∨y2∨y3∨y4) . 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∨¬y2∨y3) φ′ ⟨y1=false,y2=true,y3=false,y4=true,x˙1,...,x˙n⟩ φ′′
quelle