Ich definiere einen langen CNF , der mindestens enthältKlauseln, wobei die Anzahl seiner Variablen ist. Es sei eine erfüllbare lange CNF-Formel .
Ich würde gerne wissen , warum . Zuerst dachte ich, es sei da ich eine Polynomzeitverkürzung von auf , nein?
Aber vielleicht kann ich auf reduzieren ? Wie mache ich das?
Antworten:
Sofern mir nichts fehlt, ist es trivial in P, da die Länge der Formel in der Anzahl der Variablen exponentiell ist. Daher alles2n Wahrheitszuweisungen können in Polynomzeit in der Länge der Formel erzeugt und überprüft werden.
quelle
In diesem Fall ist die Antwort trivial, wie Luke betont . Beachten Sie dies jedoch, da Sie die Definition anscheinend selbst erstellt haben.
Für SAT wurden sogenannte Phasenübergänge bezüglich des Verhältnisses von variabler Anzahl zu Klauselanzahl beobachtet [1,2]. Wenn es klein ist, sind Instanzen einfach und schwierig, wenn es groß ist. Es scheint einen mehr oder weniger scharfen Übergang von leicht zu schwer zu geben. Dies scheint ein aktives Forschungsgebiet zu sein . cstheory.SE hat mehr zu diesem Phänomen.
Wenn Sie also Ihre Definition von "lang" an das Polynom- Blowup anpassen, erhalten Sie möglicherweise tatsächlich eine nicht trivial einfache Klasse - das heißt in P -, nur weil Sie viel mehr Klauseln als Variablen haben.
quelle