Efficient algorithms for shared backup allocation in networks with partial information

Size: px
Start display at page:

Download "Efficient algorithms for shared backup allocation in networks with partial information"

Transcription

1 DOI /s Efficient algorithms for shared backup allocation in networks with partial information Yigal Bejerano Joseph (Seffi) Naor Alexander Sprintson Published online: 6 July 2006 C Science + Business Media, LLC 2006 Abstract We study efficient algorithms for establishing reliable connections with bandwidth guarantees in communication networks. In the normal mode of operation, each connection uses a primary path to deliver packets from the source to the destination. To ensure continuous operation in the event of an edge failure, each connection uses a set of backup bridges, each bridge protecting a portion of the primary path. To meet the bandwidth requirement of the connection, a certain amount of bandwidth must be allocated the edges of the primary path, as well as on the backup edges. In this paper, we focus on minimizing the amount of required backup allocation by sharing backup bandwidth among different connections. We consider efficient sharing schemes that require only partial information about the current state of the network. Specifically, the only information available for each edge is the total amount of primary allocation and the cost of allocating backup bandwidth on this edge. We consider the problem of finding a minimum cost backup allocation together with a set of bridges for a given primary path. We prove that this problem is NP-hard and present an approximation algorithm whose performance is within O (log n) of the optimum, where n is the number of edges in the primary path. We also consider the problem of finding both a primary path and backup allocation of minimal total cost. A preliminary version of this paper appears in the Proceedings of 13th Annual European Symposium on Algorithms - ESA 2005, Mallorca, Spain. J. (Seffi) Naor: This research is supported in part by a foundational and strategical research grant from the Israeli Ministry of Science, and by a US-Israel BSF Grant Y. Bejerano Bell Labs, Lucent Technologies, Murray Hill, NJ 07974, USA bej@research.bell-labs.com J. (Seffi) Naor Department of Computer Science, Technion-Israel Institute of Technology, Haifa Israel naor@cs.technion.ac.il A. Sprintson ( ) Department of Electrical and Computer Engineering, Texas A&M University, College Station, TX spalex@tamu.edu

2 Keywords Approximation algorithms. Combinatorial optimization. Quality of service. Fault resilience. Restoration. Resource sharing 1. Introduction Modern communication networks are expected to provide a certain level of Quality of Service (QoS) guarantees and also be resilient to failures. A widely used approach to achieve this goal is to provision for each connection a primary path and a set of backup paths. The primary QoS path is used during normal network operation; upon failure of a network element (node or edge) in the primary path, the traffic is immediately switched to a backup path. To provide QoS guarantees, a certain amount of bandwidth must be reserved on each edge of the primary path, as well as on the backup edges. In this paper we employ a local restoration method in order to facilitate resilience to edge failures. In this method we provision a set of bridges, each bridge protecting a portion of the primary path. A bridge is a path between two nodes of the primary path that shares no common edges with it. Upon failure of an edge in the primary path, the traffic is switched to one of the bridges. Figure 1(a) depicts an example of a primary path ˆP and a set of bridges {B 1,...,B 4 } that protect edges of ˆP. Figure 1(b) depicts the backup path used upon failure of edge (v 5,v 6 )of ˆP. The backup path is formed by substituting the subpath {v 4,...,v 7 } of ˆP by bridge B 3. Due to budget constraints, resilience and survivability must be built into a network in an efficient manner, that is, the amount of bandwidth dedicated for this purpose must be minimized. An attractive way to achieve this goal is by sharing backup bandwidth among multiple connections. Sharing of backup bandwidth is possible due to low probability of simultaneous failures of multiple edges in the network. Figure 1(c) shows an example of two connections that share several backup edges. The connections use ˆP and ˆP as primary paths and share backup edges (u 1, u 2 ), (u 3, u 4 ), (u 5, u 6 ), and (u 7, u 8 ). We consider a practical network setting, in which the source node computes both the primary path and a set of bridges. The source node has only partial information about the current state of the network. In particular, for each edge e, the following two parameters are given: 1. f e - The total amount of bandwidth reserved by the primary paths that use edge e; 2. c e (b) - The cost of allocating b units of backup bandwidth on edge e. B 1 B 2 B 3 B 4 v 1 v 2 v 3 v 4 v 5 v 6 v 7 (a) ˆP v 8 s ˆP t B 3 u 1 u 2 u 3 u 4 u 5 u 6 u 7 u 8 v 1 v 4 (b) v 7 ˆP v 8 s (c) t ˆP Fig. 1 (a) A primary path and a set of bridges {B 1,...,B 4 }; (b) Activation of bridge B 3 upon failure of an edge (v 5,v 6 ); (c) Sharing of backup edges by two connections

3 We use the first parameter, f e, to ensure that upon failure of edge e, all primary paths that use e are protected. To this end, we reserve along each edge of the bridge B that protects e at least f e units of bandwidth. Indeed, in the worst case scenario all traffic that uses a failed edge e may be re-routed via bridge B. The function c e (b) specifies the cost of allocating b units of backup bandwidth on edge e. This function may depend, for example, on the amount of backup bandwidth provisioned on e by prior connections. Indeed, in the case when edge e has a large amount of bandwidth provisioned by other connections, the cost of allocating b units of backup bandwidth for the current connection may be small or even zero. For example, consider the network depicted in Fig. 1(b) and suppose that path ˆP along with the backup bridges was provisioned before path ˆP. Suppose also that for all edges e that belong to ˆP and ˆP it holds that f e = 1. Then, the backup bandwidth reserved on the backup bridges of ˆP can be used for protecting path ˆP. Therefore, when we search for a suitable backup allocation for ˆP we set c e (b) = 0, 0 b 1, for each edge e that belongs to a backup bridge of ˆP, including edges (u 1, u 2 ), (u 3, u 4 ), (u 5, u 6 ), and (u 7, u 8 ). The partial information model we use is inspired by the paper of Kodialam and Lakshman (2003). This paper provides an empirical evidence that partial information model facilitates efficient sharing of backup bandwidth, resulting in a reduction in the total amount of backup bandwidth reserved throughout the network. At the same time, the model requires only a small amount of routing information that needs to be disseminated in the network (only a few parameters per each edge in the network). Our Results. In this study we consider the problem of finding a minimum cost backup allocation together with a set of bridges for a given primary path. This problem arises in many practical settings such as Virtual Private Networks (VPN) and MultiProtocol Label Switching (MPLS) networks. In such settings, each connection uses a primary path to transmit data under normal conditions and a set of backup bridges to protect the primary path against edge failures. We prove that this problem is NP-hard and present an approximation algorithm whose performance is within O (log n) of the optimum, where n is the number of edges in the primary path. We prove that this problem is NP-hard. However, we show that, by exploiting the combinatorial structure of the problem, we can devise an efficient approximation algorithm that achieves an approximation ratio of 8 log n. The computational complexity of our algorithm is O(n 3 ( E + V log V )), where n is the maximum number of edges in the primary path. Our algorithm can be easily extended for the problem of finding both a primary path and backup allocation. While the ideas that led to the development of our algorithm as well as the performance proofs are rather involved, the algorithm per se is relatively simple and easy to implement. Proof techniques. We analyze important properties of the problems related to bandwidth allocation with backup sharing. Specifically, we identify internal edge sharing as a major obstacle to finding an efficient solution. Internal edge sharing refers to the situation in which bridges that protect the same primary path share edges (see e.g., Fig. 2). We prove that for Fig. 2 Internal sharing. Bridges B 1 ={v 1, u 1, u 2,v 2 } and B 2 ={v 3, u 1, u 2,v 4 } share an edge (u 1, u 2 ) u 1 e u 2 B 1 B 2 ˆP v 1 v 2 v 3 v 4

