Approximation Algorithms

Slides:



Advertisements
Similar presentations
Weighted Matching-Algorithms, Hamiltonian Cycles and TSP
Advertisements

Approximation algorithms for geometric intersection graphs.
Min-Max Relations, Hall’s Theorem, and Matching-Algorithms Graphs & Algorithms Lecture 5 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Design and Analysis of Algorithms Approximation algorithms for NP-complete problems Haidong Xue Summer 2012, at GSU.
Generalization and Specialization of Kernelization Daniel Lokshtanov.
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 The TSP : Approximation and Hardness of Approximation All exact science is dominated by the idea of approximation. -- Bertrand Russell ( )
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Polynomial Time Approximation Schemes Presented By: Leonid Barenboim Roee Weisbert.
CS774. Markov Random Field : Theory and Application Lecture 17 Kyomin Jung KAIST Nov
Lecture 21 Approximation Algorithms Introduction.
PCPs and Inapproximability Introduction. My T. Thai 2 Why Approximation Algorithms  Problems that we cannot find an optimal solution.
Minimum Spanning Trees Kun-Mao Chao ( 趙坤茂 ) Department of Computer Science and Information Engineering National Taiwan University, Taiwan
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
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.
Vertex Cover, Dominating set, Clique, Independent set
The Theory of NP-Completeness
Optimization problems INSTANCE FEASIBLE SOLUTIONS COST.
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.
Algoritmi on-line e risoluzione di problemi complessi Carlo Fantozzi
An introduction to Approximation Algorithms Presented By Iman Sadeghi.
Linear Programming – Max Flow – Min Cut Orgad Keller.
Outline Introduction The hardness result The approximation algorithm.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
1 Approximation Through Scaling Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Chapter 15 Approximation Algorithm Introduction Basic Definition Difference Bounds Relative Performance Bounds Polynomial approximation Schemes Fully Polynomial.
Approximation Algorithms
Princeton University COS 423 Theory of Algorithms Spring 2001 Kevin Wayne Approximation Algorithms These lecture slides are adapted from CLRS.
1 Approximate Algorithms (chap. 35) Motivation: –Many problems are NP-complete, so unlikely find efficient algorithms –Three ways to get around: If input.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
Chapter 2 Greedy Strategy I. Independent System Ding-Zhu Du.
Although this may seem a paradox, all exact science is dominated by the idea of approximation. Bertrand Russell Approximation Algorithm.
Non-Approximability Results. Summary -Gap technique -Examples: MINIMUM GRAPH COLORING, MINIMUM TSP, MINIMUM BIN PACKING -The PCP theorem -Application:
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
The full Steiner tree problem Theoretical Computer Science 306 (2003) C. L. Lu, C. Y. Tang, R. C. T. Lee Reporter: Cheng-Chung Li 2004/06/28.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
1 Approximation algorithms Algorithms and Networks 2015/2016 Hans L. Bodlaender Johan M. M. van Rooij TexPoint fonts used in EMF. Read the TexPoint manual.
Algorithms for hard problems Introduction Juris Viksna, 2015.
Steiner Tree Problem Given: A set S of points in the plane = terminals
The Theory of NP-Completeness
Chapter 10 NP-Complete Problems.
Introduction to Approximation Algorithms
Optimization problems such as
An introduction to Approximation Algorithms Presented By Iman Sadeghi
Approximation Algorithms
Approximate Algorithms (chap. 35)
Hamiltonian Cycle and TSP
Hard Problems Introduction to NP
Approximation algorithms
Algorithms for hard problems
Graph Theory and Algorithm 02
Approximation Algorithms
Approximation Algorithms
Computability and Complexity
Intro to NP Completeness
Richard Anderson Lecture 28 NP-Completeness
Coverage Approximation Algorithms
Approximation Algorithms
Vertex Covers, Matchings, and Independent Sets
Problem Solving 4.
Richard Anderson Lecture 26 NP-Completeness
The Full Steiner tree problem Part Two
No Guarantee Unless P equals NP
The Complexity of Approximation
Lecture 24 Vertex Cover and Hamiltonian Cycle
Presentation transcript:

