# CSC2420 Spring 2015: Lecture 3

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 CSC2420 Spring 2015: Lecture 3 Allan Borodin January 22, / 1

2 Announcements and todays agenda Assignment 1 due next Thursday. I may add one or two additional questions today or tomorrow. Todays agenda 1 Complete missing discussion from last week (i.e. slides on extensions of the priority model and slides start of dynamic programming). 2 We will discuss Greedy α, a revocable priority algorithm for the weighted interval selection problem WISP (and WJISP, weighted job interval selection). For WISP, this algorithm has an approximation 1 ratio of α(1 α) which is optimized at α = 1/2. 3 We then introduce the priority stack model. This model provides an optimal algorithm for WISP and a 2-approximation for WJISP. 4 The ISP (resp. JISP) problems are instances of the MIS problem for chordal graphs (resp inductive 2-indpendent graphs) which will be defined. 5 We return briefly to greedy algorithms and consider the natural and modified greedy algorithms for the weighted vertex cover problem.. 6 We then move on to dynamic programming. 2 / 1

3 Extensions of the priority model: priority with revocable acceptances For packing problems, we can have priority algorithms with revocable acceptances. That is, in each iteration the algorithm can now reject previously accepted items in order to accept the current item. However, at all times, the set of currently accepted items must be a feasible set and all rejections are permanent. Within this model, there is a 4-approximation algorithm for the weighted interval selection problem WISP (Bar-Noy et al [2001], and Erlebach and Spieksma [2003]), and a 1.17 inapproximation bound (Horn [2004]). More generally, the algorithm applies to the weighted job interval selection problem WJISP resulting in an 8-approximation. The model has also been studied with respect to the proportional profit knapsack problem/subset sum problem (Ye and B [2008]) improving the constant approximation. And for the general knapack problem, the model allows a 2-approximation. 3 / 1

4 Other similar models allowing limited changes of previous decisions There are other online and greedy-like settings (beyond packing problems) in which algorithms allowing limited changes of previous decisions have been considered. Later we will consider online bipartite matching (still a packing problem) where the concern has been how many edge reassignments are needed to obtain an optimal or near optimal matching. Makespan has also been studied in terms of reassignments of items. We will soon mention Graham s convex hull algorithm which can be viewed as another example of a revocable acceptance type of algorithm. 4 / 1

5 The Greedy α algorithm for WISP and WJISP The Erlebach and Spieksma (independently, Bar Noy et al ADMISSION) algorithm: 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 For WISP and WJISP there is a unique conflicting set; not so for knapsack problem. 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 WISP and WJISP 5 / 1

6 The approximation bounds for Greedy α We note that the JISP problem is known to be NP-hard (indeed, NP hard to approximate to within (1 + δ) factor for some very small δ > 0). Best known approximation for WJISP is a 2-approximation (for all practical algorithms this is also the best approximation for the unweighted case). The Greedy α algorithm (which is not greedy by my definition) has a tight approximation ratio of 1 1 for WISP and α(1 α) 2 2 α(1 α) for WJISP. Sketch of the charging argument for WISP 1 Let A be the final set of intervals selected by Greedy α, T the set of intervals that occur in the current solution at some time during the execution and OPT is an optimal solution. 2 Show v(a) (1 α)v(t ). 3 Show how to charge weight of intervals in OPT to intervals in T so that any interval in I j T will receive at most a charge of at most v j /α. That is, v(t ) αv(opt ). 6 / 1

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

8 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. 8 / 1

9 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. 9 / 1

10 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 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. 10 / 1

11 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 11 / 1

12 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. 12 / 1

13 Extending results from chordal to inductive k independent graphs The WMIS stack algorithm and analysis for chordal graphs extends to provide a k approximation for WMIS on inductive k independent graphs by using a k-peo. The reverse order k-peo greedy algorithm is a k-approximation graph colouring algorithm for inductive k independent graphs. Note that for interval graphs, the reverse order PEO is equivalent to ordering the intervals so that s 1 s 2... s n where s j is the start time of interval I j. This concept generalizes inductive degree k and all graphs having treewidth k are inductive degree k. (Treewidth k will be defined later.) 13 / 1