4 any given primary path there exists an optimal set of bridges such that each edge is included in at most 8 log n bridges, where n is the number of edges in the primary path. This property allows us to construct an approximation algorithm based on local optimization. Specifically, we define the local cost of a bridge to be the sum of the costs incurred at its edges. Our goal is then to find a set of bridges that protect all edges in the primary path such that the total local cost of all bridges is minimal. We show that such a solution has a certain hierarchical property and present an algorithm based on dynamic programming that identifies an optimal set of bridges with respect to local costs. We note that this approach effectively ignores internal sharing. Indeed, since the cost of each bridge is computed independently of other bridges, an edge can contribute to the cost of several bridges. However, since each edge appears in at most 8 log n bridges, the cost of our solution is at most 8 log n times higher than the optimum. Finally, we show that our techniques can be applied to the more general problem of finding both a primary path and backup allocation of minimum total cost. Related work. Sharing of backup resources as a means of improving network performance was proposed by Kodialam and Lakshman (2003) and Hwang et al. (1998). Restoration schemes can be classified as minimum information schemes, complete information schemes, and partial information schemes, depending on the type of information available at the source (ingress) node (Kodialam and Lakshman, 2003). In minimum information schemes, the only information available to the source node is the residual bandwidth for each edge in the network. In complete information schemes, the source node has the complete information about the network, i.e., the routes for active primary and backup paths along with bandwidth requirements for all connections. In the partial information scheme the source node has slightly more information than in the minimum information model. In this scheme, the source node knows both the total bandwidth reserved by the primary paths and the total bandwidth used by the backup paths reserved on each link in the network. The network design problems in the context of backup sharing were investigated by Chekuri et al. (2005) and Italiano et al. (2002). In particular, (Chekuri et al., 2005) studied a simple model in which edges that belong to primary and backup paths are assigned different costs while (Italiano et al., 2002) focused on the restoration problems in the Hose model. Papers (Su and Su, 2001; Sengupta and Ramamurthy, 2001; Li et al., 2002) investigated practical aspects of path restoration. Several heuristic methods, based on linear programming for partial information model, were proposed by Kodialam and Lakshman (2003). The current study is the first one to provide efficient approximation algorithms for computing shared backup allocation in the partial information model. The remainder of the paper is organized as follows. In Section 2, we describe the partial information model and formulate the problems considered in this paper. In Section 3, we analyze the structure of optimal restoration topologies. In Section 4, we present an algorithm that computes a suitable restoration topology for a given primary path. In Section 5, we describe an algorithm that computes both a primary path and restoration topology for a given connection request. 2. Model and definitions We represent the network by an undirected graph G(V, E), where V is the set of nodes and E is the set of edges. An (s, t)-path is a sequence of distinct nodes P ={s = v 0,v 1,...,t = v n }, such that, for 1 i n, (v i 1,v i ) E. Here, n = P is the hop count of P. We denote by E(P) the set of edges of P. The subpath of P that extends from v i to v j is denoted by P (vi,v j ).

5 A unicast connection links a source node s with a destination node t. In the normal mode of operation, the packets are sent over the primary path ˆP ={s = v 0,v 1,...,t = v n }.To ensure continuous operation in the event of an edge failure, we provision a set of bridges B ={B 1, B 2,...,B k } that protect edges in the primary path. A bridge B i ={s i,...,t i } is a path between s i ˆP and t i ˆP that has no common edges with the subpath ˆP (si,t i ) of ˆP.We say that a bridge B i ={s i,...,t i } protects an edge e ˆP (si,t i ) if upon failure of edge e the traffic is switched from ˆP (si,t i ) to B i. We denote by ϕ(b i ) the set of edges in the primary path protected by bridge B i. The set of edges that belong to bridges of B is denoted by E r, i.e., E r ={e B i B i B}. For each edge (v i 1,v i ) ˆP we denote by f (vi 1,v i ) the total amount of primary bandwidth reserved on (v i 1,v i ). To ensure continuous operation in the event of an edge failure, we reserve a certain amount of bandwidth on each edge in E r. In the partial information model, the backup reservation ω(e) on each edge e B j must satisfy: ω(e) max (v i 1,v i ) ϕ(b j ) f (v i 1,v i ). (1) The reason for such a conservative approach is to guarantee that all primary paths that use edge (v i 1,v i ) can be restored in the event of a failure of (v i 1,v i ). Indeed, since we have no information about the backup paths used by other connections, we make a worst-case assumption that all backup traffic triggered by a failure of (v i 1,v i ) is routed via edges of bridge B j. Since an edge e E r can belong to multiple bridges, the backup reservation ω(e) on edge e must satisfy: ω(e) max B j,e B j max f (v i 1,v i ) (2) (v i 1,v i ) ϕ(b j ) For each edge e E we are given a function c e (b) that specifies, for any b 0, the cost of reserving b units of backup bandwidth on edge e. We assume that functions c e (b) are monotonically increasing functions which can be computed in constant time. The function c e (b) typically depends on the amount of backup bandwidth provisioned on edge e by prior connections and the amount of available bandwidth on edge e. Backup allocation problem In the backup allocation problem, our goal is to find a restoration topology R for a given primary path ˆP ={s = v 0,v 1,...,t = v n }. A restoration topology R is specified by a 4- tuple {B, E r,ϕ,ω}, where B is a set of bridges {B 1, B 2,...,B k }; E r ={e B i B i B} is the set of edges that belong to bridges in B; ϕ : B 2 E( ˆP) is a function that specifies, for each bridge B j B, the set of edges in the primary path protected by B j ; and ω : E r Z is a function that specifies the amount of backup bandwidth allocated on each edge of E r. A feasible restoration topology must satisfy the following conditions: 1. Each edge in the primary path ˆP must be protected by a bridge in B, i.e., for each (v i 1,v i ) ˆP there is a bridge B j B, such that (v i 1,v i ) ϕ(b j ). 2. The backup allocation ω(e) on each edge e E r must satisfy Eq. (2). The cost C(R) of the restoration topology is defined to be the total cost of its edges, i.e., C(R) = e E r c e (ω(e)), (3)

6 where c e is the cost function associated with edge e. Our goal is to find a restoration topology of minimal cost. We refer to this problem as Problem BA (Backup Allocation) and denote the minimal cost of a solution to Problem BA by OPT. In Appendix A, we prove that Problem BA is NP-hard. 3. Properties of the optimal backup allocation The main obstacle in finding an optimal solution to Problem BA is the fact that different bridges can share edges. Such internal sharing is one of the reasons of the N P-hardness of the problem. In this section we prove that there exists a restoration topology ˆR ={B, E r,ϕ,ω} such that C( ˆR) = OPT and each edge e E r belongs to at most 8 log n bridges of B, where n is the number of edges in the primary path. Theorem 1. Given a primary path ˆP, there exists a restoration topology ˆR ={B, E r,ϕ,ω} for ˆP such that C( ˆR) = OPT and each edge e E r belongs to at most 8 log n bridges of B, where n = ˆP. In Section 4, we use Theorem 1 in order to devise an approximation algorithm for Problem BA. The algorithm finds a restoration topology ˆR whose cost is at most 8 log n times more than OPT. The rest of this section is devoted to the proof of Theorem 1. We begin by introducing the following notation. Let B i ={s i,...,t i } be a bridge in B.A subpath {s i,...,v} of B i is referred to as a prefix of B i. Similarly, a subpath {v,...,t i } is referred to as a suffix of B i. We say that two bridges B i ={s i,...,t i } and B j ={s j,...,t j } share a prefix if there exists a node v B i such that the prefix {s i,...,v} of B i is identical to the prefix {s j,...,v} of B j and the suffixes {v,...,t i } and {v,...,t j } of B i and B j are mutually edge-disjoint. Similarly, we say that two bridges B i ={s i,...,t i } and B j = {s j,...,t j } share a suffix if there exists a node v B i such that the suffix {v,...,t i } of B i is identical to the suffix {v,...,t j } of B j and the prefixes {s i,...,v} and {s j,...,v} of B i and B j are mutually edge-disjoint. Figure 3 depicts examples of bridges that share a prefix and a suffix Outline of the proof Let ˆP ={s = v 0,v 1,...,t = v n } be a primary path and let R ={B, E r,ϕ,ω} be a restoration topology for ˆP such that C(R) = OPT and the number of edges in E r is minimal. We construct a restoration topology ˆR ={ˆB, E r, ˆϕ,ω} that satisfies the condition of the theorem. The restoration topology ˆR is formed from R by modifying the set of bridges B and the bridge assignment function ϕ. The set of backup edges E r and backup allocation ω of ˆR are identical to that of R. Bi B j B i B j s i = s j t i t j s ˆP i s j ti = t j (a) (b) ˆP Fig. 3 Bridges with common prefix (a) and suffix (b)

