# CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin September 27, / 23

2 Lecture 3 1 We will first do the analysis of the Greedy α revocable priority algorithm for the WISP problem showing that the algorithm has an approximation ratio of 1 α (1 α) which is optimized at α = 1/2. 2 We mention a similar algorithm: Graham s convex hull scan algorithm 3 We then introduce the priority stack model 4 We return briefly to greedy algorithms and consider the natural greedy algorithms for the weighted versions of set packing and vertex cover. 5 We then move on to two dynamic programming algorithms, for the makespan and knapsack problems. 2 / 23

3 The Greedy α algorithm for WJISP The algorithm as stated by Erlebach and Spieksma (and called ADMISSION by Bar Noy et al) is as follows: S := % S is the set of currently accepted intervals Sort input intervals so that f 1 f 2... f n for i = 1..n C i := min weight subset of S : (S/C i ) {I i } feasible if v(c i ) α v(i i ) then S := (S/C i ) {I i } end if END FOR Figure: Priority algorithm with revocable acceptances for WJISP The Greedy α algorithm (which is not greedy by my definition) has a tight 1 approximation ratio of α(1 α) for WISP and 2 α(1 α) for WJISP. 3 / 23

4 Graham s [1972] convex hull algorithm Graham s scan algorithm for determining the convex hull of a set of n points in the plane is an efficient (O(n log n) time) algorithm in the framework of the revcocable priority model. (This is not a search or optimization problem but does fit the framework of making a decision for each input point. For simplicity assume no three points are colinear.) Choose a point that must be in the convex hull (e.g. the (leftmost) point p 1 having smallest y coordinate) Sort remaining points p 2,..., p n by increasing angle with respect to p 1 Push p 1, p 2, p 3 on a Stack for i = 4..n Push p i onto stack While the three top points u, v, p i on the Stack make a right turn Remove v from stack End While Return points on Stack as the points defining the convex hull. Figure: The Graham convex hull scan algorithm 4 / 23

5 Priority Stack Algorithms For packing problems, instead of immediate permanent acceptances, in the first phase of a priority stack algorithm, items (that have not been immediately rejected) can be placed on a stack. After all items have been considered (in the first phase), a second phase consists of popping the stack so as to insure feasibility. That is, while popping the stack, the item becomes permanently accepted if it can be feasibly added to the current set of permanently accepted items; otherwise it is rejected. Within this priority stack model (which models a class of primal dual with reverse delete algorithms and a class of local ratio algorithms), the weighted interval selection problem can be computed optimally. For covering problems (such as min weight set cover and min weight Steiner tree), the popping stage is to insure the minimality of the solution; that is, when popping item I from the stack, if the current set of permanently accepted items plus the items still on the stack already consitute a solution then I is deleted and otherwise it becomes a permanently accepted item. 5 / 23

6 Chordal graphs and perfect elimination orderings An interval graph is an example of a chordal graph. There are a number of equivalent definitions for chordal graphs, the standard one being that there are no induced cycles of length greater than 3. We shall use the characterization that a graph G = (V, E) is chordal iff there is an ordering of the vertices v 1,..., v n such that for all i, Nbdh(v i ) {v i+1,..., v n } is a clique. Such an ordering is called a perfect elimination ordering (PEO). It is easy to see that the interval graph induced by interval intersection has a PEO (and hence interval graphs are chordal) by ordering the intervals such that f 1 f 2... f n. Trees are also chordal graphs and a PEO is obtained by stripping off leaves one by one. 6 / 23

7 MIS and colouring chordal graphs Using this ordering (by earliest finishing time), we know that there is a greedy (i.e. priority) algorithm that optimally selects a maximum size set of non intersecting intervals. The same algorithm (and proof by charging argument) using a PEO in a fixed order greedy algorithm optimally solves the unweighted MIS problem for any chordal graph. This can be shown by an inductive argument showing that the partial solution after the ith iteration is promising in that it can be extended to an optimal solution; and it can also be shown by a simple charging argument. We also know that the greedy algorithm that orders intervals such that s 1 s 2... s n and then colours nodes using the smallest feasible colour is a an optimal algorithm for colouring interval graphs. Ordering by earliest starting times is (by symmetry) equivalent to ordering by latest finishing times first. The generalization of this is that any chordal graph can be optimally coloured by a greedy algorithms that orders vertices by the reverse of a PEO. This can be shown by arguing that when the algorithm first uses colour k, it is witnessing a clique of size k. 7 / 23

