3SAT reduction to CLIQUE

CSCI 2670
Introduction to Theory of
Computing
December 7, 2005
Agenda
• Today
– Discussion of Cook-Levin Theorem
– One more NP-completeness proof
– Course evaluations
• Tomorrow
– Return tests
– Provide pre-final grades
– Final review
December 7, 2005
NP-completeness
•
A problem C is NP-complete if
finding a polynomial-time solution
for C would imply P=NP
Definition: A language B is NP-complete
if it satisfies two conditions:
1. B is in NP, and
2. Every A in NP is polynomial time
reducible to B
December 7, 2005
Cook-Levin theorem
• SAT = {<B>|B is a satisfiable Boolean
expression}
Theorem: SAT is NP-complete
– If SAT can be solved in polynomial time
then any problem in NP can be solved in
polynomial time
December 7, 2005
Proof of Cook-Levin theorem
• First show that SAT is in NP
– Easy
• The show that SAT  P implies P = NP
– Proof converts a non-deterministic
Turing machine M with input w into a
Boolean expression φ
– M accepts string w iff φ is satisfiable
– <M,w> is converted into φ in polynomial
time
December 7, 2005
Variables in proof of Cook-Levin Thm
• Ti,j,s is true if tape position i contains
symbol s at step j of computation
– O(p(n)2) variables
• Hi,k is true if M’s tape head is at
position i at step k of computation
– O(p(n)2) variables
• Qq,k is true if M is in state q at step k
of the computation
– O(p(n)) variables
December 7, 2005
Boolean expression
• Using the variables Ti,j,k, Hi,k, and Qq,k,
Cook & Levin developed a Boolean
expression that is satisfiable if and
only if M accepts w
– Expression reflects proper behavior of
M
• Qstart,0 ensures starts in start state
• H0,0 ensures starts with tape head at start
of tape
• Ti,j,k  Ti,j’,k ensures one symbol per tape
cell
• Etc…
December 7, 2005
Purpose of Boolean expression
• If the Boolean expression in the
proof of the Cook-Levin theorem can
evaluate to TRUE then
– Starting at the start state with w on the
tape, M can take steps based on the
transition function and end at the accept
state
– I.e., M accepts w
• If the Boolean expression is
unsatisfiable, then M rejects w
December 7, 2005
Length of Boolean expression
• O((log p(n)) p(n)2)
• Since p(n) is polynomial in the length
of the input, so is the Boolean
expression
• If the satisfiability of the expression
can be determined in polynomial time,
we can determine in polynomial time
whether M accepts or rejects w
– Every problem in NP would be in P if SAT
is in P
December 7, 2005
Another NP-complete problem
• 3SAT
– The Boolean expression must be in a
specific form called 3-cnf
• Conjunctive normal form
– A literal is a Boolean variable or the
negation of a Boolean variable
– A clause is the disjunction (OR) of
literals
– A Boolean formula is in cnf if it is the
conjunction (AND) of clauses
• It is 3-cnf if all the clauses have 3 literals
December 7, 2005
Importance of Cook-Levin theorem
• Cook & Levin proved that SAT is NPcomplete
– If SAT can be solved in polynomial time,
then any problem in NP can be solved in
polynomial time
• The showed that any problem in NP
can be polynomially reduced to the
SAT problem
• The proof that 3SAT is NP-complete
is similar
– Generate a 3-cnf formula from a TM
December 7, 2005
NP-completeness proof
• CLIQUE is NP-complete
– A clique in an undirected graph is a
subgraph with every pair of nodes
connected by an edge
• CLIQUE = {<G,k> | G is an undirected
graph with a k-clique}
December 7, 2005
Example
This graph has a 4-clique
December 7, 2005
Proving CLIQUE is NP-complete
1. Show CLIQUE is in NP
2. Show some NP-complete problem
can be polynomially reduced to
CLIQUE
December 7, 2005
Is CLIQUE in NP?
• Yes
• Given a subset V’ of V
– Verify |V’|=k
• O(k) time
– Verify every pair of vertices in |V’| have
an edge in E
• O(k2 |E|) time
December 7, 2005
Reducing 3SAT to CLIQUE
• Create a polynomial time function
that converts a 3-cnf Boolean formula
to a graph
– The graph will have a k-clique if and only
if the formula is satisfiable
– Cliques in the graph correspond to
satisfying assignments of truth values to
variables in the formula
– Structures in the graph mimic behavior
of clauses
December 7, 2005
3SAT reduction to CLIQUE
• Start with any 3-cnf formula with k
clauses
φ = (a1b1c1)(a2b2c2)…(a2b2c2)
• Create a graph with 3k nodes
– One node for each literal in φ
– A single literal may have more than one node
• A pair of nodes xi and xj has an edge if (1)
they appear in different clauses, (2) i ≠ j
and (3) xi ≠ xj
December 7, 2005
Example
φ = (x  y  y)  (x  y  y)  (x  x  y)
x
y
y
x
y
x
y
y
x
Q: Is φ satisfiable?
A: Yes: x = y = 1
December 7, 2005
Correctness of construction
• Need to show the formula is
satisfiable iff the graph has a kclique
• If the formula is satisfiable, there is
a way to assign values to the variables
such that at least one literal is true
in each clause
– The corresponding nodes will create a kclique
December 7, 2005
Correctness of construction
• Need to show the formula is
satisfiable iff the graph has a kclique
• By construction, any k-clique will
contain one node from each clause
and will not contain both x and x for
any variable x
– Assigning the variable corresponding to
each node the value true will result in
one literal in each clause being true
December 7, 2005
Are we done?
• We have shown that CLIQUE is in NP
• We have found a reduction from
3SAT to CLIQUE
– The 3-cnf formula is satisfiable iff the
graph has a k-clique
• What’s left?
– Demonstrate the reduction is polynomial
– |V| = # of literals in φ
– |E| ≤ (|V|-3)(|V|-6)(|V|-9)…(3) = O(|V|2)
2 )
=O( (# of literals
in
φ)
December 7, 2005