CS4102: Practice Questions Set #1 on Chap. 10

1) Name two decision problems known to be in P.

2) Name a decision problem known not to be in P.

3) Name two problems known to be in NP (using at most one answer from (1) above).

4) Name a problem known to be in NP but not in NP-hard.

5) Name two problems known to be NP-complete.

6) Explain the difference between a decision problem and its related optimization problem. Using graph coloring, explain what is the difference is between finding an optimal value and an optimal solution.


7) Give a clear definition of a non-deterministic algorithm.

8) Explain the definition of the class of problems NP, explaining how a non-deterministic algorithm is used (and when, and how often).


9) What is the significance of the class NP? For what reason did computer scientists define it?

10) What is a reduction (or transformation) between two problems? Explain this assuming that Problem A takes input a_in and Problem B takes input b_in.

11) When we have shown that A reduces to B, we often then say that B is "at least as hard" as A, or that A is "no harder to solve" than B, does this make sense? If so, what do we mean by these statements?

12) What is the definition of NP-complete? If you had to explain this to a first-year computer science student, how would you say this in words (without giving the formal, mathematical definition)?

13) What is Cook's Theorem? What is its significance?

14) Describe the following problem in terms of its input and what question it tries to answer: k-COL
15) Describe the following problem in terms of its input and what question it tries to answer: Vertex-Cover
16) Describe the following problem in terms of its input and what question it tries to answer: SAT
17) Describe the following problem in terms of its input and what question it tries to answer: k-CLIQUE


18) For the problem you answered in 14-17, what would you have to do to show that the problem belongs to NP?

19) Name a decision problem that we know requires exponential time to solve. Name a problem that has been proven to have an exponential lower bound.

20) Name one of the NP-c problems that have been solved in polynomial time.

21) State an important, "open" question in computer science.

22) Draw a Venn diagram showing P, NP, NP-c, and NP-hard if P==NP.

23) Draw such a Venn diagram if P != NP.

24) If someone found a polynomial solution for a problem known to be in NP, what implications would that have for what we know about the P/NP situation?

25) If someone found a polynomial solution for a problem known to be in NP-hard, what implications would that have for what we know about the P/NP situation?

26) If someone found a polynomial solution for a problem known to be in NP-c, what implications would that have for what we know about the P/NP situation?

27) How might one prove that P != NP? If someone did this, what would this tell us about problems in NP-c?

28) Choose one of the following polynomial reductions and discuss how it works:
a. 3-CNF to k-CLIQUE
b. HamCycle to TSP
c. DirectedHamCycle to UndirectedHamCycle