7 s 1=s 2 s 3=s 4 t 3 t 1=t 4 s 5 t 2=t 5=s 6=s 7 s 8 s 9 t 9 t 6=t 8 ˆP t 7 Fig. 4 An example of a restoration topology that satisfies the condition of Step 1 Our proof includes the following steps: 1. First, in Section 3.2, we construct a restoration topology R ={ B, E r, ϕ, ω} that satisfies the following property. Let B i ={s i,...,t i } and B j ={s j,...,t j } be two bridges of B such that there exists an edge (x, y) that appears in both bridges (in the same direction). Then, bridges B i and B j either share a suffix or share a prefix (see Fig. 4). 2. Then, in Section 3.3, we show that there exists a partition π ={S i } of B = { B 1, B 2,..., B k} such that: (i) For each subset S i of π it holds that either all bridges in S i share a prefix or all bridges in S i share a suffix. (ii) Each edge e E r belongs to bridges of at most four different subsets of π. 3. Finally, in Section 3.4, we prove the following assertion. Let S i be a subset of bridges in B such that either all bridges in S i share a prefix or all bridges share a suffix. Also, let E(S i ) E r be the set of edges that belong to bridges in S i, i.e., E(S i ) ={e B B S i }. Then, there exists a set of bridges Ŝ i such that (i) E(Ŝ i ) E(S i ), where E(Ŝ i ) ={e ˆB ˆB Ŝ i }; (ii) Set Ŝ i protects the same set of edges as S i, i.e., each edge (v i 1,v i ) ˆP protected by a bridge in S i is protected by a bridge in Ŝ i ; (iii) Each edge e E(Ŝ i ) belongs to at most 2 log n bridges of Ŝ i. It is easy to verify that the union of all sets Ŝ i that correspond to sets in π satisfies the requirement of the theorem Step 1 Let ˆP ={s = v 0,v 1,...,t = v n } be a primary path and let R ={B, E r,ϕ,ω} be a restoration topology for ˆP such that C(R) =OPT and the number of edges in E r is minimal. We show how to construct a set of bridges B and the corresponding bridge assignment function ϕ such that any two bridges in B that have a common edge either share a prefix or share a suffix. Let G r be a subgraph of G induced by edges in E r. Each edge e G r has a backup reservation ω(e)inr. We introduce a new bottleneck metric for paths in G r with respect to ω(e). Specifically, given a path P in G r we define the weight B(P) of the path P to be the smallest amount of backup reservation of an edge in P, i.e., B(P) = min e P ω(e). Next, we define two functions, τ(v) and γ (v), for each node v G r. Function τ(v) maps a node v G r to a node v i ˆP, while function γ (v) maps a node v G r to a path between τ(v) and v in G r. In order to define τ(v) and γ (v), we identify, for each v i ˆP, a tree T vi that connects v i with the rest of the nodes in G r such that each path P ={v i,...,u} T vi has the maximum bottleneck weight (with respect to ω(e)) among all paths that connect v i and u in G r. The function τ(v) is defined as follows. If v is a node in the primary path ˆP, then τ(v) = v. Otherwise, τ(v) is equal to the node v i ˆP that satisfies the following conditions: (i) The path between v i and v in T vi has greater bottleneck weight than any other path between v j ˆP and v. (ii) The distance (in hops) between s and v i in ˆP is smaller than that of any other node v j ˆP that satisfies condition (i).

8 The second function, γ (v), is defined as follows. If v belongs to the primary path ˆP, then γ (v) is an empty path. Otherwise, γ (v) is a path between v i = τ(v) and v in T vi. We are ready to describe the construction of the set of bridges B. For each edge (v i 1,v i ) ˆP, we identify a bridge B i as follows. Let B j ={s j,...,t j } B be a bridge in R that protects edge (v i 1,v i ). Let (x, y) be an edge of B j for which it holds that τ(x) is a predecessor of v i 1 in ˆP and τ(y) is a successor of v i in ˆP. Note that such an edge must exist because τ(s j ) is a predecessor of v i 1 and τ(t j ) is a successor of v i. Then, we set B i to be a concatenation of path γ (x), edge (x, y), and a path γ (y) (in a reverse direction). Note that for any node v γ (x) it holds that τ(v) = τ(x) and for each node v γ (y) it holds that τ(v) = τ(y). This implies that paths γ (x) and γ (y) are mutually node-disjoint. This fact, in turn, implies that B i is a simple path (i.e., does not include a cycle). Note that since min e Bi ω(e) min e B i ω(e) for each edge e B i it holds that ω(e) f (vi 1,v i ), hence edge e can be protected by bridge B i. Figure 5 demonstrates the construction of B. In the following lemma we prove that bridges in B satisfy the required property. Lemma 2. Let B i and B j be two bridges in B. Suppose that an edge (x, y) appears both in B i and B j (in the same direction). Then, B i and B j share either a prefix or a suffix. Proof: Let (x, y) be an edge that appears both in B i and B j. We prove that one of the three following cases holds (i) γ (y) is a prefix of both B i and B j ; (ii) γ (x) is a suffix of both bridges; (iii) γ (x) is a prefix of both B i and B j and γ (y) is a suffix of both B i and B j (bridges B i and B j are identical). It is easy to verify that this assertion is sufficient for the proof of the lemma. We first note that if B is a bridge in B, than for each node v B it holds that either γ (v) is a prefix of B or a suffix of B. The we consider the three following cases. 1. τ(x) = τ(y) and x is a predecessor of y in T τ(x). In this case, γ (x) and, in turn, γ (y), is a prefix of both bridges. Indeed, if γ (x) is not a prefix of one of the bridges, say B i, then γ (x) is a suffix of B i. In this case, B i would not include edge (x, y), a contradiction. 2. τ(x) = τ(y) and y is a predecessor of x in T τ(x). By using similar arguments, it can be shown that γ (x) is a suffix of both bridges B i and B j. 3. τ(x) τ(y). In this case γ (x) must be a prefix of both B i and B j, while γ (y) must be a suffix of both B i and B j, hence bridges B i and B j are identical. Fig. 5 (a) Construction of bridge B i ; (b) Construction of the set of bridges B. The number on edge e specifies the backup allocation ω(e) of this edge. In this example, τ(u 1 ) = v 3, γ (u 1 ) ={(u 1,v 3 )}, τ(u 2 ) = v 4, and γ (u 2 ) ={(u 2,v 4 )}. In restoration topology R ={B, E r,ϕ,ω} the edges (v 1,v 2 ), (v 3,v 4 ), and (v 5,v 6 ) are protected by bridges {v 1, u 1, u 2,v 2 }, {v 3, u 1, u 2,v 4 }, and {v 5, u 1, u 2,v 6 }, respectively. In restoration topology R ={ B, E r, ϕ, ω} the edges (v 1,v 2 ), (v 3,v 4 ), and (v 5,v 6 ) are protected by bridges {v 1, u 1, u 3 }, {v 3, u 1, u 2,v 4 }, and {v 4, u 2,v 6 }, respectively

9 3.3. Step 2 We begin by proving that the subgraph G r of G induced by edges in E r does not contain cycles. Lemma 3. Let ˆP be a primary path, and let R ={B, E r,ϕ,ω} be a restoration topology such that C(R) = OPT and the number of edges in E r is minimal. Then, the subgraph G r of G induced by edges in E r does not contain cycles. Proof: By way of contradiction, suppose that G r contains a cycle W ={v,...,v}. We show that one of the edges of W can be omitted from E r, in contradiction to its minimality. Let (x, y) be an edge in W with minimum backup allocation ω((x, y)). We prove that each bridge B ={u,...,w} Bcan substituted by another bridge B that does not include (x, y). Bridge B is formed from B by removing the edges in B that appear in W and adding edges in W that do not appear in B. It can be verified that the subgraph G induced by the set of edges (E(B) E(W )) \ (E(B) E(W )) includes a path B between u and w in G r. Since the backup allocation for each edge e B is at least ω((x, y)), B can protect all edges in the primary path protected by B. After substituting all bridges that use edge (x, y), this edge can be removed from E r. This contradicts our assumption that the number of backup edges in R is minimal. We show that B ={ B 1, B 2,..., B k} can be partitioned into subsets π ={S i } such that: (i) For each subset S i it either holds that any two bridges in S i share a prefix or any two bridges in S i share a suffix (ii) Any edge e E r belongs to bridges of at most four different subsets of π. We construct π through the partitioning procedure. The procedure uses an undirected auxiliary graph G (V, E ). The vertices V of G correspond to the nodes of the primary path ˆP and the edges E of G correspond to the bridges in B. Specifically, for each bridge B i ={s i,...,t i } B we add an edge between s i and t i in G. We note that G does not contain cycles, otherwise there would be a cycle in G r, in contradiction to Lemma 3. The procedure includes the following steps for each connected component G i of G : 1. Select a node v G i and find an orientation of edges in G i such that the resulting graph G i is a directed tree rooted at v; 2. For each node u G i create two subsets S1 u and S2 u in the partition π. Both subsets include bridges of B that correspond to edges incident to u. The first subset includes bridges for which u is the starting node, while the second subset includes bridges for which u is the end node. In the next lemma we prove that π satisfies the required property. Lemma 4. Let e be an edge in E r and let S be a set of bridges in B that include e. Then, the bridges of S belong to at most four different subsets of π. Proof: See Appendix B 3.4. Step 3 Let π ={S i } be a partition of B that satisfies the conditions of Step 2. Also, let S i π be a set of bridges such that all bridges in S i share a prefix. We begin by removing from S i

