Turing Machines
Lecture 8
1
Turing Machines Lecture 8 1 Course Trajectory We will see - - PowerPoint PPT Presentation
Turing Machines Lecture 8 1 Course Trajectory We will see algorithms, what can be done. But what cannot be done? CS 374 2 Computation Problem : Program : To compute a function F that A finitely described process maps each input (a
1
CS 374
2
CS 374
3
1 ε 2 3 1 4 00 5 01 6 10 7 11 8 000 9 001 10 010 11 011 12 100
CS 374
4
1 ε 2 3 1 1 4 00 5 01 1 6 10 1 7 11 8 000 9 001 1 10 010 1 11 011 12 100 1
CS 374
5
CS 374
6
CS 374
7
CS 374
8
CS 374
9
CS 374
10
CS 374
11
calculemus!
CS 374
12
CS 374
13
CS 374
14
CS 374
– cryptanalysis during WWII – arguably, father of AI, CS Theory – several books, movies
15
CS 374
16
CS 374
CS 374
Finite alphabet Read Write Move +1 or -1 Halt condition
CS 374
Finite alphabet Read Write Move +1 or -1 Halt condition Internal state (finite number)
Was designed as a model of human computation but it models computers as we know them
Finite number of internal states
CS 374
CS 374
21
CS 374
M = (Q, Σ, Γ, B, δ, qstart,, qaccept, qreject): Γ is a finite tape alphabet.
Q is a finite set of states qstart ∈ Q is the initial state qaccept, qreject ∈ Q accept/reject states Or maybe run forever Transition function: δ : Q × Γ (read) → Q × Γ (write) × { L, R }
22
CS 374 1 1 1
pink
CS 374
24
x ∈ Γ* : tape contents left of the head q ∈ Q : state y ∈ Γ* : tape contents at & right of the head (till last non-blank)
a: symbol TM is about to read
CS 374
25
CS 374 1 1 1
CS 374
27
CS 374
28
CS 374
29
Recursively Enumerable Language Recursive Language
CS 374
q2 q3 q4 q1 0 / 0ʹ, R 1 / 1ʹ, R _ / _, L 0 / 0, L 1 / 1, L 0ʹ / 0, R 1ʹ / 1, R 0 / 0, R 1 / 1, R 0 / 0, R 1 / 1, R _ / 0, L _ / 1, L
CS 374 1 _ _ _ _ _ _ _ _
q1 0ʹ 0 1 _ _ _ _ _ _ _ _ 0ʹ 0ʹ 1 _ _ _ _ _ _ _ _ 0ʹ 0ʹ 1ʹ _ _ _ _ _ _ _ _ 0ʹ 0ʹ 1ʹ _ _ _ _ _ _ _ _ q2 0ʹ 0ʹ 1 _ _ _ _ _ _ _ _ 0ʹ 0ʹ 1 1 _ _ _ _ _ _ _ 0ʹ 0ʹ 1 1 _ _ _ _ _ _ _ 0ʹ 0 1 1 _ _ _ _ _ _ _ q4 q2 0ʹ 0 1 1 _ _ _ _ _ _ _ 0ʹ 0 1 1 _ _ _ _ _ _ _ 0ʹ 0 1 1 _ _ _ _ _ _ 0ʹ 0 1 1 _ _ _ _ _ _ 0ʹ 0 1 1 _ _ _ _ _ _ q3 q2 0ʹ 0 1 1 _ _ _ _ _ _
q2 q3 q4 q1 0 / 0ʹ, R 1 / 1ʹ, R _ / _, L 0 / 0, L 1 / 1, L 0ʹ / 0, R 1ʹ / 1, R 0 / 0, R 1 / 1, R 0 / 0, R 1 / 1, R _ / 0, L _ / 1, L
CS 374 1 _ _ _ _ _ _ _ _
q1 0ʹ 0 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ … q2 q3 1 1 _ _ _ _ _ q2 1 1 _ _ _ _ _ 1 1 _ _ _ _ _ 1 1 _ _ _ _ _ 1 1 _ _ _ _ _
q2 q3 q4 q1 0 / 0ʹ, R 1 / 1ʹ, R _ / _, L 0 / 0, L 1 / 1, L 0ʹ / 0, R 1ʹ / 1, R 0 / 0, R 1 / 1, R 0 / 0, R 1 / 1, R _ / 0, L _ / 1, L
CS 374
33
CS 374
34
pstart p0 p1 phalt / $ , R 1/$,R 0/0,R 1/1,R 1/0,R 0/1,R _ / 1 , L _/0,L
CS 374 1 _ _ _ _ _ _ _ _
q1 0ʹ 0 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ 1 1 _ _ _ _ _ _ … q2 q3 1 1 _ _ _ _ _ q2 1 1 _ _ _ _ _ 1 1 _ _ _ _ _ 1 1 _ _ _ _ _ 1 1 _ _ _ _ _
q2 q3 q4 q1 0 / 0ʹ, R 1 / 1ʹ, R _ / _, L 0 / 0, L 1 / 1, L 0ʹ / 0, R 1ʹ / 1, R 0 / 0, R 1 / 1, R 0 / 0, R 1 / 1, R _ / 0, L _ / 1, L
CS 374
36
q0 pstart p0 p1 p2 / $ , R 1/$,R 0/0,R 1/1,R 1/0,R 0/1,R $/$,R 0/0,L 1/1.L _ / 1 , L _/0,L
CS 374
37
pstart p0 p1
0/$,R 1 / $ , R
$/$,R 0/0,L 1/1.L p00 p11 p01 p10 pʹ0 pʹ1
0/$,R 1/$,R 1/$,R _/0,R _/1,R _/1,R _ / , R _/0,R _/1,R 0/1,R 1/0,R
pʹʹ0 pʹʹ1
1/$,R _ / 1 , R _/0,R _/$,R _/$,R 1/1,R 0/0,R 1/0,R 0/1,R 0/0,R 1/1,R
CS 374
38
1 # 1 # 1 _ _ _ $ 1 # 1 # 1 _ _ :
$ # @ 0 # @ 1 _ _ _ :
$ # @ @ # @ @ _ _ _ _ :
:
CS 374
39
CS 374
40
q0 Shift & Format Check $/$,R
0 / 0, R 1 / 1, R #/@, L 0 / 0, R 1 / 1, R #/@, L 0 /#,R @ / @, R 1 /#,R
0 /#,R
0 / 0, R 1 / 1, R @ / @, R
_/_, L
@ / @, L 0 / _, L 0 / 0, L 1 / 1, L # / #, L $/$,R 1 /#,R $/$,R
Verify finished & Accept c=0 x=0 x=1 y=0 y=1 c=1
CS 374
41
CS 374
42
CS 374
43