Question text is in black, my answers in blue.
For Exercise 2.2, where we need to identify which of these NP problems are in P, what exactly are we supposed to prove? Your hints seem to give everything away.
This is certainly not a difficult problem given the hints, but you still have to explain why the proven and assumed facts tell whether each language is in P or not.
For the ones in P, do we just need to give a poly-time algorithm?
Yes, exactly, and now you don't have to worry about the specifics of Turing machines but just describe an algorithm that is poly-time in any reasonable model.
In Exercise 2.16, we are asked to prove that MAX-CUT is NP-complete. I did this problem in 611, where we reduced from NotAllEqual-3SAT. Am I allowed to use this? And if I am, must I give both the reduction from NAE-3SAT and the proof that NAE-3SAT is itself NP-complete?
Yes, if you do it that way you must at least sketch both reductions, and credit your sources. By the way, the online draft of [AB] gives the hint that you should reduce from IND-SET, and the diagram on page 55 of the printed [AB] indicates that Exercise 2.16 is to be solved by reduction from VERTEX-COVER. But any valid argument will do. Sipser's book does it from NAE-3SAT in an exercise.
Question 2.2, posted 15 February:
I looked up "primality certificate" on Wikipedia while working on Question 2.5, and there they give a primality condition that is different from the hint in [AB]. Wikipedia says that n is prime if there exists an x such that xn-1 = 1 and for all prime factors q of n-1, x(n-1)/q is not 1. [AB] says something similar but not the same, that for every such q there exists an a with that condition -- they reverse the quantifiers. Should I worry about this?
Yes, you should, because I think you may
have found a mistake in [AB]. I believe
the Wikipedia test, because for their x, x0, x1,...,
xn-2 must all be distinct, and thus there are n-1 different numbers
between 1 and n-1 each relatively prime to n and n must be prime. It's not
obvious that the [AB] test implies this, because we could imagine there
existing one element a1 of degree q1, another element
a2 of degree q2, and so forth without there being a single
element x of degree n-1. I haven't come up with a fixed example showing that
[AB]'s test is wrong, but you should use the Wikipedia one (as of late tonight,
in case some wiseguy edits the article later) for this assignment. It doesn't
affect your proof very much. And of course you should remember to credit your
sources.
UPDATE (16 Feb): I spoke too soon -- the [AB] test is also correct,
though it's a little be harder to see. The numbers mod n that are relatively
prime to n form a group under multiplication, called Zn*,
and this is an abelian group. If this group has an element of order
qi for each prime divisor qi of n-1, then these elements
generate a subgroup of
Zn* of size n-1 by the Chinese Remainder Theorem (see
the appendices to [AB]) and thus it can only have size n-1 and n must be prime.
So for the problem, you may use either their given fact or the one from the
Wikipedia page. Note that the real point of this problem is that your
"certificate" must be verifiable in poly-time, so you must present a poly-time
test that will accept any valid certificate and reject any invalid one.
Last modified 16 February 2010