Approximation Algorithms EPIT 2007 Approximation Algorithms

Independent Set Instance: G=(V,E), k N EPIT 2007 Independent Set Instance: G=(V,E), k N Question: Is there an independent set of size k in G (i.e. a subset V’ V such that no two vertices in V’ are joined by an edge) ? This problem is NP-Complete Instance: G=(V,E) Question: Find an independent set of maximal cardinality NP-hard

Definition of Approximation Algorithms EPIT 2007 Definition of Approximation Algorithms Find a «good solution» in polynomial-time What is a good solution? Let S be a solution given by a heuristic Let S* be an optimal solution The aim: S/S*≈1

Another problem: vertex cover EPIT 2007 Another problem: vertex cover Instance: G=(V,E), k N Question: Find a set cover of edges with minimal size (i.e. a subset V’  V such that, for each edge {u,v}  E, at least one of u and v belongs to V’).

These two problems seem to be equivalent EPIT 2007 These two problems seem to be equivalent   independent set = vertex cover and vertex cover = independent set Max independent set ≈ Min vertex cover An existence of an independent set of size k <=> an existence of the vertex cover of size n-k.

No constant ratio exists for the independent set EPIT 2007 In fact these two problems are very different in term of approximability: there exists an algorithm for the vertex cover which gives a solution S to a factor two of a optimal solution S* at most => 2  S/S* No constant ratio exists for the independent set

Definition An algorithm A is (n)-approximated EPIT 2007 Definition An algorithm A is (n)-approximated If Max (S/S*,S*/S)  (n) For all instances of size n of the problem where S is the solution given by A and S* an optimal solution.

>0, Asuch that A is (1+)-approximated. EPIT 2007 FPTAS and PTAS Q  PTAS: >0, Asuch that A is (1+)-approximated. Moreover, if the complexity of A is polynomial in 1/, then Q  FPTAS.

Cover of points by minimum number of circles of radius r EPIT 2007 Some problems of PTAS Cover of points by minimum number of circles of radius r Knapsack problem

EPIT 2007 APX and no-APX Q  APX:   R, A such that A is a -approximation algorithm Q  no-APX :   R, there exists no A such that A is -approximation algorithm

Some problems APX and no-APX EPIT 2007 Some problems APX and no-APX Vertex cover of a graph is APX Travelling salesman problem is APX Independent set of maximum cardinality is no-APX Vertices coloring is no-APX

EPIT 2007 The world if N  NP No-APX APX PTAS FPTAS P

An absolute approximation Algorithm EPIT 2007 An absolute approximation Algorithm The edge coloring of a graph: It exists a 4/3-approximated algorithm Vizing’s theorem : It is always possible to color the edges with (G)+1 colors

An absolute approximation Algorithm EPIT 2007 An absolute approximation Algorithm This result is the best possible Indeed : the problem to know if a graph with (G)=3 can be colored with 3 colors is NP-complete. It is easy to see that an algorithm -approximated with <4/3 permits to solve this problem.

An absolute approximation Algorithm EPIT 2007 An absolute approximation Algorithm Indeed if the solution is c<4 then c* ≤3, and the graph can be colored with 3 colors. If the solution is c4, since c/c*<4/3 we have c*>3 and the graph cannot be colored with 3 colors.

The problem of the k-center EPIT 2007 The problem of the k-center Instance: Let V be a set of n sites, D be a matrix where dij is the distance between site i and site j, and let kN. Problem : Find S  V, |S|=k which minimizes maxiV(dist(i,S)) with dist(i,S)=minjS(dij)

Remark There exists no -approximated algorithm with  <2. EPIT 2007 Remark There exists no -approximated algorithm with  <2. Proof : If such an algorithm existed, it could be used to solve the problem of the existence of a dominating set of size k.

