Other Models of Turing Machines
Wen-Guey Tzeng
Computer Science Department
National Chiao Tung University
1
TM with ‘stay’
• A Turing machine M with stay is defined by
M=(Q, , , , q0, , F)
– : Q Q{L, R, S}
2
TM with ‘multi-tracks’
• A Turing machine M with multi-tracks is
defined by, for n tracks,
M=(Q, , , , q0, , F)
– : Qn Qn{L, R, S}
3
TM with ‘semi-infinite tape’
• A Turing machine M with semi-tape is defined
by M=(Q, , , , q0, , F)
– No moves to left are allowed at the left boundary
4
Off-line TM
• Off-line Turing machine M
– A read-only input tape
– A read-write tape
– : Q Q{L, R}
5
TM with ‘multi-tapes’
• A Turing machine M with multi-tapes is
defined by M=(Q, , , , q0, , F)
– : Qn Qn{L, R,}n
6
TM with ‘multi-dimensions’
• A Turing machine M with multi-dimensions is
defined by M=(Q, , , , q0, , F)
– : Q Q{L, R, U, D}
7
Comments on variant models of TM
• Why so many models ?
– Easier to design a TM conceptually.
• They are all equivalent.
– One model can simulate another model.
8
Nondeterministic TM (NTM)
• A nondeterministic Turing machine (NTM) M
is defined by
M=(Q, , , , q0, , F)
–: Q 2Q{L, R}
9
NTM as acceptors
• w is accepted if some sequence of moves
q0w├* x1 qf x2
where qf is a final state.
• M stops (halts) and enters a final state.
10
• Example
• (q0, a)={(q1, b, R), (q2, c, L)}
q0aaa├ bq1 aa
or q0aaa├ q1 caa
11
• Computation tree for NTM
q0aaa
bq1 aa
q1caa
12
Acceptance of w by NTM
• w is accepted by NTM if
– there is a path that leads to “halt” and enters a final
state in the computation tree
q0w
x1 q f x2
z 1q 2 z 2
qf: final
13
• w is not accepted by NTM if
– NO path halts and enters a final state.
– Some paths lead to halt and enter non-final states
– Some paths does not halt
q0w
zz1qq2z2z
1 2 2
y1q3y2
q2, q3 are non-final
14
The language accepted by NTM
• The language accepted by NTM M is
L(M) = {w* : one path of q0w leads to halt
and enter a final state}
15
Equivalence of NTM and TM
• For each NTM M=(Q, , , , q0, , F), there is
another TM M’ such that L(M’)=L(M)
• Proof
– The following TM M’:
– Input: w
1. Consider the computation tree rooted at q0w
2. Expand (visit) the tree in breadth-first order
– Check the currently visited node with x1qx2
– If x1qx2 is a halting configuration and qF
then halt and enter qf (a final state in M’)
else if there are still nodes to visit, then go to the next node
3. Halt and enter a non-final state
16
q0w
...
...
...
...
x1qfx2
halt
17
• Reasoning
– If w is accepted by M
– If w is not accepted by M
18
Universal TM
• A TM M=(Q, , , , q0, , F) is a special purpose
(hardwired) computer.
– Once is fixed, the functionality of M is fixed.
– A TM is a program
• A Universal TM Mu is a TM
– Input: TM M and w (after encoding)
– Output: M(w)
19
• A universal TM Mu simulates any other TM M.
– Take input <M, w>
– Output <M(w)>
• A general-purpose computer is actually a TMU
– It takes input a program p and runs it on w
20
Universal TM Mu
21
Three tapes
Tape 1
Description of M
Universal
Turing
Machine
Tape 2
Tape Contents of M
Tape 3
State of M
22
Encoding of TM as 0-1 string
Tape 1
Description of M
We describe Turing machine M
as a string of symbols: <M>
We encode M as a string of symbols
23
Alphabet Encoding
Symbols:
a
b
Encoding:
1
11
111
c
1111
24
State Encoding
States:
q1
q2
q3
q4
Encoding:
1
11
111
1111
Head Move Encoding
Move:
L
R
Encoding:
1
11
Transition Encoding
Transition:
Encoding:
(q1, a) (q2 , b, L)
1 0 11 0 11 0 1110 1
separator
26
Machine Encoding
Transitions:
(q1, a) (q2 , b, L)
(q2 , b) (q3 , c, R)
Encoding:
1 0 110 11 0 1110 1
00
11 0 1110 111 0 1111 0 11
separator
27
Example:
M=({q1, q2}, {a,b}, {a, b, }, , q1, , {q2})
• (q1, a)=(q1, b, R)
• (q1, b)=(q1, b, R)
• (q1, )=(q2, , L)
<M> =
28
How does a TMU run?
• Search and copy
<M>
… 00 11010101101 00 …
TMU
… 01010111011010 …
current cell
11
current state
29
The set of all encoded TMs
L = { 101010101,
(Turing Machine 1)
10101011010011010110101, (Turing Machine 2)
111010111101010010101101011,
. . .
. . . }
= {<M1>, <M2>, <M3>, <M4>, … }
30
Number of elements in a set
countable
infinite
uncountable
Sets
finite
31
Countable set
• S is countable (enumerable) if
– There is a way to list (enumerate) all elements
in S
– Every element in S is listed (enumerated) in
finite steps
32
• The set of natural numbers:
N = {1, 2, 3, …} is countable
• The set of (positive) quotients:
Q+= {p/q: p and q are integers} is countable.
wrong enumeration
1/1, 1/2, 1/3, 1/4, 1/5, …, 2/1, 2/2, 2/3, …, 3/1, 3/2, 3/3…,
cannot be listed in finite steps !!
33
correct enumeration
• 1/1, 1/2, 2/1, 3/1, 2/2, 1/3, 2/3, 3/2, …
• Every element p/q is listed within (p+q)2/2 steps
34
• The set of real numbers: R is uncountable.
– Can you think of a way to list all reals and every
real is listed within finite steps ?
35
The set of all TMs is countable
• Write all 0-1 strings in the alphabetical order and
remove strings that are not encodings of TMs
• Every TM M is encoded as 0-1 string <M> of finite
length. Thus, it is listed within finite steps.
• We only have a countable number of TM’s
36
© Copyright 2025