SlideShare a Scribd company logo
Approximation Algorithms
Introduction
Why Approximation Algorithms
 Problems that we cannot find an optimal
solution in a polynomial time
 Eg: Set Cover, Bin Packing
 Need to find a near-optimal solution:
 Heuristic
 Approximation algorithms:
 This gives us a guarantee approximation ratio
Introduction to Combinatorial
Optimization
Combinatorial Optimization
 The study of finding the “best” object from
within some finite space of objects, eg:
 Shortest path: Given a graph with edge costs and a
pair of nodes, find the shortest path (least costs)
between them
 Traveling salesman: Given a complete graph with
nonnegative edge costs, find a minimum cost cycle
visiting every vertex exactly once
 Maximum Network Lifetime: Given a wireless
sensor networks and a set of targets, find a schedule
of these sensors to maximize network lifetime
In P or not in P?
Informal Definitions:
 The class P consists of those problems that are
solvable in polynomial time, i.e. O(nk) for some
constant k where n is the size of the input.
 The class NP consists of those problems that
are “verifiable” in polynomial time:
 Given a certificate of a solution, then we can verify
that the certificate is correct in polynomial time
In P or not in P: Examples
 In P:
 Shortest path
 Minimum Spanning Tree
 Not in P (NP):
 Vertex Cover
 Traveling salesman
 Minimum Connected Dominating Set
NP-completeness (NPC)
 A problem is in the class NPC if it is in NP and
is as “hard” as any problem in NP
What is “hard”
 Decision Problems: Only consider YES-NO
 Decision version of TSP: Given n cities, is there a
TSP tour of length at most L?
 Why Decision Problem? What relation between
the optimization problem and its decision?
 Decision is not “harder” than that of its optimization
problem
 If the decision is “hard”,then the optimization
problem should be “hard”
NP-complete and NP-hard
A language L is NP-complete if:
1. L is in NP, and
2. For every L` in NP, L` can be polynomial-time
reducible to L
Approximation Algorithms
 An algorithm that returns near-optimal
solutions in polynomial time
 Approximation Ratio ρ(n):
 Define: C* as a optimal solution and C is the
solution produced by the approximation algorithm
 max (C/C*, C*/C) <= ρ(n)
 Maximization problem: 0 < C <= C*, thus C*/C
shows that C* is larger than C by ρ(n)
 Minimization problem: 0 < C* <= C, thus C/C*
shows that C is larger than C* by ρ(n)
Approximation Algorithms (cont)
 PTAS (Polynomial Time Approximation
Scheme): A (1 + ε)-approximation algorithm
for a NP-hard optimization П where its running
time is bounded by a polynomial in the size of
instance I
 FPTAS (Fully PTAS): The same as above +
time is bounded by a polynomial in both the
size of instance I and 1/ε
A Dilemma!
 We cannot find C*, how can we compare C to
C*?
 How can we design an algorithm so that we can
compare C to C*
It is the objective of this course!!!
Techniques
 A variety of techniques to design and analyze
many approximation algorithms for
computationally hard problems:
 Combinatorial algorithms:
 Greedy Techniques, Independent System, Submodular
Function
 Linear Programming based algorithms
 Semidefinite Programming based algorithms
Vertex Cover
 Definition:
 An Example
'atincidentendpointone
leastathas,edgeeveryforiffofcoververtexa
calledis'subseta,),(graphundirectedanGiven
V
eEeG
VVEVG
Vertex Cover Problem
 Definition:
 Given an undirected graph G=(V,E), find a vertex
cover with minimum size (has the least number of
vertices)
 This is sometimes called cardinality vertex cover
 More generalization:
 Given an undirected graph G=(V,E), and a cost
function on vertices c: V → Q+
 Find a minimum cost vertex cover
How to solve it
 Matching:
 A set M of edges in a graph G is called a matching
of G if no two edges in set M have an endpoint in
common
 Example:
How to solve it (cont)
 Maximum Matching:
 A matching of G with the greatest number of edges
 Maximal Matching:
 A matching which is not contained in any larger
matching
 Note: Any maximum matching is certainly
maximal, but not the reverse
Main Observation
 No vertex can cover two edges of a matching
 The size of every vertex cover is at least the
