Introduction to Approximation Algorithms

Slides:



Advertisements
Similar presentations
Approximation Algorithms
Advertisements

Design and Analysis of Algorithms Approximation algorithms for NP-complete problems Haidong Xue Summer 2012, at GSU.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
1 ©D.Moshkovitz Complexity The Traveling Salesman Problem.
1 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
Combinatorial Algorithms
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Approximation Algoirthms: Semidefinite Programming Lecture 19: Mar 22.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Semidefinite Programming
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.
Approximation Algorithms Lecture for CS 302. What is a NP problem? Given an instance of the problem, V, and a ‘certificate’, C, we can verify V is in.
Approximation Algorithms
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
1 Combinatorial Dominance Analysis Keywords: Combinatorial Optimization (CO) Approximation Algorithms (AA) Approximation Ratio (a.r) Combinatorial Dominance.
1 Introduction to Approximation Algorithms Lecture 15: Mar 5.
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
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximation Algorithms
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 30, 2014.
Algorithms for hard problems Introduction Juris Viksna, 2015.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 30, 2014.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
Approximation Algorithms by bounding the OPT Instructor Neelima Gupta
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Approximation algorithms
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
The Theory of NP-Completeness
The NP class. NP-completeness
Deterministic Finite Automata And Regular Languages.
Introduction to Randomized Algorithms and the Probabilistic Method
Richard Anderson Lectures NP-Completeness
Optimization problems such as
Models of Computation.
Richard Anderson Lecture 29 NP-Completeness and course wrap-up
More NP-complete Problems
Reductions.
Hard Problems Introduction to NP
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
PDAs Accept Context-Free Languages
Algorithms for hard problems
NP-Completeness Yin Tat Lee
Computability and Complexity
Analysis and design of algorithm
ICS 353: Design and Analysis of Algorithms
Parameterised Complexity
Graph Partitioning Problems
Approximation Algorithms
Linear Programming Duality, Reductions, and Bipartite Matching
Richard Anderson Lecture 30 NP-Completeness
Problem Solving 4.
Chapter 11 Limitations of Algorithm Power
NP-Completeness Yin Tat Lee
CSE 6408 Advanced Algorithms.
The Theory of NP-Completeness
CSE 589 Applied Algorithms Spring 1999
A Few Sample Reductions
CSC 380: Design and Analysis of Algorithms
Instructor: Aaron Roth
Our old list of problems
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

Introduction to Approximation Algorithms Lecture 12: Mar 1

NP-completeness We have seen many polynomial time solvable optimization problems. e.g. maximum matching, min-cost flow, minimum cut, etc. However, there are much more optimization problems that we do not know how to solve in polynomial time. e.g. traveling salesman, graph colorings, maximum independent set, set cover, maximum clique, maximum cut, minimum Steiner tree, satisfiability, etc.

Vertex Cover Vertex cover: a subset of vertices which “covers” every edge. An edge is covered if one of its endpoint is chosen. The Minimum Vertex Cover Problem: Find a vertex cover with minimum number of vertices.

NP-completeness

NP (Non-deterministic polynomial time): NP-completeness NP (Non-deterministic polynomial time): A class of decision problems whose solutions can be “verified” in polynomial time. For each “yes” instance, there is a proof that can be checked in polynomial time. Decision problem for vertex cover: Is there a vertex cover of size at most k? For each “yes” instance of the vertex cover problem, the proof is just a set of k vertices which cover all the edges. Given this set, one can easily check whether this is a vertex cover. Examples of NP problems: traveling salesman, graph colorings, maximum independent set, set cover, maximum clique, maximum cut, minimum Steiner tree, satisfiability, etc.

NP-completeness (Cook 1970) If one can solve satisfiability in polynomial time, then one can solve all problems in NP in polynomial time. We say satisfiability is an NP-complete problem. Examples of NP-complete problems: traveling salesman, graph colorings, maximum independent set, set cover, maximum clique, maximum cut, minimum Steiner tree, satisfiability, etc.

