Un problème CNF SAT NP est-il difficile lorsque le nombre total (mais pas la largeur) des clauses de 3 termes ou plus est limité au-dessus par une constante? Qu'en est-il spécifiquement quand il n'y a qu'une seule clause de ce type?
np-hardness
sat
upper-bounds
dspyz
la source
la source
Réponses:
Il convient de noter que le problème devient NP-difficile lorsque la restriction est légèrement assouplie.
Avec un nombre fixe de clauses qui sont également de taille limitée, le nombre moyen de littéraux dans une clause est aussi proche de 2 que l'on veut, en considérant une instance avec suffisamment de variables. Comme vous le faites remarquer, il existe alors une borne supérieure simple qui est polynomiale si la taille de la clause est bornée.
Cette réduction montre également que même la version où les "grandes" clauses sont limitées à 3 littéraux est NP-hard.
Le cas restant est celui où les quelques grandes clauses ne sont pas de taille limitée; chaque grande clause semble rendre le problème plus difficile. Voir le document SODA 2010 de Pǎtraşcu et Williams pour le cas de deux clauses: ils soutiennent que si cela peut être fait en temps sub-quadratique, alors nous aurions de meilleurs algorithmes pour SAT. Il pourrait y avoir une extension de leur argument à plus de clauses, ce qui fournirait la preuve que votre borne supérieure ne peut pas être améliorée (modulo une certaine forme de l'hypothèse de temps exponentielle).
la source
OK j'ai compris. La réponse est non. Cela peut être résolu en poly-temps. Pour chaque clause de 3 termes ou plus, sélectionnez un littéral et définissez-le sur true. Résolvez ensuite le problème des 2 sat. Si quelqu'un fournit une solution, c'est une solution au problème global. Puisque le nombre de clauses à 3 termes ou plus est fixe (disons c), alors si toutes ces clauses ont une taille <= m, cela s'exécute en O (m ^ (c) * n). O (m ^ c) pour parcourir chaque sélection possible, fois O (n) pour résoudre le problème à 2 sat.
la source