1.09k likes | 2.82k Views
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