# CMPSCI 611: Theory of Algorithms

### Questions and Answers on Homework #5

Questions are in black, answers in blue.

• Question 5.7, 12 December 2005: Wait a minute, I thought I understood 5.4 until I read your answer to Question 5.5. If the decision problem only gives me a boolean answer, and I'm expected to provide a setting of the variables that answers the optimization problem, how am I supposed to do it? Now if the answer to the feasibility problem gave me some feasible solution, I can use that to get the optimal solution. But isn't it impossible to do it the way you ask? How can I get a real number, with infinite precision, by a polynomial number of binary searches?

Well, your argument about real numbers isn't convincing because once you're narrowed it down enough that you have a single vertex of the original feasible region, you can calculate the coordinates of that vertex as precisely as you like.

• Question 5.6, 12 December 2005: In Problem 5.1(c), I'm worried about the case where k and n are equal.

Don't be. If k is a constant and n is equal to k, then the running time is constant with respect to n. We are interested in the running time function as n increases, for each constant value of k.

• Question 5.5, 12 December 2005: Could you please be more specific about the problems we are Cook reducing to each other in Problem 5.4?

Sure. In the decision problem, the input is the constraint list (both inequality and equality constraints) and the answer is the boolean saying "feasible" or "not feasible". You are not told about any particularly vector in the feasible region, but you can trust that one exists if the answer is "feasible".

In the optimization problem the input is the constraints and a cost function, and the output is either a vector that achieves the optimal value of the cost function, a statement that the cost function is unbounded, or a statement that the feasible region is empty. Thus one of your two reductions is trivial.

• Question 5.4, 12 December 2005: In Problem 5.3(c), you don't say how long we have to adjust the coloring. If you give us polynomial time, we can use 5.3(b) to get O(√n) colors. For that matter, if you give us unlimited time, we can find the three-coloring that is assumed to exist! But this isn't what you have in mind, is it?

No, it isn't, sorry. Let's put linear time as a condition of the problem. For the adjustment to the random coloring that I have in mind, you can make a single pass over the edge list in only linear time.

• Question 5.3, 8 December 2005: In Problem 5.4, for example, may I use Karp reductions as well as Cook reductions?

Yes, of course -- if A and B are decision problems and A Karp-reduces to B, it is immediate that A also Cook-reduces to B. If you have a poly-time decider for B, and f is a function Karp-reducing A to B, you can decide whether x is in A in poly time by computing f(x) and running the B-decider on it.

• Question 5.2, 8 December 2005: In Problem 5.2(b), I don't see how to get an FPTAS. The construction from part (a) gives me a PTAS, but my running time has a 1/ε in the exponent.

Congratulations, you appear to have found an as-yet-unreported error in CLRS, from whence I took this problem. (It's 35-2 on page 1050, not 35-4 as I originally said.) I have modified the problem so that you are only asked for a PTAS, and I will report the mistake to them.

It is true that if MAX-CLIQUE has a constant-factor approximation scheme, then there is an FPTAS, because by the PCP Theorem the existence of a PTAS implies P = NP. But I explicitly asked you not to use this result in your proof.

• Question 5.1, 8 December 2005: In 5.1(c), aren't you using the variable "k" in two different ways? It's the number of bins, which is fixed to 2 throughout the problem, but it's also the number of elements placed into bins before the on-part, which varies. Could you please use two different variables, or explain why you shouldn't?

You're quite right, I'll rename one of the variables.