Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI 2670 Introduction to Theory of Computing December 2, 2004.

Similar presentations


Presentation on theme: "CSCI 2670 Introduction to Theory of Computing December 2, 2004."— Presentation transcript:

1 CSCI 2670 Introduction to Theory of Computing December 2, 2004

2 2 Agenda Yesterday –The Class NP Today –NP-completeness

3 December 2, 20043 Announcement If you want me to have a review session for the final exam, please email me your exam schedule

4 December 2, 20044 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

5 December 2, 20045 Cook-Levin theorem SAT = { |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

6 December 2, 20046 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 – is converted into φ in polynomial time

7 December 2, 20047 Variables in proof of Cook-Levin Thm x i,j,s is true if tape position i contains symbol s at step j of computation –O(p(n) 2 ) variables H i,k is true if M’s tape head is at position i at step k of computation –O(p(n) 2 ) variables Q q,k is true if M is in state q at step k of the computation –O(p(n)) variables

8 December 2, 20048 Boolean expression Using the variables T i,j,k, H i,k, and Q q,k, Cook & Levin developed a Boolean expression that is satisfiable if and only if M accepts w –Expression reflects proper behavior of M Q start,0 ensures starts in start state H 0,0 ensures starts with tape head at start of tape T i,j,k   T i,j’,k ensures one symbol per tape cell Etc…

9 December 2, 20049 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

10 December 2, 200410 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

11 December 2, 200411 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

12 December 2, 200412 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

13 December 2, 200413 Polynomial functions Definition: A function f:Σ *  Σ * is a polynomial time computable function if some polynomial time Turing machine M exists that halts with just f(w) on its tape, when started on any input w.

14 December 2, 200414 Polynomial time reducible Definition: Language A is polynomial time reducible to language B, written A ≤ P B, if a polynomial time computable function f:Σ *  Σ * exists where for every w, w  A iff f(w)  B f f

15 December 2, 200415 Reductions & NP-completeness Theorem: If A ≤ P B and B  P, then A  P. Proof: Let M be the polynomial time algorithm that decides B and let f be the polynomial reduction from A to B. Consider the TM N N = “On input w 1.Compute f(w) 2.Run M on f(w) and output M’s result” Then N decides A in polynomial time.

16 December 2, 200416 Implications of NP-completeness Theorem: If B is NP-complete and B  P, then P = NP. Theorem: If B is NP-complete and B≤ P C for some C in NP, then C is NP- complete

17 December 2, 200417 Showing a problem in NP-complete Two steps to proving a problem L is NP-complete –Show the problem is in NP Demonstrate there is a polynomial time verifier for the problem –Show some NP-complete problem can be polynomially reduced to L

18 December 2, 200418 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 is an undirected graph with a k-clique}

19 December 2, 200419 Example This graph has a 4-clique

20 December 2, 200420 Proving CLIQUE is NP-complete 1.Show CLIQUE is in NP 2.Show some NP-complete problem can be polynomially reduced to CLIQUE

21 December 2, 200421 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(k 2 |E|) time

22 December 2, 200422 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

23 December 2, 200423 3SAT reduction to CLIQUE Start with any 3-cnf formula with k clauses φ = (a 1  b 1  c 1 )  (a 2  b 2  c 2 )  …  (a 2  b 2  c 2 ) 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 x i and x j has an edge if i ≠ j and x i ≠ x j

24 December 2, 200424 Example φ = (x  y  y)  (x  y  y)  (x  x  y) x y y xyy x x y Q: Is φ satisfiable?A: Yes: x = y = 1

25 December 2, 200425 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

26 December 2, 200426 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

27 December 2, 200427 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 )

28 December 2, 200428 Summary To show a language L is NP-complete 1.Demonstrate L is in NP 2.Find a language C that is known to be NP-complete 3.Create a function f from C to L 4.Demonstrate that if x is in C then f(x) is in L 5.Demonstrate that if f(x) is in L then x is in C 6.Demonstrate f is computable in polynomial time

29


Download ppt "CSCI 2670 Introduction to Theory of Computing December 2, 2004."

Similar presentations


Ads by Google