size of every matching: |M| ≤ |C|
 |M| = |C| indicates the optimality
 Possible Solution: Using Maximal matching to
find Minimum vertex cover
An Algorithm
 Alg 1: Find a maximal matching in G and output the
set of matched vertices
 Theorem: Alg 1 is a factor 2-approximation algorithm.
 Proof:
optC
MCoptM
Copt
2||Therefore,
||2||and||
:haveWe1.algorithmfromobtainedcoververtex
ofsetabeLetsolution.optimalanofsizeabeLet
Can Alg1 be improved?
 Q1: Can the approximation ratio of Alg 1 be
improved by a better analysis?
 Q2: Can we design a better approximation
algorithm using the similar technique (maximal
matching)?
 Q3: Is there any other lower bounding method
that can lead to a better approximation
algorithm?
Answers
 A1: No by considering the complete bipartite
graphs Kn,n
 A2: No by considering the complete graph Kn
where n is odd.
 |M| = (n-1)/2 whereas opt = n -1
Answers (cont)
 A3:
 Currently a central open problem
 Yes, we can obtain a better one by using the
semidefinite programming
 Generalization vertex Cover
 Can we still able to design a 2-approximation
algorithm?
 Homework assignment!
Set Cover
 Definition: Given a universe U of n elements, a
collection of subsets of U, S = {S1, …, Sm}, and a cost
function c: S → Q+, find a minimum cost
subcollection C of S that covers all elements of U.
 Example:
 U = {1, 2, 3, 4, 5}
 S1 = {1, 2, 3}, S2 = {2,3}, S3 = {4, 5}, S4 = {1, 2, 4}
 c1 = c2 = c3 = c4 = 1
 Solution C = {S1, S3}
 If the cost is uniform, then the set cover problem asks
