# Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design

Save this PDF as:

Size: px
Start display at page:

Download "Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design"

## Transcription

1 Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design Hongsik Choi and Hyeong-Ah Choi Department of Electrical Engineering and Computer Science George Washington University Washington, DC Weizhen Mao and Rahul Simha Department of Computer Science College of William and Mary Williamsburg, VA Abstract This paper considers a graph theoretic problem motivated by a telecommunications application. When a private organization wishes to connect two sites by leasing physical lines from a public telecommunications network, it is often the case that several categories of lines are available, at different costs. Typically, a faster (low delay) line costs more than a slower (high delay) line. In addition, a bound on the end-to-end delay is also often desired, thereby preventing the exclusive use of low cost lines. Overlaying a path on the public network therefore involves two diametrically opposing factors: cost and delay. The following variation of the standard shortest path problem is thus of interest: what is the shortest (cheapest) route between the two sites that meets a given bound on the end-to-end delay. We formulate a graph-theoretic problem that has both a shortest path and a coloring component. The general problem is shown to be NP-complete. Polynomial-time algorithms and approximations are given for some special cases. Keywords: telecommunications network design, graph theory, shortest paths, routing, overlay networks.

3 in [12] in which a spanning tree of minimal weight is desired that satisfies end-to-end delay bounds from a source to all destinations. Our application lies in the area of topological design of telecommunications networks (see [3, 4, 11] and references therein). In particular, there has been related work on constrained spanning trees [11, Chapter 5]. Finally, a special case of our problem can be reduced to a 0/1 knapsack problem [13]. Indeed, our problem may be considered a graph-generalization of a knapsack problem. The rest of this paper is structured as follows. A precise formulation is given in Section 2 and complexity results are presented in Section 3. Following this, exact algorithms for some special cases are given in sections 4 and 5. Approximation algorithms for trees based on heuristics for the knapsack problem are given in Section 6, before concluding in Section 7. 2 Problem definition Our graph problem of interest may be formally defined using the following notation. G = (V, E) is a connected undirected graph. s and t are two designated vertices. We wish to find a path (route) between s and t in G. F is a set of edge colors. We will only be interested in the case F = {r, b} (r=red, b=black). f : E F is a coloring that assigns a color to each edge. W (E) is a collection of 4-tuples, each element of which represents four non-negative edge weights associated with an edge in E. For each e E, w(e) = (d(r, e), c(r, e), d(b, e), c(b, e)) denotes the 4-tuple associated with e. Here, if edge e is colored red, the delay associated with the edge (link) is d(r, e) and the cost incurred in using the link is c(r, e). The case when e is colored black is similarly defined. Typically, d(b, e) < d(r, e) and c(b, e) > c(r, e), a condition that will be assumed throughout the paper. Intuitively, if e = (u, v) lies on a path from s to t, then we are considering two choices: use a line from u to v with a low delay d(b, e) and a high cost c(d, e) or use a line with a higher delay d(r, e) and lower cost c(r, e). Thus, a coloring of edges along a path from s to t completely determines the cost and performance of the connection from s to t. Let P = P (s, t) E denote a path from s to t in G. D is a desired bound on the overall delay between s and t. For a coloring f and path P, define C(f, P ) = e P c(f(e), e) and D(f, P ) = e P d(f(e), e). We are now in a position to formally define the problem: find a path P between s and t and a coloring f such that (i) D(f, P ) D and (ii) C(f, P ) C(f, P ) for any other path P (between s and t) and coloring f satisfying the constraint D(f, P ) D. Observe that we only need to color the path and not the entire set of edges; however, we retain the general notation for convenience of description. 2

