Prouver que DOUBLE-SAT est NP-complet


13

Le problème SAT bien connu est défini ici à titre de référence.

Le problème DOUBLE-SAT est défini comme

DOUBLE-SAT={⟨ϕ⟩∣ϕ has at least two satisfying assignments}

Comment pouvons-nous prouver qu'il est NP-complet?

Plus d'une façon de prouver sera appréciée.

Réponses:


26

Voici une solution:

NPϕ(x1,…,xn)ϕ

NP

ϕ(x1,…,xn)

  1. y
  2. Formule de sortie .ϕ′(x1,…,xn,y)=ϕ(x1,…,xn)∧(y∨y¯)

ϕ(x1,…,xn)ϕϕ′(x1,…,xn,y)y∨y¯y=1y=0yϕ′ , ..., x n , y ) ∈ Double-SAT.x1xny∈

ϕ(x1,…,xn)∉SATϕ′(x1,…,xn,y)=ϕ(x1,…,xn)∧(y∨y¯) .ϕ′(x1,…,xn,y)∉Double-SAT

Par conséquent, , et donc Double-SAT est N P -Complete.SAT≤pDouble-SATNP


C'est plus agréable que ma proposition.
— Raphael

10

SATSATDOUBLE-SAT

φφ∨f(φ)φf

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.