Turing Machines (TM)
Download
Report
Transcript Turing Machines (TM)
Turing Machines (TM)
Model of Computation
Outlines
• Structure of Turing machines
• Deterministic Turing machines (DTM)
– Accepting a language
– Computing a function
•
•
•
•
Composite Turing machines
Multitape Turing machines
Nondeterministic Turing machines (NTM)
Universal Turing machines (UTM)
Jaruloj Chongstitvatana
2301379
Turing Machines
2
Structure of TM
Finite set of states
CONTROL
UNIT
Start state
A single halt state
Move left or right one
cell at a time
TAPE
HEAD
TAPE
Jaruloj Chongstitvatana
2301379
Store input for the TM
Can be of any length
Can read
from and write on tape3
Turing Machines
What does a TM do?
• Determine if an input x is in a language.
– That is, answer if the answer of a problem P for
the instance x is “yes”.
• Compute a function
– Given an input x, what is f(x)?
Jaruloj Chongstitvatana
2301379
Turing Machines
4
How does a TM work?
• At the beginning,
– A TM is in the start state (initial state)
– its tape head points at the first cell
– The tape contains , following by input
string, and the rest of the tape contains
.
Jaruloj Chongstitvatana
2301379
Turing Machines
5
How does a TM work?
• For each move, a TM
– reads the symbol under its tape head
– According to the transition function on the
symbol read from the tape and its current state,
the TM:
• write a symbol on the tape
• move its tape head to the left or right one cell or not
• changes its state to the next state
Jaruloj Chongstitvatana
2301379
Turing Machines
6
When does a TM stop working?
• A TM stops working,
– when it gets into the special state called
halt state. (halts)
• The output of the TM is on the tape.
– when the tape head is on the leftmost cell
and is moved to the left. (hangs)
– when there is no next state. (hangs)
Jaruloj Chongstitvatana
2301379
Turing Machines
7
How to define deterministic TM (DTM)
• a quintuple (Q, , , , s), where
– the set of states Q is finite, not containing halt state h,
– the input alphabet is a finite set of symbols not
including the blank symbol ,
– the tape alphabet is a finite set of symbols containing ,
but not including the blank symbol ,
– the start state s is in Q, and
– the transition function is a partial function from Q
({}) Q{h} ({}) {L, R, S}.
Jaruloj Chongstitvatana
2301379
Turing Machines
8
Example of a DTM
• M=
s
({s,p1,p2,p3,p4,q1,q2},
/@,R
{0,1},{0,1,@}, , s}
/,L
p1
/,R
0/0,L
1/1,L
p4
0/,L
0/,R
p2
2301379
0/0,R
1/1,R
/,L
p3
Jaruloj Chongstitvatana
1/,R
Turing Machines
q1
@/,R
q2
/1,L
h
9
How a DTM works
s
/,L
/@,R
p1
/,R
0/0,L
1/1,L
p4
1/,R
0/,R
p2
0/0,R
1/1,R
/,L
0/,L
p3
Jaruloj Chongstitvatana
2301379
q1
0 0
0 1
0 0
0
1
@
@/,R
q2
/1,L
h
On the input 0001000,
the TM halts.
Turing Machines
10
How a DTM works
s
/,L
/@,R
p1
/,R
0/0,L
1/1,L
p4
1/,R
0/,R
p2
0/0,R
1/1,R
/,L
0/,L
p3
Jaruloj Chongstitvatana
2301379
q1
0 0
0 0
0 0
0
@
@/,R
q2
/1,L
h
On the input 0000000,
the TM hangs.
Turing Machines
11
Configuration
Definition
• Let T = (Q, , , , s) be a DTM.
A configuration of T is an element of
Q {h} ({}) ({}) ({})
• Can be written as
– (q,l,a,r) or
–Current
(q,lar) state
string to the right of tape head
symbol under tape head
string to the left of tape head
Jaruloj Chongstitvatana
2301379
Turing Machines
12
Yield the next configuration
Definition
• Let T = (Q, , , , s) be a DTM, and (q1, 1a11)
and (q2, 2a22) be two configurations of T.
We say (q1, 1a11) yields (q2, 2a22) in one step,
denoted by (q1, 1a11) T (q2, 2a22), if
– (q1, a1) = (q2,a2,s), 1=2 and 1=2,
– (q1, a1) = (q2,b,R), 2=1b and 1=a22,
– (q1, a1) = (q2,b,L), 1=2a2 and 2=b1.
Jaruloj Chongstitvatana
2301379
Turing Machines
13
Yield in zero step or more
Definition
• Let T=(Q, , , , s) be a DTM, and (q1, 1a11) and
(q2, 2a22) be two configurations of T.
We say (q1, 1a11) yields (q2, 1a22) in zero step or
more, denoted by (q1, 1a11) -*T (q2, 1a22), if
– q1=q2, 1 =2, a1= a2, and 1= 2, or
– (q1,1a11)-T (q, a) and (q, a)-*T (q2,1a22)
for some q in Q, and in *, and a in .
Jaruloj Chongstitvatana
2301379
Turing Machines
14
Yield in zero step or more: Example
s
/@,R
p1
/,R
0/0,L
1/1,L
p4
0/,L
1/,R
0/,R
p2
0/0,R
1/1,R
/,L
/1,L
h
p3
Jaruloj Chongstitvatana
(s,0001000)
(p1,@0001000)
/,L (p2,@001000)
(p2,@001000)
(p3,@001000)
q1
(p4,@00100)
@/,R (p4,@00100)
(p1,@00100)
(p2,@0100)
q2
(p2,@0100)
(p3,@0100)
2301379
Turing Machines
(p4,@010)
(p4,@010)
(p1,@010)
(p2,@10)
(p2,@10)
(p2,@10)
(p3,@10)
(p4,@1)
(p4,@1)
(p1,@1)
(q1,@)
(q1,@)
(q2,)
(h ,1)
15
TM accepting a language
• Definition
Let T=(Q, , , , s) be a TM, and w*.
T accepts w if (s, , , w) |-T* (h, , , 1).
The language accepted by a TM T, denoted
by L(T), is the set of strings accepted by T.
Jaruloj Chongstitvatana
2301379
Turing Machines
16
Example of language accepted by a TM
L(T)={0n10n | n0}
s
• T halts on 0n10n
/@,R
• T hangs on 0n+110n at p3
1/,R
p1
n
n+1
• T hangs on 0 10 at q1
/,R
0/,R
• T hangs on 0n 12 0n at q1 0/0,L
1/1,L
p4
0/,L
p2
/,L
p3
Jaruloj Chongstitvatana
2301379
0/0,R
1/1,R
Turing Machines
/,L
q1
@/,R
q2
/1,L
h
17
TM computing a function
• Definition
Let T=(Q, , , , s) be a TM, and f be a
function from * to *.
T computes f if, for any string w in *,
(s, , , w) |-T* (h, , , f(w)).
Jaruloj Chongstitvatana
2301379
Turing Machines
18
Example of TM Computing Function
1/1,R
s
/,R
p1
1/1,L
1/1,R
/1,R
p2
/,L
p3
1/,L
p4
/,R
h
Jaruloj Chongstitvatana
2301379
Turing Machines
19
Example of TM Computing Function
0/0,L
1/1,L
0’/0’,L
1’/1’,L
q2
/0’,L
@/0,R
s
0/0,L
1/1,L
0’/0’,L
1’/1’,L
/,R
0/0,R
1/1,R
q1
0’/0,R
1’/1,R
@/1,R
1/@,R
r2
r1
Jaruloj Chongstitvatana
0’/0,R
1’/1,R
0/@,R
p1
/1’,L
2301379
h
p2
/,S
/,L
p3
1/1,L
0/0,L
0/0,R
1/1,R
Turing Machines
20
Composite TM
• Let T1 and T2 be TM’s.
• T1 T2 means executing T1 until T1 halts
and then executing T2.
• T1 -a T2 means executing T1 until T1 halts
and if the symbol under the tape head when
T1 halts is a then executing T2.
Jaruloj Chongstitvatana
2301379
Turing Machines
21
Example of Composite TM
0/,R
p1
/,L
p2
0/0,R
1/1,R
s
1/,R
0/,L
p3
p4
/,R
0/0,L
1/1,L
T0-0
s
h
1
/@,R
/,L
q1
q2
/1,L
h
Ts
0
T0-0
0
1
Ts
Terase1
@/,R
h
h
Terase1
Tout1
Tout1
Jaruloj Chongstitvatana
2301379
Turing Machines
22
Nondeterministic TM
• An NTM starts working and stops working
in the same way as a DTM.
• Each move of an NTM can be
nondeterministic.
Jaruloj Chongstitvatana
2301379
Turing Machines
23
Each Move in an NTM
• reads the symbol under its tape head
• According to the transition relation on the symbol
read from the tape and its current state, the TM
choose one move nondeterministically to:
– write a symbol on the tape
– move its tape head to the left or right one cell or not
– changes its state to the next state
Jaruloj Chongstitvatana
2301379
Turing Machines
24
How to define nondeterministic TM (NTM)
• a quintuple (Q, , , , s), where
– the set of states Q is finite, and does not contain halt
state h,
– the input alphabet is a finite set of symbols, not
including the blank symbol ,
– the tape alphabet is a finite set of symbols containing ,
but not including the blank symbol ,
– the start state s is in Q, and
– the transition fn :Q({})2Q{h}({}){L,R,S}.
Jaruloj Chongstitvatana
2301379
Turing Machines
25
Configuration of an NTM
Definition
• Let T = (Q, , , , s) be an TM.
A configuration of T is an element of Q
• Can be written as
– (q,l,a,r) or
– (q,lar) string to the left of tape head
symbol under tape head
string to the right of tape head
Jaruloj Chongstitvatana
2301379
Turing Machines
26
Yield the next configuration
Definition
• Let T = (Q, , , , s) be an NTM, and (q1, 1a11)
and (q2, 2a22) be two configurations of T.
We say (q1, 1a11) yields (q2, 2a22) in one step,
denoted by (q1, 1a11) T (q2, 2a22), if
– (q2,a2,S) (q1, a1), 1=2 and 1=2,
– (q2,b,R) (q1, a1), 2=1b and 1=a22,
– (q2,b,L) (q1, a1), 1=2a2 and 2=b1.
Jaruloj Chongstitvatana
2301379
Turing Machines
27
NTM accepting a language/computing a function
• Definition
Let T = (Q, , , , s) be an NTM.
Let w* and f be a function from * to *.
T accepts w if (s, , , w) |-T* (h, , , 1).
The language accepted by a TM T, denoted by L(T),
is the set of strings accepted by T.
T computes f if, for any string w in *, (s, , , w) |-T*
(h, , , f(w)).
Jaruloj Chongstitvatana
2301379
Turing Machines
28
Example of NTM
• Let L={ww| w{0,1}*}
0/0,L
1/1,L
/,L
s
/@,R
v
p
0/0,L
1/1,L
/,L
2301379
t0
/,R
0/0,R
1/1,R
Jaruloj Chongstitvatana
r0
q0
0/0,L
1/1,L
/@,L
0/0,R
1/1,R
u
q1
h
t1
r1
Turing Machines
@/,L
0/0,R
1/1,R
29
Multitape TM
• TM with more than one tape.
• Each tape has its own tape head.
• Each tape is independent.
CONTROL
UNIT
TAPE
TAPE
Jaruloj Chongstitvatana
2301379
Turing Machines
30
2-Tape Turing Machine
• a quintuple (Q, , , , s), where
– the set of states Q is finite, and does not contain the halt
state h,
– the input alphabet is a finite set of symbols, not
including the blank symbol ,
– the tape alphabet is a finite set of symbols containing ,
but not including the blank symbol ,
– the start state s is in Q, and
– the transition function is a partial function from
Q ({})2 Q{h} ({})2 {L, R, S}2 .
Jaruloj Chongstitvatana
2301379
Turing Machines
31
Example of 2-Tape Turing Machine
s
,/(,),(R,S)
p1
p2
0,/(0,0),(L,R)
1,/(1,1),(L,R)
h
,/(1,),(L,L)
,/(,),(R,S)
p3
0,/(0,),(R,S)
1,/(1,),(R,S)
q2
,/(,),(R,R)
,/(,),(L,L)
0,/(0,),(R,S)
1,/(1,),(R,S)
,/(,),(L,R)
p4
0,0/(,),(L, L)
1,1/(,),(L, L)
Jaruloj Chongstitvatana
2301379
Turing Machines
32
Equivalence of 2-tape TM and single-tape TM
Theorem:
For any 2-tape TM T, there exists a singletape TM M such that for any string in *:
– if T halts on with on its tape, then M halts
on with on its tape, and
– if T does not halt on , then M does not halt on
.
Jaruloj Chongstitvatana
2301379
Turing Machines
33
How 1-tape TM simulates 2-tape TM
• Marking the position of each tape head in the
content of the tape
• Encode content of 2 tapes on 1 tape
– When to convert 1-tape symbol into 2-tape symbol
cannot be done all at once because the tape is infinite
• Construct 1-tape TM simulating a transition in 2tape TM
• Convert the encoding of 2-tape symbols back to 1tape symbols
Jaruloj Chongstitvatana
2301379
Turing Machines
34
Encoding 2 tapes in 1 tape
0 1 1 1 0
0 1 0 1
0 1 1 1 0
0 1 0 1
• New alphabet contains:
– old alphabet
– encoding of a symbol on tape 1
– encoding of a symbol on tape 1
symbol on tape 2
– encoding of a symbol on tape 1
by its tape head
– encoding of a symbol on tape 1
symbol on tape 2 pointed by its
Jaruloj Chongstitvatana
2301379
and a symbol on tape 2
pointed by its tape head and a
and a symbol on tape 2 pointed
pointed by its tape head and a
tape head
Turing Machines
35
How the tape content is changed
0 1 1 1 0
0 1 1 1 0
Jaruloj Chongstitvatana
2301379
Turing Machines
36
Tape format
c(b,)
#
c(a,) c(b,) c(c,) c(d,)
…
Encoded tape content
seperator
What’s read on tape 1 and 2
Jaruloj Chongstitvatana
2301379
Turing Machines
37
Simulating transitions in 2-tape TM in 1-tape TM
p
p
a1,a2/(b1,b2),(d1,d2)
c(a1,a2)
q
T_tape1 (a1,b1,d1)
T_tape2 (a2,b2,d2)
Jaruloj Chongstitvatana
2301379
Turing Machines
q
38
Update the first cell
T_tape1(0,1,d)
Convert 1-tape symbol
into 2-tape symbol
#/#,L
? and x are 0, 1, or
#/#,R
c(?,?)/c(?,?),R
c(0,?)/c(1,?),d
c(0,?)/c(1,?),d
S
not #/not #,L
c(1,x)/c(1,x),L
#/#,L
1/c(1,),L
h
not #/not #,L
c(?,x)/c(?,x),R
c(?,x)/c(?,x),R
It is
Remember
not possible
symbol
that
c(1,?)
under
is found
tape head
because
in
c(0,?) is wriiten
tape 1in cell 1.
Jaruloj Chongstitvatana
c(?,x)/c(1,x),R
2301379
#/#,L
not #/not #,L
Turing Machines
39
p1
|, L
0|0,L
1|1,L
|,R
#/,R
/,L
pn
|, R
Jaruloj Chongstitvatana
2301379
c(0,)|0, S
c(1,)|1, S
c(,)|, S
?| , R
Tcleanup
|, L
|, R
Turing Machines
h
40
Tencode
/,L
/#,L
h
Jaruloj Chongstitvatana
/,L
/,R
/,L
0/0,R
1/1.R
#/c(,),R
2301379
/,R
s
/#,R
Turing Machines
41
Equivalence of 2-tape TM and single-tape TM
Proof:
Let T = (Q, , , , s) be a 2-tape TM.
We construct a 1-tape TM M=(K, , ’, ’, s’) such that
– ’ = {c(a,b)| a,b are in {}} {c(a,b)| a,b
are in {}} {c(a,b)|a,b are in {}}
{c(a,b)|a,b are in {}} {#}
We need to prove that:
–
–
if T halts on with output , then M halts on with
output , and
if T does not halt on , then M does not halt on
Jaruloj Chongstitvatana
2301379
Turing Machines
42
if T halts on with output
Jaruloj Chongstitvatana
2301379
Turing Machines
43
if T does not halt on
• If T loops, then M loops.
• If T hangs in a state p, M hangs
somewhere from p to the next state.
Jaruloj Chongstitvatana
2301379
Turing Machines
44
Equivalence of NTM and DTM
Theorem: For any NTM Mn, there exists a DTM Md
such that:
– if Mn halts on input with output , then Md halts on
input with output , and
– if Mn does not halt on input , then Md does not halt on
input .
Proof:
Let Mn = (Q, , , , s) be an NTM.
We construct a 2-tape TM Md from Mn as follows:
Jaruloj Chongstitvatana
2301379
Turing Machines
45
Construct a DTM equivalent to an NTM
WriteInitialConfiguration
Tape 1: simulate Mn’s tape
Tape 2: store configuration tree
Set WorkingTape
FindNewConfiguration
FindStateinCurrentConfiguration
EraseCurrentConfiguration
h
WriteAllPossibleNextConfiguration
a is any symbol, q is any state in Q
Jaruloj Chongstitvatana
2301379
Depend on Mn
Turing Machines
46
How Md works
WriteInitialConfiguration
Tape 1
Set Working Tape
FindNewConfiguration
FindStateinCurrentConfiguration
EraseCurrentConfiguration
@
0 1 1 0
Current
Current state:
state: ssq
h
Tape 2
WriteAllPossibleNextConfiguration
*
s 0 1 1 0
-
-
#
0 q 1 1 0
-
#
- - *
- - *
# @ s 0 1 1 0 # 0 1 q 1 0 #
*
/@,S
s
Jaruloj Chongstitvatana
/,R
2301379
q
0/0,R
Turing Machines
47
WriteAllPossibleNextConfiguration
q1
a/b1,d1
q2
p
a/bn,dn
qn
a/b2,d2
For each (p,a,qi,bi,di), 1 i n
a,p
Writeq1b1d1
Jaruloj Chongstitvatana
2301379
Writeq2b2d2
Turing Machines
Writeqnbndn
48
Example: WriteAllPossibleNextConfiguration
/@,S
s
,s
0/0,R
/,R
q
WriteqR
Writes@R
Writeq0R
…
Jaruloj Chongstitvatana
2301379
Nondeterministic
move
Deterministic
move
Turing Machines
49
if Mn halts on input with output
• Then, there is a positive integer n such that
the initial configuration (s, ) of Mn yeilds a
halting configuration (h, ) in n steps.
• From the construction of Md, the
configuration (h, ) must appear on tape 2
at some time.
• Then, Md must halt with on tape 1.
Jaruloj Chongstitvatana
2301379
Turing Machines
50
if Mn does not halt on input
• Then, Mn cannot reach the halting
configuration. That is, (s, ) never yields a
halting configuration (h, ).
• From the construction of Md, the
configuration (h,) never appears on tape 2.
• Then, Md never halt.
Jaruloj Chongstitvatana
2301379
Turing Machines
51
Universal Turing Machine
• Given the description of a DTM T and an
input string z, a universal TM simulates how T
works on input z.
• What’s need to be done?
– How to describe T and z on tape
• Use an encoding function
– How to simulate T
Jaruloj Chongstitvatana
2301379
Turing Machines
52
Encoding function
• Let T=(Q, , , s) be a TM. The encoding function
e(T) is defined as follows:
– e(T)=e(s)#e(),
– e()=e(m1)#e(m2)#...#e(mn)#, where = {m1, m2,..., mn}
– e(m)=e(p),e(a),e(q),e(b),e(d), where m = (p, a, q, b, d)
– e(z)=1e(z1)1e(z2)1…1e(zm)1, where z=z1z2…zm is a string
– e()=0, e(ai)=0i+1, where ai is in
– e(h)=0, e(qi)=0i+1, where qi is in Q
– e(S)=0, e(L)=00, e(R)=000
Jaruloj Chongstitvatana
2301379
Turing Machines
53
Example of Encoded TM
•
•
•
•
•
•
•
•
•
e()=0 ,
e(h)=0,
e(S)=0,
e(a1a1a2)
e(a1)=00 ,
e(a2)=000
a1/a2,R
/,s
q1
q2
e(q1)=00,
e(q2)=000
e(L)=00,
e(R)=000
= 1e()1e(a1)1e(a1)1e(a2)1e()1
= 101001001000101
e(m1) = (q1),e(a1),e(q2),e(a2),e(R)
= 00,00,000,000,000
e(m2) = e(q2),e(),e(h),e(),e(S)
= 000,0,0,0,0
e() = e(m1)#e(m2)#...#
= 00,00,000,000,000#000,0,0,0,0#...#
e(T) = e(s)#e()
= 00#00,00,000,000,000#000,0,0,0,0#...#
Input = e(Z)|e(T)|
= 101001001000101|00#00,00,000,000,000#000,0,0,0,0#...#|
Jaruloj Chongstitvatana
2301379
Turing Machines
h
54
Universal Turing Machine
Tape 1: I/O tape, store the transition function of T and
input of T
Tape 2: simulate T’s tape
Tape 3: store T’s state
CopyInputToTape2
CopyStartStateToTape3
UpdateTape2
FindRightMove
0
UpdateStateOnTape3
Jaruloj Chongstitvatana
2301379
(halt)
CopyTape2ToTape1
Turing Machines
55
How UTM Works
a
12 0 0 1 0 1 | 0 0
Tape 1
# 0 0 , 0 0 , 0 0 0 , 0 0 0 , 0 0 0
# 0 0 0 , 0 , 0 , 0 , 0 # ... # |
Tape 2
CopyInputToTape2
1 1
0 0
1 1
1 0 0 0
Tape 3
FindRightMove
UpdateTape2
UpdateStateOnTape3
0 0 0
Jaruloj Chongstitvatana
CopyStartStateToTape3
2301379
halt
Turing Machines
CopyTape2ToTape1
56
Church-Turing Thesis
• Turing machines are formal versions of
algorithms.
• No computational procedure will be
considered an algorithm unless it can be
presented as a Turing machine.
Jaruloj Chongstitvatana
2301379
Turing Machines
57
Checklist
• Construct a DTM,
multitape TM, NTM
accepting languages or
computing function
• Construct composite
TM
• Prove properties of
languages accepted by
specific TM
• Prove the relationship
between different types
of TM
Jaruloj Chongstitvatana
2301379
• Describe the
relationship between
TM and FA
• Prove the relationship
between TM and FA
Turing Machines
58