EMIS 8373: Integer Programming

Slides:



Advertisements
Similar presentations
NP-Hard Nattee Niparnan.
Advertisements

Reducibility Class of problems A can be reduced to the class of problems B Take any instance of problem A Show how you can construct an instance of problem.
What is Intractable? Some problems seem too hard to solve efficiently. Question 1: Does an efficient algorithm exist?  An O(a ) algorithm, where a > 1,
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity Theory CSE 331 Section 2 James Daly. Reminders Project 4 is out Due Friday Dynamic programming project Homework 6 is out Due next week (on.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
The Theory of NP-Completeness
Analysis of Algorithms CS 477/677
Toward NP-Completeness: Introduction Almost all the algorithms we studies so far were bounded by some polynomial in the size of the input, so we call them.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Programming & Data Structures
MCS312: NP-completeness and Approximation Algorithms
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Unit 9: Coping with NP-Completeness
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
CSCI 2670 Introduction to Theory of Computing November 17, 2005.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
NPC.
Lecture. Today Problem set 9 out (due next Thursday) Topics: –Complexity Theory –Optimization versus Decision Problems –P and NP –Efficient Verification.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Introduction to NP Instructor: Neelima Gupta 1.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
EMIS 8373: Integer Programming Combinatorial Optimization Problems updated 27 January 2005.
Approximation algorithms
The Theory of NP-Completeness
Limitation of Computation Power – P, NP, and NP-complete
The NP class. NP-completeness
NP-Complete Problems.
More NP-Complete and NP-hard Problems
P & NP.
Richard Anderson Lectures NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Optimization problems such as
Lecture 2-2 NP Class.
Decision trees Polynomial-Time
Richard Anderson Lecture 26 NP-Completeness
Hard Problems Introduction to NP
EMIS 8373: Integer Programming
P and NP CISC4080, Computer Algorithms CIS, Fordham Univ.
Lecture 5 NP Class.
Computability and Complexity
Analysis and design of algorithm
Lecture 24 NP-Complete Problems
ICS 353: Design and Analysis of Algorithms
Intro to NP Completeness
Richard Anderson Lecture 25 NP-Completeness
Integer Programming (정수계획법)
Richard Anderson Lecture 28 NP-Completeness
Chapter 34: NP-Completeness
Approximation Algorithms
Richard Anderson Lecture 30 NP-Completeness
CLASSES P AND NP.
Chapter 11 Limitations of Algorithm Power
Integer Programming (정수계획법)
Richard Anderson Lecture 26 NP-Completeness
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
P, NP and NP-Complete Problems
The Theory of NP-Completeness
P, NP and NP-Complete Problems
Approximation Algorithms
Instructor: Aaron Roth
Algorithms CSCI 235, Spring 2019 Lecture 36 P vs
Presentation transcript:

EMIS 8373: Integer Programming Complexity and Problem Reductions updated 23 April 2009

Decision Problems The decision or recognition version of an optimization problem is posed as a yes-no question. Complexity Theory is based on a theoretical computer called a Turing machine: Given a binary input string, a program on a Turning Machine either “accepts” the input (returns a “yes” answer), “rejects” the input (returns a “no” answer), or fails to give an answer. A Turing machine is a very simple machine, but, logically speaking, has all the power of any digital computer.

Minimum Spanning Tree (MST) Input A (simple) graph G = (V, E) Edge cost ce for each edge e  E Parameter k Decision Problem Is there a set of edges T  E such that |T| = |V|-1, T contains no cycles, and

The Traveling Salesman Problem (TSP) Input N is a set of cities {1, 2, …, n} Travel time tij between cities i and j Parameter k Decision Problem Is there a permutation  of N such that

The Minimum-Cost Cycle-Cover Problem Input A (simple) graph G = (V, E) Edge cost ce for each edge e  E Parameter k Decision Problem Is there a set of cycles C = {C1, C2, …, Cj} in G such that

The Set Covering Problem Input An m-row, n-column, zero-one matrix A (aij  {0,1}) A cost cj associated with each column j Parameter k Decision Problem Is there a solution to the system shown below?

The 0-1 Knapsack Problem Input Decision Problem A set of n items A weight ai associated with each item j A utility cj associated with each item j Parameters b and k Decision Problem Is there a solution to the system

Polynomial Certificates Given a “yes” instance X of a particular decision problem (e.g., TSP), a polynomial certificate C is a binary string such that The length of the string, L(C), is bounded by a polynomial in the length of the binary representation of X, L(X) . There is a polynomial-time certificate-checking algorithm that takes X and C as input and verifies that X is a “yes” instance.

Certificate Example: TSP tij Matrix Graph Representation 3 2 3 4 5 1 7 1 7 3 5 2 5 4 1 k = 14

Certificate Example: TSP Using the graph representation, L(X) is O(n2) for a generic TSP with n cities. A certificate C for a generic TSP instance could be a network with n arcs forming a cycle corresponding to a tour of length k or less. Note that L(C) is O(n). We will show that C can be verified in polynomial time.

Certificate Example: TSP G C 3 2 3 2 3 4 5 1 7 1 7 3 1 5 2 5 4 5 4 1 k = 14

AMPL Certificate-Checking Algorithm for TSP param s default 0; param visited {V} default 0; for {(i, j) in C} { let s := s + t[i,j]; let visited[i] := 1; let visited[j] := 1; } if s  k and (sum{i in V} visited[i] == card(V)) then printf “certificate verified\n”; complexity = O(m+n)=O(n2)

Certificate Example: 0-1 Knapsack Problem L(X) = O(n) A polynomial certificate could be a binary vector x  Bn indicating which items are selected. L(C) = n We can check the certificate in O(n) time by checking that

The Class NP A decision problem q is said to be in the class NP if for every “yes” instance X of q, there is a polynomial certificate. NP is the set of problems that can be verified or checked in polynomial time. NP stands for Non-deterministic Polynomial. That is, a problem is in NP if there exists a non-deterministic Touring machine that accepts all “yes” instances of q in polynomial time. MST, TSP, MCCP, Set Cover, and 0-1 Knapsack are all in NP

The Class P P is the set of problems that can be solved in polynomial time. P is a subset of NP MST, MCNFP, and LP are all in P It is unknown if TSP, MCCP, Set Cover, and 0-1 Knapsack are in P. Does P = NP? Or are there problems that cannot be solved in polynomial time?

Polynomial Reductions: Example 1 Hamiltonian Path Problem Input: a graph G = (V, E), origin node s, and destination node t. Decision Problem: Is there a simple path from s to t that visits every node in V? Longest Path Problem Input: a graph G = (V, E), origin node s, destination node t, edge cost cij for each edge and parameter k. Decision Problem: Is there a simple path from s to t with length  k? Both problems are clearly in NP; the yes-instance certificate would be a feasible path from s to t.

Polynomial Reductions: Example 1 How does the difficulty of Longest Path compare to the difficulty of Hamiltonian Path? Given a graph G = (V, E) F = {(i, j): i, jV, (i, j)  E}. Let H= (V, E  F). Let cij = 1 if (i, j)  E and cij = 0 if (i, j)  F. Let k = |V|-1 Claim: {G, s, t} is a “yes” instance of Hamiltonian Path if and only if {H, s, t, c, k} is a “yes” instance of Longest Path.

Polynomial Reductions: Example 1 If we have an algorithm for Longest Path, then we can use it to solve Hamiltonian Path. If the conversion from G to H is “efficient”, then solving Longest Path is “at least as difficult” as solving Hamiltonian Path. L(G) = O(|V|2) H has (|V|2-|V|)/2 edges L(H) is bounded by a polynomial in L(G). We call the conversion a polynomial reduction from Hamiltonian Path to Longest Path.

Analogy: LP is at Least as Hard as MCNFP We can solve Minimum Cost Network Flow Problems (MCNFP) by formulating them as LP. For a network G =(V, E), the corresponding LP has |E| decision variables and |V| + 2|E| constraints. The size of the resulting LP is bounded by a polynomial in the size of the network. Since we can solve LP in polynomial time, this implies that we can solve MCNFP in polynomial time. Thus, LP is at least as “difficult” as MCNFP.

Converting Hamiltonian Path to Longest Path: Yes Instances 1 G 2 3 H 2 3 1 1 1 1 s s 5 4 1 5 4 1 t t k = 4 Hamiltonian Path: (1,2),(2,3),(3,4),(4,5) Path of Length 4: (1,2),(2,3),(3,4),(4,5)

Converting Hamiltonian Path to Longest Path: No Instances G 2 3 H 2 3 1 1 1 1 1 s s 5 4 1 5 4 1 t t k =4 No Hamiltonian Path from s to t The longest path from s to t has length 3: (1,2),(2,3),(3,4),(4,5)

Proof (If Direction) Suppose G is a “yes” instance of Hamiltonian Path and let p be a simple Hamiltonian Path from s to t. p has |V|-1 edges. Since each edge in p is in E, the cost of path p in H is |V|-1. Thus, the Longest Path instance resulting from the conversion is also a “yes” instance.

Proof (Only If Direction) Suppose H is a “yes” instance of Longest Path Let p be a simple path of length  |V|-1 from s to t. p must have at least |V|-1 edges from E otherwise its length would be less than |V|-1. Since p is a simple path, it cannot have more than |V|-1 edges. Otherwise, it would contain a cycle. Since p has exactly |V|-1 edges and no cycles, it must visit each node in V exactly once Therefore, H is a “yes” instance of Longest Path only if the original graph G is as “yes” instance of Hamiltonian Path.

Polynomial Reductions If problems A and B are in NP, and if any instance Xa of A can be converted to (formulated as) an equivalent instance Xb of B such that L(Xb) is bounded by a polynomial in L(Xa), then A is said to be polynomially reducible to B. An algorithm that solves B can also solve A with a conversion “cost” that is polynomial in the size of the problem instance. This implies that B is at least as difficult as A. It does not imply that A is at least as difficult as B.