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.

pnp
la source

Réponses:

26

Voici une solution:

NPϕ(x1,,xn)ϕ

NP

ϕ(x1,,xn)

  1. y
  2. Formule de sortie .ϕ(x1,,xn,y)=ϕ(x1,,xn)(yy¯)

ϕ(x1,,xn)ϕϕ(x1,,xn,y)yy¯y=1y=0yϕ , ..., x n , y ) Double-SAT.x1xny

ϕ(x1,,xn)SATϕ(x1,,xn,y)=ϕ(x1,,xn)(yy¯) .ϕ(x1,,xn,y)Double-SAT

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

pnp
la source
C'est plus agréable que ma proposition.
Raphael
10

SATSATDOUBLE-SAT

φφf(φ)φf

Raphael
la source