Title: Universal Models of Computation
1Universal Models of Computation
2Agenda
- Universal Models of Computation
- Recursive vs. Recursively Enumerable
- TM ? NTM ? k-tape TM ? k-track TM ? TM,
therefore, all universal - TM ? Queue-machine
- Exercise on HW8. Queue-machine ? TM
3Equivalence of TM Variants
- FAs universal any system for generating strings
with strictly finite memory can be simulated by
an FA. - PDAs not as universal. CFGs split up into
following hierarchy - Deterministic CFL ? Unambiguous CFL ? CFL
- and much finer splittings are possible.
- TMs give a very natural class. Every reasonable
TM variant gives rise to same language class.
(Church-Turing Thesis)
4Recursive and Recursively Enumerable
- DEF A language is recursively enumerable if it
is recognized by some Turing Machine. A language
is recursive if it is decided by some Turing
Machine. - The terminology recursively enumerable comes
from another TM model a TM which never halts
(when describing an infinite language) and writes
one string of the language at a time on an
auxiliary printer.
5Recursive EnumeratorExample
- For example, at some point, the print-out of a
recursive enumerator for pal might look like - (empty string)
- a
- b
- aa
- bb
- aba
- bab
- aaa
- bbb
6Recursive EnumeratorExample
- Recursive-enumerators are equivalent to TM
recognizers because of the following intuition - Enumerator ? TM Given any input, you could
simulate the enumerator. If the input ever
appears on the list, accept. - TM ? Enumerator Start with an enumerator for S
and compose with the TM. Dovetail (i.e.
multithread) trying to accept each element on the
list. If any string accepted, write on
enumerators output list. - See Sipser p. 140141 for further details.
7Equivalence of k-tape vs. 1-tape
- The argument that k-tape TMs are universal, is
fairly convincing. After all, the computers we
use daily split their memory into several
locations RAM, Hard-Disc, Floppy, CD-ROM. It
is plausible that each memory unit could be
simulated by a separate tape. The following
theorem implies that the computer could still
function fully (though probably with a loss of
efficiency) if all the memory was merged onto a
single tape
8Equivalence of k-tape vs. 1-tape
- THM Every k-tape TM can be simulated by a
1-tape TM, and vice versa. - Proof. Its clear that every 1-tape TM can be
simulated by a k-tape TM. Simply ignore tapes
no. 2 through k. - On the other hand, to show that any k-tape TM can
be simulated by a 1-tape TM, well show two
parts - Any k-tape TM can be simulated by a 2k-track TM.
- Any k-track TM can be simulated by a 1-tape TM.
9k-track TMs
- A k-track machine contains a tape whose cells are
broken into k vertical sub-cells. As opposed to
k-tape machines, there is only one reading head1,
but it may read all k tracks and base its actions
on these values. - EG. A 2-tape machine
- vs. a 2-track machine
1 0 1 1 0 1 1
1 0 1
1 0 1 1 0 1 1
1 0 1
10k-track TMs
- A k-track machine contains a tape whose cells are
broken into k vertical sub-cells. As opposed to
k-tape machines, there is only one reading head1,
but it may read all k tracks and base its actions
on these values. - EG. A 2-tape machine
- vs. a 2-track machine
1 0 1 1 0 1 1
1 0 1
1 0 1 1 0 1 1
1 0 1
112k-tracks Simulating k-tapes
- We can simulate any k-tape TM by a k-track TM as
follows - Each tape of the k-tape TM is represented by one
track. - Each track representing a tape, is underneath a
track which consists of all blanks, except for a
single X which tells us which cells of the k-tape
TM are active
X
1 0 1 1 0 1 1
X
1 0 1
1 0 1 1 0 1 1
1 0 1
122k-tracks Simulating k-tapes
- For each move of k-tape TM, the 2k-track TM
sweeps to right and then to left. - During right-sweep, 2k-track TM notes the
current state of the k-tape machine as well as
the symbols read by each head, keeping this
information in its finite control. Head back
when passed all Xs. - During the left-sweep, every X encountered
causes corresponding track active cell to change
in accordance to the memorized configuration of
the k-tape machine. - EG
132k-tracks Simulating k-tapes
Corresponding simulation sequence Notable
1 0 1 1 0 1 1
1 0 1
X
1 0 1 1 0 1 1
X
1 0 1
k-tape TM transition
1 0 1 1 0 3 1
1 0 1 2
142k-tracks Simulating k-tapes
Corresponding simulation sequence Notable
1 0 1 1 0 1 1
1 0 1
X
1 0 1 1 0 1 1
X
1 0 1
k-tape TM transition
1 0 1 1 0 3 1
1 0 1 2
152k-tracks Simulating k-tapes
Corresponding simulation sequence Notable
1 0 1 1 0 1 1
1 0 1
X
1 0 1 1 0 1 1
X
1 0 1
k-tape TM transition
1 0 1 1 0 3 1
1 0 1 2
162k-tracks Simulating k-tapes
Corresponding simulation sequence Notable
1 0 1 1 0 1 1
1 0 1
X
1 0 1 1 0 1 1
X
1 0 1
k-tape TM transition
1 0 1 1 0 3 1
1 0 1 2
172k-tracks Simulating k-tapes
Corresponding simulation sequence Notable
1 0 1 1 0 1 1
1 0 1
X
1 0 1 1 0 1 1
X
1 0 1
k-tape TM transition
1 0 1 1 0 3 1
1 0 1 2
182k-tracks Simulating k-tapes
Corresponding simulation sequence Notable
2nd head reads