EPIT 2007 Some definitions We call Gd=(V,Ed) the graph where {i,j} Ed if and only if d  dij . Let G=(V,E), we call G2=(V,E’) the graph such that {i,j} E’ if and only if either {i,j} E or k such that {i,k} E and {k,j} E.

Here is a 2-approximated algorithm: EPIT 2007 Here is a 2-approximated algorithm: Sort the dij : d1 < d2 < … < dm , i :=0 Repeat i := i+1 ; d := di Construct Gd2 Find a maximal stable S of Gd2 until k  |S| Take S as solution

The optimal solution is at least di0. EPIT 2007 Remark : Let i0 be the value of the last i in the loop. Then all the sites are at distance at most 2di0 from S. The optimal solution is at least di0. Indeed Gd2 with d=di0-1, has a stable of cardinality at least k+1.

Thus the algorithm is a 2-approximated. EPIT 2007 Conclusion Thus the algorithm is a 2-approximated. That is the best possible result.

Most of the scheduling problems are NP-Hard EPIT 2007 Most of the scheduling problems are NP-Hard Take the following simple problem: Instance: Independent tasks (no precedence constraint), each task ti has a processing time pi Question: Scheduling these tasks on two processors while minimizing the length of the schedule

This problem is NP-Hard (partition is a particular case). EPIT 2007 This problem is NP-Hard (partition is a particular case). But there exists a FPTAS

A intermediate problem EPIT 2007 A intermediate problem Let be the sum problem: a list E of n integers, an integer t. The goal is to find a sublist E’  E which the sum of the integers in E’ is maximum but less than t (Find E’ E, such that max(∑ iE’ i) t)

A pseudo-polynomial-time algorithm EPIT 2007 A pseudo-polynomial-time algorithm L0 = {0} L1 = {0, e1 } Li = Li-1  {x |y Li-1, x=y+ei, x t} The solution is expressed as y*= max (Ln) The complexity order of this algorithm is in O (n * min(t,2n))

How can we reduce the size of the lists? EPIT 2007 How can we reduce the size of the lists? The idea is to filter the list Example. Suppose that the two integers 45 and 47 are in a list Li. The sum which we would able to reach from 45 will be closed to their from 47. Thus 45 will represent 47

How do we reduce the size of the lists ? EPIT 2007 How do we reduce the size of the lists ? Filtering (L, ) consists in suppressing all the integers y in L such that there exists an integer z in L with y  z (1- )y Example: L = {0, 1, 2, 4, 5, 11, 12, 20, 21, 23, 24, 25, 26} and =0.2

How do we reduce the size of the lists ? EPIT 2007 How do we reduce the size of the lists ? Filtering (L, ) consists in suppressing all the integers y in L such that there exists an integer z in L with y  z (1- )y Example: L = {0, 1, 2, 4, 5, 11, 12, 20, 21, 23, 24, 25, 26} and =0.2. Then Filtering(L,)= {0,1,2, 4, 11, 20, 26}

How do we reduce the size of the lists ? EPIT 2007 How do we reduce the size of the lists ? We are given the pseudo-polynomial algorithm, and in each step we filter with =/n. Let L’i be the intermediate lists. Then the approximated solution is y = max(L’n)

The sizes of the lists are small EPIT 2007 The sizes of the lists are small L’i = {0, z1 , z2 , … zm+1} we have by construction : zi/ zi-1 > 1/(1-) and t  zm+1 and z1 1 Thus t  zm+1/z1 = i=2..m+1 zi/ zi-1  (1/(1- ) )m

The sizes of the lists are small EPIT 2007 The sizes of the lists are small Thus t  (1/(1- ) )m log (t)  - m * log (1- ) Finally m < n log(t)/  (because - log(1-x)>x)

The sizes of the lists are small EPIT 2007 The sizes of the lists are small 1. m < n log(t)/  2. the size of the lists is in O(m) The algorithm becomes polynomial.

The error is small We can prove by induction that : EPIT 2007 The error is small We can prove by induction that : yLi , zL’i such that y z (1-)i y