14 Another example where the natural greedy is not best Before moving (for now) beyond greedy-like algorithms, we consider another example (as we saw for set packing) where the natural greedy algorithm does not yield a good approximation. The vertex cover problem: Given node weighted graph G = (V, E), with node weights w(v), v V. Goal: Find a subset V V that covers the edges (i.e. e = (u, v) E, either u or v is in V ) so as to mininize v V w(v). Even for unweighted graphs, the problem is known to be NP-hard to obtain a approximation and under another (not so universally believed) conjecture (UGC) one cannot obtain a 2 ɛ approximation. For the unweighted problem, there are simple 2-approximation greedy algorithms such as just taking V to be any maximal matching. The set cover problem is as follows: Given a weighted collection of sets S = {S 1, S 2,..., S m } over a universe U with set weights w(s i ). Goal: Find a subcollection S that covers the universe so as to minimize S i S w(s i). 14 / 1

15 The natural greedy algorithm for weighted vertex cover If we consider vertex cover as a special case of set cover (how?), 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 ln n where n = V. 15 / 1

16 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 16 / 1

17 Dynamic Programming (DP) The application and importance of dynamic programming goes well beyond search and optimzation problems. We will consider a few more or less natural DP algorithms and some not so obvious DP algorithms. In greedy like algorithms (and also local search, our next major paradigm) it is often easy to come up with reasonably natural algorithms (although we have seen some not so obvious examples) whereas sometimes the analysis can be relatively involved. In contrast, once we come up with an appropriate DP algorithm. it is often the case that the analysis is relatively easy. Here informally is the essense of DP algorithms: define an approriate generalization of the problem (which we usually give in the form of a multi-dimensional array) such that 1 the desired result can be easily obtained from the array S[,,... ] 2 each entry of the array can be easily computed given previous entries 17 / 1

18 What more precisely is dynamic programming? So far, there are only a few attempts to formalize precise mdoels for (types) of dynamic programming algorithms. There are some who say this is not a useful question. I would disagree with the following comment: Whatever can be done in polynomial time, can be done by a polynomial time DP algorithm. What is the reasoning behind such a comment? Can there be an optimal polynomal time DP for say maximum size or weight bipartite matching? And there may be more fundamdental or philosophical reasons for arguing against such attempts to formalize concepts. 18 / 1

19 What more precisely is dynamic programming? So far, there are only a few attempts to formalize precise mdoels for (types) of dynamic programming algorithms. There are some who say this is not a useful question. I would disagree with the following comment: Whatever can be done in polynomial time, can be done by a polynomial time DP algorithm. What is the reasoning behind such a comment? Can there be an optimal polynomal time DP for say maximum size or weight bipartite matching? And there may be more fundamdental or philosophical reasons for arguing against such attempts to formalize concepts. Samuel Johnson ( ): All theory is against freedom of the will; all experience for it. 18 / 1

20 Bellman 1957 (in the spirit of Samuel Johnson) Bellman (who introduced dynamic programming) argued against against attempts to formalize DP. We have purposely left the description a little vague, since it is the spirit of the approach to these processes that is significant, rather than a letter of some rigid formulation. It is extremely important to realize that one can neither axiomatize mathematical formulation nor legislate away ingenuity. In some problems, the state variables and the transformations are forced upon us; in others, there is a choice in these matters and the analytic solution stands or falls upon this choice; in still others, the state variables and sometimes the transformations must be artificially constructed. Experience alone, combined with often laborious trial and error, will yield suitable formulations of involved processes. 19 / 1

