Theory of Computation Chapter 2: Turing Machines Guan-Shieng Huang - - PowerPoint PPT Presentation

theory of computation chapter 2 turing machines
SMART_READER_LITE
LIVE PREVIEW

Theory of Computation Chapter 2: Turing Machines Guan-Shieng Huang - - PowerPoint PPT Presentation

Theory of Computation Chapter 2: Turing Machines Guan-Shieng Huang Feb. 24, 2003 Feb. 19, 2006 0-0 Turing Machine K 0111000 a 01 bb 1 Definition of TMs A


slide-1
SLIDE 1

Theory of Computation Chapter 2: Turing Machines

Guan-Shieng Huang

  • Feb. 24, 2003
  • Feb. 19, 2006

0-0

slide-2
SLIDE 2

✬ ✫ ✩ ✪

Turing Machine

δ K

⊲0111000a · · · 01bb ⊔ ⊔ ⊔ ⊔ · · · · · ·

1

slide-3
SLIDE 3

✬ ✫ ✩ ✪

Definition of TMs

A Turing Machine is a quadruple M = (K, Σ, δ, s), where

  • 1. K is a finite set of states; (line numbers)
  • 2. Σ is a finite set of symbols including ⊔ and ⊲; (alphabet)
  • 3. δ : K × Σ → (K ∪ {h,“yes”,“no”}) × Σ × {←, →, −}, a transition

function; (instructions)

  • 4. s ∈ K, the initial state. (starting point)

2

slide-4
SLIDE 4

✬ ✫ ✩ ✪

  • h: halt, “yes”:accept, “no”: reject

(terminate the execution)

  • →: move right, ←: move left, −: stay

(move the head)

  • ⊔: blank, ⊲: the boundary symbol

3

slide-5
SLIDE 5

✬ ✫ ✩ ✪

  • δ(q, σ) = (p, ρ, D)

While reading σ at line q, go to line p and write out ρ on the

  • tape. Move the head according to the direction of D.
  • δ(q, ⊲) = (p, ρ, →), to avoid crash.

4

slide-6
SLIDE 6

✬ ✫ ✩ ✪

Example 2.1

5

slide-7
SLIDE 7

✬ ✫ ✩ ✪

Remark

x: input of M M(x) =              “yes” “no” y if M entered h ր if M never terminates

6

slide-8
SLIDE 8

✬ ✫ ✩ ✪

Example 2.2

(n)2 → (n + 1)2 if no overflow happens.

7

slide-9
SLIDE 9

✬ ✫ ✩ ✪

Example 2.3 — Palindrome

8

slide-10
SLIDE 10

✬ ✫ ✩ ✪

Turing Machines as Algorithms

  • L ⊆ (Σ − {⊔, ⊲})∗, a language
  • A TM M decides L if for all string x,

   x ∈ L ⇒ M(x) = “yes” x ∈ L ⇒ M(x) = “no”.

  • A TM M accepts L if for all string x,

   x ∈ L ⇒ M(x) = “yes” x ∈ L ⇒ M(x) =ր .

9

slide-11
SLIDE 11

✬ ✫ ✩ ✪

  • If L is decided by some TM, we say L is recursive.
  • If L is accepted by some TM, we say L is recursively

enumerable.

10

slide-12
SLIDE 12

✬ ✫ ✩ ✪

Proposition 2.1

If L is recursive, then it is recursively enumerable.

11

slide-13
SLIDE 13

✬ ✫ ✩ ✪ Representation of mathematical objects: (data structure)

  • 1. graphs, sets, numbers, ...
  • 2. All acceptable encodings are polynomially related.

(a) binary, ternary (b) adjacency matrix, adjacency list However, unary representation of numbers is an exception.

12

slide-14
SLIDE 14

✬ ✫ ✩ ✪

k-string Turing Machines

A k-string Turing machine is a quadruple (K, Σ, δ, s) where

  • 1. K, Σ, s are exactly as in ordinary Turing machines;
  • 2. δ : K × Σk → (K ∪ {h,“yes”,“no”}) × (Σ × {←, →, −})k;

13

slide-15
SLIDE 15

✬ ✫ ✩ ✪

An Example

14

slide-16
SLIDE 16

✬ ✫ ✩ ✪

  • 1. If for a k-string Turing machine M and input x we have

(s, ⊲, x, ⊲, ǫ, . . ., ⊲, ǫ)

Mt

− → (H, w1, u1, . . . , wk, uk) for some H ∈ {h,“yes”,“no”}, then the time required by M on input x is t.

  • 2. If for any input string x of length |x|, M terminates on input x

within time f(|x|), we say f(n) is a time bound for M. (worst case analysis)

15

slide-17
SLIDE 17

✬ ✫ ✩ ✪ TIME(f(n)): the set of all languages that can be decided by TMs in time f(n). Theorem 2.1 Given any k-string TM M operating within time f(n), we can construct a TM M ′ operating within time O(f(n)2) and such that, for any input x, M(x) = M ′(x). (by simulation)

16

slide-18
SLIDE 18

✬ ✫ ✩ ✪