8 The optimal priority stack algorithm for the (WMIS) problem in chordal graphs ; Akcoglu et al [2002 Stack := % Stack is the set of items on stack Sort nodes using a PEO Set w (v i ) := w(v i ) for all v i % w (v) will be the residual weight of a node For i = 1..n C i := {v j j < i, v i Nbhd(v j ) and v j on Stack} w (v i ) := w (v i ) w (C i ) If w (v i ) > 0 then push v i onto Stack ; else reject End For S := % S will be the set of accepted nodes While Stack Pop next node v from Stack If v is not adjacent to any node in S, then S :=S {v} End While 8 / 23

9 The natural greedy algorithm : WMIS for k + 1-claw free graphs We return briefly to greedy algorithms considering the vague idea of the natural greedy algorithm. k + 1-claw free graphs A graph G = (V, E) is k + 1-claw free if for all v V, the induced subgraph of Nbhd(v) has at most k independent vertices (i.e. does not have a k + 1 claw as an induced subgraph). There are many types of graphs that are k + 1 claw free for small k; in particular, the intersection graph of axis parallel translates of a convex object in the two dimensional plane is a 6-claw free graph. For rectangles, the intersection graph is 5-claw free. Let {S 1,..., S n } be subsets of a universe U such that S i k. The intersection graph G = (V, E) defined by (S i, S j ) E iff S i S j is a k + 1 claw free graph. 9 / 23

10 k + 1-claw free graphs and the natural greedy algorithm continued Of special note are 3-claw free graphs which are simply called claw free. For example, line graphs are 3-claw free. A matching in a graph G corresponds to an independent set in the line graph L(G). The natural greedy algorithm for WMIS The natural greedy algorithm sorts the vertices such that w(v 1 ) w(v 2 )... w(v n ) and then accepts vertices greedily; i.e. if the vertex is independent of previously accepted vertices then accept. The natural greedy algorithm provides a k-approximation for WMIS on k + 1 claw free graphs. (A more complex algorithm, generalizing weighted matching, optimally solves the WMIS for 3-claw free graphs.) 10 / 23

11 The natural greedy might not be the best greedy: Set packing We consider two examples (weighted set packing and vertex cover) where the (seemingly) most natural) greedy algorithm is not the best greedy (approximation) algorithm. The weighted set packing problem (AKA the single minded combinatorial auction problem) is defined as follows: There is a universe U of size m, a collection of subsets {S 1,..., S n } of U and a weight w i for each set S i. The objective is to select a non-intersecting subcollection of these subsets so as to maximize the weight of the chosen sets. It is NP hard to obtain approximation ratio m 1 2 ɛ for any ɛ > 0. The induced intersection graph is m + 1 claw free and hence the natural greedy algorithm yields a a min{m, n} approximation. Let s assume n >> m and try to improve upon the m approximation. The next most natural greedy algorithm (ordering sets by non-increasing w(s)/ S ) is still an m-approximation. We can obtain approximation 2 m by ordering sets by non-increasing w(s)/ S. 11 / 23

12 Second example where natural greedy is not best: weighted vertex cover If we consider vertex cover as a special case of set cover then the natural greedy (which is essentially optimal for set cover) becomes the following: d (v) := d(v) for all v V % d (v) will be the residual degree of a node While there are uncovered edges Let v be the node minimizing w(v)/d (v) Add v to the vertex cover; remove all edges in Nbhd(v); recalculate the residual degree of all nodes in Nbhd)v) End While Figure: Natural greedy algorithm for weighted vertex cover with approximation ratio H n 12 / 23

13 Clarkson s [1983] modified greedy for weighted vertex cover d (v) := d(v) for all v V % d (v) will be the residual degree of a node w (v) := w(v) for all v V % w (v) will be the residual weight of a node While there are uncovered edges Let v be the node minimizing w (v)/d (v) w :=w (v)/d (v) w (u) :=w (u) w for all u Nbhd(v) Add v to the vertex cover; remove all edges in Nbhd(v); recalculate the residual degree of all nodes in Nbhd(v) End While Figure: Clarkson s greedy algorithm for weighted vertex cover with approximation ratio 2 13 / 23