4 v 11 s v 12 v 22 t v 13 v v23 33 v 14 v24 v v Figure 1: The graph for n = 4 3 Complexity results We now address the complexity of our Bicolored Shortest Path Problem (henceforth BSSP), the decision version of which can be stated as follows: given a graph G = (V, E), weights W (E), with two designated vertices s, t V, and integers D and C, is there a path P between s and t and a coloring f such that D(f, P ) D and C(f, P ) C? For a general graph, we have the following result. THEOREM 1 BSPP is NP-complete even when d(r, e) = d(b, e) = d(e), c(r, e) = c(b, e) = c(e) for any e E. (Coloring can be ignored in this case.) Proof. BSPP is obviously in NP since any solution can be verified in polynomial time. Let us consider the NP-complete Subset Sum (SS) [8, 10], in which given a set of positive numbers A = {a 1,..., a n } and a bound K 0, the problem asks whether there is a subset A A with a i A a i = K. We next prove that SS is polynomially reducible to BSPP with d(r, e) = d(b, e) = d(e), c(r, e) = c(b, e) = c(e) for any e E. We construct the following instance for BSPP. Let C > K and D > na, where a > max i {a i }. Define the graph G = (V, E), where V = {s, t} {v ij : i = 1,..., n, i j n} and E = E 1 E 2 E 3 with E 1 = {(s, v 1i ) with delay a a i and cost a i : i = 1,..., n}, E 2 = {(v ij, v (i+1)l ) with delay a a l and cost a l : i = 1,..., n 1, i j n 1, j + 1 l n}, E 3 = {(v ij, t) with delay D + K ia and cost C K : i = 1,..., n, i j n}. See Figure 1 for an example of G when n = 4 (The delay and cost weights are not shown in the figure). Since V = 2 + n i = n(n + 1) and E = n + n 1 n i j=1 j + n i = 1 6 n(n2 + 3n + 8), the graph can be constructed in polynomial time. We next prove that there is A A with a a i A i = K if and only if there is a path P = P (s, t) such that e P d(e) D and e P c(e) C. Assume that A = {a i1,..., a ih } with h j=1 a i j = K. Without loss of generality, assume that i 1 < < i h. We define the path P to be s v 1i1 v 2i2 v hih t. Obviously, d(e) = (a a i1 ) + (a a i2 ) + + (a a ih ) + (D + K ha) = D e P 3

5 and c(e) = a i1 + a i2 + + a ih + C K = C. e P Assume that there is a path P between s and t that satisfies the delay (D) and cost (C) constraints. Because of the special structure of G, P must be s v 1i1 v 2i2 v hih t with i 1 < < i h. Since e P d(e) = (a a i 1 ) + (a a i2 ) + + (a a ih ) + D + K ha D, then h a ij K. j=1 Since e P c(e) = a i 1 + a i2 + + a ih + C K C, then h a ij K. We must have h j=1 a i j = K. Let A = {a i1,..., a ih }. This is clearly the subset in SS. j=1 Unfortunately, as the following theorem shows, the problem remains NP-complete even if the graph structure is simple. THEOREM 2 BSPP is NP-complete even when G is a line and d(b, e) = c(r, e) = 0 for any e E. Proof. Since it is not difficult to see that BSPP belongs to NP, we will only give a polynomial reduction from a known NP-complete problem, the 0/1 Knapsack Problem [8], in which given U = {1,..., n}, a size w i Z + and a value p i Z + for each i U, and positive integers M and K, the problem asks whether there is X = {x 1,..., x n } with x i {0, 1} such that n x iw i M and n x ip i K. From a given instance of the 0/1 Knapsack problem, we construct an instance of BSPP in the following way. Let G = (V, E) be a graph such that V = {v 0,..., v n } and E = {e i = (v i 1, v i ) : 1 i n}. Let s = v 0 and t = v n. For each i, 1 i n, let d(b, e i ) = 0, d(r, e i ) = w i, c(b, e i ) = p i, and c(r, e i ) = 0. Set D = M and C = n p i K. We now claim that there exists a solution X = {x 1,..., x n } with x i {0, 1} for the 0/1 Knapsack such that n x iw i M and n x ip i K if and only if there exists a coloring f : E {r, b} such that n d(f(e i), e i ) D and n c(f(e i), e i ) C. Suppose there exists such a solution X for the 0/1 Knapsack problem. Let f(e i ) = r if x i = 1 and f(e i ) = b otherwise. We then note that d(f(e i ), e i ) = x i w i M = D and c(f(e i ), e i ) = (1 x i )p i = p i x i p i p i K = C. 4

