- SAT
- given an expression in terms of:
- Variables
- and, not, or
- if, iff
- ()
- Is there a set of input for the variables that will produce a 1 (or true)?
- ((w → x ) ∨ ¬((¬ w ↔ y) ∨ z)) ∧ ¬ x
- w = 0, x=0, y = 1, z = 1
- ((0 → 0 ) ∨ ¬((¬ 0 ↔ 1) ∨ 1)) ∧ ¬ 0
- (1 ∨ 0) ∧ 1
- 1
- So this equation is satisfiable.
- Again, a 2n algorithm will solve this.
- But is it in NP-Complete?
- SAT ∈ NP, fairly easy
- CIRCUIT-SAT ≤P SAT
- The brute force approach to the reduction is not polynomial.
- Show this.
- Trick, use and of iff.
- Show this.
- After this, CLRS go on to show quite a few reductions
- 3-CNF-SAT: is an expression in the form (x1 ∨ x2 ∨ ¬ x3) ∧ (x2 ∨ ¬ x4 ∨ x5) ∧ ... satisfiable?
- SAT ≤P 3-CNF
- A clique in a graph G is a set of completely connected vertexes.
- Finding the maximum sized clique in a graph is the clique problem
- CLIQUE: given a graph G does a clique of size k exist?
- 3-CNF-SAT ≤P CLIQUE
- CLIQUE ≤ P HAM-CYCLE
- HAM-CYCLE ≤P TSP
...
- Each proof is unique.