1 / 21

CSCI 2670 Introduction to Theory of Computing

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. NP-completeness.

xuxa
Download Presentation

CSCI 2670 Introduction to Theory of Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSCI 2670Introduction to Theory of Computing December 7, 2005

  2. 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

  3. 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: • B is in NP, and • Every A in NP is polynomial time reducible to B December 7, 2005

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. Importance of Cook-Levin theorem • Cook & Levin proved that SAT is NP-complete • 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

  12. 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

  13. Example This graph has a 4-clique December 7, 2005

  14. Proving CLIQUE is NP-complete • Show CLIQUE is in NP • Show some NP-complete problem can be polynomially reduced to CLIQUE December 7, 2005

  15. 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

  16. 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

  17. 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

  18. φ = (x  y  y)  (x  y  y)  (x  x  y) x y y x y x y y x Example Q:Is φ satisfiable? A:Yes: x = y = 1 December 7, 2005

  19. Correctness of construction • Need to show the formula is satisfiable iff the graph has a k-clique • 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 k-clique December 7, 2005

  20. Correctness of construction • Need to show the formula is satisfiable iff the graph has a k-clique • 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

  21. 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) =O( (# of literals in φ)2 ) December 7, 2005

More Related