21 Some simple DP algorithms Let s begin with an example used in many texts, namely a DP for the weighted interval scheduling problem WISP. We have already claimed that no priority algorithm can yield a constant approximation ratio but that we can obtain a 4-approximation using a revocable accaptance priority algorithm and an optimal algorithm using a priority stack algorithm. The optimal DP algorithm for WISP is based on the following semantic array : Sort the intervals Ij = [s j, f j ) so that f 1 f 2... f n (i.e. the PEO). Define π(i) = max j : f j s i (Note; if we do not want intervals to touch then use f j < s i.) For 1 i n, Define V [i] = optimal value obtainable from intervals {I 1,... I i }. 20 / 1

22 The DP for WISP continued We defined the array V [ ] just in terms of the optimal value but the same array element can also contain a solution associated with this optimal value. So how would we efficiently compute the entries of V [ ]. The computation or recursive array (let s temporarily call it Ṽ [ ]) associated with V [ ] is defined as follows: 1 Ṽ [1] = v 1 2 For i > 1, Ṽ [i] = max{a, B} where A = V [i 1] B = v i + Ṽ [π(i)] That is, either we use the i th interval or we don t. So why am I being so pedantic about this distinction between V [ ] and Ṽ [ ]? 21 / 1

23 The DP for WISP continued We defined the array V [ ] just in terms of the optimal value but the same array element can also contain a solution associated with this optimal value. So how would we efficiently compute the entries of V [ ]. The computation or recursive array (let s temporarily call it Ṽ [ ]) associated with V [ ] is defined as follows: 1 Ṽ [1] = v 1 2 For i > 1, Ṽ [i] = max{a, B} where A = V [i 1] B = v i + Ṽ [π(i)] That is, either we use the i th interval or we don t. So why am I being so pedantic about this distinction between V [ ] and Ṽ [ ]? I am doing this here just to point out that a proof of correctness would require showing that these two arrays are indeed equal! I will hereafter not make this distinction with the understanding that one does have to show that the computational or recursive array does indeed compute the entries correctly. 21 / 1

24 Some comments on DP and the WISP DP We can sort the intervals and compute π() in time O(n log n) and then sequentially compute the entries of V in time O(1) per iteration. We can also recursivley compute V, BUT must use memoization to avoid recomputing entries. To some extent, the need to use memoization distinguishes dynamic programming from divide and conquer. We can extend this DP to optimally solve the weighted interval scheduling problem when there are m machines; that is, we want to schedule intervals so that there is no intersection on any machine. This extension would directly lead to time (and space) complexity O(n m+1 ); O(n m ) with some more care. We can model this simple type of DP by a priority branching tree (pbt) algorithm as formulated by Alekhnovich et al. Within this model, we can prove that for any fixed m, the width (and hence the space and thus time) of the algorithm for optimally scheduling intervals on m machines is Ω(n m ). That is, the curse of dimensionality is necessary within this model. 22 / 1

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

### Algorithm Design and Analysis

Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

### Topic: Greedy Approximations: Set Cover and Min Makespan Date: 1/30/06

CS880: Approximations Algorithms Scribe: Matt Elder Lecturer: Shuchi Chawla Topic: Greedy Approximations: Set Cover and Min Makespan Date: 1/30/06 3.1 Set Cover The Set Cover problem is: Given a set of

### Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### ! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

### Definition 11.1. Given a graph G on n vertices, we define the following quantities:

Lecture 11 The Lovász ϑ Function 11.1 Perfect graphs We begin with some background on perfect graphs. graphs. First, we define some quantities on Definition 11.1. Given a graph G on n vertices, we define

### Approximation Algorithms. Scheduling. Approximation algorithms. Scheduling jobs on a single machine

Approximation algorithms Approximation Algorithms Fast. Cheap. Reliable. Choose two. NP-hard problems: choose 2 of optimal polynomial time all instances Approximation algorithms. Trade-off between time

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

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory Allan Borodin November 15, 2012; Lecture 10 1 / 27 Randomized online bipartite matching and the adwords problem. We briefly return to online algorithms

### Near Optimal Solutions

Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.

### Weighted Sum Coloring in Batch Scheduling of Conflicting Jobs