14 A common generalization of k + 1-claw free graphs and chordal graphs One vague theme I try to think about is the interplay between classes of problems and classes of algorithms. In some way this leads to a common extension of chordal and k + 1-claw free graph implicitly defined in Akcoglu et al [2002] and pursued in Ye and B. [2009]. A graph is inductively k-independent is there is a k-peo ordering of the vertices v 1,..., v n such that Nbhd(v i ) {v i+1,..., v n } has at most k independent vertices. For example, The JISP problem induces an inductively 2-independent graph. Every planar graph is inductively 3-independent. It can be shown that the WMIS stack algorithm and analysis for chordal graphs extends to provide a k approximation for inductive k independent graphs by using a k-peo. The reverse order k-peo greedy algorithm is a k-approximation for inductive k independent graphs. 14 / 23

15 Dynamic programming and scaling We have previously seen that with some use of brute force and greediness, we can achieve PTAS algorithms for the identical machines makespan (polynomial in the number n of jobs but exponential in the number m of machines) and knapsack problems. We now consider how dynamic programming (DP) can be used to acheive a PTAS for the makespan problem which is polynomial in m and n, and how to achieve an FPTAS for the knapsack problem. To achieve these improved bounds we will combine dynamic programming with the idea of scaling inputs. 15 / 23

16 An FPTAS for the knapsack problem Let the input items be I 1,..., I n (in any order) with I k = (v k, s k ). The idea for the knapsack FPTAS begins with a pseudo polynomial time DP for the problem, namely an algorithm that is polynomial in the numeric values v j (rather than the encoded length v j ) of the input values. Define S[j, v] = the minimum size s needed to achieve a profit of at least v using only inputs I 1,... I j ; this is defined to if there is no way to achieve this profit using only these inputs. This is the essense of DP algorithms; namely, defining an approriate generalization of the problem (which we give in the form of an array) such that 1 the desired result can be easily obtained from ths array S[, ] 2 each entry of the array can be easily computed given pevious entries 16 / 23

17 How to compute the array S[j, v] and why is this sufficient The value of an optimal solution is max{v S[n, v] is finite}. We have the following equivalent recursive definition that shows how to compute the entries of S[j, v] for 0 j n and v n j=1 v j. 1 Basis: S[0, v] = for all v 2 Induction: S[j, v] = min{a, B} where A = S[j 1, v] and B = S[j 1, max{v v j, 0}] + s j. It should be clear that while we are computing these values that we can at the same time be computing a solution corresponding to each entry in the array. For efficiency one usually computes these entries iteratively but one could use a recursive program with memoization. The running time is O(n, V ) where V = n j=1 v j. Finally, to obtain the FPTAS the idea (due to Ibarra and Kim [1975]) is simply that the high order bits/digits of the item values give a good approximation to the true value of any solution and scaling these values down (or up) to the high order bits does not change feasibility. 17 / 23

18 The better PTAS for makespan We can think of m as being a parameter of the input instance and now we want an algorithm whose run time is poly in m, n for any fixed ɛ = 1/s. The algorithm s run time is exponential in 1 ɛ 2. We will need a combination of paradigms and techniques to achieve this PTAS; namely, DP and scaling (but less obvious than for the knapsack scaling) and binary search. 18 / 23

19 The high level idea of the makespan PTAS Let T be a candidate for an achievable makespan value. Depending on T and the ɛ required, we will scale down large (i.e. if p i T /s = T ɛ) to the largest multiple of T /s 2 so that there are only d = s 2 values for scaled values of the large jobs. When there are only a fixed number d of job sizes, we can use DP to test (and find) in time O(n 2d ) if there is a soluton that achieves makespan T. If there is such a solution then small jobs can be greedily scheduled without increasing the makespan too much. We use binary search to find a good T. 19 / 23

20 The optimal DP for a fixed number of job values Let z 1,..., z d be the d different job sizes and let n = n i be the total number of jobs with n i being the number of jobs of szie z i. M[x 1,..., x d ] = the minimum number of machines needed to schedule x i jobs having size z i within makespan T. The n jobs can be scheduled within makespan T iff M[n 1,, n d ] is at most m. 20 / 23

21 Computing M[x 1,..., x d ] Clearly M[0,..., 0] = 0 for the base case. Let V = {(v 1,, v d ) i v iz i T } be the set of configurations that can complete on one machine within makespan T ; that is, scheduling v i jobs with size z i on one machine does not exceed the target makespan T. M[x 1,..., x d ] = 1 + min (v1,...,v d ) V :v i x i M[x 1 v 1,..., x d v d ] There are at most n d array elements and each entry uses approximately n d time to compute (given previous entries) so that the total time is O(n 2d ). Must any (say DP) algorithm be exponential in d? 21 / 23

