Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Turing Machines There are languages that are not context-free. What can we say about the most powerful automata and the limits of computation?. Alan.

Similar presentations


Presentation on theme: "1 Turing Machines There are languages that are not context-free. What can we say about the most powerful automata and the limits of computation?. Alan."— Presentation transcript:

1 1 Turing Machines There are languages that are not context-free. What can we say about the most powerful automata and the limits of computation?. Alan Turing (1912 - 1954).

2 2 Standard Turing Machine Control unit q 0 Tape Read-write head

3 3 Standard Turing Machine M = (Q, , , , q 0, , F) Q: finite set of internal states  : finite set of symbols - tape alphabet    : blank     {}: finite set of symbols - input alphabet  : Q    Q    {L, R}transition function q 0  Q: initial state F  Q: set of final states

4 4 Standard Turing Machine  : Q    Q    {L, R} current symbol head move direction replacing symbol

5 5 Example  (q 0, a) = (q 1, d, R) current symbol head move to the right replacing symbol

6 6 Halt State A state for which  is not defined. Assume that all final states are halt states.

7 7 Example M = (Q, , , , q 0, , F) Q = {q 0, q 1 }  (q 0, a) = (q 0, b, R)  = {a, b}  (q 0, b) = (q 0, b, R)  = {a, b,  }  (q 0,  ) = (q 1, , L) F = {q 1 }

8 8 Example M = (Q, , , , q 0, , F) Q = {q 0, q 1 }  (q 0, a) = (q 1, a, R)  = {a, b}  (q 0, b) = (q 1, b, R)  = {a, b,  }  (q 0,  ) = (q 1, , R) F =  (q 1, a) = (q 0, a, L)  (q 1, b) = (q 0, b, L)  (q 1,  ) = (q 0, , L)

9 9 Instantaneous Description a 1 a 2... a k-1 qa k a k+1... a n current state current symbol

10 10 Instantaneous Description move: abq 1 cd  abeq 2 d if  (q 1, c)  (q 2, e, R)

11 11 Instantaneous Description x1qix2 y1qjy2x1qix2 y1qjy2x1qix2 y1qjy2x1qix2 y1qjy2

12 12 Turing Machines as Language Accepters Let M = (Q, , , , q 0, , F) be a TM. L(M) = {w   + | q 0 w     x 1 q f x 2 where q f  F and x 1, x 2   * }

13 13 Example L = 0* M = (Q, , , , q 0, , F) ?

14 14 Example L = { a n b n | n  1 } M = (Q, , , , q 0, , F) ?

15 15 Example L = { a n b n c n | n  1 } M = (Q, , , , q 0, , F) ?

16 16 Turing Machines as Language Transducers q 0 w     q f w^ function: w^ = f(w)

17 17 Turing Machines as Language Transducers A function f with domain D is said to be Turing-computable if there exists some Turing machine M = (Q, , , , q 0, , F) such that: q 0 w     q f f(w) q f  F for all w  D.

18 18 Example f(x, y) = x + y M = (Q, , , , q 0, , F) ?

19 19 Example f(w) = www  {1} + M = (Q, , , , q 0, , F) ?

20 20 Example f(x, y) = true if x  y or f(x, y) = false otherwise M = (Q, , , , q 0, , F) ?

21 21 Combining Turing Machines x + y if x  y f(x, y) = 0 if x  y M = (Q, , , , q 0, , F) ?

22 22 Combining Turing Machines Comparer C Adder A Eraser E x  y x  y x, yf(x, y) x + y 0

23 23 Combining Turing Machines q c w(x)0w(y)     q A w(x)0w(y) if x  y q c w(x)0w(y)     q E w(x)0w(y) if x  y q A w(x)0w(y)     q Af w(x + y)0 q E w(x)0w(y)     q Ef 0

24 24 Macroinstructions if a then q j else q k  (q i, a) = (q j0, a, R)  (q i, b) = (q k0, b, R)  (q j0, c) = (q j, c, L)  (q k0, c) = (q k, c, L)

25 25 Subprograms Region separator Workspace for A ## Workspace for B

26 26 Example f(x, y) = x  y For each 1 in x, create a 1-string of length y.

27 27 Turing's Thesis Turing machine appears to be simple. Turing seems to approach a typical digital computer.

28 28 Turing's Thesis Any computation that can be carried out by mechanical means can be performed by some Turing machine.

29 29 Turing's Thesis Anything done by existing digital computers can be done by a Turing machine. No problem solvable by an algorithm cannot be solved by a Turing machine. No alternative mechanical computation model is more powerful than the Turing machine model.

30 30 Homework Exercises: 2, 5, 8, 9, 16, 19 of Section 9.1. Exercises: 1, 2, 3, 4, 9 of Section 9.2. Presentations: Section 12.1: Computability and Decidability + Halting Problem Section 13.1: Recursive Functions Post Systems + Church's Thesis Section 13.2: Measures of Complexity + Complexity Classes


Download ppt "1 Turing Machines There are languages that are not context-free. What can we say about the most powerful automata and the limits of computation?. Alan."

Similar presentations


Ads by Google