Capacity Factors of a Point-to-point Network Yuan Lia,1, Yue Zhaob, Haibin Kana,1,∗ aSchool of Computer Science, Fudan University, Shanghai 200433, China bSchool of Mathematical Science, Fudan University, Shanghai 200433, China 2 cShanghai Key Lab of Intelligent Information Processing, Fudan University, Shanghai 1 200433, China 0 2 n a J Abstract 3 1 In this paper, we investigate some properties on capacity factors, which were ] proposed to investigate the link failure problem from network coding. A T I capacity factor (CF) of a network is an edge set, deleting which will cause . s the maximum flow to decrease while deleting any proper subset will not. c [ Generally, a k-CF is a minimal (not minimum) edge set which will cause the network maximum flow decrease by k. 2 v Under point to point acyclic scenario, we characterize all the edges which 5 are contained in some CF, and propose an efficient algorithm to classify. And 3 4 we show that all edges on some s-t path in an acyclic point-to-point acyclic 0 network are contained in some 2-CF. We also study some other properties of . 1 CF of point to point network, and a simple relationship with CF in multicast 0 2 network. 1 On the other hand, some computational hardness results relating to ca- : v pacity factors are obtained. We prove that deciding whether there is a capac- i X ityfactorofacyclicnetworkwithsizenotlessagivennumberisNP-complete, r and the time complexity of calculating the capacity rank is lowered bounded a by solving the maximal flow. Besides that, we propose the analogous defini- tion of CF on vertices and show it captures edge capacity factors as a special case. Keywords: network coding, capacity factor, capacity rank, point-to-point network, multicast network, NP-complete, vertex capacity factor. ∗ Corresponding author Email addresses: [email protected](Yuan Li), [email protected](Yue Zhao), [email protected](Haibin Kan) Preprint submitted to Information Science January 16, 2012 1. Introduction Reliability is a critical theme in the topology design of communication networks. In traditional combinatorial network theory, we use the concept edge-connectivity to evaluate the reliability of a network in case of edge failures [2]. A lot of intense studies have been focused on the connectivity of a network and extending concepts such as super connectivity and conditional connectivity [2], [6], [8]. The more recent study of network coding shows that [1] by coding at internal vertices, onecanachieve theoptimalcapacityofamulticast network, whichisupperboundedbythemaximum flow(minimum cut)ofthenetwork. However, this optimal capacity can not be achieved by traditional routing scheme. Here comes a question: for a network coding-based network, is it still ap- propriatetoevaluateitsreliabilitybytraditionalconceptslikeedge-connectivity as mentioned above? For traditional networks where only routing schemes are adopted, the communication will not be ruptured in case of edge failures as long as at least one path from source to the sink vertex still exists. How- ever, in network coding-based network, the communication will be degraded even if the failures of an edge set may reduce the number of disjoint paths between source and sink vertices for the network capacity is decreased. Koetter et al. [10] first mentioned the edge failure problems in network coding-based networks. Cai and Fan [3] formally proposed the concept of capacity factor and capacity rank. The capacity rank characterizes the crit- icality of a link for the network communication. When there is no capacity factor containing an edge, the capacity rank of this edge is defined as ∞. Recently, we notice some related work in [5] about k-Route Cut, which is the minimum number of edges to let the connectivity of every pair of source and sink falls below k. They not only propose some approximation algorithms, but also prove some computational hardness results. In fact, the generalized definition of k-CF captures some definitions such as k-route cute when the connectivity is defined as maximal number of edge-disjoint paths. In [3], the authors proposed an open problem which is deciding the ca- pacity rank of a given edge. In this paper, we obtain an equivalent condition that deciding whether CR(e) = ∞. By this result, it is easy to develop an algorithm in O(V3) to determine whether the capacity rank of a given edge is 2 finite or infinite, which partially answers the open problem in [3]. Although neither can we find an efficient algorithm to compute the capacity rank of a general network, nor can we prove the problem is NP-hard, we obtain some computational hardness results relating to it. For example, we prove that deciding whether there is a capacity factor with size not less than a given number is NP-complete, and show the time complexity of computing the capacity rank is lower bounded by that of solving maximal flow. Even though there is no benefit of network coding on single-source single- sink network, our results are mainly focused on single-source single-sink sce- nario. There are mainly two reasons: the study on point-to-point network maybringinsights intomulticast scenario; theCFisanaturalconcept, which might be interesting on its own right. This paper is organized as follows. In section II , we review some basic definitions, notations and related results. In section III, we investigate some properties of capacity factors, including both point-to-point scenario and multicast scenario. In section IV, we propose an algorithm to calculate the D-set and H-set with its correctness proved and time complexity analyzed. In section V, we present some computational hardness results relating to capacity factors. 2. Preliminaries In this section, we review some basic definitions, notations and results, which will be used in the sequel. A communication network is a collection of directed links connecting transmitters, switches, and receivers. It is often represented by a 4-tuple N = (V,E,S,T), where V is the vertex (node) set, E the edge (link) set, S the source vertex set and T the sink vertex set. A communication network N is called a point-to-point communication network if |S| = |T| = 1, denoted by N = (V,E,s,t), where s is the source vertex and t the sink vertex. Without loss of generality, we may assume that all links in a network have the same capacity, 1 bit per transmission slot. For u,v ∈ V, denote by hu,vi the edge from u to v. If there are k edges from u to v, we denote by hu,vi the set consisting of edges from u to v, or simply denote it by hu,vi k when there is no ambiguity. For an edge e = hu,vi, u is called the tail of e and denoted by tail(e), and v is called the head of e and denoted by head(e). If F ⊆ E, denote by N\F the network obtained by deleting edges in F from N. If V′ ⊆ V, denote by N(V′) the network consisting of vertices in 3 V′ and the edges among V′ of N, calling the vertex-induced network of N by V′. For V ,V ⊆ V, denote by [V ,V ] the set consisting of all links with 1 2 1 2 tails in V and heads in V . For a network N = (V,E,S,T), an S-T cut of 1 2 N is [V ,V ] such that V is a subset of V containing all vertices in S but not 1 1 1 containing any vertex in T. A minimal S-T cut of N is an S-T cut with the minimal size, denoted by C (S,T). N It is well known that, for a point-to-point network N = (V,E,s,t), the maximal flow from s to t is equal to the minimal s-t cut of N and a feasible flow is a maximal flow if and only if there is no augmenting path in the corresponding residual network (Max-flow Min-cut Theorem [4], [13]). If each link in N has unit capacity, then the maximal flow f of N corresponds to |f| edge-disjoint paths from s to t in N (Integrality Theorem [13]), where f denotes a collection of edge-disjoint paths (a flow) and |f| denotes the number of the paths. Throughout the paper, we always assume each link has unit capacity. Let N = (V,E,s,t) be a point-to-point network. For any vertex v ∈ V, we can assume that there exists a path from s to t in N which passes the vertex v. Otherwise, we can delete the vertex v because v is useless for the communication between s and t in N. Similarly, for any edge e ∈ E, we can assume that there exists a path form s to t which passes the edge e. Definition 2.1. [3] Let N = (V,E,s,t) be a point-to-point network. A nonempty subset F of E is a capacity factor of N if and only if the following two conditions hold: 1. C (s,t) < C (s,t); N\F N 2. C = C (s,t) for any proper subset F′ofF. N\F′ N N\F denotes the induced network formed by deleting F in N. By this definition, for a capacity factor F, adding any one edge e ∈ F in thepoint-to-pointnetworkN\F willincreasethemaximalflow. Sinceadding one edge can increase the maximal flow by at most 1, we have C (s,t) = N\F C (s,t)−1. N Generally, we can define kth order capacity factor (k-CF) of as follows, where the motivation will be clear in the multicast scenario. Definition2.2. LetN = (V,E,s,t)be a point-to-pointnetwork. Anonempty th subset F of E is a k order capacity factor (k-CF) of N if and only if the following two conditions hold: 4 1. C (s,t) ≤ C (s,t)−k; N\F N 2. C > C (s,t)−k for any proper subset F′ofF. N\F′ N N\F denotes the induced network formed by deleting F in N. Since the network coding capacity of a single-source multi-sink network N = (V,E,s,T), where T = (t ,...,t ), is upper bounded by the minimal 1 m of the maximal flow from s to t [1], i.e., the capacity region is i (C (s,t ),C (s,t ),...,C (s,t )). N 1 N 2 N m Therefore, we have the following definition of k-CF on a multicast network. Definition2.3. N = (V,E,s,T)isa multicastnetworkand T = {t ,...,t }, 1 m −→ th edge set F is a (k ,k ,...,k ) order capacity factor (k -CF) of N if and 1 2 m only if: (1) For all 1 ≤ i ≤ m,C (s,t ) ≤ C (s,t )−k ; N\F i N i i (2) For any F′ ( F, there exists i ∈ {1,...,m}, such that C (s,t ) > N\F′ i C (s,t )−k . N i i −→ When k 6= 0 and k ≤ 1, we say F is a CF of multicast network N. i One could easily generalize the above definition to multi-source multi- sink network. This generalized definition captures the k-route cut problem −→ of edge-connectivity version, i.e., k-route cut is the minimum k -CF where −→ k = (f −k +1,...,f −k +1). 1 t Following is the definition of D-set and H-set, which is simply the edge union of all CFs and all the remaining ones. Definition 2.4. [3] Let N = (V,E,s,T) be a point-to-point or multicast communicationnetwork. Thecollectionof all its capacityfactors D = {F ,F ,...,F } 1 2 r r is called the capacity factor set of N. While D = F is called the D-set Si=1 i of N and H = E\D is called the H-set of N. By the definition, it is not difficult to see that C (s,t) = C (s,t). N\H N Thus, the edge set of a point-to-point network can be decomposed into two disjoint parts, namely D-set and H-set, which represent the relatively impor- tant links and the unimportant links. However, this classification is a little rough. The next definition gives a concept characterizing the criticality of a link more precisely. 5 Definition 2.5. [3] Let N = (V,E,s,t) be a point-to-point network. The capacity rank of a edge e ∈ E is the minimum size of the capacity factors containing e, denoted by CR (e) or CR(e) when there is no ambiguity. If N there is no capacity factor containing e, we define CR(e) = ∞. The links with smaller capacity ranks are of higher criticality. How to calculate the capacity rank of a given edge? As far as we know, the problem is still open. A direct idea is to find all the capacity factors and then decide the capacity rank of each edge. The following example shows it’s impractical since the number of capacity factors may grow exponentially with the size of network. e 2 e e 1 3 e 5 e e 4 6 e s′ e e e s 0 7 8 9 t e e 3n−2 3n e 3n−1 Figure 1: Network with exponential number of 1-CFs Consider the network N = (V,E,s,t) shown in Figure 1, where |V| = 2n + 3,|E| = 3n + 1. The network can be decomposed into n internally disjoint paths from s′ to t and an individual edge e . The maximal flow of N 0 is1. Let F = {e ,e ,...,e }, 3(k−1)+1 ≤ i ≤ 3k fork = 1,2,...,n. Due i1 i2 in k to the simple structure of the network, it is easy to see that F is a capacity factor of N and all capacity factors besides {e } can be written in the form 0 of F. Therefore, the total number of capacity factor of N is 3n +1, which grows exponentially with |V|+|E|. 3. Some Properties of Capacity Factor The following lemma is very useful, which guarantees the existence of some k-CF containing a specific edge e when some conditions are satisfied. 6 Lemma 3.1. Let N = (V,E,s,t) be a point-to-point network. For an edge e ∈ E and an integer 1 ≤ k ≤ C (s,t), if there exists a edge set F′ ⊆ E N containing e such that C (s,t) = f−k, C (s,t) > f−k, then there N\F′ N\(F′\e) exists a k-CF containing e. Proof. Let Fk = {F′ ⊆ E | e ∈ F′, C (s,t) = f − k, C (s,t) > e N\F′ N\(F′\e) f − k}. By condition, Fk is not empty. Hence we can find a F ∈ Fk e e with minimal cardinality. In fact, F is what we want. Firstly, we have C (s,t) = f − k. Secondly, ∀ e′ ∈ F, if e′ = e then we already have N\F C (s,t) > f − k otherwise if C (s,t) = f − k then F \ e′ still N\(F\e) N\(F\e′) belongs to Fk which contradicts with that F has the minimal cardinality. So e C (s,t) > f −k for all e′ ∈ F, which implies F is a k-CF. N\(F\e′) The following proposition only holds for acyclic network, and therefore all properties depending on it only holds for acyclic network. Proposition 3.2. Let N = (V,E,s,t) be an acyclic network. If N can be decomposed into C (s,t) edge-disjoint paths, then for any e ∈ E, we have N C (s,t) = C (s,t)−1. N\e N Proof. Let N′ = N\e, m = C (s,t). Denote the m edge-disjoint paths by N p , p , ..., p . Since N can be decomposed into C (s,t) disjoint paths, e 1 2 m N must be on one of the path. Without loss of generality, we assume e is on p m andp = (u ,u ,...,u ,u ...,u ), wherehu ,u i = eand1 ≤ k ≤ l−1. m 1 2 k k+1 l k k+1 Clearly, there is a feasible flow f on N′, which is consisting of m − 1 edge-disjoint paths p ,p ,...,p and hence C (s,t) ≥ m−1. Recalling 1 2 m−1 N′ Max-flow min-cut theorem, we know that a flow f is a maximal flow if and onlyifthereisnoaugmentingpathsontheresidualnetwork. Soitissufficient to show the residual network N′ has no augmenting path. f Since N is acyclic, we assign each vertex an integer label by topological order, such that hu,vi ∈ E implies L(u) < L(v). According totheedgedirectioninnetworkN, alltheedgesintheresidual network N′ can partitioned into two parts, forward edges and reversal edges. Consider all the forward edges in N′ , which can be viewed as the union f of two paths, (s = u ,...,u ) ∪ (u ,...,u = t). By the label properties 1 k k+1 l of vertices, for a forward edge (u,v) and a reversal edge (u′,v′), we have L(u) < L(v) and L(u′) > L(v′) respectively. Since u < u < ··· < u , 1 2 l there is no reversal edge with head in {u ,...,u } and tail in {u ,...,u }. k+1 l 1 k Therefore, u (= s) and u (= t) are disconnected and there is no augmenting 1 l path in the residual network N′ . This completes our proof. f 7 The following result shows thatany k-CF is contained insome (k+1)-CF, assuming the maximal flow of network is greater than k of course. Proposition 3.3. Let N = (V,E,s,t) be an acyclic network, and assume F is a k-CF of N, where k < C (s,t), there exists a (k +1)-CF F′ such that N F ⊆ F′. Proof. Let f = C (s,t). Assume e is a cut-edge of the network N \F. Let N F′ = F ∪{e}, then F′ is a (k +1)-CF of N. Because C = f −(k +1) N\F′ and ∀ F˜ ( F′, C (s,t) > f −k if e ∈/ F˜ otherwise C (s,t) ≥ f −k for N\F˜ N\F˜ deleting one edge at most diminishes one flow. The following theorem characterizes an edge which is contained in some k-CF of a point-to-point acyclic network. Theorem 3.4. Let N = (V,E,s,t) be an acyclic point-to-point network, and integer 1 ≤ k ≤ C (s,t). For any edge e ∈ E, there is a k-CF F N containing e if and only if there exists an s-t path p containing e such that C (s,t) ≥ C (s,t)−k. N\p N Proof. Let f = C (s,t). “ ⇒”: e ∈ F, F isa k-CF.Since C (s,t) = f−k, N N\F while adding e to N \ F the maximum flow increase by 1, we claim there is a path p containing e such that C (s,t) = f − k which implies (N\F)\p C (s,t) ≥ f −k. N\p “ ⇐”: By Proposition 3.3, assume C (s,t) = f −k. Since C (s,t) = N\p N\p f −k, there is a feasible flow on N \p, which can be decomposed into f −k f−k paths p , p ..., p . Denote by F = E \ ( p ∪ p), by Proposition 1 2 f−k S i i=1 f−k 3.2, E \ (F ∪ e) = (E \ F) \ e = p ∪ (p \ e) implies C (s,t) = S i N\(F∪e) i=1 C (s,t) = f−k. And C (s,t) = C (s,t) = f−k+1 > f−k. f−k N\F f−k S pi∪(p\e) S pi∪p i=1 i=1 Apply Lemma 3.1, we know there is always a k-CF F containing e. Recall that an edge of a network is either in the D-set is defined as the union of all CFs and H-set consists of all the remainings. Taking k = 1 in the of preceding theorem, we obtain the following result, which gives an equivalent condition to characterize edges in the D-set and H-set. 8 Corollary 3.5. Let N = (V,E,s,t) be a point-to-point acyclic network. For any e ∈ E on some s-t path, e is in the H-set if and only if for any s-t path containing e, C (s,t) ≤ C (s,t)−2; and e is in the D-set if and only if N\P N there exists some s-t path p containing e such that C (s,t) = C (s,t)−1. N\P N v v 1 e 3 3 e e 1 6 e s 4 t e e 2 7 e v 5 v 2 4 Figure 2: Example for D-set and H-set Consider the point-to-point acyclic network N = (V,E,s = v ,t = v ) 1 6 shown in Figure 2. There are three different s-t path in total, which are p = (s,v ,v ,t), p = (s,v ,v ,t) and p = (s,v ,v ,v ,v ,t). It’s clear 1 1 3 2 2 4 3 1 3 2 4 that C (s,t) = C (s,t) = 1, but C (s,t) = 0. Thus e = hv ,v i N\p1 N\p2 N\p3 4 3 2 is the only edge satisfying the conditions in Corollary 3.5. Therefore H = {e } and D = E\H = {e ,e ,e ,e ,e ,e }, which coincides with the direct 4 1 2 3 5 6 7 computation that D = F = {e }∪{e }∪{e }∪{e }∪{e }∪{e }∪ SCFF 1 2 2 3 5 6 {e } = {e ,e ,e ,e ,e ,e }. 7 1 2 3 5 6 7 Even though network N is assumed to be acyclic in traditional network coding, we still want to know whether this characterization holds in a cyclic network. In fact, if an edge is in D-set, then there exists a path p containing it and satisfying C (s,t) = C (s,t) − 1. It’s easy to check that proof N\p N procedure of necessity in Theorem 3.4 also holds for cyclic network. But the sufficiency proof does not work. Because Proposition 3.2 does not hold for cyclic network. The following is a counterexample. Consider a cyclic network N = (V,E,s,t) in Figure 3. Clearly, H = {hv ,v i,hv ,v i}. However, path p = (s,v ,v ,t) covers hv ,v i and satisfy- 1 2 2 1 1 2 1 2 ing C = C (s,t)−1 = 1, and so dos path p = (s,v ,v ,t). N\p N 2 1 The following result shows that any k-CF can be decomposed into an m-CF and (k −m)-CF corresponding to different networks. 9 v 1 s t v 2 Figure 3: A counterexample for cyclic network Proposition 3.6. Let N = (V,E,s,t) be a point-to-point network. If F is a k-CF of N, then ∀ 1 ≤ m ≤ k−1, ∃F′ ⊆ F such that F′ is a m-CF of N and F \F′ is a (k −m)-CF of N \F′. Proof. Let f = C (s,t). Denote F = {F′ ⊆ F | C (s,t) = f −m},m = N m N\F′ 0,1,...,k. Since deleting one edge will cause the maximum flow decrease by at most 1, we can show F 6= ∅ for m = 1,2,...,k −1 by induction. m For ∀1 ≤ m ≤ k −1 we claim that F˜ ∈ F with |F˜| = min{|F′| | F′ ∈ m F } is a m-CF of N. We only need to show ∀F′ ( F˜, C ≥ f −m+1, m N\F′ which is true by the minimality of F′. Finally, we should prove if F′ is an m-CF of N and F′ ⊆ F then F \F′ is a (k−m)-CF of N \F′. Denote F′′ = F\F′. Notice (E\F′)\F′′ = E\(F′∪ F′′) = E\F, we have C (s,t) = C = f −k = (f −m)−(k−m). (N\F′)\F′′ N\F Since C (s,t) = f −m, we only need ∀F˜ ( F′, C (s,t) > f −k. N\F′ (N\F′)\F˜ Otherwise, if ∃F˜ ( F′ such that C (s,t) = f − k, we may have (N\F′)\F˜ F′ ∪F˜ ( F and C (s,t) = f −k which is impossible. N\(F′∪F˜) The following corollary is a direct generalization of the preceding result, which says a k-CF can be decomposed arbitrary. Corollary 3.7. Let N = (V,E,s,t) be a point-to-point network, and F is a k-CFof N. Foranyn ∈ Z+ andk ∈ Z+ (i = 1,2,...,n) such that n k = i Pi=1 i n k, then there exists pairwise disjoint sets Fi ⊆ F such that [Fi = F and Fi i=1 i−1 is a k -CF of N \( F ). i S j j=1 It’s natural to ask whether the converse is true, i.e., if there exists k ∈ i Z+ (i = 1,2,...,n) and pairwise disjoint sets F ⊆ E such that F is a k -CF i i i 10