22 Large jobs and scaling (not worrying about any integrality issues) A job is large if p i T /s = T ɛ Scale down large jobs to have size p i = largest multiple of T /(s 2 ) p i p i T /(s 2 ) There are at most d = s 2 job sizes p There can be at most s large jobs on any machine not exceeding target makespan T. 22 / 23

23 Taking care of the small jobs and accounting for the scaling down We now wish to add in the small jobs with sizes less than T /s. We continue to try to add small jobs as long as some machine does not exceed the target makespan T. If this is not possible, then makespan T is not possible. If we can add in all the small jobs then to account for the scaling we note that each of the at most s large jobs were scaled down by at at most T /(s 2 ) so this only increases the makespan to (1 + 1/s)T. 23 / 23

### CSC2420 Spring 2015: Lecture 2

CSC2420 Spring 2015: Lecture 2 Allan Borodin January 15,2015 1 / 1 Announcements and todays agenda First part of assignment 1 was posted last weekend. I plan to assign one or two more questions. Today

### CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin September 20, 2012 1 / 1 Lecture 2 We continue where we left off last lecture, namely we are considering a PTAS for the the knapsack

### CSC 373: Algorithm Design and Analysis Lecture 3

CSC 373: Algorithm Design and Analysis Lecture 3 Allan Borodin January 11, 2013 1 / 13 Lecture 3: Outline Write bigger and get better markers A little more on charging arguments Continue examples of greedy

### CSC 373: Algorithm Design and Analysis Lecture 4

CSC 373: Algorithm Design and Analysis Lecture 4 Allan Borodin January 14, 2013 1 / 16 Lecture 4: Outline (for this lecture and next lecture) Some concluding comments on optimality of EST Greedy Interval

### Theorem 2.9: nearest addition algorithm

There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

### Approximation Basics

Milestones, Concepts, and Examples Xiaofeng Gao Department of Computer Science and Engineering Shanghai Jiao Tong University, P.R.China Spring 2015 Spring, 2015 Xiaofeng Gao 1/53 Outline History NP Optimization

### Approximation Algorithms

Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

### Greedy Algorithms 1 {K(S) K(S) C} For large values of d, brute force search is not feasible because there are 2 d {1,..., d}.

Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,

### Greedy algorithms is another useful way for solving optimization problems.

Greedy Algorithms Greedy algorithms is another useful way for solving optimization problems. Optimization Problems For the given input, we are seeking solutions that must satisfy certain conditions. These

### Conflict Graphs for Combinatorial Optimization Problems

Conflict Graphs for Combinatorial Optimization Problems Ulrich Pferschy joint work with Andreas Darmann and Joachim Schauer University of Graz, Austria Introduction Combinatorial Optimization Problem CO

9 About Intersection Graphs Since this lecture we focus on selected detailed topics in Graph theory that are close to your teacher s heart... The first selected topic is that of intersection graphs, i.e.

### CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.

### CSC 373: Algorithm Design and Analysis Lecture 8

CSC 373: Algorithm Design and Analysis Lecture 8 Allan Borodin January 23, 2013 1 / 19 Lecture 8: Announcements and Outline Announcements No lecture (or tutorial) this Friday. Lecture and tutorials as

### Greedy Algorithms 1. For large values of d, brute force search is not feasible because there are 2 d

Greedy Algorithms 1 Simple Knapsack Problem Greedy Algorithms form an important class of algorithmic techniques. We illustrate the idea by applying it to a simplified version of the Knapsack Problem. Informally,

### GENERALIZING CONTEXTS AMENABLE TO GREEDY AND GREEDY-LIKE ALGORITHMS. Yuli Ye

GENERALIZING CONTEXTS AMENABLE TO GREEDY AND GREEDY-LIKE ALGORITHMS by Yuli Ye A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Computer

### An Efficient Approximation for the Generalized Assignment Problem

An Efficient Approximation for the Generalized Assignment Problem Reuven Cohen Liran Katzir Danny Raz Department of Computer Science Technion Haifa 32000, Israel Abstract We present a simple family of

### Algorithm Design Methods. Some Methods Not Covered

Algorithm Design Methods Greedy method. Divide and conquer. Dynamic Programming. Backtracking. Branch and bound. Some Methods Not Covered Linear Programming. Integer Programming. Simulated Annealing. Neural

