Approximation Algorithms Department of Mathematics and Computer Science Drexel University.

Slides:



Advertisements
Similar presentations
Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen.
Advertisements

Chapter 8 Topics in Graph Theory
Set Cover 資工碩一 簡裕峰. Set Cover Problem 2.1 (Set Cover) Given a universe U of n elements, a collection of subsets of U, S ={S 1,…,S k }, and a cost.
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
Walks, Paths and Circuits Walks, Paths and Circuits Sanjay Jain, Lecturer, School of Computing.
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 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Combinatorial Algorithms
Complexity ©D Moshkovitz 1 Approximation Algorithms Is Close Enough Good Enough?
Combinatorial Algorithms
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Approximating Maximum Edge Coloring in Multigraphs
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Mycielski’s Construction Mycielski’s Construction: From a simple graph G, Mycielski’s Construction produces a simple graph G’ containing G. Beginning with.
Randomized Algorithms and Randomized Rounding Lecture 21: April 13 G n 2 leaves
1 Approximation Algorithms CSC401 – Analysis of Algorithms Lecture Notes 18 Approximation Algorithms Objectives: Typical NP-complete problems Approximation.
Vertex Cover, Dominating set, Clique, Independent set
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Approximation Algorithms
1 Combinatorial Dominance Analysis The Knapsack Problem Keywords: Combinatorial Dominance (CD) Domination number/ratio (domn, domr) Knapsack (KP) Incremental.
Distributed Combinatorial Optimization
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
K-Coloring k-coloring: A k-coloring of a graph G is a labeling f: V(G)  S, where |S|=k. The labels are colors; the vertices of one color form a color.
Packing Element-Disjoint Steiner Trees Mohammad R. Salavatipour Department of Computing Science University of Alberta Joint with Joseph Cheriyan Department.
Graph Coloring.
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
V. V. Vazirani. Approximation Algorithms Chapters 3 & 22
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University
APPROXIMATION ALGORITHMS VERTEX COVER – MAX CUT PROBLEMS
Design Techniques for Approximation Algorithms and Approximation Classes.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Edge-disjoint induced subgraphs with given minimum degree Raphael Yuster 2012.
Approximation Algorithms
Discrete Structures Lecture 12: Trees Ji Yanyan United International College Thanks to Professor Michael Hvidsten.
CSCI 3160 Design and Analysis of Algorithms Chengyu Lin.
Approximation Algorithms for NP-hard Combinatorial Problems Magnús M. Halldórsson Reykjavik University Local Search, Greedy and Partitioning
Course: Logic Programming and Constraints
Data Structure Introduction.
CS774. Markov Random Field : Theory and Application Lecture 02
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Non-Approximability Results. Summary -Gap technique -Examples: MINIMUM GRAPH COLORING, MINIMUM TSP, MINIMUM BIN PACKING -The PCP theorem -Application:
EMIS 8373: Integer Programming Combinatorial Relaxations and Duals Updated 8 February 2005.
Graph Theory and Applications
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
The bin packing problem. For n objects with sizes s 1, …, s n where 0 < s i ≤1, find the smallest number of bins with capacity one, such that n objects.
Introduction to Graph Theory
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.
Great Theoretical Ideas in Computer Science for Some.
COMPSCI 102 Introduction to Discrete Mathematics.
Introduction to NP Instructor: Neelima Gupta 1.
Input-Dependent and Asymptotic Approximation. Summary -Approximation algorithm for graph coloring -Approximation algorithm for set cover -Asymptotic approximation.
Approximation Algorithms based on linear programming.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
The Theory of NP-Completeness
8.3.2 Constant Distance Approximations
Mathematical Foundations of AI
Graph theory Definitions Trees, cycles, directed graphs.
Vertex Cover, Dominating set, Clique, Independent set
Approximation Algorithms
Computability and Complexity
Coverage Approximation Algorithms
Problem Solving 4.
Algorithms (2IL15) – Lecture 7
Discrete Mathematics for Computer Science
Instructor: Aaron Roth
Presentation transcript:

Approximation Algorithms Department of Mathematics and Computer Science Drexel University

Today’s Lecture:  Simple Algorithm for Bin-Packing  Maximum Cut  Approximation algorithm for graph coloring  Approximation algorithm for set cover

The Bin-Packing Problem:  INSTANCE: Finite set I of rational numbers {a 1,…,a n } with a i  (0,1]  SOLUTION: Partition {B 1,…,B k } of I into k bins such that the sum of the numbers in each bin is at most 1  MEASURE: Cardinality of the partition, i.e., k

The Algorithm:  Polynomial-time 2-approximation algorithm for MINIMUM BIN PACKING (Next Fit algorithm) begin for each number a if a fits into the last open bin then assign a to this bin else open new bin and assign a to this bin return f end.

Theorem:  Number of bins used by the algorithm is at most 2A, where A is the sum of all numbers.  Proof:  For each pair of consecutive bins, the sum of the number included in these two bins is greater than 1.  Each feasible solution uses at least A bins Best case each bin is full (i.e., the sum of its numbers is 1).  Performance ratio is at most 2.

Tightness:  Let I={1/2,1/2n,1/2,1/2n,…,1/2,1/2n} contain 4n items.

