13 为便于参考,此处定义了众所周知的SAT问题。 DOUBLE-SAT问题定义为 DOUBLE-SAT={⟨ϕ⟩∣ϕ has at least two satisfying assignments}DOUBLE-SAT={⟨ϕ⟩∣ϕ has at least two satisfying assignments} 我们如何证明它是NP完全的? 不胜枚举的证明方法将不胜感激。 complexity-theory np-complete satisfiability — pn source
27 这是一种解决方案: NPNPϕ(x1,…,xn)ϕ(x1,…,xn)ϕϕ NPNP ϕ(x1,…,xn)ϕ(x1,…,xn) yy ϕ′(x1,…,xn,y)=ϕ(x1,…,xn)∧(y∨y¯)ϕ′(x1,…,xn,y)=ϕ(x1,…,xn)∧(y∨y¯) ϕ(x1,…,xn)ϕ(x1,…,xn)ϕϕϕ′(x1,…,xn,y)ϕ′(x1,…,xn,y)y∨y¯y∨y¯y=1y=1y=0y=0yyϕ′ϕ′x1x1xnxnyy∈∈ ϕ(x1,…,xn)∉SATϕ(x1,…,xn)∉SATϕ′(x1,…,xn,y)=ϕ(x1,…,xn)∧(y∨y¯)ϕ′(x1,…,xn,y)=ϕ(x1,…,xn)∧(y∨y¯)ϕ′(x1,…,xn,y)∉Double-SATϕ′(x1,…,xn,y)∉Double-SAT SAT≤pDouble-SATSAT≤pDouble-SATNPNP — pn source 那比我的建议好。 — 拉斐尔