Upload
tyne
View
260
Download
14
Tags:
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
Cook-Levin TheoremProof and Illustration
Kwak, Nam-juApplied Algorithm Laboratory
KAIST
1Applied Algorithm Lab. KAIST
WSAC2010 Talk11st, January, 2010
Contents
• NP• NP-complete• SAT Problem• A Characteristic of NP-complete• Cook-Levin Theorem• Proof of Cook-Levin Theorem• Illustration• Corollary: 3SAT∈NPC
2Applied Algorithm Lab. KAIST
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.
3Applied Algorithm Lab. KAIST
NP
• Theorem A language is in NP iff it is decided by
some nondeterministic polynomial time Turing machine.
4Applied Algorithm Lab. KAIST
NP-complete
• Definition A language B is NP-complete if
• B∈NP, and
• ∀A∈NP, A≤PB.
5Applied Algorithm Lab. KAIST
NP-complete
• Examples SAT, 3SAT, CLIQUE, VERTEX-COVER,
HAMPATH, SUBSET-SUM, and etc.
6Applied Algorithm Lab. KAIST
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 7
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 8
SAT Problem
• Definition (SAT Problem) SAT = {<φ>|φ is a satisfiable Boolean
formula}.
• Given a Boolean formula, is it satisfiable?
Applied Algorithm Lab. KAIST 9
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(?)
10Applied Algorithm Lab. KAIST
Cook-Levin Theorem
• Cook-Levin Theorem SAT∈NPC
• P1≤PP2≤P … ≤PPn≤PSAT
11Applied Algorithm Lab. KAIST
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 12
Proof of Cook-Levin Theorem
Applied Algorithm Lab. KAIST 13
NP
APick one.
input w
SAT
InputBoolean formula φ
φ∈SAT or not?w ∈A or not?
Let’s construct this Boolean
formula!!
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.
14Applied Algorithm Lab. KAIST
Proof of Cook-Levin Theorem
w∈A?
w
A
NP Turing machine
Boolean formula φ
If satisfiable, w∈A; otherwise, w∉A.
given
transformation
SAT problem
Focus on this step.
15Applied Algorithm Lab. KAIST
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.
16Applied Algorithm Lab. KAIST
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 17
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.
18Applied Algorithm Lab. KAIST
Proof of Cook-Levin Theorem
• Proof (cont.) “nk×nk-cell”tableau for N on input w
# q0 w1 w2 … wn ⊔ … ⊔ #
# #
# #
# #
nk
nk
start configurationsecond configuration
nk th configuration
19Applied Algorithm Lab. KAIST
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.
20Applied Algorithm Lab. KAIST
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.
21Applied Algorithm Lab. KAIST
# x w1 q3 … wn ⊔ … ⊔ #
# #
# #
# #
# q0 w1 w2 … wn ⊔ … ⊔ #
# x x q1 … wn ⊔ … ⊔ #
# #
# #
# q0 w1 w2 … wn ⊔ … ⊔ #
# x q1 w2 … wn ⊔ … ⊔ #
# x x q1 … wn ⊔ … ⊔ #
# ⊔ ⊔ ⊔ … ⊔ ⊔ … ⊔ #
# ⊔ ⊔ ⊔ … ⊔ ⊔ … ⊔ #
# q0q1 w1 w2 … wn ⊔ … ⊔ #
# #
# #
# #
Proof of Cook-Levin Theorem
• Proof (cont.) Produce a Boolean formula which forces
the tableau to be valid and result in the accept state.
22Applied Algorithm Lab. KAIST
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∧φaccept23Applied Algorithm Lab. KAIST
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.
24Applied Algorithm Lab. KAIST
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.
25Applied Algorithm Lab. KAIST
Proof of Cook-Levin Theorem
• Proof (cont.) φ=φcell∧φstart∧φmove∧φaccept
At least one cell is the accept state.
26Applied Algorithm Lab. KAIST
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.
27
# … #
# #
# #
… …
# … #Applied Algorithm Lab. KAIST
# q0 x y y y y #
# z q1 y y y y #
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)}a q1 b
q2 a c
a a q1
a a b
# b a
# b a
some examples of legal 2×3 windows a b a
a a a
a q1 b
q1 a a
b q1 b
q2 b q2
some examples of illegal 2×3 windows
28Applied Algorithm Lab. KAIST
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.
29Applied Algorithm Lab. KAIST
Proof of Cook-Levin Theorem
• Proof (cont.) φ=φcell∧φstart∧φmove∧φaccept
30Applied Algorithm Lab. KAIST
That is, for all legal (i, j)-
windows, which is represented as …
a1 a2 a3
a4 a5 a6
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.
31Applied Algorithm Lab. KAIST
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≤PSATApplied Algorithm Lab. KAIST 32
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?
33Applied Algorithm Lab. KAIST
Illustration
• N can decide in n2 steps where n=|w|. Therefore n2 is 16.
• C={q0, q1, qaccept, 0, 1, ⊔, #}# q0 0 1 1 1 ⊔ … ⊔ #
# #
# #
# #34
16×16 tableau
Applied Algorithm Lab. KAIST
Illustration
35Applied Algorithm Lab. KAIST
Illustration
36Applied Algorithm Lab. KAIST
Illustration
37Applied Algorithm Lab. KAIST
Illustration
• For φmove, find out all the legal windows.
38
# q0 0
# 0 q1
q0 0 0
0 q1 0
q0 0 1
0 q1 1…
0 q1 1
0 1 q1
1 q1 1
1 1 q1
q1 1 0
1 q1 0…
1 1 q1
1 1 ⊔
1 q1 ⊔
1 ⊔ qacc
q1 ⊔ ⊔
⊔ qacc ⊔
q1 1 1
1 q1 1
…⊔ ⊔ ⊔
qacc ⊔ ⊔…
…
No more than n2k|C|6=42*246=410 legal windows exist. (finite)
Applied Algorithm Lab. KAIST
Illustration
39Applied Algorithm Lab. KAIST
Illustration
• Now, we get φ=φcell∧φstart∧φmove∧φaccept.
40Applied Algorithm Lab. KAIST
∧
Illustration
41
Solve a SAT problem with this Boolean formula, φ.
If satisfiable, w=0111∈A={01+}. (Actually, it is right.)
Applied Algorithm Lab. KAIST
∧
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 42
Corollary: 3SAT∈NPC
• φcell, φstart, and φaccept are already in CNF.
Applied Algorithm Lab. KAIST 43
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 44
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 45
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 46
Conclusion
• Theorem (restated) SAT∈NPC 3SAT∈NPC
• All the NP problems are polynomial time reducible into SAT.
47Applied Algorithm Lab. KAIST
<Important NP-complete problems>Picture from http://www.wikipedia.org
Q&A
• Please, ask questions, if any.
48Applied Algorithm Lab. KAIST
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 49