Algorithmus zur Überprüfung der Erfüllung
-
29-09-2020 - |
Frage
Um zu beweisen, dass sich der Sat in NP befindet, muss ich mit einer Polynomzeitverbier (einem Algorithmus) einsteigen.Die Köche Levin theorem verwendet eine nicht deterministische Turing-Maschine, aber das ist nicht das, wonach ich suche.
Die Idee des Algorithmus könnte sein, dass wir die Werte in die Werte einsetzen und die Antwort berechnen.Dann prüfen wir, ob die Antwort 1 ist oder nicht.Ich kann jedoch nicht verstehen, wie ich einen PSUEDOCODE-TEIL schreiben könnte, und zeigen Sie darauf, dass das Polynom sicher ist.
generasacodicetagpre.Dies könnte in o (1) sein.Aber was ist mit dem verbleibenden Teil?
Lösung
Hier würde ich es tun:
algo: Verifier für DNF-SAT-Problem, das als Anordnung von Schließungen und eine mögliche Kartierung von Literalen zu Booleans angegeben ist
input:
Anordnung der Verschlüsse: [ $ c_1 $ , $ c_2 $ , ..., $ c_m $ ]
wo $ c_j \ subseteq \ {x_1, ..., x_n, \ neg x_1, ... \ neg x_n \} $
(Zertifikat) Array $ M $ wo $ m_i $ ist der boolesche Wert von wörtlichen $ x_i $
Ausgabe: wahr oder falsch
HINWEIS: Die mathematische Notation ist eingerückt und in der Pseudocode üblicherweise verwendet, traurig ist CS Steckexchange nicht unterstützt