Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf ·...

21
Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

Transcript of Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf ·...

Page 1: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

Theory of Computation

Chapter 8

Guan-Shieng Huang

Apr. 28, 2003Feb. 19, 2006

0-0

Page 2: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Reduction

To reduce Problem A to Problem B, we mean if B is solved, then A

is solved.

x: an instance of Problem A

R: transformation from A to B

R(x): an instance of B

We require R(x) ∈ B iff x ∈ A.

Hence B is solved implies that A is solved.

Or, B is at least as hard as A.

1

Page 3: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

For computational problems, we say language L1 is reducible to L2

if there is a log-space reduction R such that

x ∈ L1 if and only if R(x) ∈ L2

for any string x as the input of decision problem for L1.

2

Page 4: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Proposition 8.1

If R is a log-space reduction, then R is a polynomial-time

reduction.

1. There are at most O(nck lg n) possible configurations where c

and k are constants..

2. If a computation for a Turing machine is terminated, each

configuration can appear at most once.

3. Hence, R uses at most polynomial steps.

3

Page 5: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Reducing Hamilton Path (HP) to SAT

(Example 8.1)

HP: Given a graph, whether there is a path that visits each node

exactly once.

G has an HP iff R(G) is satisfiable.

xi,j : node j is the ith node in the HP.

R(G) =

(x1,j ∨ x2,j ∨ · · · ∨ xn,j) for 1 ≤ j ≤ n

(¬xi,j ∨ ¬xk,j) for 1 ≤ i, j 6= k ≤ n

(xi,1 ∨ xi,2 ∨ · · · ∨ xi,n) for 1 ≤ i ≤ n

(¬xk,i ∨ ¬xk+1,j) for each pair (i, j) not in G.

4

Page 6: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Reducing Reachability To SAT

(Example 8.2)

Given a graph G labeled from 1 to n, is there a path from node 1

to node n in G?

gi,j,k: there is a path from node i to node j and this path passes

through nodes with indices at most k.

R(G) =

gi,j,k ⇔ (gi,k,k−1 ∧ gk,j,k−1) ∨ gi,j,k−1, for 1 ≤ i, j, k ≤ n

gi,j,0, if (i, j) is an edge in G

¬gi,j,0, if (i, j) 6∈ E

g1,n,n.

Then node 1 can reach node n in G if and only if R(G) is satisfiable.

5

Page 7: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Reducing Circuit SAT to SAT

(Example 8.3)

x =⇒ ¬g ∨ x, g ∨ ¬x (g ⇔ x)

¬

h

=⇒ ¬g ∨ ¬h, g ∨ h (g ⇔ ¬h)

h h′

=⇒ ¬h ∨ g,¬h′ ∨ g, h ∨ h′ ∨ ¬g (g ⇔ h ∨ h′)

h h′

=⇒ ¬g ∨ h,¬g ∨ h′,¬h ∨ ¬h′ ∨ g (g ⇔ h ∧ h′)

6

Page 8: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%7

Page 9: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Reducing Circuit Value to Circuit SAT

Reduction by generalization.

8

Page 10: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Proposition 8.2

If R is a reduction from L1 to L2 and R′ is a reduction from L2 to

L3, then there is a reduction from L1 to L3.

Given any x (either x 6∈ L1 or x ∈ L1), we have

x ∈ L1 iff R(x) ∈ L2 iff R′(R(x)) ∈ L3.

Thus, we have a reduction s.t. x ∈ L1 iff R′(R(x)) ∈ L3.

9

Page 11: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

However, we cannot implement the composition R′ ◦ R as

1. Compute R(x);

2. Compute R′(R(x)).

This is because we may need polynomial spaces in order to store

R(x) in Step 1.

x M R M R ( x ) .ip M R ' R ( R ( x ))

ip

'

10

Page 12: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Complete Problems

(Definition 8.2)

C: complexity class

L: a language in C

We say L is C-complete if any language L′ ∈ C can be reduced to L.

Examples:

NP-complete, P-complete, PSPACE-complete, NL-complete

11

Page 13: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Definition A class C′ is closed under reductions if whenever L is

reducible to L′ and L′ ∈ C′, then also L ∈ C′.

Remark

1. A complete problem is the least likely among all problems in C

to belong in a weaker class C′ ⊆ C.

2. If it does, then the whole class C coincides with the weaker

class C′, as long as C′ is closed under reduction.

12

Page 14: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Proposition 8.3

P, NP, coNP, L, NL, PSPACE, and EXP are all closed under

log-space reductions.

Remark:

If an NP-complete problem is in P, then P=NP.

13

Page 15: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Proposition 8.4

If two classes C and C′ are both closed under reductions, and there

is a language L which is complete for both C and C′, then C = C′.

Observe that C ⊆ C′ and C′ ⊆ C, and thus C = C′.

14

Page 16: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Cook’s Theorem (Theorem 8.2)

SAT is NP-complete.

15

Page 17: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Table Method

16

Page 18: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Theorem 8.1

Circuit Value is P-complete.

p(|x|) × p(|x|) size computation table where p is the time bound for

the algorithm.

17

Page 19: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%Corollary: Monotone Circuit Value is P-complete.

18

Page 20: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%

Cook’s Theorem

SAT is NP-complete.

To standardize the behavior of non-determinism:

19

Page 21: Theory of Computation Chapter 8staffweb.ncnu.edu.tw/shieng/theory/2007_fall/slides/chap8.pdf · Theory of Computation Chapter 8 Guan-Shieng Huang Apr. 28, 2003 Feb. 19, 2006 0-0

'

&

$

%20