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 φ = (a1b1c1)(a2b2c2)…(a2b2c2) • 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
© Copyright 2025 Paperzz