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> 37<br />

The proof relies on the following two observations:<br />

1. The algorithm A 1 can call at most O(p 1 (|I 1 |)) times the algorithm A 2 . This is true since each<br />

call counts as one operation, <strong>and</strong> we know that A 1 performs O(p 1 (|I 1 |)) operations.<br />

2. Each time the algorithm A 1 calls the algorithm A 2 , it gives it an instance of P 2 of size at<br />

most O(p 1 (|I 1 |)). This is true since each bit of the created P 2 instance is either a bit of the<br />

instance |I 1 |, or to create this bit we used at least one operation (<strong>and</strong> recall that A 1 performs<br />

O(p 1 (|I 1 |) operations).<br />

We conclude that the resulting algorithm for solving P 1 (<strong>and</strong> now counting all operations) performs<br />

at most O(p 1 (|I 1 |) + p 1 (|I 1 |) ∗ p 2 ((p 1 (|I 1 |)))) operations. Since the multiplication <strong>and</strong> composition<br />

of polynomials is still a polynomial, this is a polynomial time algorithm.<br />

Corollary 18.8. If P 1 ∝ P 2 <strong>and</strong> P 1 ∉Pthen P 2 ∉P<br />

18.5.2 NP-Completeness<br />

Definition 18.9. A problem Q is said to be NP-hard if B ∝ Q ∀B ∈ NP. That is, if all problems<br />

in NP are polynomially reducible to Q.<br />

Definition 18.10.<br />

A decision problem Q is said to be NP-Complete if:<br />

1. Q ∈ NP, <strong>and</strong><br />

2. Q is NP-Hard.<br />

It follows from Theorem 18.7 that if any NP-complete problem were to have a polynomial algorithm,<br />

then all problems in NPwould. Also it follows from Corollary 18.8 that is we prove that any NPcomplete<br />

problem has no polynomial time algorithm, then this would prove that no NP-complete<br />

problem has a polynomial algorithm.<br />

Note that when a decision problem is NP-Complete, it follows that its optimization problem is<br />

NP-Hard.<br />

Conjecture: P ≠ NP. So, we do not expect any polynomial algorithm to exist for an NP-complete<br />

problem.<br />

Now we will show specific examples of NP-complete problems.<br />

SAT = { Given a boolean function in conjunctive normal 7 form (CNF), does it have a satisfying<br />

assignment of variable? }<br />

(X 1 ∨ X 3 ∨ ¯X 7 ) ∧ (X 15 ∨ ¯X 1 ∨ ¯X 3 ) ∧ ( ) . . . ∧ ( )<br />

Theorem 18.11 (Cook-Levin (1970)). SAT is NP-Complete<br />

Proof.<br />

7 In boolean logic, a formula is in conjunctive normal form if it is a conjunction of clauses (i.e. clauses are “linked<br />

by <strong>and</strong>”), <strong>and</strong> each clause is a disjunction of literals (i.e. literals are “linked by or”; a literal is a variable or the<br />

negation of a variable).

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

Saved successfully!

Ooh no, something went wrong!