us to find a subcollection covering all elements of U
with the minimum size.
An Example
INSTANCE: Given a universe U of n elements, a collection
of subsets of U, S = {S1, …, Sm}, and a positive integer b
QUESTION: Is there a , |C| ≤ b,
such that
(Note: The subcollection {Si | } satisfying the above
condition is called a set cover of U
NP-completeness
 Theorem: Set Cover (SC) is NP-complete
 Proof:
Proof (cont)
 First we need to show that SC is in NP. Given a
subcollection C, it is easy to verify that if |C| ≤
b and the union of all sets listed in C does
include all elements in U.
 To complete the proof, we need to show that
Vertex Cover (VC) ≤p Set Cover (SC)
Given an instance C of VC (an undirected graph
G=(V,E) and a positive integer j), we need to
construct an instance C’ of SC in polynomial
time such that C is satisfiable iff C’ is
satisfiable.
Proof (cont)
Construction: Let U = E. We will define n
elements of U and a collection S as follows:
Note: Each edge corresponds to each element in U and
each vertex corresponds to each set in S.
Label all vertices in V from 1 to n. Let Si be the set of all
edges that incident to vertex i. Finally, let b = j. This
construction is in poly-time with respect to the size of
VC instance.
VERTEX-COVER p SET-COVER
one set for every vertex,
containing the edges it covers
VC
one element
for every edge
VC SC
Proof (cont)
Now, we need to prove that C is satisfiable iff C’ is.
That is, we need to show that if the original instance
of VC is a yes instance iff the constructed instance of
SC is a yes instance.
 (→) Suppose G has a vertex cover of size at most j,
called C. By our construction, C corresponds to a
collection C’ of subsets of U. Since b = j, |C’| ≤ b. Plus,
C’ covers all elements in U since C “covers” all edges
in G. To see this, consider any element of U. Such an
element is an edge in G. Since C is a set cover, at least
one endpoint of this edge is in C.
 (←) Suppose there is a set cover C’ of size at
most b in our constructed instance. Since each
set in C’ is associated with a vertex in G, let C
be the set of these vertices. Then |C| = |C’| ≤ b =
j. Plus, C is a vertex cover of G since C’ is a set
cover. To see this, consider any edge e. Since e
is in U, C’ must contain at least one set that
includes e. By our construction, the only set
that include e correspond to nodes that are
endpoints of e. Thus C must contain at least one
endpoint of e.
Solutions
Algorithm 1: (in the case of uniform cost)
1: C = empty
2: while U is not empty
3: pick a set Si such that Si covers the most
elements in U
4: remove the new covered elements from U
5: C = C union Si
6: return C
Solutions (cont)
 In the case of non-uniform cost
 Similar method. At each iteration, instead of picking a
set Si such that Si covers the most uncovered elements,
we will pick a set Si whose cost-effectiveness α is
smallest, where α is defined as:
 Questions: Why choose smallest α? Why define α as
above
||/)( USSc ii
Solutions (cont)
Algorithm 2: (in the case of non-uniform cost)
1: C = empty
2: while U is not empty
3: pick a set Si such that Si has the smallest α
4: for each new covered elements e in U
5: set price(e) = α
6: remove the new covered elements from U
7: C = C union Si
8: return C
Approximation Ratio Analysis
Let ek, k = 1…n, be the elements of U in the order in which
they were covered by Alg 2. We have:
 Lemma 1:
 Proof: Let Uj denote remaining set U at iteration j. That
is, Uj contains all the uncovered elements at iteration j.
At any iteration, the leftover sets of the optimal solution
can cover the remaining elements at a cost of at most
opt. (Why?)
solutionoptimaltheofcosttheiswhere
)1/()(price},,...,1{eachFor
opt
knoptenk k
Proof of Lemma 1 (cont)
Thus, among these leftover sets, there must exist
one set where its α value is at most opt/|Uj|. Let
ek be the element covered at this iteration, |Uj| ≥
n – k + 1. Since ek was covered by the most
cost-effective set in this iteration, we have:
price(ek) ≤ opt/|Uj| ≤ opt/(n-k+1)
Approximation Ratio
 Theorem 1: The set cover obtained from Alg 2
(also Alg 1) has a factor of Hn where Hn is a
harmonic series Hn = 1 + 1/2 + … + 1/n
 Proof: It follows directly from Lemma 1
Examples of NP-complete problems
 Independent set
- independent set: a set of vertices in the graph with no
edges between each pair of nodes.
- given a graph G=(V,E), find the largest independent set
- reduction from vertex cover:
smallest vertex cover S
largest independent set
V/S
Independent Set
 Independent set
- if G has a vertex cover S, then V  S is an independentset
proof: considertwo nodes in V  S:
if there is an edge connectingthem, then one of them must be in
S, which means one of themis not in V  S
- if G has an independentset I, then V  I is a vertex cover
proof: consideroneedge in G:
if it is not covered by any nodein V  I, then its two end vertices
must be both in I, which means I is not an independent set
Summary of some NPc problems
SAT
3SAT
Vertex cover
Independent
set
Set
cover
Graph coloring
Maximum
clique size
Minimum
Steiner
tree
Hamiltonian
cycle
Maximum cut
find more NP-complete problems in
http://en.wikipedia.org/wiki/List_of_NP-complete_problems

More Related Content

PPTX
Vertex cover Problem
PPT
Minimum spanning tree
PDF
Approximation Algorithms
PPTX
Kruskal & Prim's Algorithm
PPTX
A Star Search
PPT
Greedy algorithms
PPTX
Basic Traversal and Search Techniques
Vertex cover Problem
Minimum spanning tree
Approximation Algorithms
Kruskal & Prim's Algorithm
A Star Search
Greedy algorithms
Basic Traversal and Search Techniques

What's hot (20)

PPTX
PRIM'S ALGORITHM
PPT
Branch and bound
PPTX
Divide and conquer - Quick sort
PPTX
Vertex cover problem
PPTX
NP completeness
PPTX
CMSC 56 | Lecture 3: Predicates & Quantifiers
PDF
Formal Languages and Automata Theory Unit 1
PPTX
Greedy Algorithms
PPT
Asymptotic analysis
PPT
5.3 dynamic programming
PPTX
2.1 & 2.2 grammar introduction – types of grammar
PPTX
Theory of Automata and formal languages unit 2
PPTX
Dynamic programming class 16
PDF
Formal Languages and Automata Theory unit 3
PPT
Prim Algorithm and kruskal algorithm
PPTX
Stressen's matrix multiplication
PPT
minimum spanning tree
PPTX
Dijkstra s algorithm
PPTX
CMSC 56 | Lecture 15: Closures of Relations
PRIM'S ALGORITHM
Branch and bound
Divide and conquer - Quick sort
Vertex cover problem
NP completeness
CMSC 56 | Lecture 3: Predicates & Quantifiers
Formal Languages and Automata Theory Unit 1
Greedy Algorithms
Asymptotic analysis
5.3 dynamic programming
2.1 & 2.2 grammar introduction – types of grammar
Theory of Automata and formal languages unit 2
Dynamic programming class 16
Formal Languages and Automata Theory unit 3
Prim Algorithm and kruskal algorithm
Stressen's matrix multiplication
minimum spanning tree
Dijkstra s algorithm
CMSC 56 | Lecture 15: Closures of Relations
Ad

Viewers also liked (20)

PDF
Algoritmos Gulosos - Troco Mínimo
PDF
Paa algoritmos gulosos
PDF
Lecture27 linear programming
PDF
Comparative study of_hybrids_of_artificial_bee_colony_algorithm
PPT
Splay tree
PDF
Memetic search in differential evolution algorithm
PDF
An improved memetic search in artificial bee colony algorithm
PDF
Modified position update in spider monkey optimization algorithm
PDF
A novel hybrid crossover based abc algorithm
PDF
Sunzip user tool for data reduction using huffman algorithm
PDF
Enhanced local search in artificial bee colony algorithm
PPTX
Splay trees by NIKHIL ARORA (www.internetnotes.in)
PDF
Multiplication of two 3 d sparse matrices using 1d arrays and linked lists
PDF
Soft computing
Algoritmos Gulosos - Troco Mínimo
Paa algoritmos gulosos
Lecture27 linear programming
Comparative study of_hybrids_of_artificial_bee_colony_algorithm
Splay tree
Memetic search in differential evolution algorithm
An improved memetic search in artificial bee colony algorithm
Modified position update in spider monkey optimization algorithm
A novel hybrid crossover based abc algorithm
Sunzip user tool for data reduction using huffman algorithm
Enhanced local search in artificial bee colony algorithm
Splay trees by NIKHIL ARORA (www.internetnotes.in)
Multiplication of two 3 d sparse matrices using 1d arrays and linked lists
Soft computing
Ad

Similar to Lecture26 (20)

PPT
Introduction to algorithms and it's different types
PPT
Giáo trình Phân tích và thiết kế giải thuật - CHAP 8
PPT
Chap8 new
PDF
Daa chapter11
PPTX
Approximation
PPT
Approx
PPTX
NP Complete Problems -- Internship
PPTX
Presentation of daa on approximation algorithm and vertex cover problem
PPTX
Algorithm Design and Complexity - Course 6
PDF
Analysis and design of algorithms part 4
PPTX
Undecidable Problems and Approximation Algorithms
PPTX
optimal merge pattern notes - algorithms
PPTX
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
PPT
Analysis of Algorithm
PDF
Review
PPTX
DAA UNIT 3
PPT
Unit II Problem Solving Methods in AI K.sundar,AP/CSE,VEC
PDF
P versus NP
Introduction to algorithms and it's different types
Giáo trình Phân tích và thiết kế giải thuật - CHAP 8
Chap8 new
Daa chapter11
Approximation
Approx
NP Complete Problems -- Internship
Presentation of daa on approximation algorithm and vertex cover problem
Algorithm Design and Complexity - Course 6
Analysis and design of algorithms part 4
Undecidable Problems and Approximation Algorithms
optimal merge pattern notes - algorithms
Undecidable Problems - COPING WITH THE LIMITATIONS OF ALGORITHM POWER
Analysis of Algorithm
Review
DAA UNIT 3
Unit II Problem Solving Methods in AI K.sundar,AP/CSE,VEC
P versus NP

More from Dr Sandeep Kumar Poonia (17)

PDF
Improved onlooker bee phase in artificial bee colony algorithm
PDF
New Local Search Strategy in Artificial Bee Colony Algorithm
PDF
A new approach of program slicing
PDF
Performance evaluation of different routing protocols in wsn using different ...
PDF
Enhanced abc algo for tsp
PDF
Database aggregation using metadata
PDF
Performance evaluation of diff routing protocols in wsn using difft network p...
PDF
PDF
Problems in parallel computations of tree functions
PDF
Parallel Algorithms
PDF
Parallel Algorithms
PDF
Parallel Algorithms
PDF
Network flow problems
PDF
Shortest Path in Graph
PDF
Topological Sort
Improved onlooker bee phase in artificial bee colony algorithm
New Local Search Strategy in Artificial Bee Colony Algorithm
A new approach of program slicing
Performance evaluation of different routing protocols in wsn using different ...
Enhanced abc algo for tsp
Database aggregation using metadata
Performance evaluation of diff routing protocols in wsn using difft network p...
Problems in parallel computations of tree functions
Parallel Algorithms
Parallel Algorithms
Parallel Algorithms
Network flow problems
Shortest Path in Graph
Topological Sort

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
KodekX | Application Modernization Development
PDF
Encapsulation theory and applications.pdf
PDF
Machine learning based COVID-19 study performance prediction
PPTX
A Presentation on Artificial Intelligence
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Approach and Philosophy of On baking technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Mobile App Security Testing_ A Comprehensive Guide.pdf
KodekX | Application Modernization Development
Encapsulation theory and applications.pdf
Machine learning based COVID-19 study performance prediction
A Presentation on Artificial Intelligence
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Digital-Transformation-Roadmap-for-Companies.pptx
Understanding_Digital_Forensics_Presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Network Security Unit 5.pdf for BCA BBA.
Big Data Technologies - Introduction.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Approach and Philosophy of On baking technology

Lecture26

  • 2. Why Approximation Algorithms  Problems that we cannot find an optimal solution in a polynomial time  Eg: Set Cover, Bin Packing  Need to find a near-optimal solution:  Heuristic  Approximation algorithms:  This gives us a guarantee approximation ratio
  • 4. Combinatorial Optimization  The study of finding the “best” object from within some finite space of objects, eg:  Shortest path: Given a graph with edge costs and a pair of nodes, find the shortest path (least costs) between them  Traveling salesman: Given a complete graph with nonnegative edge costs, find a minimum cost cycle visiting every vertex exactly once  Maximum Network Lifetime: Given a wireless sensor networks and a set of targets, find a schedule of these sensors to maximize network lifetime
  • 5. In P or not in P? Informal Definitions:  The class P consists of those problems that are solvable in polynomial time, i.e. O(nk) for some constant k where n is the size of the input.  The class NP consists of those problems that are “verifiable” in polynomial time:  Given a certificate of a solution, then we can verify that the certificate is correct in polynomial time
  • 6. In P or not in P: Examples  In P:  Shortest path  Minimum Spanning Tree  Not in P (NP):  Vertex Cover  Traveling salesman  Minimum Connected Dominating Set
  • 7. NP-completeness (NPC)  A problem is in the class NPC if it is in NP and is as “hard” as any problem in NP
  • 8. What is “hard”  Decision Problems: Only consider YES-NO  Decision version of TSP: Given n cities, is there a TSP tour of length at most L?  Why Decision Problem? What relation between the optimization problem and its decision?  Decision is not “harder” than that of its optimization problem  If the decision is “hard”,then the optimization problem should be “hard”
  • 9. NP-complete and NP-hard A language L is NP-complete if: 1. L is in NP, and 2. For every L` in NP, L` can be polynomial-time reducible to L
  • 10. Approximation Algorithms  An algorithm that returns near-optimal solutions in polynomial time  Approximation Ratio ρ(n):  Define: C* as a optimal solution and C is the solution produced by the approximation algorithm  max (C/C*, C*/C) <= ρ(n)  Maximization problem: 0 < C <= C*, thus C*/C shows that C* is larger than C by ρ(n)  Minimization problem: 0 < C* <= C, thus C/C* shows that C is larger than C* by ρ(n)
  • 11. Approximation Algorithms (cont)  PTAS (Polynomial Time Approximation Scheme): A (1 + ε)-approximation algorithm for a NP-hard optimization П where its running time is bounded by a polynomial in the size of instance I  FPTAS (Fully PTAS): The same as above + time is bounded by a polynomial in both the size of instance I and 1/ε
  • 12. A Dilemma!  We cannot find C*, how can we compare C to C*?  How can we design an algorithm so that we can compare C to C* It is the objective of this course!!!
  • 13. Techniques  A variety of techniques to design and analyze many approximation algorithms for computationally hard problems:  Combinatorial algorithms:  Greedy Techniques, Independent System, Submodular Function  Linear Programming based algorithms  Semidefinite Programming based algorithms
  • 14. Vertex Cover  Definition:  An Example 'atincidentendpointone leastathas,edgeeveryforiffofcoververtexa calledis'subseta,),(graphundirectedanGiven V eEeG VVEVG
  • 15. Vertex Cover Problem  Definition:  Given an undirected graph G=(V,E), find a vertex cover with minimum size (has the least number of vertices)  This is sometimes called cardinality vertex cover  More generalization:  Given an undirected graph G=(V,E), and a cost function on vertices c: V → Q+  Find a minimum cost vertex cover
  • 16. How to solve it  Matching:  A set M of edges in a graph G is called a matching of G if no two edges in set M have an endpoint in common  Example:
  • 17. How to solve it (cont)  Maximum Matching:  A matching of G with the greatest number of edges  Maximal Matching:  A matching which is not contained in any larger matching  Note: Any maximum matching is certainly maximal, but not the reverse
  • 18. Main Observation  No vertex can cover two edges of a matching  The size of every vertex cover is at least the size of every matching: |M| ≤ |C|  |M| = |C| indicates the optimality  Possible Solution: Using Maximal matching to find Minimum vertex cover
  • 19. An Algorithm  Alg 1: Find a maximal matching in G and output the set of matched vertices  Theorem: Alg 1 is a factor 2-approximation algorithm.  Proof: optC MCoptM Copt 2||Therefore, ||2||and|| :haveWe1.algorithmfromobtainedcoververtex ofsetabeLetsolution.optimalanofsizeabeLet
  • 20. Can Alg1 be improved?  Q1: Can the approximation ratio of Alg 1 be improved by a better analysis?  Q2: Can we design a better approximation algorithm using the similar technique (maximal matching)?  Q3: Is there any other lower bounding method that can lead to a better approximation algorithm?
  • 21. Answers  A1: No by considering the complete bipartite graphs Kn,n  A2: No by considering the complete graph Kn where n is odd.  |M| = (n-1)/2 whereas opt = n -1
  • 22. Answers (cont)  A3:  Currently a central open problem  Yes, we can obtain a better one by using the semidefinite programming  Generalization vertex Cover  Can we still able to design a 2-approximation algorithm?  Homework assignment!
  • 23. Set Cover  Definition: Given a universe U of n elements, a collection of subsets of U, S = {S1, …, Sm}, and a cost function c: S → Q+, find a minimum cost subcollection C of S that covers all elements of U.  Example:  U = {1, 2, 3, 4, 5}  S1 = {1, 2, 3}, S2 = {2,3}, S3 = {4, 5}, S4 = {1, 2, 4}  c1 = c2 = c3 = c4 = 1  Solution C = {S1, S3}  If the cost is uniform, then the set cover problem asks us to find a subcollection covering all elements of U with the minimum size.
  • 25. INSTANCE: Given a universe U of n elements, a collection of subsets of U, S = {S1, …, Sm}, and a positive integer b QUESTION: Is there a , |C| ≤ b, such that (Note: The subcollection {Si | } satisfying the above condition is called a set cover of U NP-completeness  Theorem: Set Cover (SC) is NP-complete  Proof:
  • 26. Proof (cont)  First we need to show that SC is in NP. Given a subcollection C, it is easy to verify that if |C| ≤ b and the union of all sets listed in C does include all elements in U.  To complete the proof, we need to show that Vertex Cover (VC) ≤p Set Cover (SC) Given an instance C of VC (an undirected graph G=(V,E) and a positive integer j), we need to construct an instance C’ of SC in polynomial time such that C is satisfiable iff C’ is satisfiable.
  • 27. Proof (cont) Construction: Let U = E. We will define n elements of U and a collection S as follows: Note: Each edge corresponds to each element in U and each vertex corresponds to each set in S. Label all vertices in V from 1 to n. Let Si be the set of all edges that incident to vertex i. Finally, let b = j. This construction is in poly-time with respect to the size of VC instance.
  • 28. VERTEX-COVER p SET-COVER one set for every vertex, containing the edges it covers VC one element for every edge VC SC
  • 29. Proof (cont) Now, we need to prove that C is satisfiable iff C’ is. That is, we need to show that if the original instance of VC is a yes instance iff the constructed instance of SC is a yes instance.  (→) Suppose G has a vertex cover of size at most j, called C. By our construction, C corresponds to a collection C’ of subsets of U. Since b = j, |C’| ≤ b. Plus, C’ covers all elements in U since C “covers” all edges in G. To see this, consider any element of U. Such an element is an edge in G. Since C is a set cover, at least one endpoint of this edge is in C.
  • 30.  (←) Suppose there is a set cover C’ of size at most b in our constructed instance. Since each set in C’ is associated with a vertex in G, let C be the set of these vertices. Then |C| = |C’| ≤ b = j. Plus, C is a vertex cover of G since C’ is a set cover. To see this, consider any edge e. Since e is in U, C’ must contain at least one set that includes e. By our construction, the only set that include e correspond to nodes that are endpoints of e. Thus C must contain at least one endpoint of e.
  • 31. Solutions Algorithm 1: (in the case of uniform cost) 1: C = empty 2: while U is not empty 3: pick a set Si such that Si covers the most elements in U 4: remove the new covered elements from U 5: C = C union Si 6: return C
  • 32. Solutions (cont)  In the case of non-uniform cost  Similar method. At each iteration, instead of picking a set Si such that Si covers the most uncovered elements, we will pick a set Si whose cost-effectiveness α is smallest, where α is defined as:  Questions: Why choose smallest α? Why define α as above ||/)( USSc ii
  • 33. Solutions (cont) Algorithm 2: (in the case of non-uniform cost) 1: C = empty 2: while U is not empty 3: pick a set Si such that Si has the smallest α 4: for each new covered elements e in U 5: set price(e) = α 6: remove the new covered elements from U 7: C = C union Si 8: return C
  • 34. Approximation Ratio Analysis Let ek, k = 1…n, be the elements of U in the order in which they were covered by Alg 2. We have:  Lemma 1:  Proof: Let Uj denote remaining set U at iteration j. That is, Uj contains all the uncovered elements at iteration j. At any iteration, the leftover sets of the optimal solution can cover the remaining elements at a cost of at most opt. (Why?) solutionoptimaltheofcosttheiswhere )1/()(price},,...,1{eachFor opt knoptenk k
  • 35. Proof of Lemma 1 (cont) Thus, among these leftover sets, there must exist one set where its α value is at most opt/|Uj|. Let ek be the element covered at this iteration, |Uj| ≥ n – k + 1. Since ek was covered by the most cost-effective set in this iteration, we have: price(ek) ≤ opt/|Uj| ≤ opt/(n-k+1)
  • 36. Approximation Ratio  Theorem 1: The set cover obtained from Alg 2 (also Alg 1) has a factor of Hn where Hn is a harmonic series Hn = 1 + 1/2 + … + 1/n  Proof: It follows directly from Lemma 1
  • 37. Examples of NP-complete problems  Independent set - independent set: a set of vertices in the graph with no edges between each pair of nodes. - given a graph G=(V,E), find the largest independent set - reduction from vertex cover: smallest vertex cover S largest independent set V/S
  • 38. Independent Set  Independent set - if G has a vertex cover S, then V S is an independentset proof: considertwo nodes in V S: if there is an edge connectingthem, then one of them must be in S, which means one of themis not in V S - if G has an independentset I, then V I is a vertex cover proof: consideroneedge in G: if it is not covered by any nodein V I, then its two end vertices must be both in I, which means I is not an independent set
  • 39. Summary of some NPc problems SAT 3SAT Vertex cover Independent set Set cover Graph coloring Maximum clique size Minimum Steiner tree Hamiltonian cycle Maximum cut find more NP-complete problems in http://en.wikipedia.org/wiki/List_of_NP-complete_problems