Beruflich Dokumente
Kultur Dokumente
n n n ? a b c
ww ?
Context-Free Languages n n R
a b
ww
Regular Languages
a*
a *b *
2
a b c
n n n
ww
Context-Free Languages n n R
a b
ww
Regular Languages
a*
a *b *
3
A Turing Machine
Tape ...... Read-Write head Control Unit ......
The Tape
No boundaries -- infinite length ...... Read-Write head ......
...... Read-Write head The head at each time step: 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right
Courtesy Costas Busch - RPI
......
a b a c
......
a b k c
......
a
k
Courtesy Costas Busch - RPI 7
3. Moves Left
Time 1 ......
a b k c
......
a f k c
......
b f
Courtesy Costas Busch - RPI 8
3. Moves Right
a b a c
head
......
Blank symbol
a b a c
head
......
q1
a p b, L
q2
Move Right
q1
a p b, R
Courtesy Costas Busch - RPI
q2
11
a b a c
q1
current state
q1
a p b, R
q2
12
......
Time 1
a b a c q1
......
......
Time 2
a b b c
q2
......
q1
a p b, R
q2
Courtesy Costas Busch - RPI 13
Example: ......
Time 1
a b a c q1
......
......
Time 2
a b b c
q2
......
q1
a p b, L
q2
Courtesy Costas Busch - RPI 14
Example: ......
Time 1
a b a c
q1
......
......
Time 2
a b b c g q2
......
q1
p g, R
q2
Courtesy Costas Busch - RPI 15
Determinism
Turing Machines are deterministic Allowed
Not Allowed q2
q1 q3
a p b, R
q1
a p b, R
q2 q3
b p d, L
a p d, L
a b a c q1
a p b, R
q1
q2
q3
c
17
b p d, L
Halting
18
Example:
......
a b a c q1
......
a p b, R
q1
q2
q3
b p d, L
Final States
q1 q2
Allowed
q1
q2
Not Allowed
Final states have no outgoing transitions In a final state the machine halts
Courtesy Costas Busch - RPI 20
Acceptance
Accept Input If machine halts in a final state
Reject Input
aa *
a p a, R
p , L
q0
q1
22
Time 0
a a a
q0
a p a, R
p , L
q0
q1
23
Time 1
a a a q0
a p a, R
p , L
q0
q1
24
Time 2
a a a q0
a p a, R
p , L
q0
q1
25
Time 3
a a a q0
a p a, R
p , L
q0
q1
26
Time 4
a a a
q1
a p a, R
q0
p , L
q1
27
a b a
q0
a p a, R p , L
Courtesy Costas Busch - RPI
q0
q1
28
Time 1
a b a
q0
No possible Transition Halt & Reject a p a, R
q0
p , L
Courtesy Costas Busch - RPI
q1
29
b p b, L a p a, R p , L
q0
q1
30
Time 0
a b a
q0
b p b, L a p a, R p , L
q0
q1
31
Time 1
a b a
q0
b p b, L a p a, R p , L
q0
q1
32
Time 2
a b a
q0
b p b, L a p a, R p , L
q0
q1
33
Time 2
a b a
q0
Time 3
a b a q0
Infinite loop
Time 4
a b a
q0
Time 5
a b a q0
Courtesy Costas Busch - RPI
34
Because of the infinite loop: The final state cannot be reached The machine never halts The input is not accepted
35
{a b }
n n
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
36
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 0
a a b b
q0
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
37
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 1
x a b b
q1
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
38
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 2
x a b b
q1
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
39
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 3
x a y b
q2
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
40
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 4
x a y b
q2
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
41
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 5
x a y b q0 y p y, R a p a, R
q1
y p y, R
q4
p , L
q0
y p y, L a p a, L q2
42
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 6
x x y b
q1
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
43
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 7
x x y b
q1
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
44
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 8
x x y y
q2
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
45
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 9
x x y y
q2
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
46
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 10
x x y y
q0
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
47
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 11
x x y y
q3
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
48
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 12
x x y y
q3
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
49
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
Time 13
x x y y
q4
y p y, R
q4
p , L
q0
y p y, R a p a, R
q1
y p y, L a p a, L q2
50
q3
y p y, R
a p x, R
b p y, L
x p x, R
Courtesy Costas Busch - RPI
{a b }
n n
{a b c }
51
n n n
52
Transition Function
q1
a p b, R
q2
H (q1, a ) ! ( q2 , b, R)
53
Transition Function
q1
c p d, L
q2
H (q1, c) ! (q2 , d , L)
54
States
M ! (Q, 7, +, H , q0 , , F )
Transition function
7+ +, 7 q0 Q
Final states
55
Configuration c a b a q1
Instantaneous description:
ca q1 ba
56
Time 4
Time 5
x a y b
q2
x a y b
q0
A Move:
q2 xayb Hx q0 ayb
57
Time 4
Time 5
x a y b
q2
Time 6
x a y b
q0
Time 7
x x y b q1
x x y b
q1
Equivalent notation:
q2 xayb H xxy q1 b
59
Initial configuration:
q0 w
Input string
w
a a b b q0
Courtesy Costas Busch - RPI 60
M
L( M ) ! {w :
q0 w H x1 q f x2 }
Initial state
Final state
61
62
63
A function Domain:
f (w)
D
f (w)
w D
f ( w) S
64
f ( x, y ) ! x y
65
Definition:
f (w)
q0 initial state
For all
q f final state
w D Domain
Courtesy Costas Busch - RPI 67
In other words:
q0 w H q f f ( w)
Initial Configuration For all Final Configuration
w D Domain
Courtesy Costas Busch - RPI 68
Example
The function
f ( x, y ) ! x y is computable
x, y
Turing Machine: Input string: Output string:
are integers
x0 y
xy 0
unary unary
69
x
Start
y
1 0 1 . 1
1 1
q0
initial state
x
Start
y
1 0 1 . 1
1 1
q0 initial state
x y
Finish
1 1
1 1 0
71
q f final state
x y
Finish
1 1
1 1 0
72
q f final state
f ( x, y ) ! x y
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
73
Execution Example:
Time 0
x ! 11 y ! 11
(2) (2)
x
q0
1 1 0 1 1
Final Result
x y
1 1 1 1 0
Courtesy Costas Busch - RPI
q4
74
Time 0
1 1 0 1 1
q0
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 3 1
p , R
Courtesy Costas Busch - RPI
q4
75
Time 1
1 1 0 1 1 q0
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 3 1
p , R
Courtesy Costas Busch - RPI
q4
76
Time 2
1 1 0 1 1
q0
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 3 1
p , R
Courtesy Costas Busch - RPI
q4
77
Time 3
1 1 1 1 1
q1
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
78
Time 4
1 1 1 1 1
q1
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
79
Time 5
1 1 1 1 1
q1
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
80
Time 6
1 1 1 1 1
q2
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
81
Time 7
1 1 1 1 0
q3
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
82
Time 8
1 1 1 1 0 q3
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
83
Time 9
1 1 1 1 0
q3
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
84
Time 10
1 1 1 1 0
q3
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
85
Time 11
1 1 1 1 0
q3
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
Courtesy Costas Busch - RPI
q4
86
Time 12
1 1 1 1 0
q4
1 p 1, R
1 p 1, R
1 p 1, L
0 p 1, R q p , L q2 1 p 0, L q q0 1 3
p , R
HALT & accept
Courtesy Costas Busch - RPI
q4
87
Another Example
The function
f ( x) ! 2 x
is computable is integer
x
Turing Machine: Input string: Output string:
x xx
unary unary
88
x
Start
1 1
q0 initial state
2x
Finish
1 1
1 1 1
89
q f final state
Courtesy Costas Busch - RPI
f ( x) ! 2 x
Find rightmost $, replace it with 1 Go to right end, insert 1 Until no more $ remain
Courtesy Costas Busch - RPI 90
f ( x) ! 2 x
1 p $, R
1 p 1, L
1 p 1, R
p , L q $ p 1, R q0 1 p , R q3 p 1, L
Courtesy Costas Busch - RPI
q2
91
Start
Example
Finish
1 1 q0
1 p $, R 1 p 1, L
1 1 1 1
q3 1 p 1, R
p , L q $ p 1, R q0 1 p , R q3 p 1, L
Courtesy Costas Busch - RPI
q2
92
Another Example
1
The function is computable
if if
x" y xe y
f ( x, y ) !
93
1
f ( x, y ) !
if if
x" y xe y
0
Input: Output:
x0 y 1
or
0
94
x with a 1 from y
x or y is matched
If a 1 from x is not matched erase tape, write 1 else erase tape, write 0
Courtesy Costas Busch - RPI
( x " y) ( x e y)
95
96
Block Diagram
input
Turing Machine
output
97
Example:
x y if x " y f ( x, y ) ! 0
if x e y
x, y
Adder
x y
x, y
Comparer
x" y
xe y
Eraser
0
98