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.

Reference