1 / 30

Turing Machines

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). Standard Turing Machine. Tape. Read-write head. Control unit q 0. Standard Turing Machine.

joelle
Télécharger la présentation

Turing Machines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Standard Turing Machine Tape Read-write head Control unit q0

  3. Standard Turing Machine M = (Q, , , , q0, , 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 q0  Q: initial state F  Q: set of final states

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

  5. Example (q0, a) = (q1, d, R) current symbol replacing symbol head move to the right

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

  7. Example M = (Q, , , , q0, , F) Q = {q0, q1} (q0, a) = (q0, b, R)  = {a, b} (q0, b) = (q0, b, R)  = {a, b, } (q0, ) = (q1, , L) F = {q1}

  8. Example M = (Q, , , , q0, , F) Q = {q0, q1} (q0, a) = (q1, a, R)  = {a, b} (q0, b) = (q1, b, R)  = {a, b, } (q0, ) = (q1, , R) F =  (q1, a) = (q0, a, L) (q1, b) = (q0, b, L) (q1, ) = (q0, , L)

  9. Instantaneous Description a1a2 ...ak-1qakak+1 ...an current state current symbol

  10. Instantaneous Description move: abq1cd | abeq2d if (q1, c)  (q2, e, R)

  11. Instantaneous Description x1qix2|*My1qjy2 x1qix2|+My1qjy2

  12. Turing Machines as Language Accepters Let M = (Q, , , , q0, , F) be a TM. L(M) = {w  + | q0w |*Mx1qfx2 where qf F and x1, x2 *}

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

  14. Example L = {anbn | n  1} M = (Q, , , , q0, , F) ?

  15. Example L = {anbncn | n  1} M = (Q, , , , q0, , F) ?

  16. Turing Machines as Language Transducers q0w |*Mqfw^ function:w^ = f(w)

  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, , , , q0, , F) such that: q0w |*Mqff(w) qf F for allw  D.

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

  19. Example f(w) = ww w {1}+ M = (Q, , , , q0, , F) ?

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

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

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

  23. Combining Turing Machines qcw(x)0w(y) |*MqAw(x)0w(y)if x  y qcw(x)0w(y) |*MqEw(x)0w(y)if x  y qAw(x)0w(y) |*MqAfw(x + y)0 qEw(x)0w(y) |*MqEf0

  24. Macroinstructions if a then qj else qk (qi, a) = (qj0, a, R) (qi, b) = (qk0, b, R) (qj0, c) = (qj, c, L) (qk0, c) = (qk, c, L)

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

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

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

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

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

More Related