In Bezug auf den Thread Nachweis, dass die Konvertierung von CNF zu DNF NP-Hard ist (und ein verwandter Math-Thread ):
Wie wäre es mit der anderen Richtung, von DNF zu CNF? Ist es einfach oder schwer?
Auf Seite 2 dieses Papiers scheinen sie darauf hinzudeuten, dass beide Richtungen gleich schwer sind, wenn sie sagen " Wir sind an der maximalen Vergrößerung der Größe interessiert, wenn wir von der CNF-Darstellung zur DNF-Darstellung wechseln (oder umgekehrt) ".
Aber DNF-SAT ist in P und CNF-SAT ist NP- vollständig. Bei einem DNF-Ausdruck sollte es also einen nicht zufriedenstellenden CNF-Ausdruck dessen Länge in der Länge von polynomisch ist . Die Konvertierung von kann in Poly-Zeit erfolgen. Ist das richtig?
Bearbeiten: Äquivalent zu gleichwertig geändert ( dh zusätzliche Variablen sind in zulässig ).
quelle
Antworten:
Wenn Sie bereit sind, zusätzliche Variablen einzuführen, können Sie mithilfe der Tseitin-Transformation in Polynomzeit von DNF- in CNF-Form konvertieren . Die resultierende CNF-Formel ist mit der ursprünglichen DNF-Formel gleichwertig: Die CNF-Formel ist nur dann erfüllbar, wenn die ursprüngliche DNF-Formel erfüllt werden konnte. Siehe auch https://en.wikipedia.org/wiki/Conjunctive_normal_form#Conversion_into_CNF .
Wenn Sie die Einführung zusätzlicher Variablen nicht zulassen möchten, ist die Konvertierung von DNF- in CNF-Form co-NP-schwer. Insbesondere ist das Testen, ob eine DNF-Formel eine Tautologie ist, co-NP-hart. Das Testen, ob eine CNF-Formel eine Tautologie ist, kann jedoch in Polynomzeit durchgeführt werden (Sie prüfen nur separat, ob jede Klausel eine Tautologie ist, was einfach ist, da jede Klausel eine Disjunktion von Literalen ist). Wenn Sie also in Polynomzeit von der DNF-Form in die CNF-Form konvertieren könnten, ohne neue Variablen einzuführen, würden Sie einen Polynomzeitalgorithmus erhalten, mit dem Sie testen können, ob eine DNF-Formel eine Tautologie ist - etwas, das angesichts unserer Erwartung unwahrscheinlich erscheint P ist nicht gleich co-NP. Oder anders ausgedrückt: Die Konvertierung von DNF- in CNF-Form ohne Einführung zusätzlicher Variablen ist co-NP-schwer.
Dies ist der Unterschied zwischen Äquivalenz und Gleichzufriedenheit . Für die Äquivalenz müssen die beiden Formeln denselben Lösungssatz haben (und können daher keine zusätzlichen Variablen einführen). Gleichheit erfordert nur, dass entweder beide Formeln erfüllt werden oder beide nicht erfüllt sind (und somit die Einführung zusätzlicher Variablen ermöglicht).
quelle