### Lecture 3: Art Gallery Problems and Polygon Triangulation

EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified

### Approximation Algorithms

Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

### Lecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017

COMPSCI 632: Approximation Algorithms August 30, 2017 Lecturer: Debmalya Panigrahi Lecture 2 Scribe: Nat Kell 1 Introduction In this lecture, we examine a variety of problems for which we give greedy approximation

### APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS

APPROXIMATION ALGORITHMS FOR GEOMETRIC PROBLEMS Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 70010, India. Organization Introduction

### 11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

### NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT

### Treewidth and graph minors

Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

### PTAS for Matroid Matching

PTAS for Matroid Matching Jon Lee 1 Maxim Sviridenko 1 Jan Vondrák 2 1 IBM Watson Research Center Yorktown Heights, NY 2 IBM Almaden Research Center San Jose, CA May 6, 2010 Jan Vondrák (IBM Almaden) PTAS

### 15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 While we have good algorithms for many optimization problems, the previous lecture showed that many

### CSC 373 Lecture # 3 Instructor: Milad Eftekhar

Huffman encoding: Assume a context is available (a document, a signal, etc.). These contexts are formed by some symbols (words in a document, discrete samples from a signal, etc). Each symbols s i is occurred

### CMPSCI611: Approximating SET-COVER Lecture 21

CMPSCI611: Approximating SET-COVER Lecture 21 Today we look at two more examples of approximation algorithms for NP-hard optimization problems. The first, for the SET-COVER problem, has an approximation

### Approximation Algorithms

Chapter 8 Approximation Algorithms Algorithm Theory WS 2016/17 Fabian Kuhn Approximation Algorithms Optimization appears everywhere in computer science We have seen many examples, e.g.: scheduling jobs

### Approximation Algorithms for Geometric Intersection Graphs

Approximation Algorithms for Geometric Intersection Graphs Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline

### Chapter Design Techniques for Approximation Algorithms

Chapter 2 Design Techniques for Approximation Algorithms I N THE preceding chapter we observed that many relevant optimization problems are NP-hard, and that it is unlikely that we will ever be able to

### Solving NP-hard Problems on Special Instances

Solving NP-hard Problems on Special Instances Solve it in poly- time I can t You can assume the input is xxxxx No Problem, here is a poly-time algorithm 1 Solving NP-hard Problems on Special Instances

### Chordal Graphs: Theory and Algorithms

Chordal Graphs: Theory and Algorithms 1 Chordal graphs Chordal graph : Every cycle of four or more vertices has a chord in it, i.e. there is an edge between two non consecutive vertices of the cycle. Also

### How well can Primal-Dual and Local-Ratio algorithms perform?

How well can Primal-Dual and Local-Ratio algorithms perform? Allan Borodin David Cashman Avner Magen Department of Computer Science, University of Toronto December 12, 2007 Abstract We define an algorithmic

### Sankalchand Patel College of Engineering - Visnagar Department of Computer Engineering and Information Technology. Assignment

Class: V - CE Sankalchand Patel College of Engineering - Visnagar Department of Computer Engineering and Information Technology Sub: Design and Analysis of Algorithms Analysis of Algorithm: Assignment

### Approximation Algorithms

Approximation Algorithms Subhash Suri June 5, 2018 1 Figure of Merit: Performance Ratio Suppose we are working on an optimization problem in which each potential solution has a positive cost, and we want

### Algorithmic complexity of two defence budget problems

21st International Congress on Modelling and Simulation, Gold Coast, Australia, 29 Nov to 4 Dec 2015 www.mssanz.org.au/modsim2015 Algorithmic complexity of two defence budget problems R. Taylor a a Defence

### Chapter-6 Backtracking

Chapter-6 Backtracking 6.1 Background Suppose, if you have to make a series of decisions, among various choices, where you don t have enough information to know what to choose. Each decision leads to a

### Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009

### CS 473: Fundamental Algorithms, Spring Dynamic Programming. Sariel (UIUC) CS473 1 Spring / 42. Part I. Longest Increasing Subsequence

CS 473: Fundamental Algorithms, Spring 2011 Dynamic Programming Lecture 8 February 15, 2011 Sariel (UIUC) CS473 1 Spring 2011 1 / 42 Part I Longest Increasing Subsequence Sariel (UIUC) CS473 2 Spring 2011