Examples of NP-complete problems Summary of some NPc problems SAT 3SAT Maximum cut Graph coloring Vertex cover Independent set Set cover Maximum clique size Minimum Steiner tree Hamiltonian cycle find more NP-complete problems in http://en.wikipedia.org/wiki/List_of_NP-complete_problems

NP-completeness

NP-completeness Million dollar open problem: Is P=NP?

NP-completeness Why people believe that P NP? I can appreciate good music (being able to verify solutions) doesn’t mean that I can compose good music (to find solutions). (from wikipedia) "Proof by contradiction. Assume P = NP. Let y be a proof that P = NP. The proof y can be verified in polynomial time by a competent computer scientist, the existence of which we assert. However, since P = NP, the proof y can be generated in polynomial time by such computer scientists. Since this generation has not yet occurred (despite attempts by such computer scientists to produce a proof), we have a contradiction."

NP-completeness ! Do your best then.

Some Alternatives Special graph classes e.g. vertex cover in bipartite graphs, perfect graphs. Fixed parameter algorithms find a vertex cover of size k efficiently for small k. Average case analysis find an algorithm which works well on average. Approximation algorithms find an algorithm which return solutions that are guaranteed to be close to an optimal solution.

Approximation Algorithms Key: provably close to optimal. Let OPT be the value of an optimal solution, and let SOL be the value of the solution that our algorithm returned. Additive approximation algorithms: SOL <= OPT + c for some constant c. Very few examples known: edge coloring, minimum maximum-degree spanning tree. Constant factor approximation algorithms: SOL <= cOPT for some constant c. Many more examples known.

Vertex Cover: Greedy Algorithm 1 Idea: Keep finding a vertex which covers the maximum number of edges. Greedy Algorithm 1: Find a vertex v with maximum degree. Add v to the solution and remove v and all its incident edges from the graph. Repeat until all the edges are covered. How good is this algorithm?

Vertex Cover: Greedy Algorithm 1 OPT = 6, all red vertices. SOL = 11, if we are unlucky in breaking ties. First we might choose all the green vertices. Then we might choose all the blue vertices. And then we might choose all the orange vertices.

Vertex Cover: Greedy Algorithm 1 Not a constant factor approximation algorithm! k! vertices of degree k Generalizing the example! k!/k vertices of degree k k!/(k-1) vertices of degree k-1 k! vertices of degree 1 OPT = k!, all top vertices. SOL = k! (1/k + 1/(k-1) + 1/(k-2) + … + 1) ≈ k! log(k), all bottom vertices.

Vertex Cover: Greedy Algorithm 2 In bipartite graphs, maximum matching = minimum vertex cover. In general graphs, this is not true. How large can this gap be?

Vertex Cover: Greedy Algorithm 2 Fix a maximum matching. Call the vertices involved black. Since the matching is maximum, every edge must have a black endpoint. So, by choosing all the black vertices, we have a vertex cover. SOL <= 2 * size of a maximum matching

Vertex Cover: Greedy Algorithm 2 What about an optimal solution? Each edge in the matching has to be covered by a different vertex! OPT >= size of a maximum matching So, OPT <= 2 SOL, and we have a 2-approximation algorithm!

Vertex Cover Approximate min-max theorem: Maximum matching <= minimum vertex cover <= 2*maximum matching Major open question: Can we obtain a 2-approximation algorithm? Hardness result: It is NP-complete even to approximate within a factor of 1.36!!

Topics to be Covered A diverse set of techniques. Combinatorial arguments: TSP, Steiner trees, multiway cut Dynamic programming: knapsack Iterative rounding: network design problem Randomized rounding: congestion minimization, set cover Semidefinite programming: maximum cut Primal-dual algorithms? Greedy algorithms? A popular topic: graph partitioning problems. Multicut, sparsest cut, metric labeling, correlation clustering, etc.

This Summary is an Online Content It is edited for Computation Theory Course 6803415-3 by: T.Mariah Sami Khayat Teacher Assistant @ Adam University College For Contacting: mskhayat@uqu.edu.sa Kingdom of Saudi Arabia Ministry of Education Umm AlQura University Adam University College Computer Science Department المملكة العربية السعودية وزارة التعليم جامعة أم القرى الكلية الجامعية أضم قسم الحاسب الآلي