Approximation%20Algorithms%20for%20NP-hard%20Combinatorial%20Problems - PowerPoint PPT Presentation

About This Presentation
Title:

Approximation%20Algorithms%20for%20NP-hard%20Combinatorial%20Problems

Description:

Title: The Use of Semidefinite Programming in Approximation Algorithms Author: Magnus Halldorsson Last modified by: Magn s M r Halld rsson Created Date – PowerPoint PPT presentation

Number of Views:220
Avg rating:3.0/5.0
Slides: 58
Provided by: Magnu89
Category:

less

Transcript and Presenter's Notes

Title: Approximation%20Algorithms%20for%20NP-hard%20Combinatorial%20Problems


1
Approximation Algorithms for NP-hard
Combinatorial Problems
  • Magnús M. Halldórsson
  • Reykjavik University

www.ru.is/mmh/ewscs13/lec1.ppt
2
Post-doc Ph.D. Positions available
  • Part of research project titled Algorithms for
    Wireless Scheduling

3
Why? Motivation
  • Many computational problems are NP-hard

Most
  • Instead of looking for the best solution, we may
    want to find a solution that is good enough
  • Instead of an optimal solution, we seek
    approximations

4
Why study approximation algorithms?
  • Study valuable, general-purpose problem solving
    techniques
  • Interesting combinatorics, from a CS viewpoint
  • Related to various other paradigms
  • Online algorithms
  • Streaming algorithms
  • Distributed algorithms

5
What I expect that you already know
  • Discrete structures and problems
  • Graphs and networks
  • Basic knowledge of algorithms
  • Some experience with analysis of algorithms
  • E.g. why Dijkstras algorithm works
  • Bonus
  • Mathematical programming
  • Basic probability theory

6
Plan today
  • Get comfortable with our main problems
  • Overview the algorithmic strategies that we will
    examine
  • Look at the most naive approximation algorithms

7
Fundamental problems
  • There are millions of optimization problems
  • We focus on a few fundamental problems
  • The techniques developed can be relatively easily
    transferred to other problems
  • The classic graph problems, w/o connectivity

8
Problems we shall consider
  • Independent set
  • Vertex cover
  • Chromatic number
  • Dominating set
  • Domatic number
  • Max Cut
  • And sometimes weighted versions

9
Graphs and Notation
  • n9
  • m13
  • ?4
  • ?2
  • d26/9

10
Independent sets
  • Find An independent set S of vertices
  • Objective Maximize S

11
Independent sets
  • Find An independent set of vertices
  • Maximize Size

12
Intervals
corresponding interval graph
13
Interval selection
corresponding interval graph
14
Interval selection
corresponding interval graph
15
k2
distance-k-independent set in graph G
independent set in the power graph Gk
(u,v) ? E(Gk) ? distG(u,v) ? k
16
Matching
  • Input Graph.
  • Goal. Find maximum cardinality matching.

1
A
2
B
C
3
D
4
5
E
17
Vertex Cover
  • S is a vertex cover if every edge has at least
    one endpoint in S
  • Objective Minimize S

18
Vertex Cover
  • S is a vertex cover if every edge has at least
    one endpoint in S
  • Objective Minimize S

19
Map coloring
20
Austria and its neighbors
?
21
Graph Coloring
22
Chromatic Number
?(G) 3
23
Where to locate icecream stands?
  • The Icecream Stands problem
  • Every kid should haveaccess to an icecreamstand
    in the next street. How many stands are needed?
  • A dominating set for a graph is a set of vertices
    whose neighbors, along with themselves,
    constitute all the vertices in the graph.

24
(No Transcript)
25
(No Transcript)
26
Domatic number
  • Find A partition (coloring) of the verticessuch
    that each color is a dominating set
  • Objective Maximize the number of colors

27
The MAX CUT problem
  • Input. A graph.
  • Feasible solution. A set S of vertices.
  • Value of solution. Number of edges cut.
  • Objective. Maximize.

28
Weighted versions
  • In Weighted Independent Set
  • Given a graph G with weights on vertices
  • Find an independent set with maximum total weight
  • Weights on vertices
  • Ind.set, Vertex cover, Dominating set
  • Weights on edges
  • Max Cut

29
Algorithmic strategies
  • Greedy
  • Subgraph removal
  • Local search
  • Probabilistic method
  • Local ratio
  • Linear programming rounding
  • Semi-definite programming

30
Core issue Bounding OPT
  • We want to compare our solution, ALG, to OPT,
    the optimal solution
  • I.e., show that ALG ? ? OPT
  • But OPT is hard to get a handle on (NP-hard!)
  • Instead, we compare ALG to an easier property
    that bounds OPT
  • ? (I)? OPT(I), and
  • ALG(I) ? ?(I)

31
Greedy
  • Previously known as myopic
  • In each round, the algorithm makes the action
    that is best according to some criteria

32
Subgraph removal
  • An independent set can contain at most 1 vertex
    from a clique
  • If we remove all big cliques, the problem may
    become easier.
  • If OPT was large, it is still fairly large after
    removing the cliques