The error is small We can prove by induction that : EPIT 2007 The error is small We can prove by induction that : yLi , zL’i such that y z (1-)i y This result is true for i=n and y=y*

The error is small We can prove by induction that : EPIT 2007 The error is small We can prove by induction that : yLi , zL’i such that y z (1-)i y This result is true for i=n and y=y*  zL’n z  (1-)n y*

The error is small  zL’n z  (1-)n y* and y  z Conclusion: EPIT 2007 The error is small  zL’n z  (1-)n y* and y  z Conclusion: y / y*  (1-/n)n  1-

Let B be the sum of the processing time of all the tasks. EPIT 2007 Back to our problem Let B be the sum of the processing time of all the tasks. P1 P2  B/2 The solution S is B/2+  If pi becomes ei and t=B/2 : the solution S’ is B/2- 

EPIT 2007 Back to our problem  B/2 The solution S is B/2+ , S* is B/2+ with  If pi becomes ei and t=B/2 : the solution S’ is B/2-  and the best solution S’* is B/2- It suffices to note that S/S*<S’*/S’ to show that our problem is FPTAS

EPIT 2007 A non-APX problem Instance: Some tasks with the same processing times and some incompatibility constraints. Question: Find a optimal schedule satisfing the incompatibility constraints. Let G be the conflict graph where vertices represent tasks a scheduling ≈ vertex coloring. This problem is not APX

An APX problem without PTAS EPIT 2007 An APX problem without PTAS Scheduling on a given number of processors Instance: Let G=(V,A) be a d.a.g. with the chronological constraints and let m be the number of processors Question: Minimize the length of the schedule

No -approximated algorithm if <4/3 EPIT 2007 No -approximated algorithm if <4/3 We are going to show that : Even if the graph is bipartite and the duration of all the tasks is equal to 1, knowing whether the graph can be scheduled in time 3 is an NP-complete problem The proof of this result suffices to conclude

EPIT 2007 The proof The problem of well-balanced independent set in bipartite graphs is NP-complete Instance : G=(V1V2,E) a bipartite graph Question : does there exist an independent set S in G such that |S|=|V1| and |V1|=|V2| and |V1S|= |V2S|?

W with |W|=n/2 X with |X|=n Y with |Y|=n T with |T|=n/2 The edges of G EPIT 2007 W with |W|=n/2 X with |X|=n Y with |Y|=n T with |T|=n/2 The edges of G Complete Graph

EPIT 2007 X with |X|=n W with |W|=n/2 Y with |Y|=n T with |T|=n/2 Scheduling this DAG in three steps on n processors is equivalent to showing the existence of a well-balanced independent set in the graph G.

Scheduling in 3 steps : no idle time EPIT 2007 X with |X|=n W with |W|=n/2 m=n Y with |Y|=n T with |T|=n/2 Scheduling in 3 steps : no idle time

Step 1 : W and X1 ( X1 X, |X1|=n/2) must be executed. EPIT 2007 X with |X|=n W with |W|=n/2 m=n Y with |Y|=n T with |T|=n/2 Scheduling in 3 steps : no idle time Step 1 : W and X1 ( X1 X, |X1|=n/2) must be executed.

Step 1 : W and X1 ( X1 X, |X1|=n/2) must be executed. EPIT 2007 X with |X|=n W with |W|=n/2 m=n Y with |Y|=n T with |T|=n/2 Scheduling in 3 steps : no idle time Step 1 : W and X1 ( X1 X, |X1|=n/2) must be executed. Step 3 : T and Y1 ( Y1 Y, |Y1|=n/2) must be executed.

Step 1 : W and X1 ( X1 X, |X1|=n/2) must be executed. EPIT 2007 X with |X|=n W with |W|=n/2 m=n Y with |Y|=n T with |T|=n/2 Scheduling in 3 steps : no idle time Step 1 : W and X1 ( X1 X, |X1|=n/2) must be executed. Step 2 : X2 and Y2 ( |X2|=|Y2|=n/2 ) must be executed. Step 3 : T and Y1 ( Y1 Y, |Y1|=n/2) must be executed.

