Question 1 and Question 2
-------------------------
Both are easy and most people got full marks.
Question 3
----------
Some people didn't realize the difference between 3DSAT and 3SAT and they
just give a reduction from SAT to 3SAT. In this case, they lose most
of the marks unless they give some constructions that are also useful
in the reduction from 3SAT to 3DSAT.
Question 4
----------
In SPATH, actually I just expect a very short answer like using BFS or
applying Dijkstra's algorithm. Unfortunately, many people use the
PATH algorithm in textbook but that algorithm doesn't solved SPATH
correctly. In this case, I deduct 2 out of 5 marks.
For LPATH, most people got it correct.
Question 5
----------
Most people got the part of proving the problem is in NP and also the
part when k <= n/2. However, many people didn't realize the importance
of adding isolated vertices to the graph. They just argue that if the
original graph has a clique of size k > n/2, then the graph has a HALF-
CLIQUE already. But they didn't realize that if the graph has a HALF-
CLIQUE, it does not imply that the original graph has a clique of size
k. Considering it is very important for the mapping to go both ways,
I deduct 4 out of 10 marks in this case.
Some people try to simulate the reduction from 3SAT to CLIQUE.
And what they did is try to reduce 2SAT to HALF-CLIQUE. However,
2SAT is actually in P and therefore they lose most of the marks.
Question 6
----------
Some people just argue that because P=NP, so we've done. However,
P=NP just imply that all the decision problem can be solved in polytime.
For the factorization problem, it is a function rather than a decision
problem. You are expected to use the decision problem many times
(but is a polynomial of n) to solve the problem (e.g by using binary
search).
Question 7
----------
Generally well done.