33
Local search
  • Can I make small, local changes to my solution,
    to get a better solution?
  • Ex. 1 Shortcuts
  • Ex. 2 If I throw out 1 vertex, can I replace it
    with 2?

34
Probabilistic method
  • A random solution is often pretty good
  • Sometimes close to best possible
  • Sometimes it needs minor changes
  • Basic facts from probability
  • Product rule
  • Union bound
  • Linearity of expectation

35
LP rounding
  • Linear programming is a powerful hammer
  • The most general purpose solving method
  • All of our problems can be written as Integer
    Programming problems
  • X_i 1, if v_i is in the independent set,
  • X_i 0, if v_i is not in the set
  • LP Allow any value in the range 0,1
  • Solvable in polynomial time
  • Rounding Use LP-value to choose the binary 0/1
    value

36
Semi-definite programming
  • Vector programming assigns each vertex a vector
    in n-dimensional space
  • LP value 1-dimensional vector
  • Use nearness or farness to decide on rounding

37
Performance ratio
  • An algorithm A is ? -approximate if, for every
    input instance I, A(I) ? ? ? OPT(I)
    (maximization)or A(I) ? ? ? OPT(I)
    (minimization)

38
VC - Approximation Algorithm
  • C ? ?
  • E ? E
  • while E ? ?
  • do let (u,v) be an arbitrary edge of E
  • C ? C ? u,v
  • remove from E every edge incident to either
    u or v.
  • return C.

39
Demo
Compare this cover to the one from the example
40
Polynomial Time
  • C ? ?
  • E ? E
  • while E ? ? do
  • let (u,v) be an arbitrary edge of E
  • C ? C ? u,v
  • remove from E every edge incident to either u or
    v
  • return C

41
Correctness
  • The set of vertices our algorithm returns is
    clearly a vertex-cover, since we iterate until
    every edge is covered.

42
How Good an Approximation is it?
Observe the set of edges our algorithm chooses
? any VC contains 1 in each
our VC contains both, hence at most twice as
large
43
Another algorithm
  • Algorithm 1.2 (Cardinality vertex cover)
  • Find a maximal matching in G and output the set
    of matched vertices
  • Given a graph G(V,E), a subset of the edges M ?
    E is a matching if no two edges of M share an
    endpoint.
  • A matching is maximal if no more edges can be
    added
  • The previous solution is a maximal matching!

44
Linking ALG to OPT(relating the approximation to
the optimal)
Maximal matching
Maximal matching
?
Optimalsolution
Approximatesolution
45
Lower bounding OPT
  • OPT an optimal solution (vertex cover) (also
    its size)
  • ALG solution found by our algorithm
  • M maximal matching
  • We argued a lower bound for OPT in terms of M
  • OPT M
  • Thus, maximal matching is the combinatorial
    structure that is relevant here.
  • Performance analysis follows from this
  • Since, ALG 2 M, the performance ratio is at
    most 2

46
Can we improve this approximation?
  • Can we improve the analysis for this algorithm?
  • Can we make this algorithm more clever?
  • What if we carefully choose the maximal matching?
  • Can we find a better algorithm?

47
Tight example 1
OPT picks 1 vertex ALG selected 2
But, this is only one small graph. We want a
family of graphs, of infinite size
48
Tight example 2
  • Complete bipartite graph Kn,n (here n4)

49
This was a too simple solution
  • It is simple, but not stupid. Many seemingly
    smarter heuristics can give a far worse
    performance, in the worst case.
  • It is easy to complicate heuristics by adding
    more special cases or details. For example, if
    you just picked the edge whose endpoints had
    highest degree, it doesnt improve the worst
    case. It just makes it harder to analyze.

50
Naive approximations
  • Bound ALG and OPT, independently
  • Forms the baseline, with which we compare

51
Naïve approximation of Dominating Set
  • ALG ? n
  • OPT ? n/(?1)

52
Naïve approximation of Domatic Partition
  • ALG ? 1
  • OPT ? ? 1

53
Naïve approximation of Coloring
  • ALG ? ?1
  • OPT ? 2

54
Naïve approximation of Independent Set
  • ALG ? n/(?1)
  • OPT ? n

55
Acknowledgment
  • Much of the presentations are adapted from slides
    on the web
  • In this talk, material on Vertex Cover was taken
    from
  • www.cs.tau.ac.il/safra/Complexity/appalgo.ppt

56
Problem 1 Min-degree greedy
  • What is the most natural algorithm for the
    Independent Set problem?
  • Min-degree greedy
  • 1. Find a vertex of minimum degree 2. delete
    its neighbors 3. repeat (until the graph is
    empty)
  • A) How good/bad is it on general graphs?
  • Construct a bad instance for that algorithm
  • As a function of n
  • B) Does it do better than ?1 ?.

57
Problem 2 Max Cut
  • What (easy) approximations can we give for Max
    Cut?
Write a Comment
User Comments (0)
About PowerShow.com