Transcript powerpoint
Turing Machines
1
The Language Hierarchy
n n n ?
a b c
ww
?
Context-Free Languages
n n
a b
ww
R
Regular Languages
a*
a *b *
2
Languages accepted by
Turing Machines
ww
n n n
a b c
Context-Free Languages
n n
a b
ww
R
Regular Languages
a*
a *b *
3
A Turing Machine
Tape
......
Control Unit
......
Read-Write head
4
The Tape
No boundaries (infinite length)
......
......
Read-Write head
• The head moves Left or Right
5
......
......
Read-Write head
The head at each time step:
1. Reads a symbol
2. Writes a symbol
3. Moves Left or Right
6
Example:
......
......
Time 0
a b a c
Time 1
a b k c
......
......
1. Reads a
2. Writes k
3. Moves Left
7
......
......
Time 1
a b k c
Time 2
a f k c
......
......
1. Reads b
2. Writes f
3. Moves Right
8
The Input String
Blank symbol
......
a b a c
......
head
9
The States
read
q1
write
a b, L
move Left
q2
move Right
q1
a b, R
q2
10
Example:
Time 1
......
a b a c
......
q1
current state
q1
a b, R
q2
11
......
Time 1
a b a c
......
......
q1
......
Time 2
a b b c
q2
q1
a b, R
q2
12
Example:
......
Time 1
a b a c
......
......
q1
......
Time 2
a b b c
q2
q1
a b, L
q2
13
Example:
......
Time 1
a b a c
......
q1
......
Time 2
a b b c g
......
q2
q1
g, R
q2
14
Determinism
OK
a b, R
NOT ALLOWED
q2
a b, R
q2
a d, L
q3
q1
q1
b d, L
q3
•For a read symbol only one transition is allowed
•No lambda transitions allowed
15
Partial Transition Function
Example:
......
a b a c
......
q1
a b, R
q2
b d, L
q3
q1
No transition
for input symbol c
OK
16
Halting
The machine halts
if there are no possible transitions
to take
17
Example:
......
a b a c
......
q1
a b, R
q2
q1
b d, L
q3
No possible transition
HALT!!!
18
Final States
q1
q2
OK
q1
q2
NOT ALLOWED
• Final states have no outgoing transitions
• In a final state the machine halts
19
Acceptance
Accept Input
Reject Input
If machine halts
in a final state
• If machine halts
in a non-final state
• If machine enters
an infinite loop 20
Turing Machine Example
A turing machine for the language
aa *
a a, R
q0
, L
q1
21
Time 0
a a a
q0
a a, R
q0
, L
q1
22
Time 0
a a a
q0
Time 1
a a a
q0
a a, R
q0
, L
q1
23
Time 1
a a a
q0
Time 2
a a a
q0
a a, R
q0
, L
q1
24
Time 2
a a a
q0
Time 3
a a a
q0
a a, R
q0
, L
q1
25
Time 3
a a a
q0
Time 4
a a a
q1
a a, R
q0
, L
HALT & accept
q1
26
Rejection Example
Time 0
a b a
q0
a a, R
q0
, L
q1
27
Time 0
a b a
q0
Time 1
a b a
q0
a a, R
q0
, L
HALT & reject
q1
28
Infinite Loop Example
Turing machine for the language aa *
b b, L
a a, R
q0
, L
q1
29
a b a
Time 0
q0
b b, L
a a, R
q0
, L
q1
30
a b a
Time 0
q0
a b a
Time 1
b b, L
a a, R
q0
, L
q0
q1
31
a b a
Time 1
q0
a b a
Time 2
b b, L
a a, R
q0
q0
, L
q1
32
Time 2
a b a
q0
Time 3
a b a
q0
Time 4
a b a
q0
Time 5
a b a
q0
...Infinite Loop
33
Because of the infinite loop
the final state cannot be reached
and
the input is not accepted
34
Another Turing Machine Example
Turing machine for the language
y y, R
q3
q4
, R
y y, R
q0
y y, R
a a, R
a x, R
q1
n n
{a b }
y y, L
a a, L
b y, L
q2
x x, R
35
Time 0
Time 1
a a b b
x a b b
q0
y y, R
q3
q1
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
36
Time 1
Time 2
x a b b
x a b b
q1
y y, R
q3
q1
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
37
Time 2
Time 3
x a b b
x a y b
q1
y y, R
q3
q2
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
38
Time 3
Time 4
x a y b
x a y b
q2
y y, R
q3
q2
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
39
Time 4
Time 5
x a y b
x a y b
q0
q2
y y, R
q3
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
40
Time 5
Time 6
x a y b
x x y b
q0
y y, R
q3
q1
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
41
Time 6
Time 7
x x y b
x x y b
q1
q1
y y, R
q3
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
42
Time 7
Time 8
x x y b
x x y y
q1
y y, R
q3
q2
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
43
Time 8
Time 9
x x y y
x x y y
q2
y y, R
q3
q2
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
44
Time 9
Time 10
x x y y
x x y y
q0
q2
y y, R
q3
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
45
Time 10
Time 11
x x y y
x x y y
q3
q0
y y, R
q3
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
46
Time 11
Time 12
x x y y
x x y y
q3
y y, R
q3
q3
q4
, L
y y, R
q0
y y, R
a a, R
a x, R
q1
y y, L
a a, L
b y, L
x x, R
q2
47
Time 12
Time 13
x x y y
q3
y y, R
q3
q4
, L
y y, R
q0
x x y y
HALT & accept
y y, R
a a, R
a x, R
q1
q4
y y, L
a a, L
b y, L
x x, R
q2
48
By modifying the
machine for the language
we can easily construct
a machine for language
n n
{a b }
n n n
{a b c }
49
Formal Definitions
for
Turing Machines
50
Transition Function:
q1
a b, R
q2
(q1, a) (q2 , b, R)
q1
c d, L
q2
(q1, c) (q2 , d , L)
51
Turing Machine:
Input
alphabet
states
Tape
alphabet
M (Q, , , , q0 , , F )
Transition
function
Initial
state
Final
states
blank
52
Configuration
c a b a
q1
Instantaneous description:
ca q1 ba
53
Time 4
Time 5
x a y b
x a y b
q0
q2
A move:
q2 xayb x q0 ayb
54
Time 4
x a y b
Time 5
x a y b
q0
q2
Time 6
x x y b
q1
Time 7
x x y b
q1
q2 xayb x q0 ayb xx q1 yb xxy q1 b
55
q2 xayb x q0 ayb xx q1 yb xxy q1 b
Equivalent notation:
q2 xayb xxy q1 b
56
Initial configuration:
q0 w
Input string
w
a a b b
q0
57
The Accepted Language
For any Turing Machine
L( M ) {w :
M
q0 w x1 q f x2}
Initial state
Final state
58
Standard Turing Machine
The machine we described is the standard:
• Deterministic
• Infinite tape in both directions
•Tape is the input/output file
59