22.01.2014 Views

IEOR 269, Spring 2010 Integer Programming and Combinatorial ...

IEOR 269, Spring 2010 Integer Programming and Combinatorial ...

IEOR 269, Spring 2010 Integer Programming and Combinatorial ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>IEOR</strong><strong>269</strong> notes, Prof. Hochbaum, <strong>2010</strong> 33<br />

Example 18.2. A graph is called k-connected if one has to remove at least k vertices in order to<br />

make it disconnected. A theorem says that there exists a partition of the graph into k connected<br />

components of sizes n 1 , n 2 . . . n k such that ∑ k<br />

i=1 n k = n (the number of vertices), such that each<br />

component contains one of the vertices v 1 , v 2 . . . v k . The optimization problem is finding a partition<br />

such that ∑ i |n i − ¯n| is minimal, for ¯n = n/k. No polynomial-time algorithm is known for k ≥ 4.<br />

However, the corresponding recognition problem is trivial, as the answer is always Yes once the<br />

graph has been verified (in polynomial time) to be k-connected. So is the evaluation problem: the<br />

answer is always the sum of the averages rounded up with a correction term, or the sum of the<br />

averages rounded down, with a correction term for the residue.<br />

For the rest of the discussion, we shall refer to the decision version of a problem, unless stated<br />

otherwise.<br />

18.2 The class NP<br />

A very important class of decision problems is called NP, which st<strong>and</strong>s for nondeterministic<br />

polynomial-time. It is an abstract class, not specifically tied to optimization.<br />

Definition 18.3. A decision problem is said to be in NPif for all “Yes” instances of it there exists<br />

a polynomial-length “certificate” that can be used to verify in polynomial time that the answer is<br />

indeed Yes.<br />

Verifier<br />

Prover<br />

checks certificate<br />

in poly-time<br />

Yes<br />

(with a poly-length<br />

certificate)<br />

Figure 12: Recognizing Problems in NP<br />

Imagine that you are a verifier <strong>and</strong> that you want to be able to confirm that the answer to a<br />

given decision problem is indeed “yes”. Problems in NPhave poly-length certificates that, without<br />

necessarily indicating how the answer was obtained, allow for this verification in polynomial time<br />

(see Figure 12).<br />

To illustrate, consider again the decision version of TSP. That is, we want to know if there exists<br />

a tour with total distance ≤ M. If the answer to our problem is “yes”, the prover can provide us<br />

with such a tour expressed as a permutation of the nodes. The length of this tour is the number of<br />

cities, n, which is less than the length of the input. However, we still have to do some work to read<br />

the certificate: given a permutation of the nodes, we need to verify that the tour is valid (there are<br />

no subtours), <strong>and</strong> we need to sum the cost of the edges to verify that the total length of the tour<br />

is ≤ M. This can be done in polynomial time. If the answer to our problem is “no,” then (as far<br />

have been looking for a polynomial time test for primality, <strong>and</strong> this result is a major breakthrough, likened by some<br />

to the P-time solution to Linear <strong>Programming</strong> announced in the 70s.”

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!