### EE512 Graphical Models Fall 2009

EE512 Graphical Models Fall 2009 Prof. Jeff Bilmes University of Washington, Seattle Department of Electrical Engineering Fall Quarter, 2009 http://ssli.ee.washington.edu/~bilmes/ee512fa09 Lecture 11 -

### Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014

Suggested Reading: Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Probabilistic Modelling and Reasoning: The Junction

### CSE 417 Network Flows (pt 4) Min Cost Flows

CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it

### On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

### Approximation Algorithms

Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours

### Approximation Techniques for Utilitarian Mechanism Design

Approximation Techniques for Utilitarian Mechanism Design Department of Computer Science RWTH Aachen Germany joint work with Patrick Briest and Piotr Krysta 05/16/2006 1 Introduction to Utilitarian Mechanism

### CSC2420: Algorithm Design, Analysis and Theory Fall 2017

CSC2420: Algorithm Design, Analysis and Theory Fall 2017 Allan Borodin and Nisarg Shah September 13, 2017 1 / 1 Lecture 1 Course Organization: 1 Sources: No one text; lots of sources including specialized

### Greedy Approximations

CS 787: Advanced Algorithms Instructor: Dieter van Melkebeek Greedy Approximations Approximation algorithms give a solution to a problem in polynomial time, at most a given factor away from the correct

### Approximation Algorithms: The Primal-Dual Method. My T. Thai

Approximation Algorithms: The Primal-Dual Method My T. Thai 1 Overview of the Primal-Dual Method Consider the following primal program, called P: min st n c j x j j=1 n a ij x j b i j=1 x j 0 Then the

### 1 Definition of Reduction

1 Definition of Reduction Problem A is reducible, or more technically Turing reducible, to problem B, denoted A B if there a main program M to solve problem A that lacks only a procedure to solve problem

### Batch Coloring of Graphs

Batch Coloring of Graphs Joan Boyar 1, Leah Epstein 2, Lene M. Favrholdt 1, Kim S. Larsen 1, and Asaf Levin 3 1 Dept. of Mathematics and Computer Science, University of Southern Denmark, Odense, Denmark,

### CSCE 350: Chin-Tser Huang. University of South Carolina

CSCE 350: Data Structures and Algorithms Chin-Tser Huang huangct@cse.sc.edu University of South Carolina Announcement Homework 2 will be returned on Thursday; solution will be available on class website

### Lecture 3: Totally Unimodularity and Network Flows

Lecture 3: Totally Unimodularity and Network Flows (3 units) Outline Properties of Easy Problems Totally Unimodular Matrix Minimum Cost Network Flows Dijkstra Algorithm for Shortest Path Problem Ford-Fulkerson

### Design and Analysis of Algorithms

CSE 101, Winter 018 D/Q Greed SP s DP LP, Flow B&B, Backtrack Metaheuristics P, NP Design and Analysis of Algorithms Lecture 8: Greed Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Optimization

### Figure : Example Precedence Graph

CS787: Advanced Algorithms Topic: Scheduling with Precedence Constraints Presenter(s): James Jolly, Pratima Kolan 17.5.1 Motivation 17.5.1.1 Objective Consider the problem of scheduling a collection of

### Solutions to Problem Set 1

CSCI-GA.3520-001 Honors Analysis of Algorithms Solutions to Problem Set 1 Problem 1 An O(n) algorithm that finds the kth integer in an array a = (a 1,..., a n ) of n distinct integers. Basic Idea Using

### 16 Greedy Algorithms

16 Greedy Algorithms Optimization algorithms typically go through a sequence of steps, with a set of choices at each For many optimization problems, using dynamic programming to determine the best choices

Advanced Algorithms On-line Algorithms 1 Introduction Online Algorithms are algorithms that need to make decisions without full knowledge of the input. They have full knowledge of the past but no (or partial)

Algorithm design in Perfect Graphs N.S. Narayanaswamy IIT Madras What is it to be Perfect? Introduced by Claude Berge in early 1960s Coloring number and clique number are one and the same for all induced

### Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements.

Desiderata Reductions Desiderata. Classify problems according to their computational requirements. Frustrating news. Huge number of fundamental problems have defied classification for decades. Desiderata'.

### 16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making Lecture 17: The Simplex Method Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute of Technology November 10, 2010 Frazzoli (MIT)

### /633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

### On Minimum Sum of Radii and Diameters Clustering