Maximum Cut:  INSTANCE: Graph G=(V,E)  SOLUTION: Partition of V into disjoint sets V 1 and V 2  MEASURE: Cardinality of the cut, i.e., the number of edges with one endpoint in V 1 and one endpoint in V 2

The Algorithm:  Polynomial-time 2-approximation algorithm for MAXIMUM CUT begin V 1 :=ø; repeat if exchanging one node between V 1 and V 2 =V- V 1 improves the cut then perform the exchange; until a local optimum is reached; return f end.

Theorem:  We prove that any local optimum contains at least half of the m edges  Notation: c= # of edges of the cut i= # of edges inside V 1 o= # of edges outside V 1  m=c+i+o, that is, i+o=m-c For any node v,  i(v)= # of edges between v and a node in V 1  o(v)= # of edges between v and a node not in V 1

Proof:  V 1 is a local optimum: for any v  V 1, i(v)-o(v)  0 and, for any v not in V 1, o(v)-i(v)  0.  Summing over all nodes in V 1, we have 2i-c  0  Summing over all nodes not in V 1, we have 2o-c  0 That is, i+o-c  0 That is, m-2c  0 That is, c  m/2

Graph Vertex Coloring:  Given a graph G=(V,E), on n vertices and m edges, find a mapping from vertex set to k-colors such that no two end- points of an edge will receive the same color.  The Decision problem: Given an instance of GVC, and an integer k*, is it possible to k* color the vertices of the graph?  Optimization problem: Given an instance of GVC, find the smallest possible value for k*, for which a vertex coloring of G exists.  Input-dependent Optimization problem: Same assumptions as optimization version, except we would like to use as few colors as possible to find the actual mapping.

The Algorithm:  The following is a polynomial-time n/logn-approximation algorithm for MINIMUM GRAPH COLORING begin i:=0; U:=V; while U  ø do begin i:=i+1;V[i]:=ø;W:=U;H:=graph induced by W; while W  ø do begin v=node of minimum degree in H; insert v inV[i]; delete v and its neighbors from W; U:=U-V[i] end end.

What is the Algorithm doing?  During each iteration, we will look at the left over from the graph U (initially U denotes the vertex set of G) and try to use a new colors to color a sub graph W.  Once we are done with sub-graph W, it will be removed from the graph, i.e. the graph is shrinking after this step, (U=U-V[i]).  But we will need to use new colors for the rest of U.  The inner loop will identify all vertices receiving a particular color “i”.  The outer-loop will identify number of required colors for whole G.

Performance Guarantee:  To begin with, if we know the graph is k-colorable, and we show the algorithm uses at most 3|V|/log k |V| colors: At any iteration of the inner loop, H the induced graph on vertex set W is k-colorable (since the whole graph is k- colorable). By pigenwhole principle, it contains an independent set of at least |W|/k nodes of degree at most |W|(k-1)/k. As a result at least |W|/k nodes will be carried to next iteration of inner loop, i.e., during j-the iteration of inner loop the size of the set is at least |W|/k j. Consequently, there is at least log k |W| iterations for inner loop, i.e. |V[i]| is at least log k |U|

Continued:  Observe that U is a shirking set, starts with the whole V and eventually becomes empty.  At each step, the size of U goes down by at least log k |U| (the vertices receiving color i).  During the iterations for which |U|  |V|/log k |V|, we have log k |U|  (1 /2)log k |V|.  As a result the first time |U| < |V|/log k |V| we have only used at most 2|V|/log k |V| in outer-loop.  To color the left-over |V|/log k |V|,we will use at most |V|/log k |V| new color.  The is the algorithm uses at most 3|V|/log k |V| colors for G.

Finally:  The algorithms uses 3n/log opt n, that is equal to 3n log OPT /log n.  The perfoamnce gurantee of the algorithm is: 3n/log n.

Minimum Set-Cover:  INSTANCE: Collection C of subsets of a finite set S.  SOLUTION: A set cover for S, i.e., a subset C’ of C such that every element in S belongs to at least one member of C’  MEASURE: |C’|

Johnson’s algorithm :  Polynomial-time logarithmic approximation algorithm for MINIMUM SET COVER begin U:=S; C’:=ø; for any c i do c’ i := c i ; repeat i:=index of c’ with maximum cardinality; insert c i in C’; U := U-{elements of c’ i }; delete all elements of c i from all c’; until U:=ø end.

Performance Guarantee:  We prove that the performance ratio of the algorithm is at most ∑ 1  i  k (1/i) where k is the maximum cardinality of the sets in C  Let a 1,...,a |C’| be the sequence of indices obtained by the algorithm  Let c j i be the surviving part of c i before index a j has been chosen  The intersection of c i and c j a j is equal to c j i - c j+1 i  l i denote largest index j such that c j i is not empty

Theorem 1:  For any i,  H (| c i |)   1  j  | C’ | (| c i  c j a j |/| c j a j |) where H(n) =  1  i  n (1/ i ).  Proof:

Theorem 2: For any set cover C’’,  c i  C’’  1  j  |C’| (| c i  c j a j |/| c j a j |)  | C’ | Proof:

Finally: