Finding Small Dijoins in Transitive Closure Time
Abstract
We present a faster algorithm for finding a minimum dijoin, a smallest set of edges whose contraction makes a directed graph strongly connected. This problem has been studied since the 1960s [Seshu and Reed 1961] and is dual to finding a maximum sized family of disjoint dicuts [Lucchesi and Younger 1978].
Given a directed graph with vertices and edges whose minimum dijoin has size , our algorithm outputs both a minimum dijoin and a maximum sized family of disjoint dicuts in time, where is the time to compute the transitive closure. This improves upon the state of the art of [Gabow 1993], which requires time when . Our result extends to finding a minimum weighted dijoin. We achieve this by observing that Frank’s algorithm [Frank 1981] can be sped up when warm-started with a -approximation solution, which we observed can be computed in near-linear time.
Keywords and phrases:
Graph algorithms, Dijoin, Submodular flowFunding:
Thatchaphol Saranurak: Supported by NSF Grant CCF-2238138.Copyright and License:
2012 ACM Subject Classification:
Theory of computation Network flowsEditors:
C. Aiswarya, Ruta Mehta, and Subhajit RoySeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
The primary goal of this work is to give an algorithm with an improved running time for the minimum (weighted) dijoin problem. We define the problem formally.
1.1 Problem definition
In a directed graph with vertices and edges, a dijoin is a subset of edges whose contraction makes the graph strongly connected. The minimum dijoin problem seeks a dijoin of minimum possible size.
The dual of the minimum dijoin problem is to find a maximum disjoint dicut family, defined as follows. For any vertex sets , let denote the set of edges where and . A directed cut, or simply dicut, is a subset of edges such that there exists a set for which and . In the maximum disjoint dicut family problem, we want to find a maximum collection of dicuts with pairwise disjoint edge sets.
The weighted variants of these problems involve an edge weight function . The minimum weighted dijoin requires finding a dijoin that minimizes the total weight of its edges. Its dual deals with finding a maximum-sized -independent dicut family, a family of dicuts such that each edge appears in at most dicuts within the family.
1.2 Previous work and technical challenges
Enhancing connectivity in directed graphs under minimal edge additions/contractions is a fundamental theme in graph theory. A central problem in this domain is the minimum dijoin problem, first posed by John Runyon (as cited in [23]). Younger [25] and Robertson (unpublished) independently conjectured that the minimum size of a dijoin equals the maximum size of a disjoint dicut family. This fascinating min-max statement was first proved for bipartite graphs by [21] and then proved for general graphs by Lucchesi and Younger in their seminal work [20]. This theorem is a canonical example of problems captured by the submodular flow framework [2], a vast generalization of both minimum-cost flow and matroid intersection. It has played a central role in the development of submodular flow algorithms [26, 22, 5, 8, 9, 10, 14, 3, 7, 18].
Below, we discuss the algorithmic aspect of these problems. All prior results extend naturally to weighted variants. Lucchesi and Younger [19], Karzanov [17], and Frank [4] independently gave the first polynomial-time algorithms for the minimum dijoin problem. Among them, the algorithm by Frank [4] runs in time. Frank’s algorithm maintains a feasible dijoin and a disjoint dicut family and iteratively improves both until their sizes become equal, at which point both are optimal by the min-max theorem. He provided an -time subroutine for improving the solution pair, and showed that the number of iterations is at most the size of the initial feasible dijoin. This quantity is bounded by , as edges of any spanning tree form a feasible dijoin, leading to the time claimed above.
Let denote the time to compute the transitive closure of a directed graph with vertices and edges, where is the matrix multiplication exponent. Gabow [13, 12] improved the running time of the iterative sub-routine to . He [14] further reduced the number of iterations to leading to the state-of-the-art running time of . The algorithm by Gabow [12] for the iterative sub-routine is applicable to a class of more general problems. Subsequent work by [24, 16] gave simpler -time algorithms for the iterative sub-routine specifically tailored to the dijoin problem.
All of these approaches rely on computing minimal tight sets to improve the pair of solutions. Shepherd and Vetta [24] gave a reduction showing that the minimal tight set computation is as hard as computing the transitive closure. Hence, effectively becomes the best time bound one can hope for within this framework. This leads us to the following question.
Can we compute a minimum dijoin and a maximum disjoint dicut family in time?
Although the dijoin problem is a special case of submodular flow, recent developments in submodular flow algorithms have not yielded improved bounds. In particular, the algorithm by Lee, Sidford and Wang [18] applies only when the input submodular function is defined over a complete set family , whereas the dijoin problem requires a function defined on a more general crossing family where, in particular, .
1.3 Our Contributions
Improved algorithm for unweighted dijoin.
We give an algorithm with running time for solving the minimum dijoin problem, where is the size of the minimum dijoin and maximum disjoint dicut family. Formally,
Theorem 1.
There exists an algorithm that, given an unweighted directed graph , computes a minimum dijoin and a maximum disjoint dicut family in time.
Within the algorithmic framework that relies on computing minimal tight sets, our algorithm achieves the optimal time when . When , our algorithm outperforms the fastest algorithm by Gabow [14].
We also extend this result to the weighted case, giving an algorithm to find a minimum weighted dijoin. Formally,
Corollary 2.
There exists an algorithm that, given a weighted directed graph where , computes a minimum weighted dijoin in time, where represents the minimum cardinality of all feasible dijoins.
1.4 Organization
Section 2 presents the two key ingredients needed to obtain an algorithm for the minimum weighted dijoin problem, and then Section 3 combines them, proving Theorems 1 and 2. We conclude this section by introducing the notation used throughout the rest of the paper.
1.5 Preliminaries
For a directed edge , we refer to as the tail and as the head. For any two subsets of vertices , let denote the set of directed edges whose head is in and tail is in . We write to denote the set of incoming edges to , i.e., , and for the outgoing edges from , i.e., in the graph . We omit the subscripts if it is clear from the context. We refer to a set with and as the kernel of the dicut .
We begin with some simple structural observations about the dijoin problem. Without loss of generality, we may assume the input graph is weakly connected, i.e., the underlying undirected graph obtained by ignoring edge directions is connected, since disconnected graphs have no feasible dijoin.
We may also assume that is acyclic. If contains a directed cycle , then any vertex reachable to/from a vertex in can reach or be reached from all vertices in . Therefore, contracting preserves reachability and does not affect the minimum dijoin. Repeating this process, we reduce to a DAG without changing the dijoin size.
This also ensures that does not contain both an edge and its reverse, as they form a directed cycle of length two.
A directed graph is strongly connected if and only if it contains no dicut. Since contracting an edge in a dicut removes it, a dijoin can be equivalently defined as a subset of edges intersecting every dicut in the graph.
We use to denote the graph obtained by reversing all arcs of . For a weighted graph , where is the set of reverse arcs of and is defined by . The following proposition formalizes the symmetry of the dijoin problem under graph reversal.
Proposition 3.
Let be a weighted directed graph, and let be its reverse. Then a subset is a feasible dijoin in if and only if is a feasible dijoin in , and the total weights of the two solutions are equal.
Proof.
Since contraction and reversal commute, we have for any edge set . Moreover, strong connectivity is preserved under reversal: is strongly connected if and only if is. Thus, is a dijoin in if and only if is a dijoin in . The weight equality follows from the definition of .
We formally define the min-cost -arborescence problem for future reference.
Definition 4 (-arborescence).
Given a graph and a vertex , an -arborescence is a spanning tree of rooted at , with no incoming edges into , where every vertex has exactly one incoming edge. The cost of the arborescence is defined as the total weight of all edges of the arborescence.
Problem 5 (Min-cost -arborescence).
Given a directed graph and , find an -arborescence of minimum cost, if one exists.
2 Technical overview
In this section, we state the two key ingredients needed for proving Theorem 1: Frank’s primal-dual algorithm from [4, 12] for computing the optimal weighted dijoin, and a -approximation algorithm for the same problem from [6, 1].
First ingredient
We begin by recalling Frank’s primal-dual framework for the minimum weighted dijoin problem, where the primal corresponds to the dijoin problem and the dual to the -independent dicut family. The algorithm maintains a potential function as a proxy for the dual solution. (The construction of the corresponding dicut family is deferred.) Frank gives sufficient conditions on a dijoin-potential pair that ensure the optimality of both solutions:
Optimality criteria:
| (1) | ||||
| (2) | ||||
| (3) |
Here, denotes the intersection of all kernels containing whose corresponding dicuts intersect in exactly one edge. These are referred to as minimal tight sets in Frank’s work.
Let be any spanning tree and the zero function. Frank starts with as the initial primal-dual pair. Note that already satisfies Equations 2 and 3 and violates only Equation 1. He then describes a subroutine that updates the given to a new pair that still satisfies Equations 2 and 3 and a strictly smaller number of edges violate Equation 1. We define it below. Let denote the set of edges that violate Equation 1 with respect to the solution pair .
Lemma 6 (Algorithm 4.1 from [4]).
There exists a subroutine, ImprovePair, which takes a directed graph , a primal-dual pair satisfying Equations 2 and 3, along with an edge that currently violates Equation 1. It returns a new pair such that:
-
Equations 2 and 3 still hold for the pair ,
-
The subroutine runs in time, where denotes the time required to compute for all .
The proof of correctness for this lemma is given in Section 4 of [4], and the running-time analysis in Section 5. To compute for all vertices in Lemma 6, Gabow [12] showed that this can be done in time.
Lemma 7 (Theorem 12.1 from [12]).
Given and a dijoin , the sets for all can be computed in time.
As discussed in the introduction, transitive closure can be reduced to computing minimal tight sets. Hence, this lemma achieves the best possible running time for this task.
Second ingredient
As noted in Lemma 6, the number of initially violated edges determines the number of ImprovePair iterations and hence the overall running time.
While [4, 14] use a spanning tree as the trivial starting solution, we observe that a better dijoin can be obtained in linear time whose size is at most twice that of the optimum. This yields Theorems 1 and 2.
Bang-Jensen et al. [1] give a -approximation algorithm for a generalization of the minimum dijoin problem. We note that their algorithm for the dijoin problem can be implemented in near-linear time and outline the details below.
For this purpose, we define the rooted variant of the dijoin problem as follows.
Problem 8 (Minimum -Dijoin).
Given a directed graph and a vertex , an -dijoin is a set of edges such that, after contracting them, can reach all vertices. The minimum -dijoin problem is to find an -dijoin with minimum total weight.
Frank [6] observes that a minimum -dijoin can be computed in near-linear time by reducing to the min-cost arborescence problem. Note that adding a reverse edge is equivalent to contracting an edge in terms of preserving reachability. Hence an -dijoin can be equivalently seen as the set of reverse edges which need to be added so that every vertex is reachable from . Given these observations, the reduction is simple and proceeds as follows.
Given a graph , construct the graph , where is the same graph as with edge weights set to zero; refer Section 1.5 for the definition of . Compute a min-weight -out-arborescence . Observe that the set of reverse edges in corresponds to an -dijoin (with respect to the equivalent definition of adding reverse edges) in and is the minimum-weight set with that property. As the minimum-weight -arborescence can be found in , we have the following theorem.
Theorem 9.
There exists an algorithm that takes a weighted directed graph and a vertex as input and finds a minimum -dijoin in time.
It is worthwhile to note that even for the -dijoin problem, computing minimal tight sets is known to require at least transitive-closure time [24], presenting a fundamental bottleneck for any approach that relies on such computations. Theorem 9 circumvents this barrier by avoiding the computation of minimal tight sets entirely. An intriguing open question is whether a similar approach can be developed for the general minimum dijoin problem, potentially breaking the -time barrier.
We observe that the dual of the -dijoin – similarly defined as a maximum -independent -dicut family – can also be solved in time. This is discussed in detail in Appendix A, as it is not directly relevant to the current work.
Given Theorem 9, the key insight in [1] is that combining a minimum -dijoin in with the reverse of a minimum -dijoin in results in a -approximate dijoin of . The algorithm is shown below. Let sDijoin denote the algorithm mentioned in Theorem 9.
Theorem 10 ([1]).
There exists an algorithm that, given a weighted directed graph , outputs a -approximate dijoin in time.
We now state an immediate corollary of Theorem 10, needed in the next section.
Corollary 11.
For any unweighted directed graph, a feasible dijoin of size at most (where is the size of an optimal dijoin) can be found in time.
3 -Algorithm for Minimum Dijoin
This section combines the two ingredients from the technical overview to derive our algorithm and prove Theorems 1 and 2. Lemma 12 shows how ImprovePair yields a primal-dual pair satisfying the optimality conditions, and Lemma 13 shows how to construct the corresponding optimal disjoint dicut family. Together, these results establish Theorem 1, which is followed by the proof of Corollary 2.
We will now prove Lemma 12.
Lemma 12.
There exists an algorithm that, given an unweighted directed graph , computes a primal-dual pair satisfying Equations 1, 2, and 3 in time.
Proof.
Let be a dijoin of size at most computed using Corollary 11, and let be the initial potential function. The pair satisfies Equations 2 and 3, but may violate Equation 1 for up to many edges.
Each invocation of ImprovePair fixes at least one violation without introducing new ones, so at most invocations are needed to output a pair, , that satisfies the optimality criteria. By Lemma 6 and Lemma 7, each invocation is executed in time. Thus, the total time is
We now describe how to construct a disjoint dicut family from the optimal solution pair in the following lemma.
Lemma 13.
There exists an algorithm that, given an unweighted directed graph and an optimal solution pair , computes a maximum disjoint dicut family in time, where is the number of dicuts in the optimal family.
This lemma provides the second part of our promised output: a maximum disjoint dicut family. We present a modification to the algorithm by Frank (specifically, the version described at the end of Section 5 in [4]), altering the representation of the dicut family it outputs. This modification is necessary because Frank’s original algorithm requires time to construct the optimal dicut family from an optimal potential function, whereas we aim to compute the optimal dual solution within time.
If denotes the edge set of a dicut in the family, we output the complement of the corresponding kernel. For any graph , let denote the weakly connected component partition of the vertex set of graph . The algorithm is as follows:
We will now prove Lemma 13.
Proof of Lemma 13.
Given the unweighted directed graph and the pair of optimal primal dual solutions as inputs to Algorithm 2. It outputs a disjoint dicut family in which each edge occurs in at most one dicut which follows from the optimality condition Equation 1 as explained in [4]. The optimality of this family follows as the size of the family is equal to the cost of the optimal dijoin, as proved in [4].
We now analyze the running time of the algorithm when the graph is unweighted. It takes time to compute for all in line 1 using Lemma 7. Lines 2 and 3 take to sort and compute the partitions . Defining in line 7 and computing take at most as there can be edges in the worst case. Note that each iteration of the outer loop adds at least one dicut to . As the size of the optimal disjoint dicut family is , . Hence, it takes time overall for line 7 over the course of the algorithm.
For any set , contains at most edges. Thus, it takes time to compute for each component of . Since each induced subgraph has at least one component, it adds at least one dicut to . As there can be at most such computations in total, it takes time in total during the algorithm for line 10.
Thus, the overall running time is .
We now present the proof of the main result.
Proof of Theorem 1.
Given an unweighted directed graph , we first compute the pair of optimal primal-dual solutions using the algorithm from Lemma 12, where is the optimal dijoin. Then, we apply the algorithm from Lemma 13 with inputs and to obtain the optimal disjoint dicut family.
Computing the optimal primal-dual pair takes time, and constructing the dicut family takes time. The total time remains .
We will now prove Corollary 2 using Theorem 1.
Proof of Corollary 2.
Given a weighted graph with , consider the underlying unweighted graph and let be the cardinalities of the optimal weighted dijoin and the optimal unweighted dijoin, respectively. We know that as any weighted dijoin ignoring weights is a feasible dijoin with the same cardinality.
Let be the feasible dijoin obtained by giving as input to Corollary 11 and it guarantees that .
Hence, starting with the solution pair where as the potential function, at most edges violate Equation 1. From the guarantees of Lemma 6, together with Lemma 7, we know that each iteration takes time and reduces one violated edge, so the final pair after at most iterations, satisfies the optimality criteria which implies optimality; in particular, is an optimal weighted dijoin. The total time taken is at most .
References
- [1] Jørgen Bang-Jensen, Florian Hörsch, and Matthias Kriesell. Complexity of (arc)-connectivity problems involving arc-reversals or deorientations. Theor. Comput. Sci., 973:114097, 2023. doi:10.1016/j.tcs.2023.114097.
- [2] Jack Edmonds and Rick Giles. A min-max relation for submodular functions on graphs. In P.L. Hammer, E.L. Johnson, B.H. Korte, and G.L. Nemhauser, editors, Studies in Integer Programming, volume 1 of Annals of Discrete Mathematics, pages 185–204. Elsevier, 1977. doi:10.1016/S0167-5060(08)70734-9.
- [3] Lisa Fleischer and Satoru Iwata. Improved algorithms for submodular function minimization and submodular flow. In F. Frances Yao and Eugene M. Luks, editors, Proceedings of the Thirty-Second Annual ACM Symposium on Theory of Computing, May 21-23, 2000, Portland, OR, USA, pages 107–116. ACM, 2000. doi:10.1145/335305.335318.
- [4] András Frank. How to make a digraph strongly connected. Comb., 1(2):145–153, 1981. doi:10.1007/BF02579270.
- [5] András Frank. Finding feasible vectors of edmonds-giles polyhedra. Journal of Combinatorial Theory, Series B, 36(3):221–239, 1984. doi:10.1016/0095-8956(84)90029-7.
- [6] András Frank. Connections in combinatorial optimization. Discrete Appl. Math., page 1875, 2012. doi:10.1016/j.dam.2011.09.003.
- [7] András Frank and Zoltán Miklós. Simple push-relabel algorithms for matroids and submodular flows. Japan Journal of Industrial and Applied Mathematics, 29(3):419–439, 2012. doi:10.1007/s13160-012-0076-y.
- [8] András Frank and Éva Tardos. Generalized polymatroids and submodular flows. Mathematical Programming, 42(1):489–563, 1988. doi:10.1007/BF01589418.
- [9] András Frank and Éva Tardos. An application of submodular flows. Linear Algebra and its Applications, 114-115:329–348, 1989. doi:10.1016/0024-3795(89)90469-2.
- [10] Satoru Fujishige. Submodular functions and optimization. In Submodular Functions and Optimization, volume 58 of Annals of Discrete Mathematics, page 1. Elsevier, 1990.
- [11] D. R. Fulkerson. Packing rooted directed cuts in a weighted directed graph. Math. Program., 6(1), 1974. doi:10.1007/BF01580218.
- [12] H. N. Gabow. Centroids, representations, and submodular flows. Journal of Algorithms, 18(3):586–628, 1995. doi:10.1006/jagm.1995.1022.
- [13] Harold N. Gabow. A representation for crossing set families with applications to submodular flow problems. In Vijaya Ramachandran, editor, Proceedings of the Fourth Annual ACM/SIGACT-SIAM Symposium on Discrete Algorithms, 25-27 January 1993, Austin, Texas, USA, pages 202–211. ACM/SIAM, 1993. URL: http://dl.acm.org/citation.cfm?id=313559.313753.
- [14] H.N. Gabow. A framework for cost-scaling algorithms for submodular flow problems. In Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science, pages 449–458, 1993. doi:10.1109/SFCS.1993.366842.
- [15] Anupam Gupta. Lecture 2: Arborescences, 2020. Lecture Notes, CMU Course 15-850: Advanced Algorithms.
- [16] Satoru Iwata and Yusuke Kobayashi. An algorithm for minimum cost arc-connectivity orientations. Algorithmica, 56(4):437–447, 2010. doi:10.1007/s00453-008-9179-x.
- [17] A. V. Karzanov. On the minimal number of arcs of a digraph meeting all its directed cutsets. Graph Theory Newsletter, 8(4), 1979. Abstract.
- [18] Yin Tat Lee, Aaron Sidford, and Sam Chiu-wai Wong. A faster cutting plane method and its implications for combinatorial and convex optimization. CoRR, abs/1508.04874, 2015. arXiv:1508.04874.
- [19] C. L. Lucchesi. A Minimax Equality for Directed Graphs. Ph.d. thesis, University of Waterloo, 1976.
- [20] C. L. Lucchesi and D. H. Younger. A minimax theorem for directed graphs. Journal of the London Mathematical Society, s2-17(3):369–374, 1978. doi:10.1112/jlms/s2-17.3.369.
- [21] I. P. McWhirter and D. H. Younger. Strong covering of a bipartite graph. Journal of the London Mathematical Society, s2-3(1):86–90, 1971. doi:10.1112/jlms/s2-3.1.86.
- [22] A. Schrijver. Min-Max Results in Combinatorial Optimization, pages 439–500. Springer Berlin Heidelberg, 1983. doi:10.1007/978-3-642-68874-4_18.
- [23] S. Seshu and M.B. Reed. Linear Graphs and Electrical Networks. Addison-Wesley series in behavioral science: Quantitative methods. Addison-Wesley Publishing Company, 1961. URL: https://books.google.com/books?id=mMk-AAAAIAAJ.
- [24] F.B. Shepherd and A. Vetta. Visualizing, finding and packing dijoins. In David Avis, Alain Hertz, and Odile Marcotte, editors, Graph Theory and Combinatorial Optimization, pages 219–254. Springer-Verlag, 2005. doi:10.1007/0-387-25592-3_8.
- [25] D. H. Younger. Feedback in a Directed Graph. Ph.d. thesis, Columbia University, 1963.
- [26] U. Zimmermann. Minimization on submodular flows. Discrete Applied Mathematics, 1982. doi:10.1016/0166-218X(82)90053-1.
Appendix A Optimal dual of -dijoin
In this section, we show how to solve the dual problem of -dijoin. We begin with some definitions.
Definition 14 (-dicut).
A dicut of the graph is an -dicut for some vertex if the kernel corresponding to the dicut contains .
The dual problem follows.
Problem 15 (Maximum -independent -dicut family).
Given a directed graph and a vertex , find a family of -dicuts with maximum possible size such that, each edge appears in at most -dicuts within the family.
We give an algorithm that solves this problem in time.
Theorem 16 (Informal).
There exists an algorithm that computes optimal -independent -dicut family in time.
There is a slight catch in the informal theorem above. The total size of the optimal -dicut family can be as large as and since we only have time, we have to be focusing on how we represent the output.
To represent a dicut, we can either list its edges or describe the vertex set defining the cut. In this case, we use the vertex-set representation. One can show that the complement of the kernels corresponding to the optimal family of -dicuts forms a laminar family. A family of vertex sets is laminar if any two sets in the family are either disjoint or one contains the other. So, we can represent them using a tree and we output this tree representation of an optimal -independent -dicut family in time.
To achieve this we follow a similar strategy as before reducing Problem 15 to the dual of the min-cost -arborescence problem. The key technical claim is that the algorithm for the dual of the min-cost -arborescence problem, when run on the graph , produces a -independent -dicut family.
We begin by introducing the necessary terminology and then present the dual of the minimum cost -arborescence.
A cut in a directed graph is defined as the set of edges for which there exists a set such that . An -cut is a cut where the corresponding vertex set contains . Note that the definitions of -cut and -dicut do not correlate in the directionality.
The dual of the min-cost -arborescence is stated as follows:
Problem 17 (Maximum -independent -cut family).
Given a directed graph and a vertex , find a family of -cuts of maximum possible size such that each edge is contained in at most many -cuts in the family.
The minimax result relating Problem 5 and Problem 17 is due to Fulkerson, who also provided the first algorithm for constructing an optimal dual solution to the minimum-cost arborescence problem.
Theorem 18 (Fulkerson branching theorem [11]).
The value of the minimum-cost -arborescence equals the maximum possible size of a -independent -cut family.
We refer to the lecture notes by Gupta [15], who presents an exposition showing how the algorithm for the minimum-cost arborescence implicitly solves the dual problem. He also provides a procedure to recover the dual solution by constructing the corresponding tree representation, thereby effectively proving the following theorem.
Theorem 19.
There exists an algorithm that, given a directed graph and , computes a tree representation, , of the maximum-sized -independent -dicut family in time.
We use Theorem 19 to find maximum -independent -dicut family and prove the following theorem.
Theorem 20.
There exists an algorithm that takes a directed graph , and outputs the tree representation of the optimal -independent -dicut family in time.
Proof.
Given a directed graph , construct the graph which has edges and vertices. Give and as inputs to the algorithm from Theorem 19 which outputs a tree representation of the optimal -independent -cut family in time.
We prove that is also an optimal -independent -dicut family by first proving that every -cut in is a -dicut in the original graph , proving feasibility, and that the size of equals the cost of an optimal -dijoin, proving optimality.
Consider any . Since is an -cut in , the set cannot contain zero-weight edges (from ) because these edges have weight and hence cannot appear in any cut of the -independent family. Thus, all edges in the -cut belong to , so
Similarly, cannot contain any edges of because that would force to include a zero-weight edge, which is impossible. Hence,
Therefore, is a -dicut in . As each edge in the -cut is from and occurs at most times, the corresponding edge in occurs in at most many -dicuts making a -independent -dicut family.
From Theorem 18, the size of the maximum -independent -cut family equals the cost of the minimum cost -arborescence on . The former quantity equals the size of a -independent -dicut family as shown above and the latter equals the cost of an optimal -dijoin by Theorem 9 proving optimality.
