Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS6382 Theory of Computation

Similar presentations


Presentation on theme: "CS6382 Theory of Computation"— Presentation transcript:

1 CS6382 Theory of Computation
Ding-Zhu Du Office: ECSS 3-611, Thuesday 4:00-5:00 Lecture: ECSN 2.112, TuTh 1:00-2:15

2 Text Books Ding-Zhu Du and Ker-I Ko, Theory of Computational Complexity (2nd ed), John-Wiley, (Main) Ding-Zhu Du and Ker-I Ko, Problem Solving in Automata, Languages and Complexity, John-Wiley, (Reference) Ding-Zhu Du and ???, Theory of Computation (potential).

3 Theory of Deterministic Computation
Part I Theory of Deterministic Computation

4 Models (Machine, Circuits)
Natural Problem

5 Complexity classes are defined based on Machine or Circuits)
How to prove a Natural Problem in the class?

6 Reductions are defined based on Machine.
How to establish reductions between Natural Problems?

7 Data-Driving Algorithm
Reduction Oracle = database

8 Lecture 1-1 Deterministic Turing Machine (DTM)
Finite Control tape head

9 p h B e a l a 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.

10 a 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).

11 The finite control has finitely many states which form a set Q
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}.

12 b a q p δ(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.

13 a b q p δ(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.

14 s There are some special states: an initial state s and an final states h. Initially, the DTM is in state s and the head scans the leftmost cell. The tape holds an input string.

15 Otherwise, the input string is rejected.
x h 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.

16 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.

17 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

18 1/1,R 0/0,R; 1/1,R 0/0,R 0/0,R B/B,R s p q h 1/1,R 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)*.

19 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.

20 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.

21 Review on DFA tape a b c d e f head finite control

22 The tape is divided into cells
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.

23 The finite control has finitely many states which form a set Q
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).

24 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).

25 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.

26 Simulate DFA by DTM Given 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.

27 L(M) = (0+1)*00(0+1)*. 1/1,R 0/0,R; 1/1,R 0/0,R 0/0,R B/B,R s p q h
0, 1 s p q 1 L(M) = (0+1)*00(0+1)*.

28 Turing acceptable languages
Regular languages

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

30 Examples of DTM

31

32

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

34 Remark

35 Turing-acceptable

36 R {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) ?

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

38 Turing-Computable Functions
A 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 Ω,

39 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

40 f(x) = w if x = ww ; ↑, otherwise

41 Turing-decidable 1, if x ε A 0, otherwise
A language A is Turing-decidable if its characteristic function is Turing-computable. χ (x) = { 1, if x ε A A 0, otherwise

42 { 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

43

44 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.).

45 Theorem A 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

46 Turing-decidable (recursive) Turing-acceptable (r.e.) regular

47 Various TMs

48 Allow the head not move Theorem. 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 means that the head stays at the current cell. We construct M’=(Q U Q’, Σ, Γ, δ’,s) as follows:

49 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.

50 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.

51 Two-way DTM

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

53 Consider a two-way DTM M=(Q, Σ, Γ, δ,s)
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 { $ } Σ’ ={(a, B) | a ε Σ} For q ε Q, δ’(q, $) = (q’,$,R) δ’(q, (a, c)) = (p,(b,c),D) if δ(q,a)=(p,b,D) For q’ ε Q’, δ’(q’, $) = (q, $, R) δ’(q’,(a,c)) = (p’,(a,b),D’) if δ(q,c)=(p,b,D) where D’=L if D=R, R if D=L, H if D=H.

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

55 Multi-tape DTM Input tape (read only) Storage tapes Output tape
(possibly, write only)

56 Theorem. A function can be computed by a multitape DTM iff it isTuring-computable. Proof.
X head b tape X head c tape X head q

57 tape a X head b tape X head c tape X head a b q c

58 tape a X head b tape X head c tape X head d e p h

59 tape d X head b tape X head c tape X head e p h

60 tape d X head e tape X head h tape X head p

61 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?

62 Church-Turing Thesis Any reasonably computable function is a Turing-computable function.

63 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.


Download ppt "CS6382 Theory of Computation"

Similar presentations


Ads by Google