1.09k likes | 3.03k Vues
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.
                
                E N D
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 q0
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
Standard Turing Machine : Q    Q    {L, R} current symbol replacing symbol head move direction
Example (q0, a) = (q1, d, R) current symbol replacing symbol head move to the right
Halt State • A state for which  is not defined. • Assume that all final states are halt states.
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}
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)
Instantaneous Description a1a2 ...ak-1qakak+1 ...an current state current symbol
Instantaneous Description move: abq1cd | abeq2d if (q1, c)  (q2, e, R)
Instantaneous Description x1qix2|*My1qjy2 x1qix2|+My1qjy2
Turing Machines as Language Accepters Let M = (Q, , , , q0, , F) be a TM. L(M) = {w  + | q0w |*Mx1qfx2 where qf F and x1, x2 *}
Example L = 0* M = (Q, , , , q0, , F) ?
Example L = {anbn | n  1} M = (Q, , , , q0, , F) ?
Example L = {anbncn | n  1} M = (Q, , , , q0, , F) ?
Turing Machines as Language Transducers q0w |*Mqfw^ function:w^ = f(w)
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.
Example f(x, y) = x + y M = (Q, , , , q0, , F) ?
Example f(w) = ww w {1}+ M = (Q, , , , q0, , F) ?
Example f(x, y) = true if x  y or f(x, y) = false otherwise M = (Q, , , , q0, , F) ?
Combining Turing Machines x + y if x  y f(x, y) = 0 if x  y M = (Q, , , , q0, , F) ?
Combining Turing Machines x + y Adder A x  y x,y f(x,y) Comparer C x  y Eraser E 0
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
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)
Subprograms Region separator # # Workspace for A Workspace for B
Example f(x, y) = x  y For each 1 in x, create a 1-string of length y.
Turing's Thesis • Turing machine appears to be simple. • Turing seems to approach a typical digital computer.
Turing's Thesis Any computation that can be carried out by mechanical means can be performed by some Turing machine.
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.
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