6 Hence, f is a desired solution for the instance of BSPP. Conversely, let f : E {r, b} be a coloring such that n d(f(e i), e i ) D and n c(f(e i), e i ) C. Set x i = 1 if f(e i ) = r and x i = 0 otherwise. Then, observe that x i w i = d(f(e i ), e i ) D = M and x i p i = p i (1 x i )p i = p i c(f(e i ), e i ) p i C = K. This gives the desired solution to the 0/1 Knapsack problem. The two results above provide some insight into the structure of BSPP. The complexity of the problem arises from both the underlying graph structure as well as the weights: keeping the weights identical does not help (with arbitrary graph structure) and using a simple graph is not sufficient either (with arbitrary weights). This complexity stands in sharp contrast to that of the weighted shortest path problem, which is polynomial with arbitrary graph structure and weights [15]. However, some special cases of practical interest are polynomially solvable exactly or solvable approximately with a low constant bound. We turn to these cases next. 4 Graphs with identical edges We say that a graph G = (V, E) in BSPP has identical edges if for any e E, d(r, e) = d r, c(r, e) = c r, d(b, e) = d b, and c(b, e) = c b, where d r, c r, d b and c b are non-negative constants. We observe that if there exists an optimal solution it must be the path between s and t with the fewest edges. From our assumptions on the weights, d b < d r and c b > c r. The following algorithm finds the optimal solution. Algorithm 1 Identical-Edge Input: A graph G = (V, E) and weights W (E). Output: Optimal path P and coloring f. 1. Find P = P (s, t) = (e 1,..., e m ) with fewest edges by Breadth-First-Search; 2. if d b P > D then there is no feasible solution; 3. elseif d r P D then e i P : f (e i ) r; 4. else 5. k dr P D d r d b ; 6. i {1,..., k} : f (e i ) b; 7. i {k + 1,..., m} : f (e i ) r; 8. endif 9. return (P, f ); 5

7 It is clear that if d b P > D, there is no solution for the instance, and that if d r P D, coloring all edges red gives an optimal solution with cost c r P. show that k is a positive integer no larger than P. To explain the rest of the algorithm, we first Executing line 5, we must have d b P D and d r P > D, which implies that k is a positive integer. To prove k P, assume the contrary. We then have dr P D d r d b > P. So dr P D d r d b > dr P D d r d b 1 P. Therefore, d b P > D, which is impossible. Obviously, k is the smallest number of black edges needed to satisfy the delay constraint. Since c r < c b, coloring k edges black and the rest red induces the minimum total cost, which is c r ( P k) + c b k. The time complexity of the algorithm, dominated by the Breadth-First-Search in line 1, is O( V + E ). Thus, we have THEOREM 3 BSPP is solvable in O( V + E ) time when G has identical edges. 5 Identical edges with restricted colorings In our application of interest, it is often the case that some physical links do not come with a choice between high performance and low performance lines. Motivated by these instances, we consider the special case when edges have identical weights but the coloring for some edges is fixed (some are immutably colored red and some are immutably colored black). More precisely, for each edge e E, w(e) {(d r, c r, d b, c b ), (d r, c r,, ), (,, d b, c b )}. The first type of edge cost indicates a colorable edge, the second an edge which is necessarily colored red and the last, an edge which is colored black. In this special case, a path from s to t will typically use some red and black edges that are already colored and colors other edges in the path to meet the performance constraint with minimal cost. We will use a vertex-labeling algorithm to compute the optimal path and coloring. For each vertex v, define the following two-component label: a(v) = (a 1 (v), a 2 (v)) to be used in the sequel. We adapt Dijkstra s shortest path algorithm (written as a relaxation algorithm [5]) to allow computation of shortest paths that meet the delay constraint. For any fixed coloring of all edges, the algorithm Find-Shortest finds the least-cost path from s to t which also meets the performance constraint. Whenever each edge is relaxed, the label at each node v at the end of the edge accurately reflects the least cost from s to that node (in a 1 (v)) and total delay (performance) from s to that node (in a 2 (v)). We start with an all black coloring (for colorable edges) and successively color edges red (to make them cheaper); for each such edge colored red, we execute the shortest path algorithm in order to find the least cost path that meets the constraint. If the constraint can no longer be met by any path, we have colored too many edges red and searched past the optimal solution. 6