Weighted Sum Coloring in Batch Scheduling of Conflicting Jobs Leah Epstein Magnús M. Halldórsson Asaf Levin Hadas Shachnai Abstract Motivated by applications in batch scheduling of jobs in manufacturing

### Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

### Minimum Makespan Scheduling

Minimum Makespan Scheduling Minimum makespan scheduling: Definition and variants Factor 2 algorithm for identical machines PTAS for identical machines Factor 2 algorithm for unrelated machines Martin Zachariasen,

### Weighted Sum Coloring in Batch Scheduling of Conflicting Jobs

Weighted Sum Coloring in Batch Scheduling of Conflicting Jobs Leah Epstein Magnús M. Halldórsson Asaf Levin Hadas Shachnai Abstract Motivated by applications in batch scheduling of jobs in manufacturing

### On the Unique Games Conjecture

On the Unique Games Conjecture Antonios Angelakis National Technical University of Athens June 16, 2015 Antonios Angelakis (NTUA) Theory of Computation June 16, 2015 1 / 20 Overview 1 Introduction 2 Preliminary

Load Balancing Backtracking, branch & bound and alpha-beta pruning: how to assign work to idle processes without much communication? Additionally for alpha-beta pruning: implementing the young-brothers-wait

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

### Computational Geometry

Motivation 1 Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment

### Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

### CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992

CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992 Original Lecture #6: 28 January 1991 Topics: Triangulating Simple Polygons

### 5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

### Resource Allocation with Time Intervals

Resource Allocation with Time Intervals Andreas Darmann Ulrich Pferschy Joachim Schauer Abstract We study a resource allocation problem where jobs have the following characteristics: Each job consumes

### 1 Approximating Set Cover

CS 05: Algorithms (Grad) Feb 2-24, 2005 Approximating Set Cover. Definition An Instance (X, F ) of the set-covering problem consists of a finite set X and a family F of subset of X, such that every elemennt

### Scheduling Single Machine Scheduling. Tim Nieberg

Scheduling Single Machine Scheduling Tim Nieberg Single machine models Observation: for non-preemptive problems and regular objectives, a sequence in which the jobs are processed is sufficient to describe

### Lecture 6: Approximation via LP Rounding

Lecture 6: Approximation via LP Rounding Let G = (V, E) be an (undirected) graph. A subset C V is called a vertex cover for G if for every edge (v i, v j ) E we have v i C or v j C (or both). In other

### Solutions to Homework 6

Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example

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

CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements

### Classification - Examples -1- 1 r j C max given: n jobs with processing times p 1,..., p n and release dates

Lecture 2 Scheduling 1 Classification - Examples -1-1 r j C max given: n jobs with processing times p 1,..., p n and release dates r 1,..., r n jobs have to be scheduled without preemption on one machine

### Shortest Path Algorithms

Shortest Path Algorithms Jaehyun Park CS 97SI Stanford University June 29, 2015 Outline Cross Product Convex Hull Problem Sweep Line Algorithm Intersecting Half-planes Notes on Binary/Ternary Search Cross

### THE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM

1 THE PROBLEM OF WORM PROPAGATION/PREVENTION I.E. THE MINIMUM VERTEX COVER PROBLEM Prof. Tiziana Calamoneri Network Algorithms A.y. 2014/15 2 THE PROBLEM WORMS (1)! A computer worm is a standalone malware

### Exponential time algorithms for graph coloring

Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].

### Divide-and-Conquer. Three main steps : 1. divide; 2. conquer; 3. merge.

Divide-and-Conquer Three main steps : 1. divide; 2. conquer; 3. merge. 1 Let I denote the (sub)problem instance and S be its solution. The divide-and-conquer strategy can be described as follows. Procedure

### Distributed Computing over Communication Networks: Maximal Independent Set

Distributed Computing over Communication Networks: Maximal Independent Set What is a MIS? MIS An independent set (IS) of an undirected graph is a subset U of nodes such that no two nodes in U are adjacent.

