Question

J'ai donné la variation SAT suivante:

Étant donné une formule F dans CNF où chaque clause C a exactement 3 littéraux distincts et pour chaque C dans F, soit tous les littéraux sont positifs ou que tous les littéraux sont annulés. Exemple:

$ f= (x_1 \ vee x_2 \ vee x_4) \ wedge (\ nge x_2 \ vee \ neion x_3 \ vee \ neion x_4) \ wedge (x_3 \ vee x_4 vee x_5) $

Cette variante est-elle équipée?

Mes résultats jusqu'à présent:

Je soupçonne que le problème est NP-complet et donc pas traitable. Ainsi, je voudrais effectuer une réduction de la poly-réduction à partir de 3-SAT à la variation décrite ci-dessus.

Une formule arbitraire 3-SAT peut être convertie en monotone 3-sat.

Prenez l'exemple suivant:

$ C_1= (x_1 \ vee x_2 \ vee \ neg x_3) $ et définir $ z_3 $ par $ \ neg x_3 \ Leftrightarrow z_3 $ et $ x_3 \ leftrightarrow \ neg z_3 $ qui est équivalente to $ (x_3 \ vee z_3) \ wedge (\ nge x_3 \ vee \ neg z_3) $ .

.

à partir de celui que nous obtenons la forme monotone de $ C_1 $ par

$ (x_1 \ vee x_2 \ vee \ neg x_3) \ Leftrightarrow (x_1 \ vee x_2 \ vee z_3) \ wedge (x_3 \ vee z_3) \ wedge (\ nge x_3 \ vee \ neg z_3) $

En appliquant cette transformation à toutes les clauses, je reçois une formule monotone à 3 sata qui est également satisfaite.

Ma réduction produit 2 clauses supplémentaires avec 2 littéraux pour chaque clause non monotone, mais comment obtenez-moi uniquement des clauses monotones avec exactement 3 littéraux distincts?

Était-ce utile?

La solution

Je vais essayer de répondre maintenant à ma propre question et serai heureux de revenir sur la corectie.

Comme dans la question ci-dessus discuté et souligné par Kyle Jones, nous pouvons réduire les formules arbitraires de 3 sata aux formules monotone à 3 sata.

par exemple une clause $ c= (x_1 \ vee x_2 \ vee \ nee x_3) $ peut être converti en $ C '(x_1 \ vee x_2 \ vee z_3) \ wedge (z_3 \ vee x_3) \ wedge (\ neg z_3 \ vee \ neion x_3) $ . On peut vérifier si $ C $ est satisfiatable $ c '$ est également satisfait et si $ C $ n'est pas satisfible $ C '$ n'est pas non satisfible.

L'étape suivante consiste à convertir toutes les clauses avec moins de 3 littéraux en clauses avec exactement 3 littéraux distincts.

prenez donc par exemple $ C_1= (x_1 \ vee x_2) $ et transformez-le en $ C_1 '= ( x_1 \ vee x_2 \ vee y_1) \ wedge (x_1 \ vee x_2 \ vee y_2) \ wedge (x_1 \ vee x_2 \ vee y_3) \ wedge (\ neg y_1 \ vee \ neg y_2 \ vee \ neg y_3) $ encore une fois si $ C_1 $ est satisfiatable $ C_1 '$ est également satisfait et si $ C_1 $ n'est pas satisfible $ C_1 '$ n'est pas non satisfible. La même chose peut être faite pour le cas négatif, c'est-à-dire $ c_2= (\ nge x_1 \ vee \ neion x_2) $ peut être transformé en $ C_2 '= (\ neg x_1 \ vee \ neion x_2 \ vee \ negn u_1) \ wedge (\ neg x_1 \ vee \ negn x_2 \ vee \ neg u_2) \ wedge (\ neg x_1 \ vee \ neion x_2 \ vee \ neg u_3) \ wedge (u_1 \ vee u_2 \ vee u_3) $

En appliquant les deux transformations, on peut convertir une instance arbitraire 3-SAT en une instance monotone à 3 sata avec exactement 3 littéraux distincts. Comme on peut le voir facilement au-dessus des transformations, une complexité polynomiale. Par conséquent, depuis 3-SAT, NP-HARD, la réduction ASWEL doit être dure NP-HARD.

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top