Es ist NP-vollständig (aber ich weiß nicht, ob es einen Namen hat): Angenommen, eine Variable erscheint öfter als positives Literal als als negatives Literal.xin
Dann können Sie es "ausgleichen", indem Sie neue 3CNF-Klauseln mit neuen Variablen hinzufügen :nny1,...,yn
−xi∨y1∨−y2
−xi∨y2∨−y3
...
−xi∨yn−1∨−yn
−xi∨yn∨−y1
Wenn mehrmals als negatives Literal angezeigt wird, wenden Sie dieselbe Erweiterung an, verwenden Sie jedoch in den neuen 3CNF-Klauseln anstelle von .xixi−xi
Die sind ausgeglichen und die resultierende Formel (die in Polynomzeit erstellt werden kann) ist genau dann eindeutig erfüllbar, wenn die ursprüngliche 3CNF-Formel erfüllt werden kann : Was auch immer der Wert von die neuen Klauseln können erfüllt werden, indem wird "stören" Sie nicht die Erfüllbarkeit der ursprünglichen Formel.yixiyi=true