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).
Jan 26, 2016
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
Control unitq0
Tape
Read-write head
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
head move direction
replacing symbol
5
Example
(q0, a) = (q1, d, R)
current symbol
head move to the right
replacing symbol
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 y1qjy2
x1qix2 y1qjy2
12
Turing Machines as Language Accepters
Let M = (Q, , , , q0, �, F) be a TM.
L(M) = {w + | q0w x1qfx2 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 qfw^
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 qff(w) qf F
for all w 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 yf(x, y) =
0 if x y
M = (Q, , , , q0, �, F) ?
22
Combining Turing Machines
Comparer C
Adder A
EraserE
x y
x y
x, y f(x, y)
x + y
0
23
Combining Turing Machines
qcw(x)0w(y) qAw(x)0w(y) if x y
qcw(x)0w(y) qEw(x)0w(y) if x y
qAw(x)0w(y) qAfw(x + y)0
qEw(x)0w(y) qEf0
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