Circuit-SAT
Circuit-SAT 是 所有 NPC 的基石,由它開始做 reduction,證明其他問題也是 NPC。
Circuit-SAT is NP-Complete, proof by Cook many years ago, we can use this as a cornerstone, to perform reduction to other problem, prove they are NP-Complete as well, like SAT. First we prove a problem is in NP, then we use reduction to prove it is in NP-hard, then conclude that it is in NP-Complete.
Circuit-SAT SAT
For this circuit, the SAT formula can be written as follow:
Each is a clause, its value is always true according to boolean logic. We can transform the circuit into in polynomial time.
Circuit-SAT is satisfiable SAT is satisfiable
: if circuit is satisfiable, means that the final output, in this case is true, and because all clause are always true, the SAT is satisfiable.
: if SAT is satisfiable, which means that all clause and must all be true, and thus the circuit is satisfiable.
Links
Reference
- Introduction to Algorithm
- Reduction of Circuit SAT to SAT