This is an group homework. You may work with a partner (or by yourself if you prefer). Only hand in one write-up per group.

  1. Two Challenging Recursions

    Background: The Fast Fourier Transform (FFT) takes n complex numbers as input and produces n complex numbers as output. (Dont Panic! You don't need to know anything more about FFT's for this problem.) We will only consider FFT's when n is a power of two, i.e. n = 2^k. One way to compute the Fast Fourier on n elements is by the so-called "four step method", which is really divide and conquer.

    For simplicity, let's just consider the case that n is of the form 2^(2^j), since then we'll always get perfect squares at each level of recursion.

    Finally, we get to the questions:

    (a) Write the recursive formula for T(n), the complexity of the four-step method of computing FFT's in terms of floating-point operations. [Don't solve it yet - that's part (c).]

    (b) Consider a different divide and conquer problem that results in the related but easier (I think) recursion:
    S(n) = n^.5 x S(n^.5) + n
    S(2) = 1
    Find the asymptotic complexity (in big-Theta notation) of S(n). You can restrict yourself to the case that n is of the form 2^(2^j), so that whenever you take the square root, you get an integer.

    (c) [Warning: this may be hard. At least, I don't immediately see how to solve it, even though I think I know the answer.]

    Find the asymptotic complexity (in big-Theta notation) for the Four Step method of doing FFT's. You can just consider the case that n = 2^(2^j).

    Incidentally, for a different method of computing the FFT of n numbers (with n a power of 2), the complexity is 10 n lg n. If you like the "substitution method", you might try this as a first guess.

  2. Invent a new problem.

    (a) Describe some plausible (or even implausible) situation where having a good algorithm for a certain problem would help save money or resources or make the world a better place or whatever. Try not to make it too complicated, but not trivial either. [A random example of what I'm looking for is the "space shuttle experiment problem", as described in first full paragraph on page 693 of the textbook.]

    (b) Give a consise mathematical formulation of your problem.

    Please note that I am not asking you to devise an algorithm for your problem (... yet).