ding-zhu du office: ecss 3-611, m 3:15-4:30 lecture: ecss 2.311, mw 12:30-1:45

55
Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Upload: hugh-washington

Post on 12-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Ding-Zhu DuOffice: ECSS 3-611, M 3:15-4:30

Lecture: ECSS 2.311, MW 12:30-1:45

Page 2: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Text BooksDing-Zhu Du and Ker-I Ko, Theory of

Computational Complexity, John-Wiley, 2 000. (Main)

Ding-Zhu Du and Ker-I Ko, Problem Solving in Automata, Languages and Complexity, John-Wiley, 2001. (Reference)

Page 3: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Theory of Deterministic Computation

Page 4: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Lecture 1Deterministic Turing Machine (DTM)

Finite Control

tape

head

Page 5: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

The tape has the left end but infinite to the right. It is divided into cells. Each cell contains a symbol in an alphabet Γ. There exists a special symbol B which represents the empty cell.

a l p h a B e

Page 6: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

The head scans at a cell on the tape and can read, erase, and write a symbol on the cell. In each move, the head can move to the right cell or to the left cell (or stay in the same cell).

a

Page 7: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

The finite control has finitely many states which form a set Q. For each move, the state is changed according to the evaluation of a transition function

δ : Q x Γ → Q x Γ x {R, L}.

Page 8: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

δ(q, a) = (p, b, L) means that if the head reads symbol a and the finite control is in the state q, then the next state should be p, the symbol a should be changed to b, and the head moves one cell to the left.

q

a b

p

Page 9: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

δ(q, a) = (p, b, R) means that if the head

reads symbol a and the finite control is in the state q, then the next state should be p, the symbol a should be changed to b, and the head moves one cell to the right.

pq

a b

Page 10: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

There are some special states: an initial state s and an final states h.

Initially, the DTM is in the initial state and the head scans the leftmost cell. The tape holds an input string.

s

Page 11: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

When the DTM is in the final state, the DTM stops. An input string x is accepted by the DTM if the DTM reaches the final state h.

Otherwise, the input string is rejected.

h

x

Page 12: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

The DTM can be represented by M = (Q, Σ, Γ, δ, s) where Σ is the alphabet of input symbols.The set of all strings accepted by a DTM M is

denoted by L(M). We also say that the language L(M) is accepted by M.

Page 13: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

The transition diagram of a DTM is an alternative way to represent the DTM.

For M = (Q, Σ, Γ, δ, s), the transition diagram of M is a symbol-labeled digraph G=(V, E) satisfying the following:

V = Q (s = , h = )

E = { p q | δ(p, a) = (q, b, D)}.

a/b,D

Page 14: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

M=(Q, Σ, Γ, δ, s) where Q = {s, p, q, h}, Σ = {0, 1}, Г = {0, 1, B}.

δ 0 1 B s (p, 0, R) (s, 1, R) - p (q, 0, R) (s, 1, R) - q (q, 0, R) (q, 1, R) (h, B, R)

L(M) = (0+1)*00(0+1)*.

s p q h

1/1,R

0/0,R

1/1,R

0/0,R

0/0,R; 1/1,R

B/B,R

Page 15: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Theorem. Every regular set can be accepted by a DTM.

Proof.Every regular set can be accepted a

deterministic finite automata (DFA).Every DFA can be simulated by a DTM.

Page 16: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Review on Regular Set Regular sets on an alphabet Σ is defined

recursively as follows (1) The empty set Φ is a regular set. (2) For every symbol a in Σ, {a} is a regular set. (3) If A and B are regular sets, then A ∩ B, A U B, and A* are all regular sets.

Page 17: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Review on DFA

tape

head

finite control

a b c d e f

Page 18: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

The tape is divided into cells. Each cell contains a symbol in an alphabet Σ.

The head scans at a cell on the tape and can read symbol from the cell. It can also move from left to right, one cell per move.

Page 19: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

The finite control has finitely many states which form a set Q. For each move, the state is changed according to the evaluation of a function δ: Q x Σ → Q. If the head reads symbol a and the finite control is in the state q, then the next state is p = δ(q, a).

Page 20: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

There are some special states: an initial state s and some final states which form a set F.

The DFA can be represented by M = (Q, Σ, δ, s, F).

