Title: Computer Science 500 Theory of Computation Spring, 1999 Feb' 18
1Computer Science 500Theory of ComputationSpring,
1999Feb. 18 Homework 4 due next tuesday
2Church/Turing Thesis
Anything that an algorithm can compute can be
computed by a Turing machine and vica-a-versa.
3NFA N recognizes language Liff N accepts exactly
those strings w w is in L
NFA N decides language Liff N recognizes L and
halts on all inputs and all non-deterministic
choices
4Theorem For every Non-Deterministic Turing
Machine MN, recognizing language L(MN), there is
a Deterministic Turing Machine MD such that MD
recognizes L(MN)
5Proof Idea D simulates N on each possible
sequence of non-deterministic choices, performing
breadth-first search of the (possibly infinite)
non-deterministic tree.
6The Universal Turing Machine
Universal Turing Machine MUniversal Input
(M,I) where M is a Turing Machine
Description I is the input to the machine
M Results If M accepts I, then
MUniversal accepts (M,I) If M rejects I, then
MUniversal rejects (M,I) If M does not halt on
I, MUniversal does not halt on (M,I)
7Universal Turing Machine(visualization)
Muniversals initial configuration
M (Q, ???????? q0, qaccept, qreject), Input to
M
U U U U ...
M is described in binary
8Universal Turing Machine(visualization)
Muniversals general configuration
Ms input
q
0 1 0 0 1 0 U U
M (Q, ???????? q0, qaccept, qreject), Input to
M
Ms state
Ms tape configuration
M is described in binary
9There is a language LU that is unrecognizable
Proof by Diagonalization (special case of proof
by contradiction)
10Let Mi be the ith Turing MachineLet Mi(j) 1 if
Mi accepts input j0 otherwise
j
Mi(j)
1 2 3 4 5 .
1 0 1 1 0 1 0
1 0 1 1 0 1 0
1 0 1 1 0 1 0
1 0 1 1 0 1 0
1 0 1 1 0 1 0
. . . . . .
. . . . . .
. . . . . .
. . .
1 2 3 4 5 . . .
i
11Let LU i Mi(i) 0Suppose LU were
recognizableby some T.M. KThen MK(K) 1 iff
MK(K) 0
12The Halting Problem
Theorem Let LH (M,I) where M does not
halt on input I Then LH is not recognizable
13- Proof (by contradiction)
- Suppose LH were recognized by Turing machine MH.
- Then the following Turing machine M recognizes
LU - On input j, M simultaneously runs
- the universal machine on (j, j). If j accepts
j, then reject if j rejects j, then accept. - and M runs MH on (j,j). If MH accepts (j,j),
then accept. - Because machine j will either halt on input j or
not, we know that either the universal machine
halts on (j,j) or MH halts on (j,j) -
14Enumerator E like a Turing Machine except that
it takes no input and has an output. That output
sequence is the language L(E)
Scratch Work
Printer
A
w1, w2, w3 ...
R
L(E)
15Definition A language L is recursively
enumerable iff L is the output of an enumerator
Theorem
A language L is recursively enumerable iff L is
recognizable
16Proof
( )
Assume L is recursively enumerable by E. Then to
construct a Turing Machine T that recognizes
L On input w, T runs E and accepts if E ever
outputs w
( )
Assume L is recognizable by T. Then to construct
an enumerator E 1) I 1 2) Run T on the
first I inputs for I steps, output those that are
accepted on the Ith step 3) I I1 goto (1)
17 Homework 4 correction 4. Let S ltDgt D is
a DFA s.t. for all w if D accepts a string w then
M accepts wR. Show that S is decidable. 7.
Let E ltDgt D is a DFA s.t. there exists some
binary string w s.t. D accepts wwR. Show that E
is decidable.