10 all redundant bridges. A bridge B S i is said to be redundant if all edges in ϕ( B) can be protected by other bridges in S i. We denote by E(S i ) ={e B B S i } the set of edges that belong to bridges in S i and show that there exists a set of bridges Ŝ i that satisfies the following conditions: (i) E(Ŝ i ) E(S i ), where E(Ŝ i ) ={e ˆB ˆB Ŝ i }; (ii) Each edge (v i 1,v i ) ˆP protected by a bridge in S i is protected by a bridge in Ŝ i ; (iii) Each edge e E(Ŝ i ) belongs to at most 2 log n bridges of Ŝ i. We denote by s the starting node of all bridges in S i and by T ={t j } the set of end nodes of bridges in S i, such that t j 1 is a predecessor of node t j in ˆP. For each j, 1 j T,we denote by B j the bridge in S i with end node t j. We also denote by G the subgraph of G induced by E(S i ). Note that G is a subgraph of G r (recall that G r is a subgraph of G induced by edges in E r ). Since G r does not contain a cycle, G is a tree. In addition, we denote by Ɣ the set of edges in ˆP protected by bridges in S i, i.e., Ɣ = B S i ϕ( B). We partition Ɣ to T subsets Ɣ 1,...,Ɣ T such that subset Ɣ 1 include edges in Ɣ located between nodes s and t 1 and a subset Ɣ j includes edges of Ɣ located between nodes t j 1 and t j in T. Lemma For each j, 1 j T, it holds that bridge B j can protect all edges in Ɣ j, i.e., min ω(e) max f (vx 1,v x ). e B j (v x 1,v x ) Ɣ j 2. Let P be a path in G between t k and t j, where t k is a predecessor of t j in ˆP. Then, P is a bridge that can protect all edges in Ɣ j, i.e., min ω(e) max f (vx 1,v x ). e P (v x 1,v x ) Ɣ j Proof: See Appendix C We are ready to describe a procedure that constructs the set of bridges Ŝ i. The procedure includes the following steps. 1. For each B j S i set ϕ(b j ) = Ɣ j. 2. While S i is not empty, perform the following operations: (a) Let E(S i ) be the set of edges that belong to bridges in S i, i.e., E(S i ) ={e B B S i }. Let G be the subgraph of G r induced by edges in E(S i ). (b) Identify an Euler tour W ={s,...,s } in G by traversing each edge in G exactly twice. (c) Break W into paths {P k } by cutting W at nodes s and t k T. (d) Denote by s k the starting node of P k and by t k the end node of P k, such that s k is a predecessor of t k in ˆP. (e) For each path P k ={s k,...,t k } for which there is a bridge B j ={s,...,t j } S i with the same end node (i.e., t k = t j ), perform the following operations: i. Add P k into Ŝ i and set ϕ(p k ) = ϕ(b j ). ii. Remove B j from S i.

11 Fig. 6 (a) A set S i ={B 1, B 2, B 3 } of bridges that share a common prefix, B 1 ={s,v 1,v 2, t 1 }, B 2 = {s,v 1,v 2, t 2 }, B 3 ={s,v 1, t 3 }; (b) An Euler tour on G ; (c) Two new bridges ˆB 1 ={s,v 1, t 3 } and ˆB 2 ={t 1,v 2, t 2 } are added to Ŝ i Figure 6 demonstrates a single iteration of the procedure. A set of bridges that share a common prefix is depicted in Fig. 6(a). An Euler tour W on G is depicted in Fig. 6(b). We break W into four paths, two of which are added to Ŝ i, as depicted in Fig. 6(c). Lemma 6. Suppose that at the beginning of an iteration of the main loop (i.e., the loop that begins on line 2) the set S i includes x bridges. Then, at the end of this iteration, the number of bridges in S i is at most x 2. Proof: We note that the graph G is a tree that includes a source s and x leaves. Thus, the set {P k } includes x + 1 paths, such that at most two paths have the same end node. This implies that at least x+1 2 bridges are removed from S i at this operation. Thus, the number of remaining bridges in S i is x x+1 2 x 2. Theorem 7. The set of bridges Ŝ i satisfies the following conditions: (i) E(Ŝ i ) E(S i ), where E(Ŝ i ) ={e ˆB ˆB Ŝ i }; (ii) Each edge (v i 1,v i ) ˆP protected by a bridge in S i is protected by a bridge in Ŝ i ; (iii) Each edge e E(Ŝ i ) belongs to at most 2 log n bridges of Ŝ i. Proof: First, we note that all bridges in Ŝ i belong to the subgraph G r induced by edges in E(S i ), which implies (i). Second, by the first part of Lemma 5, it holds that all edges in Ɣ are protected at Step 1 of the procedure. Moreover, the second part of Lemma 5 implies that at step 2(e)i path P k can protect the same edges protected by bridge B j. Thus, all bridges in Ɣ remain protected after executing steps 2(e)i and 2(e)ii, which implies condition (ii). Finally, we note that every edge e G appears in G and, in turn, in W at most two times. Thus, each edge e belongs to at most two bridges which are added to Ŝ i during one iteration. We also note that the number of iterations performed by the procedure is at most log S i, where S i is the number of bridges in set S i. Since S i is less than or equal to the number of edges n in the primary path ˆP the procedure performs at most log n iterations. This implies that each edge e Ŝ i belongs to at most 2 log n bridges of Ŝ i, which completes the proof of the theorem. The case in which all bridges in S i have a common suffix can be proven by using similar arguments.

12 4. Approximation algorithm for Problem BA 4.1. Locally optimal restoration topologies In this section we present an approximation algorithm for Problem BA. We begin by defining the notion of the local cost of a restoration topology. Definition 1 (Local Cost). Let R ={B, E r,ϕ,ω} be a restoration topology for ˆP. The local cost C (B) of a bridge B B is defined to be the sum of local costs incurred at its edges, i.e., C (B) = e B c e(ω(e)). The local cost of a restoration topology is defined to be the sum of the local costs of its bridges: C (R) = C (B) = c e (ω(e)). (4) B B B B e B Definition 2 (Partial Restoration Topology). Let P be a subpath of the primary path ˆP. A restoration topology R ={B, E r,ϕ,ω} is referred to as a partial restoration topology for P if each edge in P is protected by a bridge B R. The backup allocations ω(e) on each edge e E r must satisfy Eq. (2). We say that a partial restoration topology R for P is locally optimal if its local cost is less than or equal to the local cost of any other partial restoration topology for P. The minimum cost of a locally optimal restoration topology for P is denoted by OPT (P). From Theorem 1 it follows that OPT ( ˆP) 8 OPT log n, where n = ˆP. The next lemma establishes a hierarchical property of restoration topologies with minimal local cost. This lemma allows us to use the methods of dynamic programming in order to find restoration topologies of minimal local cost. Lemma 8. Let P ={s,...,t } be a subpath of the primary path ˆP. Then one of the following conditions hold: 1. Path P can be partitioned into edge-disjoint subpaths P 1,...,P k such that OPT (P ) = k i=1 OPT (P i ); 2. There exist edge-disjoint subpaths P 1,...,P k of P, a bridge B ={s,...,t } G \ P, and a value ζ, such that: (a) ζ is the maximum value f (vi 1,v i ) of an edge (v i 1,v i ) P that does not belong to subpaths P 1,...,P k ; (b) B ={s,...,t } is a minimum cost path between s and t with respect to the cost e B c e(ζ ); (c) OPT (P ) = k i=1 OPT (P i ) + e B c e(ζ ). Proof: Let R ={B, E r,ϕ,ω} be a partial restoration topology for P such that C (R) = OPT (P ). First, for each bridge B B we define ζ (B) = min e B ω(e). Second, we re-define the assignment function ϕ such that each edge (v i 1,v i ) in the primary path is protected by a bridge B j ={s j,...,t j } B such that s j is predecessor of v i 1 and v i is a predecessor of t j and ζ (B j ) is maximum possible. If there is more than one bridge that satisfies this property, we select one with the starting point closest to the source s. Next, we define the protected domain I (B i )ofb i R as the smallest subpath of the primary path ˆP that includes all edges protected by B i.