### The multi-integer set cover and the facility terminal cover problem

The multi-integer set cover and the facility teral cover problem Dorit S. Hochbaum Asaf Levin December 5, 2007 Abstract The facility teral cover problem is a generalization of the vertex cover problem.

### Classification - Examples

Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking

### Guessing Game: NP-Complete?

Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

### Computational Geometry

Motivation Motivation Polygons and visibility Visibility in polygons Triangulation Proof of the Art gallery theorem Two points in a simple polygon can see each other if their connecting line segment is

### 8.1 Min Degree Spanning Tree

CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

### A Note on Maximum Independent Sets in Rectangle Intersection Graphs

A Note on Maximum Independent Sets in Rectangle Intersection Graphs Timothy M. Chan School of Computer Science University of Waterloo Waterloo, Ontario N2L 3G1, Canada tmchan@uwaterloo.ca September 12,

### Analysis of Algorithms, I

Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

### On the k-path cover problem for cacti

On the k-path cover problem for cacti Zemin Jin and Xueliang Li Center for Combinatorics and LPMC Nankai University Tianjin 300071, P.R. China zeminjin@eyou.com, x.li@eyou.com Abstract In this paper we

### Week 5 Integral Polyhedra

Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

### Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs Stavros Athanassopoulos, Ioannis Caragiannis, and Christos Kaklamanis Research Academic Computer Technology Institute

### Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms

### CSL851: Algorithmic Graph Theory Semester I Lecture 4: August 5

CSL851: Algorithmic Graph Theory Semester I 2013-14 Lecture 4: August 5 Lecturer: Naveen Garg Scribes: Utkarsh Ohm Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have not

### Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization

### Labeling outerplanar graphs with maximum degree three

Labeling outerplanar graphs with maximum degree three Xiangwen Li 1 and Sanming Zhou 2 1 Department of Mathematics Huazhong Normal University, Wuhan 430079, China 2 Department of Mathematics and Statistics

### Private Approximation of Clustering and Vertex Cover

Private Approximation of Clustering and Vertex Cover Amos Beimel, Renen Hallak, and Kobbi Nissim Department of Computer Science, Ben-Gurion University of the Negev Abstract. Private approximation of search

### Lecture 7: Approximation via Randomized Rounding

Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

### 2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)

### Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

### GRAPH THEORY and APPLICATIONS. Trees

GRAPH THEORY and APPLICATIONS Trees Properties Tree: a connected graph with no cycle (acyclic) Forest: a graph with no cycle Paths are trees. Star: A tree consisting of one vertex adjacent to all the others.

### GENERATING LOW-DEGREE 2-SPANNERS

SIAM J. COMPUT. c 1998 Society for Industrial and Applied Mathematics Vol. 27, No. 5, pp. 1438 1456, October 1998 013 GENERATING LOW-DEGREE 2-SPANNERS GUY KORTSARZ AND DAVID PELEG Abstract. A k-spanner

### 5.1 Bipartite Matching

CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

### Homework Exam 1, Geometric Algorithms, 2016

Homework Exam 1, Geometric Algorithms, 2016 1. (3 points) Let P be a convex polyhedron in 3-dimensional space. The boundary of P is represented as a DCEL, storing the incidence relationships between the

### COMS4236: Introduction to Computational Complexity. Summer 2014

COMS4236: Introduction to Computational Complexity Summer 2014 Mihalis Yannakakis Lecture 17 Outline conp NP conp Factoring Total NP Search Problems Class conp Definition of NP is nonsymmetric with respect

### Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

### Key words. multi-objective optimization, approximate Pareto set, bi-objective shortest path

SMALL APPROXIMATE PARETO SETS FOR BI OBJECTIVE SHORTEST PATHS AND OTHER PROBLEMS ILIAS DIAKONIKOLAS AND MIHALIS YANNAKAKIS Abstract. We investigate the problem of computing a minimum set of solutions that

### Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Dynamic programming Doctoral course Optimization on graphs - Lecture.1 Giovanni Righini January 1 th, 201 Implicit enumeration Combinatorial optimization problems are in general NP-hard and we usually

### Solutions to Exercises 8

Discrete Mathematics Lent 2009 MA210 Solutions to Exercises 8 (1) Suppose that G is a graph in which every vertex has degree at least k, where k 1, and in which every cycle contains at least 4 vertices.

### Fairness in Routing and Load Balancing

Fairness in Routing and Load Balancing Jon Kleinberg Yuval Rabani Éva Tardos Abstract We consider the issue of network routing subject to explicit fairness conditions. The optimization of fairness criteria

### Graphs without proper subgraphs of minimum degree 3 and short cycles

Graphs without proper subgraphs of minimum degree 3 and short cycles Lothar Narins, Alexey Pokrovskiy, Tibor Szabó Department of Mathematics, Freie Universität, Berlin, Germany. August 22, 2014 Abstract

### Introduction to Scheduling Theory

Introduction to Scheduling Theory Arnaud Legrand Laboratoire Informatique et Distribution IMAG CNRS, France arnaud.legrand@imag.fr November 8, 2004 1/ 26 Outline 1 Task graphs from outer space 2 Scheduling

### Offline sorting buffers on Line

Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

### Week 2 Polygon Triangulation

Week 2 Polygon Triangulation What is a polygon? Last week A polygonal chain is a connected series of line segments A closed polygonal chain is a polygonal chain, such that there is also a line segment

### What s next? Reductions other than kernelization

What s next? Reductions other than kernelization Dániel Marx Humboldt-Universität zu Berlin (with help from Fedor Fomin, Daniel Lokshtanov and Saket Saurabh) WorKer 2010: Workshop on Kernelization Nov

### Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.

### Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs Yong Zhang 1.2, Francis Y.L. Chin 2, and Hing-Fung Ting 2 1 College of Mathematics and Computer Science, Hebei University,

### Cycle transversals in bounded degree graphs

Electronic Notes in Discrete Mathematics 35 (2009) 189 195 www.elsevier.com/locate/endm Cycle transversals in bounded degree graphs M. Groshaus a,2,3 P. Hell b,3 S. Klein c,1,3 L. T. Nogueira d,1,3 F.

### Warshall s Algorithm: Transitive Closure

CS 0 Theory of Algorithms / CS 68 Algorithms in Bioinformaticsi Dynamic Programming Part II. Warshall s Algorithm: Transitive Closure Computes the transitive closure of a relation (Alternatively: all paths

### Small Maximal Independent Sets and Faster Exact Graph Coloring

Small Maximal Independent Sets and Faster Exact Graph Coloring David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science The Exact Graph Coloring Problem: Given an undirected

### Single machine parallel batch scheduling with unbounded capacity

Workshop on Combinatorics and Graph Theory 21th, April, 2006 Nankai University Single machine parallel batch scheduling with unbounded capacity Yuan Jinjiang Department of mathematics, Zhengzhou University

### The Trip Scheduling Problem

The Trip Scheduling Problem Claudia Archetti Department of Quantitative Methods, University of Brescia Contrada Santa Chiara 50, 25122 Brescia, Italy Martin Savelsbergh School of Industrial and Systems

### Approximation Algorithms for Art Gallery Problems

Approximation Algorithms for Art Gallery Problems Subhas C. Nandy (nandysc@isical.ac.in) Advanced Computing and Microelectronics Unit Indian Statistical Institute Kolkata 700108, India. Outline 1 Introduction

### NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness

Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce

### Large induced subgraphs with all degrees odd

Large induced subgraphs with all degrees odd A.D. Scott Department of Pure Mathematics and Mathematical Statistics, University of Cambridge, England Abstract: We prove that every connected graph of order

### 9th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) Primal-Dual Algorithms for Online Optimization: Lecture 1

9th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) Primal-Dual Algorithms for Online Optimization: Lecture 1 Seffi Naor Computer Science Dept. Technion Haifa, Israel Introduction

