Homework 1

September 10th, 2007

Homework 1 is here.The LaTeX source is here.

The due date is Sep 24, 2007.

6 Responses to “Homework 1”

  1. A. Star Says:

    On problem 1.1, how detailed must the answers be? (i.e., what do we need beyond just T(n) = theta(…)?)

  2. admin Says:

    Well, let’s say that you guessed the answer and then verified that it works. I’d like to see that verification. If you used the master theorem statement, then showing this is sufficient. If you had to unroll a recurrence, then I’d want to see how you did it. and so on

    basically, whatever scratch work you did to convince yourself (think of me as the verifier verifying your proof :))

  3. M. Carlo Says:

    On the 3SAT problem…suppose my algorithm runs faster when m = 1 as opposed to m = 2, so technically the number of clauses does matter, but it’s still got this nice 2^n feel. Is that okay? Or must it be that m strictly does not matter?
    Also, what if some clause is:
    (x1 OR x1 OR !x1)
    Doesn’t this break down and we’re setting v1 to false and v2 to true (and v1 == v2)?
    Can we just assume that within each clause there are distinct literals?

  4. admin Says:

    I’m not sure what you mean by a 2^n feel. your algorithm must be better than 2^n (strictly). It turns out that for the method of analysis we are using, m doesn’t matter, because the dependence on m is polynomial.

    Also, you can assume w.l.o.g that each clause has distinct literals.

  5. N. Log'n Says:

    In the FFT notes, I think I’m missing something.
    In Algorithm 1 (Recursive FFT), the input is of length n, and the output is of length 2n.
    This seems handy when we’re going from 4 coefficients to 8 points, but there’s a decent level of badness when doing the reverse (when we want to go from 8 points to 8 coefficients).
    Also, in the wiring diagram, the input and output vectors both have length 8, not 4 and 8.
    Are we just supposed to pad the coefficients with extra 0’s? And if that’s the case, why the difference between the pseudo-code and wiring diagram?
    Thanks for any information.

  6. admin Says:

    Ah. This is indeed a problem. the wiring diagram is correct (with 8 wires). What is wrong is that in the pseudocode, I should have added the padding in, to make the input of size 2n rather than n. Specifically, the first line of the pseudocode should read

    Input: a = (a_0, a_1, …, a_{2n-1})

    Thanks for catching this.

    p.s if you do this, the wiring diagram behaviour matches the pseudocode.

Leave a Reply