Models of Computation - Mathematics 450 - Spring 2005
For HW #17
We already did this problem in class. Now try to redo it and write a
careful solution in your own words, without looking at your notes.
Explain what is wrong with the following alleged proof for showing that "phix
= 0" is undecidable.
Wrong proof: Given x, there is no algorithm for deciding whether or
not Px stops for any given input (since the Halting Problem is
undecidable). Therefore there is no algorithm for deciding if Px(y)
= 0 for all y.
A paradox: Let f(x) = phix(x) +1 if phix(x) is
defined, undefined otherwise. Then, by Church's Thesis, f is computable.
And, clearly, f is different from phix for every x. So we
get a contradiction, because if f is computable, then it must equal phix
for some x. Resolve this paradox by finding a fallacy in this argument.
The Busy Beaver Problem (revisited).
Let B(n) = the largest possible output for any n-instruction URM program
starting with zeros in all registers. Prove that B is not computable, by
combining the following steps.
Prove that for all n, B(n+1) > B(n).
Show that for every n >= 16, there is an n-instruction URM program whose productivity (i.e., its output,
starting with zeros for input) is greater than 2n. Hint:
Write n-8 S(1)'s, then write eight more instructions to quadruple register 1.
Suppose, towards contradiction, that there is a program P that
computes B. Let k be twice the number of instructions in P, or 32 (= 2 x
16), whichever is larger. Show that
you can prepend P by a program from part (b) to get a program
with k or fewer instructions whose productivity is greater than B(k).