8 Algorithm 2 Relax (e, f) Input: An edge e = (u, v) and a coloring f. Output: New label for vertex v. 1. if (a 1 (u) + c(f(e), e) < a 1 (v)) and (a 2 (u) + d(f(e), e) D) then 2. a 1 (v) a 1 (u) + c(f(e), e); 3. a 2 (v) a 2 (u) + d(f(e), e); 4. decrease-key(v, a 1 (v)); 5. endif Algorithm 3 Find-Shortest (f) Input: Coloring f. Output: Cost of least cost path that meets performance bound under f. 1. a 1 (s) 0; a 2 (s) 0; 2. v s : a 1 (v) ; a 2 (v) ; 3. Priority-queue Q {(v, a 1 (v)) : v V }; 4. u s; 5. while Q not empty and a 2 (u) do 6. (u, a 1 (u)) extract-min(q); 7. if a 2 (u) then 8. for each adjacent edge e = (u, v) 9. Relax(e, f); 10. endwhile 11. return a 1 (t); Algorithm 4 Find-Optimal Input: A graph G = (V, E) and edge weights W (E). Output: The cost of the optimal path. 1. Let Ē {e : w(e) = (d r, c r, d b, c b )}; 2. e Ē : f(e) r; 3. min ; 4. while Ē > 0 do 5. cost Find-Shortest(f); 6. if cost < min then min cost; 7. Pick an edge e Ē and set f(e) b; 8. Ē Ē {e}; 9. endwhile 10. return min; 7

9 Let P be an optimal path from s to t and f be its optimal coloring. Suppose P = e 1... e k has k edges. Next, define the following sets for coloring f: Then, P 1 = {e P : w(e) = (d r, c r, d b, c b )} P 2 = P P 1 P b (f) = {e P 1 : f(e) = b} cost(p ) = e P 2 c(f (e), e) + e P 1 c(f (e), e) = e P 2 c(f (e), e) + c b P b (f ) + c r P 1 P b (f ) Now, if f is any other coloring such that P b (f ) = P b (f ), then the cost with f is also optimal. Next, observe that during the iterations of Find-Optimal, the colorable edges are colored black one at a time. Thus, at some iteration, the path P will have P b (f ) black edges. The cost is recorded in the variable min. With the addition of each black edge in the loop, the cost can only increase monotonically. Hence, the algorithm finds the optimal cost. Note that the algorithm is easily modified to record the actual paths and colorings in order to output the optimal path and coloring. Note that the loop in Find-Optimal is executed at most O( E ) times. For each iteration, each edge is relaxed once and there are O( V log V ) operations made with the priority queue (using a Fibonacci heap [7], say). Thus, we have THEOREM 4 BSPP with identical edges and partially fixed coloring can be optimally solved in O( E 2 + E V log V ) time. 6 Approximation algorithms for trees In this subsection, we will first show that BSPP can be reduced to the 0/1 Knapsack problem when the input graph G = (V, E) is a tree with arbitrary values of d(b, e), d(r, e), c(b, e) and c(r, e) for each e E. Using existing heuristics for the 0/1 Knapsack, we then discuss performance bounds for BSPP. First note that we need only consider line graphs, since the non-negativity of the weights implies the optimal path is simply the set of edges connecting s to t in the tree. In this case, it is only the coloring that needs to be worked out. 8