On Minimum Sum of Radii and Diameters Clustering Babak Behsaz Mohammad R. Salavatipour February 21, 2014 Abstract Given a metric (V, d) and an integer k, we consider the problem of partitioning the points

### Chapter 16. Greedy Algorithms

Chapter 16. Greedy Algorithms Algorithms for optimization problems (minimization or maximization problems) typically go through a sequence of steps, with a set of choices at each step. A greedy algorithm

### Department of Computer Applications. MCA 312: Design and Analysis of Algorithms. [Part I : Medium Answer Type Questions] UNIT I

MCA 312: Design and Analysis of Algorithms [Part I : Medium Answer Type Questions] UNIT I 1) What is an Algorithm? What is the need to study Algorithms? 2) Define: a) Time Efficiency b) Space Efficiency

### arxiv: v2 [cs.dm] 3 Dec 2014

The Student/Project Allocation problem with group projects Aswhin Arulselvan, Ágnes Cseh, and Jannik Matuschke arxiv:4.035v [cs.dm] 3 Dec 04 Department of Management Science, University of Strathclyde,

### A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES)

Chapter 1 A SIMPLE APPROXIMATION ALGORITHM FOR NONOVERLAPPING LOCAL ALIGNMENTS (WEIGHTED INDEPENDENT SETS OF AXIS PARALLEL RECTANGLES) Piotr Berman Department of Computer Science & Engineering Pennsylvania

### COMPUTATIONAL GEOMETRY

Thursday, September 20, 2007 (Ming C. Lin) Review on Computational Geometry & Collision Detection for Convex Polytopes COMPUTATIONAL GEOMETRY (Refer to O'Rourke's and Dutch textbook ) 1. Extreme Points

### Algorithm Design and Analysis

Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation

### Approximability Results for the p-center Problem

Approximability Results for the p-center Problem Stefan Buettcher Course Project Algorithm Design and Analysis Prof. Timothy Chan University of Waterloo, Spring 2004 The p-center

### Decomposition of log-linear models

Graphical Models, Lecture 5, Michaelmas Term 2009 October 27, 2009 Generating class Dependence graph of log-linear model Conformal graphical models Factor graphs A density f factorizes w.r.t. A if there

### Polygon decomposition. Motivation: Art gallery problem

CG Lecture 3 Polygon decomposition 1. Polygon triangulation Triangulation theory Monotone polygon triangulation 2. Polygon decomposition into monotone pieces 3. Trapezoidal decomposition 4. Convex decomposition

### Design and Analysis of Algorithms 演算法設計與分析. Lecture 7 April 15, 2015 洪國寶