13 We observe that the protected domains of any two bridges B 1 and B 2 in R are either edge-disjoint, i.e., I (B 1 ) I (B 2 ) = or nested one within the other, i.e., I (B 1 ) I (B 2 )or I (B 2 ) I (B 1 ). Indeed, suppose, by way of contradiction that there exist two bridges B 1 and B 2, ζ (B 1 ) >ζ(b 2 ) that do not satisfy the above condition. Then, it holds that I (B 1 ) I (B 2 ) and I (B 1 ) I (B 2 ). This implies that there exists an edge (v i 1,v i ) I (B 1 ) I (B 2 ) that is protected by B 2. However, this contradicts the fact that each edge (v i 1,v i )is protected by a bridge B with the maximum value of ζ (B). Using a similar argument, it can be shown that the case in which there are two bridges B 1 and B 2, ζ (B 1 ) = ζ (B 2 ), whose protected domains are neither edge-disjoint nor nested one within the other, also results in a contradiction. First, we consider the case in which there are at least two bridges in B whose protected domains are not nested within protected domains of other bridges in B. We denote by B = {B 1,...,B k } a subset of bridges in B that satisfy this property. We partition the bridges of B into k subsets {S 1,...,S k }, such that subset S i includes all bridges whose protective domains are nested within the protected domain I (B i )ofb i. Note that the bridges in S i protect all edges in I (B i ) and every edge e P is protected by some subset S i of B. Note also that the total cost of all bridges in S i is equal to OPT (I (B i )). Indeed, if it not the case, S i can be substituted by a set of bridges of smaller cost, which contradicts the fact that C (R) = OPT (P ). We conclude that this case satisfies condition (1) of the lemma for 1 i k. Second, we consider the case in which there exists only one bridge B B whose protected domain is not nested within protected domains of other bridges in B. Note that in this case it must hold that I (B) = P. We denote by B ={B 1,...,B k } a subset of bridges in B whose protected domain is not nested within protected domains of other bridges of B \ B. Similarly to the previous case, we partition the bridges of B into k subsets {S 1,...,S k }, such that subset S i includes all bridges whose protective domains are nested within the protected domain I (B i )ofb i. Note that the bridges in S i protect all edges in I (B i ) and every edge e P is protected by some subset S i of B or by bridge B. Note also that the total cost of all bridges in S i is equal to OPT (I (B i )). Let (v i 1,v i ) P be the edge with maximum value of f (vi 1,v i ) protected by B. Then, the cost of B must be minimum with respect to e B c e(ζ ), where ζ = f (vi 1,v i ). Indeed, otherwise, there exists a cheaper bridge that protects the same edges as B which contradicts the fact that C (R) = OPT (P ). The hierarchical property allows us to efficiently find an optimal restoration topology ˆR by using the methods and tools of dynamic programming Dynamic programming algorithm The algorithm exploits the hierarchical property of locally optimal restoration topologies, established by Lemma 8. The algorithm begins with the subpaths of ˆP that include a single edge and computes for each subpath an optimal restoration topology that protects it. Then, it computes locally optimal restoration topologies for all subpaths of length 2, 3 and so on, until the locally optimal restoration topology for the entire primary path is found. The order of processing the subpaths of P by the algorithm ensures that when the algorithm computes an optimal restoration topology for a subpath of length i, it already has available the optimal restoration topologies for all subpaths of length smaller than i. We observe that optimal restoration topology for a subpath of length 1 includes a single bridge, which is easy to identify. Indeed, let P be a subpath that includes a single edge

14 (v i 1,v i ). Note that each edge e of bridge B must be allocated f (vi 1,v i ) units of backup bandwidth. Thus, to find a locally optimal bridge that protects (v i 1,v i ) we compute a shortest path in G \ ˆP with respect to edge costs c e ( f (vi 1,v i )) between s i and t i, where s i is a predecessor of v i 1 in ˆP and t i is a successor of node v i in ˆP. Such a path can be computed by a single invocation of a shortest path algorithm such as Dijkstra s algorithm. For a subpath P of ˆP of length more than 1, we need to consider two possible cases, described in Lemma 8. For the first case, we need to determine a partition P 1,...,P k of P such that total cost of restoration topologies R 1,...,R k is minimal, where R i is a locally optimal restoration topology that protects P i. Note that the optimal restoration topologies R 1,...,R k are already computed by the algorithm. Such an optimal partition can be determined by using the auxiliary graph Ĝ, that includes, for each subpath P (vi,v j ) of P, an edge (v i,v j ), whose cost is equal to the cost of the locally optimal restoration topology that protects P (vi,v j ). Then, we compute a shortest path between the source node and the destination node of P and identify an optimal restoration topology for P by taking the union of all restoration topologies that correspond to the edges of the shortest path. The second case is more complicated, as we need to determine a bridge ˆB and several restoration topologies R 1,...,R k that protect the edges of P. The key step is to determine the amount of backup bandwidth ζ that must be reserved on edges of ˆB. Indeed, if ζ is known, then we can easily determine ˆB (in a manner similar to the case in which the subpath P includes a single edge) and the edges of P that are protected by ˆB (edges (v i 1,v i ) for which it holds that f (vi 1,v i ) ζ ). Then, we can identify restoration topologies that protect all other edges of P (not protected by ˆB) by using the same technique as in the first case. In order to determine ζ we use the following observation. We note that ζ must be equal to f (vi 1,v i ) for some of edges in the P. Thus, the optimal value of ζ can be found by performing the following exhaustive search: for each value of ζ from the set { f (vi 1,v i ) (v i 1,v i ) P} we compute the optimal restoration topology and choose the value of ζ for which the local cost of a restoration topology is minimal. Theorem 9. Given a primary path ˆP, the above algorithm identifies, in O (n 3 ( E + V log V )) time, a solution to Problem BA whose cost is at most 8 log n times more than the optimum. Proof: For any given subpath of the primary path ˆP and possible value of ζ, the algorithm calculates the auxiliary graphs Ĝ and finds a minimal cost path in G. In addition, the algorithm calculates the minimum cost bridge ˆB. This incurs time complexity of O ( E + V log V ). Since ˆP contains O (n 2 ) subpaths, each one with at most n different possible values of ζ, the total running time of the algorithm is O (n 3 ( E + V log V )). 5. Joint primary and backup allocation In this section we consider the problem of provisioning both the primary path and restoration topology. In this problem, referred to as Problem PBA, we are given an undirected communication network G(V, E), a source node s, a destination node t, and the bandwidth requirement d of the connection. Each edge e E is associated with the following three parameters: 1. fˆ e - the amount of primary bandwidth allocated on e by prior connections; 2. ce p (b) - the cost of allocating b units of primary bandwidth on edge e; 3. c e (b) - the cost of allocating b units of backup bandwidth on edge e.

