1 / 49

Cook-Levin Theorem Proof and Illustration

WSAC2010 Talk 11st, January, 2010. Cook-Levin Theorem Proof and Illustration. Kwak, Nam-ju Applied Algorithm Laboratory KAIST. Contents. NP NP-complete SAT Problem A Characteristic of NP-complete Cook-Levin Theorem Proof of Cook-Levin Theorem Illustration Corollary: 3SAT∈NPC. NP.

tyne
Download Presentation

Cook-Levin Theorem Proof and Illustration

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. WSAC2010 Talk 11st, January, 2010 Cook-Levin TheoremProof and Illustration Kwak, Nam-ju Applied Algorithm Laboratory KAIST Applied Algorithm Lab. KAIST

  2. Contents • NP • NP-complete • SAT Problem • A Characteristic of NP-complete • Cook-Levin Theorem • Proof of Cook-Levin Theorem • Illustration • Corollary: 3SAT∈NPC Applied Algorithm Lab. KAIST

  3. NP • Definition • NP is the class of languages that have polynomial time verifiers. • Definition (informal) • A verifier V for a language A is an algorithm which accepts a given input w to A if a corresponding certificate or a proof c exists. Applied Algorithm Lab. KAIST

  4. NP • Theorem • A language is in NP iff it is decided by some nondeterministic polynomial time Turing machine. Applied Algorithm Lab. KAIST

  5. NP-complete • Definition • A language B is NP-complete if • B∈NP, and • ∀A∈NP, A≤PB. Applied Algorithm Lab. KAIST

  6. NP-complete • Examples • SAT, 3SAT, CLIQUE, VERTEX-COVER, HAMPATH, SUBSET-SUM, and etc. Applied Algorithm Lab. KAIST

  7. SAT Problem • Definition • Boolean variables: variables that can take on the values TRUE and FALSE • Boolean operations: AND, OR, and NOT • Boolean formula: an expression involving Boolean variable and operations Applied Algorithm Lab. KAIST

  8. SAT Problem • Definition • satisfiable: if some assignment of 0s and 1s to the variables make the formula evaluate to 1 • Example of a satisfiable Boolean formula • φ=(¬x∧y)∨(x∧¬z) • x=0, y=1, and z=0 Applied Algorithm Lab. KAIST

  9. SAT Problem • Definition (SAT Problem) • SAT = {<φ>|φ is a satisfiable Boolean formula}. • Given a Boolean formula, is it satisfiable? Applied Algorithm Lab. KAIST

  10. A Characteristic of NP-complete • Theorem • If B∈NPC and B≤PC for C∈NP, then C∈NPC. • Is there a fundamental problem for the chain of polynomial time reducibility? • P1≤PP2≤P … ≤PPn≤P(?) Applied Algorithm Lab. KAIST

  11. Cook-Levin Theorem • Cook-Levin Theorem • SAT∈NPC • P1≤PP2≤P … ≤PPn≤PSAT Applied Algorithm Lab. KAIST

  12. Proof of Cook-Levin Theorem • What to prove is … • SAT∈NP (very clear, not treated here) • ∀A∈NP, A≤PSAT • We would show that for each language A∈NP with a given input w to it, it is possible to produce a Boolean formula which is satisfiable if w∈A. • Definition • A≤PB if ∃f such that w∈A⇔f(w)∈B and f is polynomial time computable. Applied Algorithm Lab. KAIST

  13. Proof of Cook-Levin Theorem Input Boolean formula φ NP input w Let’s construct this Boolean formula!! Pick one. A SAT w∈A or not? φ∈SAT or not? Applied Algorithm Lab. KAIST

  14. Proof of Cook-Levin Theorem • Proof idea • For each language A in NP, with a given input w for A, produce a Boolean formula φ that simulates the deciding NP Turing machine for A on input w. • Check if the Boolean formula is satisfiable. Applied Algorithm Lab. KAIST

  15. Proof of Cook-Levin Theorem w∈A? A w NP Turing machine given Focus on this step. transformation Boolean formula φ SAT problem If satisfiable, w∈A; otherwise, w∉A. Applied Algorithm Lab. KAIST

  16. Proof of Cook-Levin Theorem • Proof idea (cont.) • If w∈A, there exists a series of configurations that results in the accept state, given w as the input of the Turing machine. • We would construct a Boolean formula which is satisfiable if the Turing machine accepts with the input w. Applied Algorithm Lab. KAIST

  17. Proof of Cook-Levin Theorem • FYI: Turing machine notation example • δ(q0,0)={(q1,x,R)}, δ(q1,1)={(q1,y,R)}, δ(q1, ⊔)={(qaccept, ⊔,L)} • This Turing machine accepts {01+} • With 0111 as an input, • q00111⊔ • xq1111⊔ • xyq111⊔ • xyyq11⊔ • xyyyq1⊔ • xyyyqa⊔ Applied Algorithm Lab. KAIST

  18. Proof of Cook-Levin Theorem • Proof • w: input • A: language • N: NP Turing machine that decides A • Assume that N decides whether w∈A in nk steps, for some constant k. Applied Algorithm Lab. KAIST

  19. Proof of Cook-Levin Theorem • Proof (cont.) • “nk×nk-cell”tableau for N on input w start configuration second configuration nk nk th configuration nk Applied Algorithm Lab. KAIST

  20. Proof of Cook-Levin Theorem • Proof (cont.) • A variable could be represented as xi,j,s. • xi,j,s: true if cell[i,j] is s; otherwise, false. • cell[i,j]: the cell located on the ith row and the jth column. Applied Algorithm Lab. KAIST

  21. Proof of Cook-Levin Theorem • Proof (cont.) • The tableau, without any restriction, can contain many invalid series of configurations. • e.g. cells containing multiple symbols, not starting with the input w and start state q0, neighbor configurations not corresponding the transition rules, not resulting in the accept state, and etc. Applied Algorithm Lab. KAIST

  22. Proof of Cook-Levin Theorem • Proof (cont.) • Produce a Boolean formula which forces the tableau to be valid and result in the accept state. Applied Algorithm Lab. KAIST

  23. Proof of Cook-Levin Theorem • Proof (cont.) • One cell can contain exactly one symbol among a state, a tape alphabet, and a #. (φcell) • The first configuration should be corresponding to input w and the start state q0. (φstart) • A configuration is derivable from the immediately previous configuration according to the transition rule of the Turing machine. (φmove) • There should exist a cell containing the accept state. (φaccept) • φ=φcell∧φstart∧φmove∧φaccept Applied Algorithm Lab. KAIST

  24. Proof of Cook-Levin Theorem • Proof (cont.) • φ=φcell∧φstart∧φmove∧φaccept Each cell contain at least one symbol. Each cell contain no more than one different symbol. Here, C=Q∪Γ∪{#} where Q and Γ are the state set and tape alphabet of the Turing machine N. Applied Algorithm Lab. KAIST

  25. Proof of Cook-Levin Theorem • Proof (cont.) • φ=φcell∧φstart∧φmove∧φaccept Each cell of the first row has a symbol corresponding to the start configuration where the input is w. Applied Algorithm Lab. KAIST

  26. Proof of Cook-Levin Theorem • Proof (cont.) • φ=φcell∧φstart∧φmove∧φaccept At least one cell is the accept state. Applied Algorithm Lab. KAIST

  27. Proof of Cook-Levin Theorem • Proof (cont.) • φ=φcell∧φstart∧φmove∧φaccept • φmove checks whether every 2×3 window is legal according to the transition rule of the Turing machine. Applied Algorithm Lab. KAIST

  28. Proof of Cook-Levin Theorem • Proof (cont.) • φ=φcell∧φstart∧φmove∧φaccept • For example, • δ(q1,a)={(q1,b,R)}, δ(q1,b)={(q2,c,L), (q2,a,R)} some examples of legal 2×3 windows some examples of illegal 2×3 windows Applied Algorithm Lab. KAIST

  29. Proof of Cook-Levin Theorem • Proof (cont.) • φ=φcell∧φstart∧φmove∧φaccept • When Si,j is the set of legal (i, j)-windows and Ui,j is the set of all the (i, j)-windows, • Si,j⊆Ui,j, |Ui,j|=|C|6→ |Si,j|≤|C|6 • |S|=|ΣSi,j|≤n2k|C|6 • That is, the set of legal windows is finite. Applied Algorithm Lab. KAIST

  30. Proof of Cook-Levin Theorem • Proof (cont.) • φ=φcell∧φstart∧φmove∧φaccept That is, for all legal (i, j)-windows, which is represented as … Applied Algorithm Lab. KAIST

  31. Proof of Cook-Levin Theorem • Proof (cont.) • φ=φcell∧φstart∧φmove∧φaccept • Now, we get φ as we wished. • If φ is satisfiable, w∈A. That is, to see if w∈A, we just need to check whether φ is satisfiable or not. • It is just a SAT problem. Applied Algorithm Lab. KAIST

  32. Proof of Cook-Levin Theorem • What to prove is … (restated) • SAT∈NP (very clear, not treated here) • ∀A∈NP, A≤PSAT • Definition (restated) • A≤PB if ∃f such that w∈A⇔f(w)∈B and f is polynomial time computable. • What we’ve shown is … • w, A, and w∈A • f(w)=φ, B=SAT, and φ=f(w)∈B=SAT • w∈A⇔φ∈SAT • ∴A≤PSAT Applied Algorithm Lab. KAIST

  33. Illustration • N=(Q, Σ, Γ, δ, q0, qaccept) • Q={q0, q1, qaccept} • Σ={0, 1}, Γ={0, 1, ⊔} • δ(q0,0)={(q1,0,R)} • δ(q1,1)={(q1,1,R)} • δ(q1, ⊔)={(qaccept, ⊔,L)} • A=L(N)={01+}={01, 011, 0111, 01111, …} • w=0111 • Then, w∈A? Applied Algorithm Lab. KAIST

  34. Illustration • N can decide in n2 steps where n=|w|. Therefore n2 is 16. • C={q0, q1, qaccept,0, 1, ⊔, #} 16×16 tableau Applied Algorithm Lab. KAIST

  35. Illustration Applied Algorithm Lab. KAIST

  36. Illustration Applied Algorithm Lab. KAIST

  37. Illustration Applied Algorithm Lab. KAIST

  38. Illustration • For φmove, find out all the legal windows. … … … … … No more than n2k|C|6=42*246=410 legal windows exist. (finite) Applied Algorithm Lab. KAIST

  39. Illustration Applied Algorithm Lab. KAIST

  40. Illustration • Now, we get φ=φcell∧φstart∧φmove∧φaccept. ∧ Applied Algorithm Lab. KAIST

  41. Illustration ∧ Solve a SAT problem with this Boolean formula, φ. If satisfiable, w=0111∈A={01+}. (Actually, it is right.) Applied Algorithm Lab. KAIST

  42. Corollary: 3SAT∈NPC • CNFs can be converted into CNFs with three literals per clause (as explained soon). • At first, convert φcell, φstart, φmove,and φaccept into CNF. Applied Algorithm Lab. KAIST

  43. Corollary: 3SAT∈NPC • φcell, φstart, and φaccept are already in CNF. Applied Algorithm Lab. KAIST

  44. Corollary: 3SAT∈NPC • φmove is converted into CNF using the distributive laws. • To CNFs have 3 literals per clause • For each clause with less than 3 literals, do literal replication. • For each clause with more than 3 literals, split it with new variables. Applied Algorithm Lab. KAIST

  45. Corollary: 3SAT∈NPC • Examples • (a1∨a2)≡(a1∨a2∨a2) • (a1∨a2∨a3∨a4)≡(a1∨a2∨z)∧(¬z∨a3∨a4) • (a1∨a2∨a3∨a4∨a5)≡(a1∨a2∨z1)∧(¬z1∨a3∨z2)∧(¬z2∨a4∨a5 ) Applied Algorithm Lab. KAIST

  46. Corollary: 3SAT∈NPC • Hence, a SAT problem is able to converted into a equivalent 3SAT problem (in polynomial time). • That is, SAT≤P3SAT. • Since SAT∈NPC, considering the definition of NPC, 3SAT∈NPC, too. Applied Algorithm Lab. KAIST

  47. Conclusion • Theorem (restated) • SAT∈NPC • 3SAT∈NPC • All the NP problems are polynomial time reducible into SAT. <Important NP-complete problems> Picture from http://www.wikipedia.org Applied Algorithm Lab. KAIST

  48. Q&A • Please, ask questions, if any. Applied Algorithm Lab. KAIST

  49. Thank you! • Contents covered are based on Introduction to the Theory of Computation, 2nd ed. written by Michael Sipser. • The slide theme and the background image are from http://www.m62.net/. Applied Algorithm Lab. KAIST

More Related