Linear Speedup

Theorem 2.2 Let L ∈ TIME(f(n)). Then, for any ǫ > 0, L ∈ TIME(f ′(n)), where f ′(n) = ǫ · f(n) + n + 2. Definition P =

k≥1 TIME(nk). 17

slide-19
SLIDE 19

✬ ✫ ✩ ✪

Space Bounds

A k-string TM with input and output is an ordinary k-string TM such that

  • 1. the first tape is read-only;

(Input cannot be modified.)

  • 2. the last tape is write-only.

(Output cannot be wound back.)

18

slide-20
SLIDE 20

✬ ✫ ✩ ✪

Proposition

For any k-string TM M operating with time bound f(n) there is a (k + 2)-string TM M ′ with input and output, which operates within time bound O(f(n)).

19

slide-21
SLIDE 21

✬ ✫ ✩ ✪

Space Bound for TM

Suppose that, for a k-string TM M and input x, (s, ⊲, x, . . . , ⊲, ǫ)

M∗

− → (H, w1, u1, . . . , wk, uk) where H ∈ {h,“yes”,“no”} is a halting state.

  • 1. The space required by M on input x is k

i=1 |wiui|.

  • 2. If M is a machine with input and output, then the space required by

M on input x is k−1

i=2 |wiui|.

20

slide-22
SLIDE 22

✬ ✫ ✩ ✪

  • 1. We say that Turing machine M operates within space bound

f(n) if, for any input x, M requires space at most f(|x|).

  • 2. A language L is in the space complexity class SPACE(f(n)) if

there is a TM with I/O that decides L and operates within space bound f(n).

  • 3. Define L = SPACE(lg(n)).

21

slide-23
SLIDE 23

✬ ✫ ✩ ✪

Theorem 2.3

Let L be a language in SPACE(f(n)). Then, for any ǫ > 0, L ∈ SPACE(2 + ǫ · f(n)).

22

slide-24
SLIDE 24

✬ ✫ ✩ ✪

Random Access Machines

Input: (i1, i2, . . . , in) Output: r0 (accumulator) Memory: r0, r1, r2, . . . (infinite memory) k: program counter Three address modes: (for x)

  • 1. j: direct;
  • 2. ↑ j: indirect;
  • 3. = j: immediate.

(arbitrary large number)

23

slide-25
SLIDE 25

✬ ✫ ✩ ✪

24

slide-26
SLIDE 26

✬ ✫ ✩ ✪

Theorem 2.5

If a RAM program Π computes a function φ in time f(n), then there is a 7-string TM which computes φ in time O(f(n)3). (by simulation)

25

slide-27
SLIDE 27

✬ ✫ ✩ ✪

Nondeterministic Machines

A nondeterministic TM is a quadruple N = (K, Σ, ∆, s), where

  • 1. K, Σ, s are as in ordinary TM;
  • 2. ∆ ⊆ (K × Σ) × [(K ∪ {h,“yes”,“no”}) × Σ × {←, →, −}].

26

slide-28
SLIDE 28

✬ ✫ ✩ ✪

27

slide-29
SLIDE 29

✬ ✫ ✩ ✪

  • 1. N decides a language L if for any x ∈ Σ∗, x ∈ L if and only if

(s, ⊲, x)

N ∗

− → (“yes”, w, u) for some strings w and u.

  • 2. An input is accepted if there is some sequence of

nondeterministic choice that results in “yes”.

28

slide-30
SLIDE 30

✬ ✫ ✩ ✪ N decides L in time f(n) if

  • 1. N decides L;
  • 2. for any x ∈ Σ∗, if (s, ⊲, x)

N k

− → (“yes”, w, u), then k ≤ f(|x|). Let NTIME(f(n)) be the set of languages decided by NTMs within time f.

29

slide-31
SLIDE 31

✬ ✫ ✩ ✪ Let NP =

k≥1 NTIME(nk).

We have P ⊆ NP.

30

slide-32
SLIDE 32

✬ ✫ ✩ ✪

Example 2.9

TSP(D) ∈ NP

  • 1. Write out arbitrary permutation of 1, . . . , n.
  • 2. Check whether the tour indicated by this permutation is less

than the distance bound.

31

slide-33
SLIDE 33

✬ ✫ ✩ ✪

Theorem 2.6

Suppose that language L is decided by an NTM N in time f(n). Then it is decided by a 3-string DTM M in time O(cf(n)), where c > 1 is some constant depending on N. (NTIME(f(n)) ⊆

c≥1 TIME(cf(n)).) 32

slide-34
SLIDE 34

✬ ✫ ✩ ✪

Example 2.10

  • Reachability ∈ NSPACE(lg n) (This is easy.)
  • Reachability ∈ SPACE((lg n)2) (In Chapter 7.)

33

slide-35
SLIDE 35

✬ ✫ ✩ ✪ Why employ nondeterminism?

34

slide-36
SLIDE 36

✬ ✫ ✩ ✪

Exercises

2.8.1, 2.8.4, 2.8.6, 2.8.7, 2.8.8, 2.8.9, 2.8.10, 2.8.11

35