10 Algorithm 5 BSPP-To-0/1 Knapsack Input: A graph G = (V, E) with V = {v 0,..., v n } and E = {e i = (v i 1, v i ) : 1 i n}, s = v 0 and t = v n, and weights W (E). Output: An instance to the 0/1 Knapsack problem: (w 1,..., w n ), (p 1,..., p n ), and M. 1. Let f 0 : E {r, b} such that f 0 (e i ) = b for all e i E. 2. Compute D b = n d(b, e i). 3. if D b > D then there is no feasible solution; 4. else 5. D 0 D D b ; 6. w i d(r, e i ) d(b, e i ) e i E; 7. p i c(b, e i ) c(r, e i ) e i E; 8. M D 0 ; 9. endif 10. return ((w i,..., w n ), (p 1,..., p n ), M); Observe that the initial coloring f 0 defined in line 1 assigns b to each e i giving larger cost than the optimum. Thus, the problem is to select an edge set E 0 E such that by changing the color of selected edges to r, the sum e i E 0 p i of the reduced cost is maximized while the sum e i E 0 w i of the increased time does not exceed D 0. Such a selection is equivalent to solving the 0/1 Knapsack problem using the output of the above algorithm as an input. Let X = {x 1,..., x n } be an optimum solution to the 0/1 Knapsack problem. Then, e i E 0 if and only if x i = 1. Therefore, an optimal coloring f : E {r, b} can be defined by setting f (e i ) = r if x i = 1 and f (e i ) = b otherwise. In the following we will summarize the results of existing heuristics for the 0/1 Knapsack problem which give various bounds on our BSPP. Given an instance (w 1,..., w n ), (p 1,..., p n ), and M to the 0/1 Knapsack, it is known that (1) there exists an O(nM) time dynamic programming algorithm which finds an optimal solution [15]; (2) there exists an O(n) time greedy algorithm for which the ratio of the optimal solution to the algorithm s output is bounded by 2 [2]; and (3) there exists an O(kn k+1 ) [14] or O(n + k 2 n) [9] time algorithm for which the ratio of the optimal solution to the algorithm s output is 1 + 1/k. Here, k is a constant that controls accuracy. These results together with Algorithm 5 establish the following theorem. THEOREM 5 BSPP when the graph G = (V, E) is a line can be (1) optimally solved in O( E D 0 ) time, where D 0 = D e E d(b, e); (2) solved in O( E ) time for which the ratio of the optimal solution to the algorithm s output is bounded by 2; and (3) solved in O(k E k+1 ) or O( E +k 2 E ) time for which the ratio of the optimal solution to the algorithm s output is 1 + 1/k. 9

11 7 Summary We have considered a graph-theoretic problem motivated by a telecommunications network design application. The problem was seen to be a mixture of a two-color coloring problem and a weighted shortest path problem. The complexity of the general problem was found to depend on both the graph structure as well as the collection of 4-tuple edge weights. Polynomial-time algorithms were given for some special cases and approximations based on known knapsack heuristics were identified. Future extensions include generalizing the problem definition to consider connecting multiple sets of nodes and heuristics for the general graph. References [1] I. Althofer, G. Das, D. Dobkin and D. Joseph. Generating Sparse Spanners for Weighted Graphs. Discrete and Computational Geometry, Vol. 9, [2] S. Baase. Computer Algorithms: Introduction to Design and Analysis. Addison Wesley, [3] S.-G. Chang and B. Gavish. Telecommunications Network Topological Design and Capacity Expansion: Formulations and Algorithms. Telecommunication Systems, Vol. 1, pp , [4] S.-G. Chang and B. Gavish. Lower Bounding Procedures for Multi-Period Telecommunications Network Expansion Problems. Operations Research, to appear. [5] T. Cormen, C. Leiserson and R. Rivest. An Introduction to Algorithms. MIT Press, [6] N. Deo and C. Pang. Shortest-Path Algorithms: Taxonomy and Annotation. Networks, Vol. 14, pp , [7] M. L. Fredman and R. E. Tarjan. Fibonacci Heaps and their Uses in Improved Network Optimization Algorithms. J. ACM, Vol. 34, pp , [8] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. WH Freeman, San Francisco, [9] O. Ibarra and C. Kim. Fast Approximation Algorithms for the Knapsack and Sum of Subset Problems. Journal of the ACM, Vol. 22, pp , [10] R. M. Karp. Reducibility among combinatorial problems. Complexity of Computer Computations. R. E. Miller and J. W. Thatcher (eds.), Plenum Press, New York, [11] A.Kershenbaum. Telecommunications Network Design Algorithms. McGraw-Hill, New York, [12] S. Khuller, B.Raghavachari and N. Young. Balancing Minimum Spanning and Shortest Path Trees. ACM Symp. Discrete Algorithms, [13] Martello and P. Toth. Knapsack Problems. Wiley and Sons, [14] S. K. Sahni. Approximation Algorithms for the 0/1 Knapsack Problem. Journal of the ACM, Vol. 22, pp , [15] R. Sedgewick. Algorithms. Addison Wesley,

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

### JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

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

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

### ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu

ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a

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

### On the Relationship between Classes P and NP

Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,

### Why? A central concept in Computer Science. Algorithms are ubiquitous.

Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

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

### Security-Aware Beacon Based Network Monitoring

Security-Aware Beacon Based Network Monitoring Masahiro Sasaki, Liang Zhao, Hiroshi Nagamochi Graduate School of Informatics, Kyoto University, Kyoto, Japan Email: {sasaki, liang, nag}@amp.i.kyoto-u.ac.jp

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

### Connected Identifying Codes for Sensor Network Monitoring

Connected Identifying Codes for Sensor Network Monitoring Niloofar Fazlollahi, David Starobinski and Ari Trachtenberg Dept. of Electrical and Computer Engineering Boston University, Boston, MA 02215 Email:

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

### Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Computer Algorithms NP-Complete Problems NP-completeness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order

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

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

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

### Problem Set 7 Solutions

8 8 Introduction to Algorithms May 7, 2004 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Handout 25 Problem Set 7 Solutions This problem set is due in

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

### Cloud Computing is NP-Complete

Working Paper, February 2, 20 Joe Weinman Permalink: http://www.joeweinman.com/resources/joe_weinman_cloud_computing_is_np-complete.pdf Abstract Cloud computing is a rapidly emerging paradigm for computing,

### NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

NP-complete? NP-hard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer

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

### Exact Polynomial-time Algorithm for the Clique Problem and P = NP for Clique Problem

xact Polynomial-time Algorithm for the Clique Problem and P = NP for Clique Problem Kanak Chandra Bora Department of Computer Science & ngineering Royal School of ngineering & Technology, Betkuchi, Guwahati-7810,

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

### NP-completeness and the real world. NP completeness. NP-completeness and the real world (2) NP-completeness and the real world

-completeness and the real world completeness Course Discrete Biological Models (Modelli Biologici Discreti) Zsuzsanna Lipták Imagine you are working for a biotech company. One day your boss calls you

### SIMS 255 Foundations of Software Design. Complexity and NP-completeness

SIMS 255 Foundations of Software Design Complexity and NP-completeness Matt Welsh November 29, 2001 mdw@cs.berkeley.edu 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity

### 2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

### CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma Please Note: The references at the end are given for extra reading if you are interested in exploring these ideas further. You are

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

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

### On the independence number of graphs with maximum degree 3

On the independence number of graphs with maximum degree 3 Iyad A. Kanj Fenghui Zhang Abstract Let G be an undirected graph with maximum degree at most 3 such that G does not contain any of the three graphs

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

### Answers to some of the exercises.

Answers to some of the exercises. Chapter 2. Ex.2.1 (a) There are several ways to do this. Here is one possibility. The idea is to apply the k-center algorithm first to D and then for each center in D

### A Working Knowledge of Computational Complexity for an Optimizer

A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational

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

### Lecture 7: NP-Complete Problems

IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit

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

### Cost Model: Work, Span and Parallelism. 1 The RAM model for sequential computation:

