approximation algorithms chapter 1- introduction

44
Approximation Algorithms Chapter 1- Introduction

Upload: felix-stanley

Post on 02-Jan-2016

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Approximation Algorithms Chapter 1- Introduction

Approximation Algorithms

Chapter 1- Introduction

Page 2: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success

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

Page 3: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 3

Why take this course

Your advisers/bosses give you a computationally hard problem. Here are two scenarios: No knowledge about approximation:

Spend a few months looking for an optimal solution Come to their office and confess that you cannot do it Get fired

Knowledge about approximation:

Page 4: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 4

Why take this course (cont)

Knowledge about approximation Show your boss that this is a NP-complete (NP-

hard) problem There does not exist any polynomial time algorithm

to find an exact solution Propose a good algorithm (either heuristic or

approximation) to find a near-optimal solution Better yet, prove the approximation ratio

Page 5: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 5

Course Description

Covers a variety of techniques to design and analyze many approximation algorithms for computationally hard problems: Combinatorial algorithms:

Greedy Techniques, Independent System, Submodular Function

Cover various problems

Linear Programming based algorithms Semidefinite Programming based algorithms

Page 6: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 6

Course Objectives

Grasp the essential techniques to design and analyze approximation algorithms: Combinatorial methods Linear programming Semidefinite programming Primal-dual and relaxation methods Hardness of approximation

Grasp the key ideas of graph theory Able to model and solve many practical

problems raising in our real life

Page 7: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 7

Textbooks

Recommended: Vijay Vazirani, Approximation Algorithms, Springer-

Verlag, 2001 Vasek Chvatal, Linear Programming, W. H.

Freeman Company Michael R. Garey and David S. Johnson,

Computers and Intractability: A Guide to the Theory of NP-Completeness

Shall provide appropriate lecture notes

Page 8: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 8

Introduction to Combinatorial Optimization

Page 9: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 9

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

Page 10: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 10

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

Page 11: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 11

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

Page 12: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 12

NP-completeness (NPC)

A problem is in the class NPC if it is in NP and is as “hard” as any problem in NP

Page 13: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 13

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”

Page 14: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 14

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

Page 15: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 15

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)

Page 16: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 16

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/ε

Page 17: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 17

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!!!

Page 18: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 18

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

Page 19: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 19

Vertex Cover

Definition:

An Example

'at incident endpoint one

leastat has , edgeevery for iff ofcover vertex a

called is 'subset a ,),(graph undirectedan Given

V

eEeG

VVEVG

Page 20: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 20

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

Page 21: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 21

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:

Page 22: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 22

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

Page 23: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 23

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

Page 24: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 24

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 ||

:have We1. algorithm from obtainedcover vertex

ofset a be Let solution. optimalan of size a be Let

Page 25: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 25

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?

Page 26: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 26

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

Page 27: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 27

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!

Page 28: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 28

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.

Page 29: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 29

An Example

Page 30: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 30

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:

Page 31: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 31

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.

Page 32: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 32

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.

Page 33: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 33

VERTEX-COVER p SET-COVER

one set for every vertex, containing the edges it

covers

VC

one element for every edge

VC SC

Page 34: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 34

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.

Page 35: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 35

(←) 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.

Page 36: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 36

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

Page 37: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 37

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

Page 38: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 38

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

Page 39: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 39

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?)

solution optimal theofcost theis where

)1/()(price },,...,1{each For

opt

knoptenk k

Page 40: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 40

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)

Page 41: Approximation Algorithms Chapter 1- Introduction

Passion is the key to success 41

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

Page 42: Approximation Algorithms Chapter 1- Introduction

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 Slargest independent set V/S

Passion is the key to success 42

Page 43: Approximation Algorithms Chapter 1- Introduction

Independent Set

Independent set

- if G has a vertex cover S, then V \ S is an independent set

proof: consider two nodes in V \ S:

if there is an edge connecting them, then one of them must be in S, which means one of them is not in V \ S

- if G has an independent set I, then V \ I is a vertex cover

proof: consider one edge in G:

if it is not covered by any node in V \ I, then its two end vertices must be both in I, which means I is not an independent set

Passion is the key to success 43

Page 44: Approximation Algorithms Chapter 1- Introduction

Summary of some NPc problems

SAT

3SAT

Vertex cover

Independent set

Set cover

Graph coloring

Maximum clique size

MinimumSteiner tree

Hamiltoniancycle

Maximum cut

find more NP-complete problems inhttp://en.wikipedia.org/wiki/List_of_NP-complete_problems

Passion is the key to success 44