Ist ein CNF-SAT-Problem NP schwierig, wenn die Gesamtzahl (aber nicht die Breite) der 3-oder-mehr-Term-Klauseln oben durch eine Konstante begrenzt ist? Was ist konkret, wenn es nur eine solche Klausel gibt?
np-hardness
sat
upper-bounds
dspyz
quelle
quelle
Antworten:
Es ist erwähnenswert, dass das Problem NP-hart wird, wenn die Beschränkung leicht gelockert wird.
Bei einer festen Anzahl von Klauseln, die ebenfalls eine begrenzte Größe haben, liegt die durchschnittliche Anzahl von Literalen in einer Klausel so nahe bei 2, wie man möchte, wenn eine Instanz mit genügend Variablen berücksichtigt wird. Wie Sie hervorheben, gibt es dann eine einfache Obergrenze, die polynomisch ist, wenn die Klauselgröße begrenzt ist.
Diese Reduzierung zeigt auch, dass selbst die Version, in der die "großen" Klauseln auf 3 Literale beschränkt sind, NP-hart ist.
Der verbleibende Fall ist, wenn die wenigen großen Klauseln keine begrenzte Größe haben; Jede große Klausel scheint das Problem schwieriger zu machen. Siehe das SODA 2010-Papier von Pǎtraşcu und Williams für den Fall von zwei Klauseln: Sie argumentieren, wenn dies in subquadratischer Zeit möglich wäre, hätten wir bessere Algorithmen für SAT. Es könnte eine Ausweitung ihres Arguments auf weitere Klauseln geben, die den Nachweis erbringen würden, dass Ihre Obergrenze nicht verbessert werden kann (modulo irgendeine Form der exponentiellen Zeithypothese).
quelle
OK ich habe es. Die Antwort ist nein. Dies kann in Poly-Zeit gelöst werden. Wählen Sie für jede Klausel mit drei oder mehr Begriffen ein Literal aus und setzen Sie es auf true. Lösen Sie dann das verbleibende 2-Sat-Problem. Wenn jemand eine Lösung bietet, ist dies eine Lösung für das Gesamtproblem. Da die Anzahl der Klauseln mit drei oder mehr Begriffen festgelegt ist (z. B. c), läuft dies in O (m ^ (c) * n), wenn alle diese Klauseln die Größe <= m haben. O (m ^ c) zum Durchlaufen jeder möglichen Auswahl, mal O (n) zum Lösen des verbleibenden 2-Sat-Problems.
quelle