CSE341T 08/31/2015 Lecture 3 Cost Model: Work, Span and Parallelism In this lecture, we will look at how one analyze a parallel program written using Cilk Plus. When we analyze the cost of an algorithm

### Offline 1-Minesweeper is NP-complete

Offline 1-Minesweeper is NP-complete James D. Fix Brandon McPhail May 24 Abstract We use Minesweeper to illustrate NP-completeness proofs, arguments that establish the hardness of solving certain problems.

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

### Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

A Factor 1 2 Approximation Algorithm for Two-Stage Stochastic Matching Problems Nan Kong, Andrew J. Schaefer Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA Abstract We introduce

### Discuss the size of the instance for the minimum spanning tree problem.

3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

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

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

### 1 Introduction. Dr. T. Srinivas Department of Mathematics Kakatiya University Warangal 506009, AP, INDIA tsrinivasku@gmail.com

A New Allgoriitthm for Miiniimum Costt Liinkiing M. Sreenivas Alluri Institute of Management Sciences Hanamkonda 506001, AP, INDIA allurimaster@gmail.com Dr. T. Srinivas Department of Mathematics Kakatiya

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

Chapter 7 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

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

### IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

### Social Media Mining. Graph Essentials

Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures

### Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths

Single-Link Failure Detection in All-Optical Networks Using Monitoring Cycles and Paths Satyajeet S. Ahuja, Srinivasan Ramasubramanian, and Marwan Krunz Department of ECE, University of Arizona, Tucson,

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

### ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

A factor 1 European Journal of Operational Research xxx (00) xxx xxx Discrete Optimization approximation algorithm for two-stage stochastic matching problems Nan Kong, Andrew J. Schaefer * Department of

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

### NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with

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

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

### Max Flow, Min Cut, and Matchings (Solution)

Max Flow, Min Cut, and Matchings (Solution) 1. The figure below shows a flow network on which an s-t flow is shown. The capacity of each edge appears as a label next to the edge, and the numbers in boxes

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

### Quality of Service Routing for Supporting Multimedia Applications

Quality of Service Routing for Supporting Multimedia Applications Zheng Wang and Jon Crowcroft Department of Computer Science, University College London Gower Street, London WC1E 6BT, United Kingdom ABSTRACT

### Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

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

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

### Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

### Generating models of a matched formula with a polynomial delay

Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic

### Load Balancing and Termination Detection

Chapter 7 Load Balancing and Termination Detection 1 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

### Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling

6.854 Advanced Algorithms Lecture 16: 10/11/2006 Lecturer: David Karger Scribe: Kermin Fleming and Chris Crutchfield, based on notes by Wendy Chu and Tudor Leu Minimum cost maximum flow, Minimum cost circulation,

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

### CAD Algorithms. P and NP

CAD Algorithms The Classes P and NP Mohammad Tehranipoor ECE Department 6 September 2010 1 P and NP P and NP are two families of problems. P is a class which contains all of the problems we solve using

### The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

### P versus NP, and More

1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify

### Linear Programming. March 14, 2014

Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

### The K-Observer Problem in Computer Networks

The K-Observer Problem in Computer Networks H. B. Acharya 1, Taehwan Choi 1, Rida A. Bazzi 2, and Mohamed G. Gouda 1,3 1 The University of Texas at Austin, USA 2 Arizona State University, USA 3 The National

### A greedy algorithm for the DNA sequencing by hybridization with positive and negative errors and information about repetitions

BULLETIN OF THE POLISH ACADEMY OF SCIENCES TECHNICAL SCIENCES, Vol. 59, No. 1, 2011 DOI: 10.2478/v10175-011-0015-0 Varia A greedy algorithm for the DNA sequencing by hybridization with positive and negative

### SEMITOTAL AND TOTAL BLOCK-CUTVERTEX GRAPH

CHAPTER 3 SEMITOTAL AND TOTAL BLOCK-CUTVERTEX GRAPH ABSTRACT This chapter begins with the notion of block distances in graphs. Using block distance we defined the central tendencies of a block, like B-radius

### Multi-layer Structure of Data Center Based on Steiner Triple System

