Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design
|
|
|
- Reynold Clark
- 10 years ago
- Views:
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.
2 1 Introduction Today, several private organizations operate wide-area networks that connect various geographically dispersed sites. These sites are typically linked in a point-to-point fashion using physical links rented or leased from long-distance telecommunications carriers. A private wide-area network is thus overlaid on a public network. In the future, the availability of physical links for lease from various carriers is expected to increase significantly both because the number of carriers are thought to increase but also, within a single carrier s menu of physical links, an organization can pay for various levels of service. As might be expected, a low delay line costs more than a high delay line. It is not always possible to use low cost (high delay) lines exclusively, since a bound on the end-to-end delay is often desired. With this tradeoff, a natural question thus arises: given certain an end-to-end performance requirement, which physical links should be used to minimize leasing costs while meeting the stipulated performance? For example, if it is desired to maintain an end-to-end delay of one second between sites A and B and if these sites are two nodes in a large network consisting of traditional 64 Kbit and T1 lines (with different leasing costs), what is the cheapest route between A and B that meets the delay constraint? In this paper, we formulate a graph theoretic problem to address the question raised above namely, how does one find low cost routes that meet performance constraints? We consider two types of links with attendant costs and performance: high cost links with low delays, and low cost links with higher delays than the high cost links. Our formulation is presented as a combination of a two-color graph coloring problem and a shortest path problem. The general problem is shown to be NP-complete even when the graph is a simple line; it is also NP-complete when the costs and delays have a simple structure. Optimal algorithms are presented for some special cases of interest. In graph theoretic terminology, we are given a graph G = (V, E) with V vertices and E edges and two designated vertices s and t between which a path is to be constructed using edges in E. Each edge can be colored either red (r) or black (b). The choice of color determines the cost of the edge and the delay across the edge. For example, if edge e is colored red, it has delay d(r, e) and cost c(r, e). Thus, a set of four weights for each edge e, w(e) = (d(r, e), c(r, e), d(b, e), c(b, e)) describes the edge completely. Finally, an end-to-end delay bound D is also given as input to the problem. We wish to find a path and a coloring of edges on the path such that the total delay along the path is less than D, and the cost of the path is the least among paths that meet the delay constraint. This problem turns out to be NP-complete even when the graph is a simple line, or for general graphs, even when both colorings of an edge result in the same cost and delay. An O( V + E ) algorithm is presented for the case in which all edges are identical. Sometimes, the colorings of some edges are fixed (no choice is available for the physical lines) even with identical edges; for this instance, we provide an O( E 2 + E V log V ) algorithm. For the special case when G is a tree, we show how our problem can be translated into an equivalent 0/1 knapsack problem [2], for which several approximation algorithms are known. A vast literature exists on the shortest path problem, with several varieties of the general problem [6], but to the best of our knowledge, the particular problem we study has not been previously considered. Our problem is generally related to other problems involving paths or subgraphs in weighted graphs, such as the Steiner tree and minimum spanning tree problems. Our work also appears to be related to the problem of finding graph spanners [1]: a subgraph G of graph G is a D-spanner of G, if for every u, v V, the distance from u to v in G is at most D times the distance in G. Thus, loosely speaking, spanner problems also have a delay bound, although there is no notion of choice or costs. Another related subgraph problem appears 1
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
Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
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
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
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 [email protected], [email protected] Abstract In this paper we
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 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,
! 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
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:
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
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
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;
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,
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
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
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.
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,
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
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 [email protected] CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes
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
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
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
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
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 [email protected] 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
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
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
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
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
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
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
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].
1 Introduction. Dr. T. Srinivas Department of Mathematics Kakatiya University Warangal 506009, AP, INDIA [email protected]
A New Allgoriitthm for Miiniimum Costt Liinkiing M. Sreenivas Alluri Institute of Management Sciences Hanamkonda 506001, AP, INDIA [email protected] Dr. T. Srinivas Department of Mathematics Kakatiya
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
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
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,
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.
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
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
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
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
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
Load balancing Static Load Balancing
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
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
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
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
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,
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
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
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
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
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
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
Factors to Consider When Designing a Network
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
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: [email protected]
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
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
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 [email protected] September 12,
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
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,
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 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
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
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
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
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, [email protected] 2 Google Research, [email protected]
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:
Offline sorting buffers on Line
Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: [email protected] 2 IBM India Research Lab, New Delhi. email: [email protected]
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.,
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
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
How To Solve A Minimum Set Covering Problem (Mcp)
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
Tutorial 8. NP-Complete Problems
Tutorial 8 NP-Complete Problems Decision Problem Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yesor-no question A decision problem
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
FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM
International Journal of Innovative Computing, Information and Control ICIC International c 0 ISSN 34-48 Volume 8, Number 8, August 0 pp. 4 FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT
Managing End-to-end Network performance via. Optimized Monitoring Strategies
Managing End-to-end Network performance via Optimized Monitoring Strategies H. Cenk Ozmutlu [email protected] Dept. of Industrial Engineering School of Engineering and Architecture Uludag University Gorukle,
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
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
Cpt S 223. School of EECS, WSU
The Shortest Path Problem 1 Shortest-Path Algorithms Find the shortest path from point A to point B Shortest in time, distance, cost, Numerous applications Map navigation Flight itineraries Circuit wiring
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
On the Interaction and Competition among Internet Service Providers
On the Interaction and Competition among Internet Service Providers Sam C.M. Lee John C.S. Lui + Abstract The current Internet architecture comprises of different privately owned Internet service providers
THE last two decades have witnessed an exponential
IEEE JSAC - SAMPLING 2006 1 Practical Beacon Placement for Link Monitoring Using Network Tomography Ritesh Kumar and Jasleen Kaur Abstract Recent interest in using tomography for network monitoring has
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 }
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
A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy
A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy David P. Williamson Anke van Zuylen School of Operations Research and Industrial Engineering, Cornell University,