### Diversity Coloring for Distributed Data Storage in Networks 1

Diversity Coloring for Distributed Data Storage in Networks 1 Anxiao (Andrew) Jiang and Jehoshua Bruck California Institute of Technology Pasadena, CA 9115, U.S.A. {jax, bruck}@paradise.caltech.edu Abstract

### Data Structure [Question Bank]

Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:

### Every tree contains a large induced subgraph with all degrees odd

Every tree contains a large induced subgraph with all degrees odd A.J. Radcliffe Carnegie Mellon University, Pittsburgh, PA A.D. Scott Department of Pure Mathematics and Mathematical Statistics University

### Partitioning edge-coloured complete graphs into monochromatic cycles and paths

arxiv:1205.5492v1 [math.co] 24 May 2012 Partitioning edge-coloured complete graphs into monochromatic cycles and paths Alexey Pokrovskiy Departement of Mathematics, London School of Economics and Political

### MATHEMATICAL ENGINEERING TECHNICAL REPORTS. The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation

MATHEMATICAL ENGINEERING TECHNICAL REPORTS The Best-fit Heuristic for the Rectangular Strip Packing Problem: An Efficient Implementation Shinji IMAHORI, Mutsunori YAGIURA METR 2007 53 September 2007 DEPARTMENT

### Lecture 4 Online and streaming algorithms for clustering

CSE 291: Geometric algorithms Spring 2013 Lecture 4 Online and streaming algorithms for clustering 4.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line

### Scheduling and (Integer) Linear Programming

Scheduling and (Integer) Linear Programming Christian Artigues LAAS - CNRS & Université de Toulouse, France artigues@laas.fr Master Class CPAIOR 2012 - Nantes Christian Artigues Scheduling and (Integer)

### Closest Pair Problem

Closest Pair Problem Given n points in d-dimensions, find two whose mutual distance is smallest. Fundamental problem in many applications as well as a key step in many algorithms. p q A naive algorithm

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new

Reminder: Complexity (1) Parallel Complexity Theory Lecture 6 Number of steps or memory units required to compute some result In terms of input size Using a single processor O(1) says that regardless of

### Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new GAP (2) Graph Accessibility Problem (GAP) (1)

Reminder: Complexity (1) Parallel Complexity Theory Lecture 6 Number of steps or memory units required to compute some result In terms of input size Using a single processor O(1) says that regardless of

### Recursion and Induction

Recursion and Induction Themes Recursion Recurrence Definitions Recursive Relations Induction (prove properties of recursive programs and objects defined recursively) Examples Tower of Hanoi Gray Codes

### Greedy algorithms. Solve the Fractional Knapsack Problem for this set of items, where the maximum total allowed weight is W max = 15.

Greedy algorithms 1. Consider the set of items S = {a, b, c, d, e, f, g, h} where the benefits and weights are given in the table below. Note that I have computed the value index of each item (benefit/weight)

### Discrete Applied Mathematics. The firefighter problem with more than one firefighter on trees

Discrete Applied Mathematics 161 (2013) 899 908 Contents lists available at SciVerse ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam The firefighter problem with

### Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples

### Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

CSCE 310J Data Structures & Algorithms P, NP, and NP-Complete Dr. Steve Goddard goddard@cse.unl.edu CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes

### Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal ABSTACT Mohit Singh Tepper School of Business Carnegie Mellon University Pittsburgh, PA USA mohits@andrew.cmu.edu In the MINIMUM

### MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

MapReduce and Distributed Data Analysis Google Research 1 Dealing With Massive Data 2 2 Dealing With Massive Data Polynomial Memory Sublinear RAM Sketches External Memory Property Testing 3 3 Dealing With

### Lecture 6 Online and streaming algorithms for clustering

CSE 291: Unsupervised learning Spring 2008 Lecture 6 Online and streaming algorithms for clustering 6.1 On-line k-clustering To the extent that clustering takes place in the brain, it happens in an on-line