Journal of Computational Information Systems 9: 11 (2013) 4371 4378 Available at http://www.jofcis.com Multi-layer Structure of Data Center Based on Steiner Triple System Jianfei ZHANG 1, Zhiyi FANG 1,

### Measuring Rationality with the Minimum Cost of Revealed Preference Violations. Mark Dean and Daniel Martin. Online Appendices - Not for Publication

Measuring Rationality with the Minimum Cost of Revealed Preference Violations Mark Dean and Daniel Martin Online Appendices - Not for Publication 1 1 Algorithm for Solving the MASP In this online appendix

### Size-Constrained Weighted Set Cover

Size-Constrained Weighted Set Cover Lukasz Golab 1, Flip Korn 2, Feng Li 3, arna Saha 4 and Divesh Srivastava 5 1 University of Waterloo, Canada, lgolab@uwaterloo.ca 2 Google Research, flip@google.com

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

### Establishing a Mobile Conference Call Under Delay and Bandwidth Constraints

Establishing a Mobile Conference Call Under Delay and Bandwidth Constraints Amotz Bar-Noy Computer and Information Science Department Brooklyn College, CUNY, New York Email: amotz@sci.brooklyn.cuny.edu

### Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

### OPTIMAL DESIGN OF DISTRIBUTED SENSOR NETWORKS FOR FIELD RECONSTRUCTION

OPTIMAL DESIGN OF DISTRIBUTED SENSOR NETWORKS FOR FIELD RECONSTRUCTION Sérgio Pequito, Stephen Kruzick, Soummya Kar, José M. F. Moura, A. Pedro Aguiar Department of Electrical and Computer Engineering

### Determination of the normalization level of database schemas through equivalence classes of attributes

Computer Science Journal of Moldova, vol.17, no.2(50), 2009 Determination of the normalization level of database schemas through equivalence classes of attributes Cotelea Vitalie Abstract In this paper,

### MINIMAL BOOKS OF RATIONALES

MINIMAL BOOKS OF RATIONALES José Apesteguía Miguel A. Ballester D.T.2005/01 MINIMAL BOOKS OF RATIONALES JOSE APESTEGUIA AND MIGUEL A. BALLESTER Abstract. Kalai, Rubinstein, and Spiegler (2002) propose

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

### The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

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

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

### International Journal of Advanced Research in Computer Science and Software Engineering

Volume 3, Issue 7, July 23 ISSN: 2277 28X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Greedy Algorithm:

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

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

### Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

TECHNISCHE UNIVERSITEIT EINDHOVEN Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows Lloyd A. Fasting May 2014 Supervisors: dr. M. Firat dr.ir. M.A.A. Boon J. van Twist MSc. Contents

### A REMARK ON ALMOST MOORE DIGRAPHS OF DEGREE THREE. 1. Introduction and Preliminaries

Acta Math. Univ. Comenianae Vol. LXVI, 2(1997), pp. 285 291 285 A REMARK ON ALMOST MOORE DIGRAPHS OF DEGREE THREE E. T. BASKORO, M. MILLER and J. ŠIRÁŇ Abstract. It is well known that Moore digraphs do

### SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

### A Sublinear Bipartiteness Tester for Bounded Degree Graphs

A Sublinear Bipartiteness Tester for Bounded Degree Graphs Oded Goldreich Dana Ron February 5, 1998 Abstract We present a sublinear-time algorithm for testing whether a bounded degree graph is bipartite

### Scheduling. Open shop, job shop, flow shop scheduling. Related problems. Open shop, job shop, flow shop scheduling

Scheduling Basic scheduling problems: open shop, job shop, flow job The disjunctive graph representation Algorithms for solving the job shop problem Computational complexity of the job shop problem Open

### Improved Algorithms for Data Migration

Improved Algorithms for Data Migration Samir Khuller 1, Yoo-Ah Kim, and Azarakhsh Malekian 1 Department of Computer Science, University of Maryland, College Park, MD 20742. Research supported by NSF Award