15 We assume that for each edge e E, the cost of backup allocation is smaller or equal to the cost of primary allocation, i.e., for any x 0 it holds that c e (x) c p e (d). This assumption is motivated by the fact that the amount of additional backup bandwidth allocated at each edge of a restoration topology is lower or equal to the amount d of primary bandwidth allocated on the edges of the primary path. The goal of Problem PBA is to identify a primary path ˆP ={s,...,t} and a feasible restoration topology ˆR ={B, E r,ϕ,ω} of minimal total cost C( ˆP) + C( ˆR). The cost C( ˆP) of a primary path is defined to be the sum of the costs incurred on its edges: C( ˆP) = e ˆP c p e (d). The restoration topology ˆR must satisfy the requirements stated in Section 2 with respect to the current backup allocations { f e e E}, where { f ˆ f e = e + d ˆ f e if e ˆP otherwise. (5) The cost C( ˆR) of the restoration topology is defined according to Eq. (3). In the rest of this section we present an approximation algorithm for Problem PBA. Our algorithm includes the two following steps: (1) Find a path ˆP between s and t of minimum cost C( ˆP ) = e ˆP c p e (d); (2) Find a restoration topology ˆR for ˆP by using the algorithm presented in Section 4. The algorithm is based on two simple observations. We denote by P ={s,...,t} and R = { B, Ē r, ϕ, ω} the optimal solution for Problem PBA. Let ˆP be the primary path computed in the first step of the algorithm. First, we observe that since ˆP is a minimum cost path between s and t that satisfies bandwidth requirements, it follows that C( ˆP ) C( P). Second, we prove that P and R can be used in order to construct a restoration topology ˆR for ˆP. Specifically, for every edge e(v i,v j ) ˆP we can identify a bridge B e ={s e,...,t e } that protects e and whose edges belong to P and Ē r. In order to show this, we consider the two following cases. 1. If e(v i,v j ) / P, let v be the last node in ˆP before v i that belongs to P. Such a node exists since s belongs to both paths, ˆP and P. Also, let u be the first node in ˆP after v i+1 that belongs to P.WesetB e to be the subpath P (v,u) of P (see Fig. 7(a)). 2. If e(v i,v j ) P, then let B ={s,...,t } be a bridge in R that protects e. We denote by v the last node in P before s that belongs to ˆP and by u the first node in P after t that belongs to ˆP. We set B e to be the concatenation of B with subpaths P (v,s ) and P (t,u) of P (see Fig. 7(b)). In the next theorem we prove that the cost C( ˆR)of ˆR satisfies C( ˆR) C( P) + C( R). Theorem 10. The algorithm computes, in O (n 3 ( E + V log V )) time, a solution for Problem PBA whose cost is at most 8 log V +1 times higher than the optimum. s v v i v i+1 u ˆP t s v ˆP v i v i+1 e e B e P R s B t u=t P (a) (b) Fig. 7 The optimal solution ( P, R) to Problem PBA and an (s, t)-path ˆP

16 Proof: The computational complexity of the algorithm is dominated by that of the algorithm presented in Section 4. We denote by ( P, R) the optimal solution for Problem PBA, where P is a primary path and R ={ B, E r, ϕ, ω} is an optimal restoration topology. We also denote by ˆR ={B, E r,ϕ,ω} the restoration topology for ˆP constructed as described above. Since ˆP is a minimum cost path between s and t that satisfies bandwidth requirements, it follows that C( ˆP) C( P). In the following we prove that C( ˆR) C( P) + C( R). This implies that Algorithm MPC provides a solution ( ˆP, ˆR ) for Problem PBA such that C( ˆP ) + C( ˆR ) C( P) + 8 log V C( ˆR) (1 + 8 log V )(C( P) + C( R)) and the theorem follows. We proceed to prove that C( ˆR) C( P) + C( R). Recall that every edge e of ˆR either belongs to P or to R and that the cost C( ˆR) of ˆR is equal to e E c e(ω(e)). We show, for r each edge e ˆR that the cost c e (ω(e)) of using e in ˆR is lower than the cost of using e in either P or R. We begin with the case in which e belongs to P. The cost of using e in P is ce p (d), which is by our assumption is more or equal to c e (ω(e)). Next, we consider the case in which e belongs to R. From our construction it follows that every edge protected by e in ˆR is also protected by e in R, which implies that ω(e) ω(e), and, in turn, c e (ω(e)) c e ( ω(e)), which completes the proof of the theorem. Appendix A. NP-hardness of Problem BA In this section we prove that Problem BA is NP-hard. To that end, we build a reduction from the Minimum Steiner Tree Problem. Problem MST (Minimum Steiner Tree). Given an undirected graph G(V, E) and a set of terminals X ={t 0,...,t k } V,findatreeT that connects all terminals t i X and the total number of edges in T is minimal. Given an instance (G(V, E), {t 0, t 1,...,t k }) of Problem MST we build an instance of Problem BA, as follows. The instance includes a graph Ĝ( ˆV, Ê) formed from G(V, E) by adding nodes {s = v 0,...,t = v k } and edges {(v 0,v 1 ),...,(v k 1,v k )}. In addition, we add an edge (t i,v i ) for each 0 i k. For each edge e E, we set the following parameters f e and c e (b): For each 1 i k we set f (vi 1,v i ) = i, for any other edge e in Ê we set f e = 0. For each edge e G we set c e (b) = { 0 if b = 0 1 otherwise. (6) For each edge (t i,v i ), 0 i k, weset { 0 if b i + 1 c e (b) = otherwise. (7) For all other edges in Ĝ we set c e (b) = 0 for all values of b.

17 The instance of Problem BA asks for a minimum cost restoration topology R ={B, E r,ϕ,ω} for ˆP ={s = v 0,...,t = v k } Ĝ. Let (v i 1,v i ) be an edge in ˆP. Then, bridge B B that protects (v i 1,v i ) must include edge (v i 1, t i 1 ) and one of the edges from the set {(v j, t j ) i j k}. This follows from the fact that each edge e B must be allocated at least i units of backup bandwidth, while the cost of reserving i units of backup bandwidth at edges {(v j, t j ) 0 j < i 1} equals to infinity. Thus, a solution of Problem BA includes a tree T in G that connects all terminals {t 0,...,t k }. In addition, the cost of the restoration topology is equal to the number of edges in T. We conclude that we can use a polynomial time algorithm for Problem BA in order to solve Problem MST in polynomial time. This, however, contradicts the fact that Problem MST is NP-hard (Garey and Johnson, 1979). B. Proof of Lemma 4 Let e = (x, y) be an edge in E r. We divide S to two subsets S 1 and S 2 such that bridges in S 1 include a directed edge (x, y) and bridges in S 2 include a directed edge (y, x). We prove that the bridges in S 1 belong to at most two different subsets of π. The proof of the fact that the bridges of S 2 belong to at most two different subsets of π follows the similar lines. By way of contradiction, suppose that are three bridges B 1, B 2 and B 3 in S 1 that belong to three different subsets of π. We show that either all three bridges B 1, B 2 and B 3 have the same starting node or all three bridges have the same end node. Suppose that the starting node of one of the bridges, say B 1, is different from the starting nodes of other bridges. Then, by Lemma 2, B 1 shares a suffix with both B 2 and B 3, hence their end nodes are identical. We show that if B 1, B 2 and B 3 have the same starting node v then those bridges belong to at most two different subsets of π. Indeed, in the corresponding connected component G i of G at most one of the bridges corresponds to an incoming edge of v in G i, while all other bridges correspond to an outgoing edge of v. Thus, at most two of the bridges B 1, B 2 and B 3 belong to the same subset of π, resulting in a contradiction. By using the same argument it can be shown that the case in which bridges B 1, B 2 and B 3 have the same end node also results in a contradiction. C. Proof of Lemma 5 (1) We denote by (v x 1,v x ) the edge of Ɣ j with has the maximum value of f (vx 1,v x ) and suppose, by way of contradiction, that B j cannot protect (v x 1,v x ). Let B S i be a bridge that protects edge (v x 1,v x ). Note that the starting node of a bridge B is s and the end node of B is a successor of t j in ˆP. Thus, and since B can protect (v x 1,v x ), it holds that min ω(e) f e B (v x 1,v x ) min ω(e), e B j which, in turn, implies that B can protect all bridges in ϕ(b j ). We conclude that bridge B j is redundant, which contradicts our assumption that S i contain no redundant bridges. (2) We note that P is a concatenation of a suffix of bridge B k and a suffix of bridge B j, where B k is a bridge in S i that connects s and t k. We also note that min e B k ω(e) >

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

FUTURE communication networks are expected to support

FUTURE communication networks are expected to support 1146 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 13, NO 5, OCTOBER 2005 A Scalable Approach to the Partition of QoS Requirements in Unicast and Multicast Ariel Orda, Senior Member, IEEE, and Alexander Sprintson,

More information

Precomputation Schemes for QoS Routing

Precomputation Schemes for QoS Routing 578 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 11, NO. 4, AUGUST 2003 Precomputation Schemes for QoS Routing Ariel Orda, Senior Member, IEEE, and Alexander Sprintson, Student Member, IEEE Abstract Precomputation-based

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Theorem 2.9: nearest addition algorithm

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

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

Algorithms for Provisioning Virtual Private Networks in the Hose Model

Algorithms for Provisioning Virtual Private Networks in the Hose Model IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 10, NO 4, AUGUST 2002 565 Algorithms for Provisioning Virtual Private Networks in the Hose Model Amit Kumar, Rajeev Rastogi, Avi Silberschatz, Fellow, IEEE, and

More information

FOUR EDGE-INDEPENDENT SPANNING TREES 1

FOUR EDGE-INDEPENDENT SPANNING TREES 1 FOUR EDGE-INDEPENDENT SPANNING TREES 1 Alexander Hoyer and Robin Thomas School of Mathematics Georgia Institute of Technology Atlanta, Georgia 30332-0160, USA ABSTRACT We prove an ear-decomposition theorem

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

On vertex types of graphs

On vertex types of graphs On vertex types of graphs arxiv:1705.09540v1 [math.co] 26 May 2017 Pu Qiao, Xingzhi Zhan Department of Mathematics, East China Normal University, Shanghai 200241, China Abstract The vertices of a graph

More information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,

More information

V10 Metabolic networks - Graph connectivity

V10 Metabolic networks - Graph connectivity V10 Metabolic networks - Graph connectivity Graph connectivity is related to analyzing biological networks for - finding cliques - edge betweenness - modular decomposition that have been or will be covered

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks

Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks Ambreen Shahnaz and Thomas Erlebach Department of Computer Science University of Leicester University Road, Leicester LE1

More information

Steiner Trees and Forests

Steiner Trees and Forests Massachusetts Institute of Technology Lecturer: Adriana Lopez 18.434: Seminar in Theoretical Computer Science March 7, 2006 Steiner Trees and Forests 1 Steiner Tree Problem Given an undirected graph G

More information

A General Approach to Online Network Optimization Problems

A General Approach to Online Network Optimization Problems A General Approach to Online Network Optimization Problems NOGA ALON Schools of Mathematics and Computer Science, Tel Aviv University, Tel Aviv, Israel BARUCH AWERBUCH Computer Science Dept., Johns Hopkins

More information

Dynamic Routing of Restorable Bandwidth-Guaranteed Tunnels Using Aggregated Network Resource Usage Information

Dynamic Routing of Restorable Bandwidth-Guaranteed Tunnels Using Aggregated Network Resource Usage Information IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 11, NO. 3, JUNE 2003 399 Dynamic Routing of Restorable Bwidth-Guaranteed Tunnels Using Aggregated Network Resource Usage Information Murali Kodialam, Associate

More information

Graph Theory. Part of Texas Counties.

Graph Theory. Part of Texas Counties. Graph Theory Part of Texas Counties. We would like to visit each of the above counties, crossing each county only once, starting from Harris county. Is this possible? This problem can be modeled as a graph.

More information

Max-Flow Protection using Network Coding

Max-Flow Protection using Network Coding Max-Flow Protection using Network Coding Osameh M. Al-Kofahi Department of Computer Engineering Yarmouk University, Irbid, Jordan Ahmed E. Kamal Department of Electrical and Computer Engineering Iowa State

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

On the Robustness of Distributed Computing Networks

On the Robustness of Distributed Computing Networks 1 On the Robustness of Distributed Computing Networks Jianan Zhang, Hyang-Won Lee, and Eytan Modiano Lab for Information and Decision Systems, Massachusetts Institute of Technology, USA Dept. of Software,

More information

Approximability Results for the p-center Problem

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

More information

Number Theory and Graph Theory

Number Theory and Graph Theory 1 Number Theory and Graph Theory Chapter 6 Basic concepts and definitions of graph theory By A. Satyanarayana Reddy Department of Mathematics Shiv Nadar University Uttar Pradesh, India E-mail: satya8118@gmail.com

More information

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

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

by conservation of flow, hence the cancelation. Similarly, we have

by conservation of flow, hence the cancelation. Similarly, we have Chapter 13: Network Flows and Applications Network: directed graph with source S and target T. Non-negative edge weights represent capacities. Assume no edges into S or out of T. (If necessary, we can

More information

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1 Communication Networks I December, Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page Communication Networks I December, Notation G = (V,E) denotes a

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Seminar on Algorithms and Data Structures: Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees [1]

Seminar on Algorithms and Data Structures: Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees [1] Seminar on Algorithms and Data Structures: Multiple-Edge-Fault-Tolerant Approximate Shortest-Path Trees [1] Philipp Rimle April 14, 2018 1 Introduction Given a graph with positively real-weighted undirected

More information

Minimum Interference Routing of Bandwidth Guaranteed Tunnels with MPLS Traffic Engineering Applications

Minimum Interference Routing of Bandwidth Guaranteed Tunnels with MPLS Traffic Engineering Applications 2566 IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 18, NO. 12, DECEMBER 2000 Minimum Interference Routing of Bandwidth Guaranteed Tunnels with MPLS Traffic Engineering Applications Koushik Kar,

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

arxiv: v2 [cs.dm] 28 Dec 2010

arxiv: v2 [cs.dm] 28 Dec 2010 Multiple-source multiple-sink maximum flow in planar graphs Yahav Nussbaum arxiv:1012.4767v2 [cs.dm] 28 Dec 2010 Abstract In this paper we show an O(n 3/2 log 2 n) time algorithm for finding a maximum

More information

The External Network Problem

The External Network Problem The External Network Problem Jan van den Heuvel and Matthew Johnson CDAM Research Report LSE-CDAM-2004-15 December 2004 Abstract The connectivity of a communications network can often be enhanced if the

More information

On the Robustness of Distributed Computing Networks

On the Robustness of Distributed Computing Networks 1 On the Robustness of Distributed Computing Networks Jianan Zhang, Hyang-Won Lee, and Eytan Modiano Lab for Information and Decision Systems, Massachusetts Institute of Technology, USA Dept. of Software,

More information

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Wei Wang joint with Zishen Yang, Xianliang Liu School of Mathematics and Statistics, Xi an Jiaotong University Dec 20, 2016

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

Fundamental Properties of Graphs

Fundamental Properties of Graphs Chapter three In many real-life situations we need to know how robust a graph that represents a certain network is, how edges or vertices can be removed without completely destroying the overall connectivity,

More information

CURRENT routing schemes typically focus on discovering

CURRENT routing schemes typically focus on discovering IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 15, NO. 2, APRIL 2007 413 Multipath Routing Algorithms for Congestion Minimization Ron Banner, Senior Member, IEEE, and Ariel Orda, Fellow, IEEE Abstract Unlike

More information

Bipartite Roots of Graphs

Bipartite Roots of Graphs Bipartite Roots of Graphs Lap Chi Lau Department of Computer Science University of Toronto Graph H is a root of graph G if there exists a positive integer k such that x and y are adjacent in G if and only

More information

An Approximation Algorithm for the Non-Preemptive Capacitated Dial-a-Ride Problem

An Approximation Algorithm for the Non-Preemptive Capacitated Dial-a-Ride Problem Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße D- Berlin-Dahlem Germany SVEN O. KRUMKE JÖRG RAMBAU STEFFEN WEIDER An Approximation Algorithm for the Non-Preemptive Capacitated Dial-a-Ride

More information

Vertex 3-colorability of claw-free graphs

Vertex 3-colorability of claw-free graphs Algorithmic Operations Research Vol.2 (27) 5 2 Vertex 3-colorability of claw-free graphs Marcin Kamiński a Vadim Lozin a a RUTCOR - Rutgers University Center for Operations Research, 64 Bartholomew Road,

More information

Optimal Path Discovery Problem with Homogeneous Knowledge

Optimal Path Discovery Problem with Homogeneous Knowledge Optimal Path Discovery Problem with Homogeneous Knowledge Christopher Thraves-Caro, Josu Doncel, Olivier Brun To cite this version: Christopher Thraves-Caro, Josu Doncel, Olivier Brun. Optimal Path Discovery

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Solutions for the Exam 6 January 2014

Solutions for the Exam 6 January 2014 Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,

More information

1 Variations of the Traveling Salesman Problem

1 Variations of the Traveling Salesman Problem Stanford University CS26: Optimization Handout 3 Luca Trevisan January, 20 Lecture 3 In which we prove the equivalence of three versions of the Traveling Salesman Problem, we provide a 2-approximate algorithm,

More information

On Covering a Graph Optimally with Induced Subgraphs

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

More information

arxiv: v1 [cs.ds] 19 Feb 2014

arxiv: v1 [cs.ds] 19 Feb 2014 Turing Kernelization for Finding Long Paths and Cycles in Restricted Graph Classes Bart M. P. Jansen 1 University of Bergen, Norway. Bart.Jansen@ii.uib.no arxiv:1402.4718v1 [cs.ds] 19 Feb 2014 Abstract.

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

Recognizing Interval Bigraphs by Forbidden Patterns

Recognizing Interval Bigraphs by Forbidden Patterns Recognizing Interval Bigraphs by Forbidden Patterns Arash Rafiey Simon Fraser University, Vancouver, Canada, and Indiana State University, IN, USA arashr@sfu.ca, arash.rafiey@indstate.edu Abstract Let

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman, M.S. Ramanujan, and Saket Saurabh Presenting: Hen Sender 1 Introduction 2 Abstract. It is well known that in a bipartite (and more generally in a Konig)

More information

Disjoint directed cycles

Disjoint directed cycles Disjoint directed cycles Noga Alon Abstract It is shown that there exists a positive ɛ so that for any integer k, every directed graph with minimum outdegree at least k contains at least ɛk vertex disjoint

More information

Outline. 1 The matching problem. 2 The Chinese Postman Problem

Outline. 1 The matching problem. 2 The Chinese Postman Problem Outline The matching problem Maximum-cardinality matchings in bipartite graphs Maximum-cardinality matchings in bipartite graphs: The augmenting path algorithm 2 Let G = (V, E) be an undirected graph.

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu P, NP-Problems Class

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Chapter S:V. V. Formal Properties of A*

Chapter S:V. V. Formal Properties of A* Chapter S:V V. Formal Properties of A* Properties of Search Space Graphs Auxiliary Concepts Roadmap Completeness of A* Admissibility of A* Efficiency of A* Monotone Heuristic Functions S:V-1 Formal Properties

More information

Lecture 8: The Traveling Salesman Problem

Lecture 8: The Traveling Salesman Problem Lecture 8: The Traveling Salesman Problem Let G = (V, E) be an undirected graph. A Hamiltonian cycle of G is a cycle that visits every vertex v V exactly once. Instead of Hamiltonian cycle, we sometimes

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

Routing Restorable Bandwidth Guaranteed Connections using Maximum 2-Route Flows

Routing Restorable Bandwidth Guaranteed Connections using Maximum 2-Route Flows Routing Restorable Bandwidth Guaranteed Connections using Maximum 2-Route Flows Koushik Kar Murali Kodialam T. V. Lakshman ECE Department Bell Labs University of Maryland Lucent Technologies College Park

More information

Decreasing the Diameter of Bounded Degree Graphs

Decreasing the Diameter of Bounded Degree Graphs Decreasing the Diameter of Bounded Degree Graphs Noga Alon András Gyárfás Miklós Ruszinkó February, 00 To the memory of Paul Erdős Abstract Let f d (G) denote the minimum number of edges that have to be

More information

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple

More information

Subexponential algorithms for rectilinear Steiner tree and arborescence problems

Subexponential algorithms for rectilinear Steiner tree and arborescence problems Subexponential algorithms for rectilinear Steiner tree and arborescence problems Fedor V. Fomin Sudeshna Kolay Daniel Lokshtanov Fahad Panolan Saket Saurabh Abstract A rectilinear Steiner tree for a set

More information

Geometric Steiner Trees

Geometric Steiner Trees Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 2: Global properties of Euclidean Steiner Trees and GeoSteiner Marcus Brazil

More information

Repetition: Primal Dual for Set Cover

Repetition: Primal Dual for Set Cover Repetition: Primal Dual for Set Cover Primal Relaxation: k min i=1 w ix i s.t. u U i:u S i x i 1 i {1,..., k} x i 0 Dual Formulation: max u U y u s.t. i {1,..., k} u:u S i y u w i y u 0 Harald Räcke 428

More information

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees

A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Fundamenta Informaticae 56 (2003) 105 120 105 IOS Press A Fast Algorithm for Optimal Alignment between Similar Ordered Trees Jesper Jansson Department of Computer Science Lund University, Box 118 SE-221

More information

On The Complexity of Virtual Topology Design for Multicasting in WDM Trees with Tap-and-Continue and Multicast-Capable Switches

On The Complexity of Virtual Topology Design for Multicasting in WDM Trees with Tap-and-Continue and Multicast-Capable Switches On The Complexity of Virtual Topology Design for Multicasting in WDM Trees with Tap-and-Continue and Multicast-Capable Switches E. Miller R. Libeskind-Hadas D. Barnard W. Chang K. Dresner W. M. Turner

More information

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: Max-Cut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be

More information

Discharging and reducible configurations

Discharging and reducible configurations Discharging and reducible configurations Zdeněk Dvořák March 24, 2018 Suppose we want to show that graphs from some hereditary class G are k- colorable. Clearly, we can restrict our attention to graphs

More information

Module 11. Directed Graphs. Contents

Module 11. Directed Graphs. Contents Module 11 Directed Graphs Contents 11.1 Basic concepts......................... 256 Underlying graph of a digraph................ 257 Out-degrees and in-degrees.................. 258 Isomorphism..........................

More information

Efficient Prefix Computation on Faulty Hypercubes

Efficient Prefix Computation on Faulty Hypercubes JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 17, 1-21 (21) Efficient Prefix Computation on Faulty Hypercubes YU-WEI CHEN AND KUO-LIANG CHUNG + Department of Computer and Information Science Aletheia

More information

An Analysis of Wireless Network Coding for Unicast Sessions: The Case for Coding-Aware Routing

An Analysis of Wireless Network Coding for Unicast Sessions: The Case for Coding-Aware Routing An Analysis of Wireless Network Coding for Unicast Sessions: The Case for Coding-Aware Routing Sudipta Sengupta Shravan Rayanchu,2 Suman Banerjee 2 Bell Laboratories, Lucent Technologies, Murray Hill,

More information

The Fibonacci hypercube

The Fibonacci hypercube AUSTRALASIAN JOURNAL OF COMBINATORICS Volume 40 (2008), Pages 187 196 The Fibonacci hypercube Fred J. Rispoli Department of Mathematics and Computer Science Dowling College, Oakdale, NY 11769 U.S.A. Steven

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

Appeared in Proceedings of ICNP02, Paris, Nov 2002 Appea. Routing Bandwidth Guaranteed Paths with Local Restoration in Label Switched Networks

Appeared in Proceedings of ICNP02, Paris, Nov 2002 Appea. Routing Bandwidth Guaranteed Paths with Local Restoration in Label Switched Networks Routing Bandwidth Guaranteed Paths with Local Restoration in Label Switched Networks Li Li, Milind M. Buddhikot, Chandra Chekuri, Katherine Guo Λ Abstract The emerging Multi-Protocol Label Switching (MPLS)

More information

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge. 1 Graph Basics What is a graph? Graph: a graph G consists of a set of vertices, denoted V (G), a set of edges, denoted E(G), and a relation called incidence so that each edge is incident with either one

More information

Approximation algorithms for minimum-cost k-(s, T ) connected digraphs

Approximation algorithms for minimum-cost k-(s, T ) connected digraphs Approximation algorithms for minimum-cost k-(s, T ) connected digraphs J. Cheriyan B. Laekhanukit November 30, 2010 Abstract We introduce a model for NP-hard problems pertaining to the connectivity of

More information

Matching Theory. Figure 1: Is this graph bipartite?

Matching Theory. Figure 1: Is this graph bipartite? Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to

More information

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD CAR-TR-728 CS-TR-3326 UMIACS-TR-94-92 Samir Khuller Department of Computer Science Institute for Advanced Computer Studies University of Maryland College Park, MD 20742-3255 Localization in Graphs Azriel

More information

On the Minimum k-connectivity Repair in Wireless Sensor Networks

On the Minimum k-connectivity Repair in Wireless Sensor Networks On the Minimum k-connectivity epair in Wireless Sensor Networks Hisham M. Almasaeid and Ahmed E. Kamal Dept. of Electrical and Computer Engineering, Iowa State University, Ames, IA 50011 Email:{hisham,kamal}@iastate.edu

More information

Graph Connectivity G G G

Graph Connectivity G G G Graph Connectivity 1 Introduction We have seen that trees are minimally connected graphs, i.e., deleting any edge of the tree gives us a disconnected graph. What makes trees so susceptible to edge deletions?

More information

A two-level metaheuristic for the All Colors Shortest Path Problem

A two-level metaheuristic for the All Colors Shortest Path Problem Noname manuscript No (will be inserted by the editor) A two-level metaheuristic for the All Colors Shortest Path Problem F Carrabs R Cerulli R Pentangelo A Raiconi Received: date / Accepted: date Abstract

More information

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

CS261: Problem Set #1

CS261: Problem Set #1 CS261: Problem Set #1 Due by 11:59 PM on Tuesday, April 21, 2015 Instructions: (1) Form a group of 1-3 students. You should turn in only one write-up for your entire group. (2) Turn in your solutions by

More information

Approximation Algorithms

Approximation Algorithms Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Approximation Algorithms Tamassia Approximation Algorithms 1 Applications One of

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

Toward the joint design of electronic and optical layer protection

Toward the joint design of electronic and optical layer protection Toward the joint design of electronic and optical layer protection Massachusetts Institute of Technology Slide 1 Slide 2 CHALLENGES: - SEAMLESS CONNECTIVITY - MULTI-MEDIA (FIBER,SATCOM,WIRELESS) - HETEROGENEOUS

More information

Topics in Combinatorial Optimization February 5, Lecture 2

Topics in Combinatorial Optimization February 5, Lecture 2 8.997 Topics in Combinatorial Optimization February 5, 2004 Lecture 2 Lecturer: Michel X. Goemans Scribe: Robert Kleinberg In this lecture, we will: Present Edmonds algorithm for computing a maximum matching

More information

MOST attention in the literature of network codes has

MOST attention in the literature of network codes has 3862 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 8, AUGUST 2010 Efficient Network Code Design for Cyclic Networks Elona Erez, Member, IEEE, and Meir Feder, Fellow, IEEE Abstract This paper introduces

More information

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur Lecture : Graphs Rajat Mittal IIT Kanpur Combinatorial graphs provide a natural way to model connections between different objects. They are very useful in depicting communication networks, social networks

More information

Complexity of Disjoint Π-Vertex Deletion for Disconnected Forbidden Subgraphs

Complexity of Disjoint Π-Vertex Deletion for Disconnected Forbidden Subgraphs Journal of Graph Algorithms and Applications http://jgaa.info/ vol. 18, no. 4, pp. 603 631 (2014) DOI: 10.7155/jgaa.00339 Complexity of Disjoint Π-Vertex Deletion for Disconnected Forbidden Subgraphs Jiong

More information

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

NEW STABILITY RESULTS FOR ADVERSARIAL QUEUING

NEW STABILITY RESULTS FOR ADVERSARIAL QUEUING NEW STABILITY RESULTS FOR ADVERSARIAL QUEUING ZVI LOTKER, BOAZ PATT-SHAMIR, AND ADI ROSÉN Abstract. We consider the model of adversarial queuing theory for packet networks introduced by Borodin et al.

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

Location Routing Problems on Trees

Location Routing Problems on Trees Location Routing Problems on Trees Julián Aráoz, Elena Fernández,, and Salvador Rueda Department of Statistics and Operation Research, Universitat Politècnica de Catalunya-BcnTech, Spain Barcelona Graduate

More information

A Novel Class-based Protection Algorithm Providing Fast Service Recovery in IP/WDM Networks

A Novel Class-based Protection Algorithm Providing Fast Service Recovery in IP/WDM Networks A Novel Class-based Protection Algorithm Providing Fast Service Recovery in IP/WDM Networks Wojciech Molisz and Jacek Rak Gdansk University of Technology, G. Narutowicza 11/12, Pl-8-952 Gdansk, Poland

More information