# Questions and Answers on Homework Assignment #2

#### HW#2 is due on paper in class, Wednesday 17 February 2010

Question text is in black, my answers in blue.

• Question 2.1, posted 14 February:

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.