Home

Homework   Syllabus   URM Simulator


Extra Homework Problems

Models of Computation - Mathematics 352 - Fall 2009


For HW #10

  1. Determine whether each of the following functions is well-defined and computable. (For example, the following function is not well-defined, and hence not computable: h(x) = 1 if x = 0,  h(x) = 2h(x+1) if x > 1.) Give clear and convincing arguments to support your answers. You may use Church's Thesis.
    1. f(x,y) = 1 if x = 0 or y = 0;   f(x,y) = f(2x,y-1) + f(x-1,2y) if x > 0 and y > 0.
    2. g(x,y,z) = 1 if x = 0 or y = 0 or z = 0;   g(x,y,z) = g(x-1,2y,2z) + g(x,y-1,2z) + g(x,y,z-1) if x > 0 and y > 0 and z > 0.
    3. j(x) = 0 if x <= 1,  j(x) = 1 + j(f(x)) if x > 1, where f(x) = x/2 if x is even, f(x) = 3x+1 if x is odd. How does j(x) compare to the function C(x) defined in HW #9?

      Remark: In many "modern" programming languages (such as C, Java, Lisp, Mathematica, etc), all of the above functions (even the ones that are not well-defined or computable) can easily be "implemented": you can write a program that mimics the definition of the function -- however, the program may never stop if the function is not well-defined.