Design and Analysis of Algorithms 演算法設計與分析 Lecture 7 April 15, 2015 洪國寶 1 Course information (5/5) Grading (Tentative) Homework 25% (You may collaborate when solving the homework, however when writing

### In this lecture, we ll look at applications of duality to three problems:

Lecture 7 Duality Applications (Part II) In this lecture, we ll look at applications of duality to three problems: 1. Finding maximum spanning trees (MST). We know that Kruskal s algorithm finds this,

### Chordal deletion is fixed-parameter tractable

Chordal deletion is fixed-parameter tractable Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de Abstract. It

Chapter 9 Greedy Technique Copyright 2007 Pearson Addison-Wesley. All rights reserved. Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that

### 6. Algorithm Design Techniques

6. Algorithm Design Techniques 6. Algorithm Design Techniques 6.1 Greedy algorithms 6.2 Divide and conquer 6.3 Dynamic Programming 6.4 Randomized Algorithms 6.5 Backtracking Algorithms Malek Mouhoub, CS340

### Complexity Results on Graphs with Few Cliques

Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School

### How well can Primal-Dual and Local-Ratio algorithms perform?

How well can Primal-Dual and Local-Ratio algorithms perform? Allan Borodin, David Cashman, and Avner Magen Department of Computer Science University of Toronto Abstract. We define an algorithmic paradigm,

### How well can Primal-Dual and Local-Ratio algorithms perform?

How well can Primal-Dual and Local-Ratio algorithms perform? Allan Borodin David Cashman Avner Magen Department of Computer Science, University of Toronto June 19, 2009 Abstract We define an algorithmic

### Christofides Algorithm

2. compute minimum perfect matching of odd nodes 2. compute minimum perfect matching of odd nodes 2. compute minimum perfect matching of odd nodes 3. find Eulerian walk node order 2. compute minimum perfect

### Prove, where is known to be NP-complete. The following problems are NP-Complete:

CMPSCI 601: Recall From Last Time Lecture 21 To prove is NP-complete: Prove NP. Prove, where is known to be NP-complete. The following problems are NP-Complete: SAT (Cook-Levin Theorem) 3-SAT 3-COLOR CLIQUE

### CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li

CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast

### Improved Results on Geometric Hitting Set Problems

Improved Results on Geometric Hitting Set Problems Nabil H. Mustafa nabil@lums.edu.pk Saurabh Ray saurabh@cs.uni-sb.de Abstract We consider the problem of computing minimum geometric hitting sets in which,

### A Decomposition for Chordal graphs and Applications

A Decomposition for Chordal graphs and Applications Michel Habib Joint work with Vincent Limouzy and Juraj Stacho Pretty Structure, Existencial Polytime Jack Edmonds Birthday, 7-9 april 2009 Schedule Chordal

### Computing optimal total vertex covers for trees

Computing optimal total vertex covers for trees Pak Ching Li Department of Computer Science University of Manitoba Winnipeg, Manitoba Canada R3T 2N2 Abstract. Let G = (V, E) be a simple, undirected, connected

### Algorithms for Data Science

Algorithms for Data Science CSOR W4246 Eleni Drinea Computer Science Department Columbia University Thursday, October 1, 2015 Outline 1 Recap 2 Shortest paths in graphs with non-negative edge weights (Dijkstra

### Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

Submodularity Reading Group Matroid Polytopes, Polymatroid M. Pawan Kumar http://www.robots.ox.ac.uk/~oval/ Outline Linear Programming Matroid Polytopes Polymatroid Polyhedron Ax b A : m x n matrix b:

### THE LEAFAGE OF A CHORDAL GRAPH

Discussiones Mathematicae Graph Theory 18 (1998 ) 23 48 THE LEAFAGE OF A CHORDAL GRAPH In-Jen Lin National Ocean University, Taipei, Taiwan Terry A. McKee 1 Wright State University, Dayton, OH 45435-0001,

### CS 372: Computational Geometry Lecture 3 Line Segment Intersection

CS 372: Computational Geometry Lecture 3 Line Segment Intersection Antoine Vigneron King Abdullah University of Science and Technology September 9, 2012 Antoine Vigneron (KAUST) CS 372 Lecture 3 September

### Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

### SCHEDULING WITH RELEASE TIMES AND DEADLINES ON A MINIMUM NUMBER OF MACHINES *

SCHEDULING WITH RELEASE TIMES AND DEADLINES ON A MINIMUM NUMBER OF MACHINES * Mark Cieliebak 1, Thomas Erlebach 2, Fabian Hennecke 1, Birgitta Weber 1, and Peter Widmayer 1 1 Institute of Theoretical Computer

### Greedy Algorithms CLRS Laura Toma, csci2200, Bowdoin College

Greedy Algorithms CLRS 16.1-16.2 Laura Toma, csci2200, Bowdoin College Overview. Sometimes we can solve optimization problems with a technique called greedy. A greedy algorithm picks the option that looks

### Lecture 7: Computational Geometry

Lecture 7: Computational Geometry CS 491 CAP Uttam Thakore Friday, October 7 th, 2016 Credit for many of the slides on solving geometry problems goes to the Stanford CS 97SI course lecture on computational

### Lecture outline. Graph coloring Examples Applications Algorithms

Lecture outline Graph coloring Examples Applications Algorithms Graph coloring Adjacent nodes must have different colors. How many colors do we need? Graph coloring Neighbors must have different colors

### Introduction to Approximation Algorithms

Introduction to Approximation Algorithms Dr. Gautam K. Das Departmet of Mathematics Indian Institute of Technology Guwahati, India gkd@iitg.ernet.in February 19, 2016 Outline of the lecture Background

### CS 373: Combinatorial Algorithms, Fall Name: Net ID: Alias: U 3 / 4 1

CS 373: Combinatorial Algorithms, Fall 2000 Homework 1 (due November 16, 2000 at midnight) Starting with Homework 1, homeworks may be done in teams of up to three people. Each team turns in just one solution,

### Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Benjamin Grimmer bdg79@cornell.edu arxiv:1508.05567v2 [cs.ds] 20 Jul 2017 Abstract We consider a variety of NP-Complete network