Step 2 : X2 and Y2 ( |X2|=|Y2|=n/2 ) must be executed. EPIT 2007 X with |X|=n W with |W|=n/2 m=n Y with |Y|=n T with |T|=n/2 Scheduling in 3 steps : no idle time Step 2 : X2 and Y2 ( |X2|=|Y2|=n/2 ) must be executed. X2 Y2 is a well balanced independent set in the graph G

2-approximated list scheduling EPIT 2007 2-approximated list scheduling Graham’s Theorem : all lists scheduling is a 2-approximation for this problem. Proof: We can construct by induction a path in the d.a.g. such that at all the times, either a task in the path is executing or all the processors are working.

2-approximated list scheduling EPIT 2007 2-approximated list scheduling construction of the path Take as t1 one of the tasks finishing at the end of the scheduling, and take as tk any predecessor of tk-1 which finishing last among all its predecessors. The construction is achieved when we arrive at a source (task with no predecessor)

2-approximated list scheduling EPIT 2007 2-approximated list scheduling The sum of the times when all the processors are working is smaller than the duration of the optimal scheduling and the rest of the time is smaller than the longer of the path and so the duration of the optimal scheduling. This concludes the proof .

EPIT 2007 Some remarks We have seen that the constraints of incompatibility yield a very difficult problem (non-APX) but the chronologic constraint yield an easier problem (often APX) but even polynomial if the number of processors is not bounded .

Other constraints Communication delays EPIT 2007 Other constraints Communication delays It is reasonable to assume that two tasks executing on two different processors need to comunicate and this takes a certain delay. As a first approximation, we suppose that this delay is always equal to 1 like the duration of each task.

Communication delay : UET-UCT EPIT 2007 Communication delay : UET-UCT When the number of processors is not bounded, the problem become APX and the duplication techniques permit to reduce sensitively the complexity (Colin-Chretienne show that the problem remain polynomial). Without duplication a lower bound of 7/6 has been found (Hoogeveen, Lenstra, Veltman).

Communication delay : UET - UCT EPIT 2007 Communication delay : UET - UCT Munier and Co have given a 4/3-approximated algorithm. Their idea is to solve a linear problem which gives a solution smaller that the solution of the original problem. A rounding technique permit to give a realistic solution.

Communication delay: UET - UCT EPIT 2007 Communication delay: UET - UCT cij i j If di is the starting time of i: dj  di + 1 + cij where cij is equal to 0 only for one successor task of ti. The problem then amounts to giving each arc a value cij equal to 0 or 1, with the constraints that, for each task at most one incoming (resp. outcoming) arc has the value 0.

Communication delay : UET - UCT EPIT 2007 Communication delay : UET - UCT cij ti tj If every cij takes its value in [0,1] the problem becomes easy : the sum of the cij (resp. cji ) for a fixed i must be greater than the out-degree (resp. in-degree) minus 1. To find a realistic solution the integer value of the arc is 0 only if cij < 1/2.

Communication delay : UET - UCT EPIT 2007 Communication delay : UET - UCT cij ti tj The rounding step distends the path by a factor at most 4/3. Indeed suppose a path of length (k+1) with x arcs such that cij < ½ (i.e the cost of the path in the real solution is greater than 3/2k-1/2x+1). After rounding, the cost is 2k-x+1. The ratio is always smaller of 4/3.

Unbounded vs. bounded number of processors EPIT 2007 Unbounded vs. bounded number of processors Technique : folding. (each step of the unbounded scheduling where x tasks are executing is transformed into x/m steps for the scheduling with m processors. Without communication : a polynomial problem becomes 2-approximated algorithm With the uet-uct model : a -approximated algorithm becomes a (+1)-approximated algorithm.

EPIT 2007 Other ratios have been used for approximation problems, the differential ratio for example. Other constraints and other models : there is no small communication time (thin granularity i.e. more possibility of parallelism)