approximation algorithms for np-hard combinatorial problems

Download Approximation Algorithms for NP-hard Combinatorial Problems

If you can't read please download the document

Upload: cleta

Post on 05-Jan-2016

48 views

Category:

Documents


5 download

DESCRIPTION

Approximation Algorithms for NP-hard Combinatorial Problems. Magnús M. Halldórsson Reykjavik University. www.ru.is/~mmh/ewscs13/lec1.ppt. Post-doc & Ph.D. Positions available. Part of research project titled “Algorithms for Wireless Scheduling”. Why? Motivation. - PowerPoint PPT Presentation

TRANSCRIPT

  • Approximation Algorithms for NP-hard Combinatorial ProblemsMagns M. HalldrssonReykjavik University

    www.ru.is/~mmh/ewscs13/lec1.ppt

  • Post-doc & Ph.D. Positions availablePart of research project titled Algorithms for Wireless Scheduling

  • Why? MotivationInstead of looking for the best solution, we may want to find a solution that is good enoughInstead of an optimal solution, we seek approximations

    Many computational problems are NP-hardMost

  • Why study approximation algorithms?Study valuable, general-purpose problem solving techniquesInteresting combinatorics, from a CS viewpointRelated to various other paradigms:Online algorithmsStreaming algorithmsDistributed algorithms

  • What I expect that you already knowDiscrete structures and problemsGraphs and networksBasic knowledge of algorithmsSome experience with analysis of algorithmsE.g. why Dijkstras algorithm worksBonus:Mathematical programmingBasic probability theory

  • Plan todayGet comfortable with our main problemsOverview the algorithmic strategies that we will examineLook at the most naive approximation algorithms

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

  • Problems we shall considerIndependent setVertex coverChromatic numberDominating setDomatic numberMax Cut

    And sometimes weighted versions

  • Graphs and Notation n=9 m=13=4=2d=26/9

  • Independent setsFind: An independent set S of verticesObjective: Maximize |S|

  • Independent setsFind: An independent set of verticesMaximize: Size

  • & corresponding interval graphIntervals

  • & corresponding interval graphInterval selection

  • & corresponding interval graphInterval selection

  • = independent set in the power graph Gk k=2 distance-k-independent set in graph G(u,v) E(Gk) distG(u,v) k

  • *MatchingInput: Graph.Goal. Find maximum cardinality matching.C152AE3BD4

  • Vertex CoverS is a vertex cover if every edge has at least one endpoint in SObjective: Minimize |S|

  • Vertex CoverS is a vertex cover if every edge has at least one endpoint in SObjective: Minimize |S|

  • Map coloring

  • Austria and its neighbors?

  • Graph Coloring

  • Chromatic Number(G) = 3

  • Where to locate icecream stands?The Icecream Stands problem:Every kid should have access to an icecream stand in the next street. How many stands are needed?Adominating setfor a graph is a set of vertices whose neighbors, along with themselves, constitute all the vertices in the graph.

  • Domatic numberFind: A partition (coloring) of the vertices such that each color is a dominating setObjective: Maximize the number of colors

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

  • Weighted versionsIn Weighted Independent Set:Given a graph G with weights on verticesFind an independent set with maximum total weightWeights on vertices:Ind.set, Vertex cover, Dominating setWeights on edgesMax Cut

  • Algorithmic strategiesGreedySubgraph removalLocal searchProbabilistic methodLocal ratioLinear programming roundingSemi-definite programming

  • Core issue: Bounding OPTWe want to compare our solution, ALG, to OPT, the optimal solutionI.e., show that ALG * OPTBut OPT is hard to get a handle on (NP-hard!)Instead, we compare ALG to an easier property that bounds OPT: (I) OPT(I), andALG(I) (I)

  • GreedyPreviously known as myopicIn each round, the algorithm makes the action that is best according to some criteria

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

  • Local searchCan I make small, local changes to my solution, to get a better solution?Ex. 1: ShortcutsEx. 2: If I throw out 1 vertex, can I replace it with 2?

  • Probabilistic methodA random solution is often pretty goodSometimes close to best possibleSometimes it needs minor changesBasic facts from probability:Product ruleUnion boundLinearity of expectation

  • LP roundingLinear programming is a powerful hammerThe most general purpose solving methodAll of our problems can be written as Integer Programming problemsX_i = 1, if v_i is in the independent set,X_i = 0, if v_i is not in the setLP: Allow any value in the range [0,1]Solvable in polynomial timeRounding: Use LP-value to choose the binary 0/1 value

  • Semi-definite programmingVector programming assigns each vertex a vector in n-dimensional spaceLP value = 1-dimensional vectorUse nearness or farness to decide on rounding

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

  • VC - Approximation AlgorithmC E Ewhile 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.

  • DemoCompare this cover to the one from the example

  • Polynomial TimeC E Ewhile E do let (u,v) be an arbitrary edge of EC C {u,v}remove from E every edge incident to either u or vreturn C

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

  • How Good an Approximation is it?

    Observe the set of edges our algorithm chooses any VC contains 1 in eachour VC contains both, hence at most twice as large

  • Another algorithmGiven 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!Algorithm 1.2 (Cardinality vertex cover)Find a maximal matching in G and output the set of matched vertices

  • Linking ALG to OPT(relating the approximation to the optimal)Approximate solutionOptimal solution?Maximal matchingMaximal matching

  • Lower bounding OPTOPT : an optimal solution (vertex cover) (also its size)ALG : solution found by our algorithmM : 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

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

  • Tight example #1But, this is only one small graph.We want a family of graphs, of infinite sizeOPT picks 1 vertexALG selected 2

  • Tight example #2Complete bipartite graph Kn,n (here n=4)

  • This was a too simple solutionIt 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.

  • Naive approximationsBound ALG and OPT, independentlyForms the baseline, with which we compare

  • Nave approximation of Dominating SetALG n OPT n/(+1)

  • Nave approximation of Domatic PartitionALG 1 OPT +1

  • Nave approximation of ColoringALG +1OPT 2

  • Nave approximation of Independent SetALG n/(+1)OPT n

  • AcknowledgmentMuch of the presentations are adapted from slides on the webIn this talk, material on Vertex Cover was taken from:www.cs.tau.ac.il/~safra/Complexity/appalgo.ppt

  • Problem #1: Min-degree greedyWhat 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 algorithmAs a function of nB) Does it do better than +1 ?.

  • Problem #2: Max CutWhat (easy) approximations can we give for Max Cut?

    *Each time we run or implement, the situation is different a little, or a lotAs simple as possible, but no simpler than that. (A. Einstein)Other problems reduce to these

    **This paper deals with intersection graphs of some well-behaved geometric objects*This paper deals with intersection graphs of some well-behaved geometric objects*This paper deals with intersection graphs of some well-behaved geometric objects