Page 21: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Initially, the DFA is in the initial state and the head scans the leftmost cell. The tape holds an input string x. When the head moves off the tape, the DFA stops. An input string is accepted by the DFA if the DFA stops in a final state. Otherwise, the input string is rejected.

Page 22: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Simulate DFA by DTMGiven a DFA M = (Q, Σ, δ, s, F), we can

construct a DTM M’ = (Q’, Г, Σ, δ’, s) to simulate M as follows:

Q’ = Q U {h}, Γ = Σ U {B},

If δ(q, a) = p, then δ’(q, a) = (p, a, R). δ’(q, B) = (h, B, R) for q in F.

Page 23: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

L(M) = (0+1)*00(0+1)*.

s p q h

1/1,R

0/0,R

1/1,R

0/0,R

0/0,R; 1/1,R

B/B,R

s p q

1

0

1

0

0, 1

Page 24: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Regularlanguages

Turing acceptable languages

Page 25: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Why DTM can accept more languages than DFA?BecauseThe head can move in two directions. (No!)The head can erase. (No!)The head can write and move in two

directions. (Yes!)

Page 26: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Examples of DTM

. reads head theand ,... string holds

tape the, statein is control final the

that an timeat DTM represents

) ,(ion Configurat

1

.111 .....

in

niii

xxx

q

xxxxxq

Page 27: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

).( )(

e then writ),( =)( If

).( ) (

e then writ),( = )( If

bycp,xyaq,xc

p,b,Lq,a

ycp,xbcyaq,x

p,b,Rq,a

Page 28: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

). ,(

withending and ) ,(

ionconfigurat from starting

DTMConstruct 1. Example

... 1

... 21

BxBxh

xxxs

n

n

Page 29: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

(s, 0110B)├ (q0, B110B)├ (q1, B010B)├ (q1, B010B)├ (q0, B011B)├ (h, B0110B)

Page 30: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Remark

).(

ion configurat initial has DTM

every that assumemay We

1 B xs, Bx n

Page 31: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Turing-acceptable

).( * ) ( if by

accepted is stringinput An

)( DTMConsider

h, Bs, BxM

Σx

, s, Q, Σ, M =

}by accepted is | { )( MxxML

Page 32: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

{ww | w ε (0+1)*} is Turing-acceptable.

(s, B0110B)├ (q, B0110B)├ (q0, B011BB)├* (q0, B011B) ├ (p0, B011B)├ (ok, BB11B) ├* (ok, B11B) ├ (q, B11B) ├ (q1, B1BB)├ (q1, B1B) ├ (p1, B1B) ├ (ok, BBB)├ (q, BBB) ├ (h, BBB)

?? Could we do (ok, BBB) ├ (h, BBB) ?

R

Page 33: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

L= {ww | w in (0+1)*}R

Page 34: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Turing-Computable FunctionsA total function f: Σ* → Σ* is Turing-

computable if there exists a DTM M such that for every x in Σ*,

(s, BxB) ├* (h, Bf(x)B).A partial f: Ω → Σ* is Turing-computable if

there exists a DTM M such that L(M)=Ω and for every x in Ω,

(s, BxB) ├* (h, Bf(x)B).

Page 35: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

The following function f is Turing-computable: f(x) = w, if x = ww ; ↑, otherwise

(s, B0110B)├ (q, B0110B)├ (q0, B011BB)├* (q0, B011B) ├ (p0, B011B)├ (ok, B0’11B) ├* (ok, B0’11B) ├ (q, B0’11B) ├ (q1, B0’1BB)├ (q1, B0’1B) ├ (p1, B0’1B) ├ (ok, B0’1’B)├ (q, B0’1’B) ├ (r, B0’1B) ├* (r, B01B)├ (o, B01B) ├* (o, B01B)├ (k, B01BB) ├ (h, B01B)

R

Page 36: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

f(x) = w if x = ww ; ↑, otherwiseR

Page 37: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Turing-decidableA language A is Turing-decidable if its

characteristic function is Turing-computable.

Χ (x) = { A

1, if x ε A0, otherwise

Page 38: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

{ ww | w ε (0+1)*} is Turing-decidable.

(s, B0110B)├ (q, B0110B)├ (q0, B011BB)├* (q0, B011B) ├ (p0, B011B)├ (ok, B$11B) ├* (ok, B$11B) ├ (q, B$11B) ├ (q1, B$1BB)├ (q1, B$1B) ├ (p1, B$1B) ├ (ok, B$$B)├ (q, B$$B) ├ (r, B$BB) ├* (r, BBB)├ (o, BBB) ├* (h, B1B)

R

Page 39: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45
Page 40: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Theorem A language A is Turing-acceptable iff there

exists a total Turing-computable function f such that A = { f(x) | x ε (0+1)*}.

If we look at each natural number as a 0-1 string, then f can be also a total Turing-computable function defined on N, the set of all natural numbers, that is,

A = { f(1), f(2), f(3), …}Therefore, “Turing-acceptable” is also called

“recursively enumerable” (r.e.).

Page 41: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

TheoremA language A is Turing-decidable iff A and its

complement Ā are Turing-acceptable. Proof. Suppose L(M) = A and L(M’) = Ā. Construct M* to simulate M and M’

simultaneously

Page 42: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

regular

Turing-decidable

(recursive)Turing-acceptable

(r.e.)

Page 43: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45
Page 44: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Allow the head not moveTheorem. If the head is allowed to stay at the

cell in each move, then every function computed by the DTM is still Turing-computable.

Proof. Consider DTM M=(Q,Σ,Γ,δ,s) whereδ: Q x Γ → Q x Γ x {R, L, H} and H meansthat the head stays at the current cell. We

construct M’=(Q U Q’, Σ, Γ, δ’,s) as follows:

Page 45: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Q’ = {q’ | q ε Q}For q ε Q, δ’(q, a) = (p, b, R) if δ(q, a) = (p, b, R) δ’(q, a) = (p, b, L) if δ(q, a) = (p, b, L) δ’(q, a) = (p’, b, R) if δ(q, a) = (p, b, H) For p’ ε Q’, δ’(p’, a) = (p, a, L).

M and M’ compute the same function.

Page 46: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Corollary. A language is accepted by a DTM, which allows the head not to move, iff it is Turing-acceptable.

Why this is a corollary? Because every language accepted by a DTM

is the definition domain of a function computable by a DTM of the same type.

Corollary. A language is decided by a DTM, which allows the head not to move, iff it is Turing-decidable.

Page 47: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Two-way DTM

Page 48: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Theorem. Every function computed by a two-way DTM is Turing-computable.

$

Page 49: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Consider a two-way DTM M=(Q, Σ, Γ, δ,s). Construct a DTM M’ = (Q U Q’,Σ’,Γ’,δ’,s) to simulate M as follows:

Q’={q’ | q ε Q}Γ’ ={(a, b) | a, b ε Γ } U { (B, $) }Σ’ ={(a, B) | a ε Σ}For q ε Q, δ’(q, $) = (q’,$,R) δ’(q, (a, c)) = (p,(b,c),D) if δ(q,a)=(p,b,D)

Page 50: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

For q’ ε Q’, δ’(q’, $) = (q, $, R) δ’(q’,(c,a)) = (p’,(c,b),R) if δ(q,a)=(p,b,L) δ’(q’,(c,a)) = (p’,(c,b),L) if δ(q,a)=(p,b,R) δ’(q’,(c,a)) = (p’,(c,b),H) if δ(q,a)=(p,b,H)

Page 51: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Multi-tape DTMInput tape(read only)

Storage tapes

Output tape

(possibly, write only)

Page 52: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Theorem. A function can be computed by a multitape DTM iff it isTuring-computable.

Proof.

tape

head

tape

head

tape

headX

X

X

Page 53: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

To simulate a move of the multitape DTM, the one-tape DTM needs two trips:

Trip 1: read all symbols at heads.Trip 2: erase and write at cells scaned by

heads.Questions:How many moves does one-tape DTM

needs to simulate t moves of a multitape DTM?

How many states does one-tape DTM needs to simulate a multitape DTM?

Page 54: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Church-Turing ThesisAny reasonably computable functionis a Turing-computable function.

Page 55: Ding-Zhu Du Office: ECSS 3-611, M 3:15-4:30 Lecture: ECSS 2.311, MW 12:30-1:45

Theorem. A language A is Turing-decidable iff both A and its complement A are Turing-acceptable.

Proof. The forward direction is easy. For the backward direction, suppose one-tape

DTMs M and M’ accept A and A respectively. Construct 4-tape DTM M* as follows:

Use a storage tape to simulate M and another storage tape to simulate M’.M* halts iff M or M’ halts.If M halts, then M* outputs 1.If M’ halts, then M* outputs 0.