38
Journal of Combinatorial Optimization, 4, 449–486, 2000 c 2000 Kluwer Academic Publishers. Manufactured in The Netherlands. Incrementing Bipartite Digraph Edge-Connectivity HAROLD N. GABOW [email protected] Department of Computer Science, University of Colorado at Boulder, Boulder, Colorado 80309-0430, USA TIBOR JORD ´ AN [email protected] Department of Operations Research, E¨ otv¨ os University, 1053 Kecskem´ eti utca 10-12, Budapest, Hungary Received January 13, 2000; Revised June 13, 2000; Accepted June 19, 2000 Abstract. This paper solves the problem of increasing the edge-connectivity of a bipartite digraph by adding the smallest number of new edges that preserve bipartiteness. A natural application arises when we wish to reinforce a 2-dimensional square grid framework with cables. We actually solve the more general problem of covering a crossing family of sets with the smallest number of directed edges, where each new edge must join the blocks of a given bipartition of the elements. The smallest number of new edges is given by a min-max formula that has six infinite families of exceptional cases. We discuss a problem on network flows whose solution has a similar formula with three infinite families of exceptional cases. We also discuss a problem on arborescences whose solution has five infinite families of exceptions. We give an algorithm that increases the edge-connectivity of a bipartite digraph in the same time as the best-known algorithm for the problem without the bipartite constraint: O(km log n) for unweighted digraphs and O(nm log(n 2 /m)) for weighted digraphs, where n, m and k are the number of vertices and edges of the given graph and the target connectivity, respectively. Keywords: graph algorithms, connectivity augmentation, min-max theorems, crossing family, square grid frame- work, rigidity 1. Introduction In the bipartite digraph edge-connectivity incrementation problem we are given a digraph whose undirected version is bipartite. We wish to increase the edge-connectivity by adding the smallest number of new edges that keep the graph bipartite. Figure 1 shows an example. Let k be any nonnegative integer. The graph of figure 1(a) is k -edge-connected. Adding three edges gives the (k + 1)-edge-connected graph of figure 1(b). It is easy to see that adding only two edges does not achieve (k + 1)-edge-connectivity unless the graph is made nonbipartite (in which case two edges suffice). A motivation for this problem comes from “square-grid frameworks” in statics. (We will not attempt a complete discussion of these ideas here, see Recski, 1989.) These frameworks can be braced by diagonal “rods” or cheaper “cables.” Baglivo and Graver (1983) show that a framework with cables (and perhaps rods) has a natural representation as a bipartite digraph, such that the framework is “rigid” if and only if its bipartite digraph is strongly connected. Thus a framework that is rigid and remains so even after any k or fewer cables fail is precisely a framework whose digraph is (k + 1)-edge-connected. The cable-framework reinforcement problem is to add the smallest number of new cables to a given framework

Incrementing Bipartite Digraph Edge-Connectivity

Embed Size (px)

Citation preview

Page 1: Incrementing Bipartite Digraph Edge-Connectivity

Journal of Combinatorial Optimization, 4, 449–486, 2000c© 2000 Kluwer Academic Publishers. Manufactured in The Netherlands.

Incrementing Bipartite Digraph Edge-Connectivity

HAROLD N. GABOW [email protected] of Computer Science, University of Colorado at Boulder, Boulder, Colorado 80309-0430, USA

TIBOR JORDAN [email protected] of Operations Research, Eotvos University, 1053 Kecskemeti utca 10-12, Budapest, Hungary

Received January 13, 2000; Revised June 13, 2000; Accepted June 19, 2000

Abstract. This paper solves the problem of increasing the edge-connectivity of a bipartite digraph by adding thesmallest number of new edges that preserve bipartiteness. A natural application arises when we wish to reinforcea 2-dimensional square grid framework with cables. We actually solve the more general problem of covering acrossing family of sets with the smallest number of directed edges, where each new edge must join the blocks ofa given bipartition of the elements. The smallest number of new edges is given by a min-max formula that has sixinfinite families of exceptional cases. We discuss a problem on network flows whose solution has a similar formulawith three infinite families of exceptional cases. We also discuss a problem on arborescences whose solution hasfive infinite families of exceptions. We give an algorithm that increases the edge-connectivity of a bipartite digraphin the same time as the best-known algorithm for the problem without the bipartite constraint:O(kmlogn) forunweighted digraphs andO(nmlog(n2/m)) for weighted digraphs, wheren,m andk are the number of verticesand edges of the given graph and the target connectivity, respectively.

Keywords: graph algorithms, connectivity augmentation, min-max theorems, crossing family, square grid frame-work, rigidity

1. Introduction

In thebipartite digraph edge-connectivity incrementation problemwe are given a digraphwhose undirected version is bipartite. We wish to increase the edge-connectivity by addingthe smallest number of new edges that keep the graph bipartite. Figure 1 shows an example.Let k be any nonnegative integer. The graph of figure 1(a) isk-edge-connected. Addingthree edges gives the(k + 1)-edge-connected graph of figure 1(b). It is easy to see thatadding only two edges does not achieve(k+1)-edge-connectivity unless the graph is madenonbipartite (in which case two edges suffice).

A motivation for this problem comes from “square-grid frameworks” in statics. (We willnot attempt a complete discussion of these ideas here, see Recski, 1989.) These frameworkscan be braced by diagonal “rods” or cheaper “cables.” Baglivo and Graver (1983) showthat a framework with cables (and perhaps rods) has a natural representation as a bipartitedigraph, such that the framework is “rigid” if and only if its bipartite digraph is stronglyconnected. Thus a framework that is rigid and remains so even after anyk or fewer cables failis precisely a framework whose digraph is(k + 1)-edge-connected. Thecable-frameworkreinforcement problemis to add the smallest number of new cables to a given framework

Page 2: Incrementing Bipartite Digraph Edge-Connectivity

450 GABOW AND JORDAN

Figure 1. Bipartite digraph (a) and solution to its edge-connectivity incrementation problem (b). A directed linerepresents an edge that has multiplicityk if it is drawn solid and multiplicity 1 if it is drawn dashed.

so it tolerates an extra cable failure, i.e., if the original framework remains rigid after anykcables fail, the new framework remains rigid after anyk+1 failures. Clearly this problem isequivalent to bipartite digraph edge-connectivity incrementation. (We note that the weightedversion of either of these problems is NP-hard, by reduction from the bipartite Hamiltoniancycle problem.)

We solve a generalization of the (unweighted) digraph problem. Consider a crossingfamily I on a set of elementsV , along with a partitionP of V into two blocks. A directededgexy is said tocover any setX ∈ I that containsy but not x. In the bipartitionedcrossing-family covering problemwe wish to cover every set ofI using the fewest numberof directed edges, each of which joins the two blocks ofP.

If a digraph has edge-connectivityk, the vertex sets of in-degreek form a crossing fam-ily. Hence the crossing-family problem generalizes the edge-connectivity incrementationproblem.1 In particular we can start with a general (not necessarily bipartite) digraph, anda given partition of the vertices into two sets. The goal is to add the fewest number of newdirected edges that respect the bipartition and increase the edge-connectivity by one.

Our main result shows that the optimum number of edges OPT has a characterizationsimilar to ones given in Bang-Jensen et al. (1999) and Gabow and Jord´an (2000) for relatedconnectivity problems. These characterizations say that OPT=8 unless the graph is a“blocker,” in which case OPT=8 + 1. Here8 is a natural lower bound coming froma subpartition of the vertex set. A “blocker” is a graph belonging to one of a numberof infinite families. Bang-Jensen et al. (1999) solves the problem of undirected bipartitegraph edge-connectivity augmentation. This problem has one family of blockers. Gabowand Jord´an (2000) solves the problem of making a bipartite digraph strongly connected.Here there are four families of blockers. Our connectivity result generalizes Gabow andJordan (2000), which corresponds to increasing the edge-connectivity of a 0-edge-connectedbipartite graph. Our theorem has six families of blockers, the first four being direct analogsof those of Gabow and Jord´an (2000). In fact we show the two new families of blockersnever exist when the given crossing family is a ring family. For connectivity incrementationwe have a ring family when the initial graph is 0-edge connected but not for any higherconnectivity.

Note that Bang-Jensen et al. (1999) solves the problem of connectivity augmentation,where any target connectivity can be given. In contrast our results only increase the

Page 3: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 451

connectivity by 1. Gabow and Jord´an (to appear) investigates the edge-connectivity aug-mentation problem for bipartite digraphs. An algorithm is given that finds a solution usingat mostk edges more than optimum. The directed augmentation problem appears to be moredifficult than the undirected version solved in Bang-Jensen et al. (1999). As evidence wecan contrast our solution to the incrementation problem with Bang-Jensen et al. (1999). Asalready mentioned the directed problem has more blockers. Also a blocker for undirectedincrementation exists only when8 = 2, whereas in the directed case blockers exist for any8 ≥ 2. Section 6 gives more details of this comparison.

We present two other incrementation problems that have a similar structure. Specificallywe present a problem on network flows that has the same8/8 + 1 characterization ofOPT and has three families of blockers. We present a problem on spanning arborescencesthat has five families of blockers. Both of these problems are instances of bipartitionedcrossing-family covering. We suspect there are similar blocker-type characterizations forother problems in related areas.

We also give a generalized version of our characterization of OPT. It includes Frank’smin-max formula for digraph edge-connectivity augmentation (Frank, 1992) when special-ized to connectivity incrementation.

Finally we present an algorithm for bipartite digraph edge-connectivity incrementation(allowing nonbipartite starting graphs). The algorithm has the same time bound as thebest-known algorithm for incrementation without the bipartite constraint,O(kmlogn) forunweighted digraphs andO(nmlog(n2/m)) for weighted digraphs, fork the target connec-tivity. Heren,mandk are the number of vertices and edges of the given graph and the targetconnectivity, respectively. “Weighted” and “unweighted” refer to the graph representation:In an unweighted digraph parallel edges are allowed but each copy is stored separately, andeach copy contributes tom. In a weighted digraph each distinct edge has an integral weightthat gives the number of parallel copies; each edge contributes 1 tom independent of thenumber of copies.

Section 2 discusses basic facts about crossing families and gives the main tools forour problem. Section 3 proves our incrementation theorem for certain crossing families.Section 4 defines blockers and establishes their properties. Section 5 proves our incremen-tation theorem in general by reducing it to the families of Section 3. Section 6 comparesour theorem with Bang-Jensen et al. (1999) and Gabow and Jord´an (2000). It also gives ourgeneralized incrementation theorem, and the flow and arborescence problems. Section 7gives the algorithm. We close this section with some definitions.

Consider a finite universeV . We use⊆ for set containment and⊂ for proper set contain-ment. For an elementv ∈ V we usually abbreviate the singleton set{v} to v. For exampleS∪ v denotesS∪ {v} and for a functionf defined on subsets ofV , f (v) denotesf ({v}).

Let X, Y ⊆ V . X denotes the complement setV − X. X andY areco-disjointif X andY are disjoint, i.e.,X ∪Y=V . X andY areintersectingif X ∩Y, X−Y andY− X are allnonempty sets.X andY arecrossingif they are intersecting and furthermoreV − (X ∪Y)is nonempty, i.e., they are not co-disjoint. LetF be a family of subsets ofV . F is a ringfamily if it is closed under intersection and union.F is anintersecting(crossing) family ifX ∩ Y, X ∪ Y ∈ F wheneverX, Y ∈ F andX andY are intersecting (crossing) sets.

In a digraphG for S⊆ V , an edgexy with x ∈ Sandy /∈ S leaves Sandenters V− S.ρ(S) (δ(S)) denotes the number of edges entering (leaving)S.

Page 4: Incrementing Bipartite Digraph Edge-Connectivity

452 GABOW AND JORDAN

In the bipartitioned crossing-family covering problem we make the following assumptionsto rule out trivial cases:

(a) I 6= ∅;(b) ∅,V /∈ I and both blocks ofP are nonempty.

If (a) fails then no new edges are needed. If (b) fails then no covering exists. We use OPTto denote the fewest number of edges in a cover. Unless stated otherwise when discussingthe bipartitioned crossing-family covering problem we assume that an edge respects thebipartition (since an edge joining vertices in the same block ofP is irrelevant).

2. Basic notions

For any family of setsF , anF-set is a set ofF . ‖F‖ denotes the maximum cardinalityof a family of pairwise disjointF-sets.µ(F) denotes the set of all inclusionwise minimalF-sets. Hence‖µ(F)‖ = ‖F‖. Whenµ(F) consists of exactly one setµ∗(F) denotes thatset, i.e.,µ(F) = {X} exactly whenµ∗(F) = X.

Let O denote the family of complements ofI-sets.O is a crossing family. An edgecoversanO-setO if it leavesO. So the given covering problem onI amounts to finding aminimum cardinality set of edges that coverO, each edge joining two differently coloredelements. This problem is equivalent to our covering problem if we start with the crossingfamily O as the given family. (A solution to one covering problem gives a solution to theother by reversing the edges.)

We will treat I andO symmetrically in this paper. For instance the definitions givenbelow are stated in terms of the familyI. All the analogous definitions forO should beconsidered to hold. All of our lemmas and theorems have acomplement-symmetricversionobtained by interchanging every occurrence ofI andO. We do not explicitly state thecomplement-symmetric versions, and a citation of a lemma or theorem may actually referto the complement-symmetric version. HenceforthF will refer to both families together,i.e.,F = (I,O).

2.1. Cores and zones

An I-core is a set ofµ(I ).

Lemma 2.1. For any crossing familyI, either theI-cores are pairwise disjoint or anytwoI-cores are intersecting and co-disjoint.

Proof: Observe that any twoI-cores that are not disjoint are intersecting and co-disjoint(by minimality). Let I1, . . . , Ir be a maximal collection of pairwise disjointI-cores. If thefirst alternative of the lemma fails there is anotherI-coreJ that is not disjoint from someI j , say I1. So I1 and J are co-disjoint. SinceJ − I1 contains noI-core,r = 1 and thesecond alternative of the lemma holds. 2

Page 5: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 453

The lemma shows‖I‖ either equals 1 or|µ(I)|. Our initial assumptionI 6= ∅ implies‖I‖ ≥ 1 for the givenI.

Corollary 2.2. If I has two intersecting cores then‖I‖ = 1 and‖O‖ > 1.

Proof: Let I andJ be intersectingI-cores. The lemma implies‖I‖ = 1 andI andJ areco-disjoint. ThusI and J are disjointO-sets, so‖O‖ > 1. 2

Lemma 2.3. An I-set I intersecting with anO-set O has I− O an I-set. Hence noI-core is intersecting with anO-set.

Proof: Suppose anI-setI is intersecting with anO-setO. If I andO are co-disjoint thenI − O = O is anI-set. The other possibility is thatI andO are crossing. HenceI andOare crossingI-sets. ThusI − O = I ∩ O is anI-set. 2

Lemma 2.4. TwoO-sets with nonempty intersection are intersecting and co-disjoint iftheir union contains everyI-core, or if their intersection contains noO-core.

Proof: Let theO-sets beN and O. First supposeN ∪ O contains everyI-core. ThenN ∪ O is not anO-set since its complement contains noI-core. This impliesN 6⊆ O,O 6⊆ N and N and O are not crossing. We conclude thatN and O are intersecting andco-disjoint. The argument whenN ∩ O contains noO-core is similar, usingN ∩ O not anO-set. 2

We assume the partitionP is specified by assigning one of two colors to each element ofV . These two colors will be unnamed. However we useblackas a variable name that rangesover the two given colors. CorrespondinglyB denotes the set of all black elements. A setof elements is calledblack if it is contained inB. When we need to refer to both colors ofP we shall call them black andwhite, with W andwhite setsdefined analogously. A set ofelements ismixedif it contains at least one element of both colors.

We use several subfamilies ofI andO. For any colorB, IB is the family of blackI-sets.Hence theIB-cores are the blackI-cores.IX is the family ofI-sets that do not containa black or whiteI-core. TheIX-cores are the mixedI-cores. AnyIX-set is mixed, buta mixedI-set need not be inIX. For any colorB the familyIB′ is IW ∪ IX. Hence theIB′ -cores are the nonblackI-cores. We have noted that forA = IB, IX, IB′ , theA-coresare the same as theI-cores contained inA.

Fix F = (I,O) and letA andB be families of subsets ofV . We now define the families

I[A,B] and O[A,B].

We state the definition forI[A,B], O[A,B] is similar.Usually we chooseA andB from our familiesIB, IX, IB′ and the similar families with

I replaced byO or B replaced byW. In all such casesI[A,B] consists of allI-sets thatcontain everyA-core and are disjoint from everyB-core. For exampleI[IB,OB′ ] is the

Page 6: Incrementing Bipartite Digraph Edge-Connectivity

454 GABOW AND JORDAN

family of all I-sets that contain every blackI-core and are disjoint from every nonblackO-core.

We also allow more generalA andB. For (possibly empty) familiesIi ⊆ I, Oi ⊆ O,i = 1, 2, defineI[I1 ∪O1, I2 ∪O2] as the family of allI-sets that contain everyI-corein I1 and everyO-core inO1 and are disjoint from everyI-core inI2 and everyO-core inO2. This definition is consistent with the special case given above. In using this notationwe will not explicitly specify the familiesIi , Oi since they will be clear from context. Asan example ifJ is anI-core thenI[{J}, I − {J}], is the family ofI-sets that containJand are disjoint from every otherI-core. It is useful to note that in general the family ofcomplements of sets inI[A,B] is O[B,A].

Lemma 2.5. For any color B withOB 6= ∅ and any set O∈ O[∅,OB], anyO-core iseither contained in O or is disjoint from O.

Proof: Let N be anO-core. TheO-setO is not properly contained in the coreN. If NandO are intersecting then they are crossing (since there are blackO-cores disjoint fromO), a contradiction for coreN.The remaining possibilities are as in the lemma. 2

Suppose‖I‖ ≥ 2. ThezoneJ of anI-coreJ, also called anI-zone, is the maximal setin I[{J}, I − {J}], i.e., the maximalI-set that containsJ and is disjoint from every otherI-core. It is easy to see that a unique zoneJ exists sinceI is a crossing family.

When‖I‖ > 2 theI-zones are pairwise disjoint. (If two zonesI and J are not disjointthen they are intersecting. In fact they are crossing because of the thirdI-core. This makesI ∩ J anI-set containing anI-core common toI and J, a contradiction.)

An I-coreI dominatesanO-coreO if O ⊆ I . It is possible forI andO to dominate eachother. However there is no “dominance chain,” i.e.,I cannot dominateO and be dominatedby a differentO-coreN. This follows since such a chain impliesO ⊆ I ⊆ N.

Lemma 2.6. For anI-core I and anO-core O the following three conditions are equiv-alent:(i) O 6⊆ I and I 6⊆ O;(ii) O is disjoint fromI and I is disjoint fromO;(iii) neither of the two cores I,O dominates the other.

Proof: (i) H⇒ (ii): If O is not disjoint fromI then Lemma 2.3 andO 6⊆ I show I ⊆ O,contradictingI 6⊆ O.(ii) H⇒ (iii): Trivial.(iii) H⇒ (i): If O ⊆ I then (iii) showsI andO are intersecting. Lemma 2.3 showsO − Iis anO-set. But it contains noO-core, a contradiction. 2

2.2. Lower bound8

We will characterize OPT in terms of the quantity

8 = max{‖I‖, ‖O‖, ‖IB‖ + ‖OB‖ : B ∈ P}.We write8(F) if the familyF = (I,O) is unclear.

Page 7: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 455

It is easy to see that OPT≥ 8: A solution must contain an edge entering everyI-coreand an edge leaving everyO-core. Thus OPT≥ ‖I‖, ‖O‖. A single edge cannot both leaveanOB-core and enter anIB-core. Thus OPT≥ ‖IB‖ + ‖OB‖ for any colorB. Figure 1(a)shows this lower bound need not be tight since it has8 = 2 and OPT= 3.

Fix a set of edges.Iu denotes the family of “uncovered”I-sets, i.e., theI-sets not coveredby any edge of the set. Similarly we haveOu andFu = (Iu,Ou).Iu is a crossing family with‖Iu‖ ≤ ‖I‖. To prove this it suffices to assume there is only

one edgee (by induction). If a setI ∪ J or I ∩ J is covered bye then at least one ofI andJ is covered bye. HenceIu is crossing.‖Iu‖ ≤ ‖I‖ sinceIu ⊆ I.

These observations justify the basic approach: We solve our covering problem by re-peatedly adding a set of edgesF to the desired cover. This leaves us with another coveringproblem on the familyFu. We show each such addition decreases8 by |F |. The followingfacts help establish this decrease.

Lemma 2.7. For any set of edges, any set ofµ(Iu)− µ(I ) is mixed.

Proof: Let J ∈ µ(Iu)−µ(I). J contains anI-core that is covered by some edgee. SinceJ is not covered it contains both ends ofe, makingJ mixed. 2

Iu,B denotes the family of black sets inIu.

Lemma 2.8. Suppose‖I‖ ≥ 2. For anyI-core I, an edge from V− I to I has‖Iu‖ =‖I‖ − 1. Furthermore if I is black then‖Iu,B‖ = ‖IB‖ − 1.

Proof: Let e be the edge. Consider the first assertion. Since‖I‖ ≥ 2 theI-cores arepairwise disjoint. Hence every set ofµ(I) − {I } is an Iu-core. Lemma 2.1 implies itsuffices to show there is noIu-core disjoint from each set ofµ(I) − {I }. Such a corecontainsI and is contained inI . Hence it is covered bye.

The second assertion is now obvious if‖Iu‖ > 1. If ‖Iu‖ = 1 it follows from Lemma 2.7.2

The proof of the incrementation theorem eventually reduces any given family to onewhere‖I‖ or ‖O‖ equals 1.

Lemma 2.9. If ‖I‖ = 1 thenOPT= 8.

Proof: We begin with an observation on the case‖I‖ = 1. Suppose there is a blackI-core I , and take any set of edges (even∅). Then anyIu-core distinct fromI is mixed.This follows from Lemma 2.1 when there are no edges, and otherwise from Lemma 2.7.

We now prove the lemma by induction on8. First suppose the given familyF has8 = ‖O‖ + 1, i.e., there is a blackI-core I and‖O‖ blackO-cores. Take an edge froma white element toI and letFu = (Iu,Ou). EveryIu-core is mixed by the preliminaryobservation. Hence8(Fu) = 8(F)− 1 as desired.

Now we can assume8 = ‖O‖. Let I be anI-core chosen to be mixed if possible. LetO be anO-core chosen so thatI ∪ O is mixed. Such anO exists since8 = ‖O‖.

Page 8: Incrementing Bipartite Digraph Edge-Connectivity

456 GABOW AND JORDAN

Suppose‖O‖ = 1. Take an edge fromO to I . (There is such an edge respecting thebipartition sinceI ∪ O is mixed.) SupposeN is anOu-set.N 6⊆ I since that would makeN and I disjointO-sets. SimilarlyI 6⊆ N. Hence Lemma 2.3 showsN is disjoint from I .Corollary 2.2 showsO is the uniqueO-core, soO ⊆ N. ThusN is covered,Ou = ∅ andOPT= 1 as desired.

Suppose‖O‖ > 1. Let N be anO-core distinct fromO. We first show thatN ∪ (V − N)is mixed. If not we can say it is a black set. Then there is a blackI-core contained intheI-setV − N. All O-cores other thanN are in this set as well and so are black. Thus8 = ‖O‖ + 1, a contradiction.

Hence we can choose an elementx /∈ N so thatN ∪ x is mixed. Take an edge fromNto x. Lemma 2.8 shows‖Ou‖ = ‖O‖ − 1. Our choice ofI and O, plus the preliminaryobservation and Lemma 2.7, shows8(Fu) = ‖Ou‖ as desired. 2

2.3. Compatible pairs

This section discusses the main tool of our reduction, compatible pairs. From now on assume‖I‖, ‖O‖ > 1 since otherwise we are done by Lemma 2.9.

An I-core I and anO-core O form a compatible pairif I ∪ O is mixed and neithercore dominates the other. (We denote such a compatible pair asI ,O or O, I depending onconvenience.) Toaugmentsuch a compatible pairO, I means to place in the cover an edgedirected from an element ofO to a differently colored element ofI . The augmentationof O, I is the corresponding familyFu. Lemma 2.8 implies the augmentation has a lowervalue of‖I‖ and‖O‖, and a lower value of‖IB‖ + ‖OB‖ if O ∈ OB or I ∈ IB. Thus anaugmentation has a lower value of8 if O and I are of opposite colors, i.e., neitherO norI is mixed. (This condition is not necessary.)

Lemma 2.10. Suppose‖I‖+ ‖O‖ ≥ 28− 1. If I i , i = 1, 2 are distinctI-cores and Oj ,j = 1, 2 are distinctO-cores with each of the four sets Ii ∪ Oj mixed, then some Ii , Oj iscompatible.

Proof: Suppose there is no compatible pairIi , Oj . SinceI1 is incompatible withO1 wecan assume without loss of generality thatI1 dominatesO1. This implies thatI1 and I2

both dominateO1 andO2 (since there is no dominance chain). We concludeI1 and I2 areintersecting zones. Thus‖I‖ = 2. FurthermoreI1 and I2 are co-disjoint. EachO-setV− I i

contains anO-coreNi . SinceNi is distinct fromO1,O2 ⊆ I1∩ I2 we get the contradiction8 ≥ ‖O‖ ≥ ‖I‖ + 2. 2

Corollary 2.11. Suppose‖I‖ + ‖O‖ ≥ 28− 1. If eachI-core and eachO-core have amixed union thenOPT= 8.

Proof: Assume‖I‖ ≥ ‖O‖ > 1 by Lemma 2.9. Clearly8 = ‖I‖. Lemma 2.10 showsthere is a compatible pair of cores. LetFu be the augmentation. If‖Ou‖ > 1 then clearly8(Fu) = 8(F )− 1,Fu satisfies the lemma’s hypothesis and we are done by induction. If‖Ou‖=1 Lemma 2.7 implies8(Fu)=8(F )− 1. Hence we are done by Lemma 2.9.2

Page 9: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 457

2.4. Crossing family operations

We perform several operations that modify one crossing family into another. LetF be acrossing family over a set of elementsV . In what follows assumex is an arbitrary elementof V .

Let S be the set{x} or V − {x}. Making S anF-setmeans to enlarge the family withthe setS (if it is not already present). This gives another crossing family for our choicesof S, since{x} andV − x are not crossing with any set. Note that making{x} anO-setautomatically makesV − x anI-set.

Deleting xmeans to deletex from V and from anyF-set in which it occurs. This givesa new crossing family since sets that are crossing in the new family are crossing in theoriginal family.

Duplicating xmeans adding a new elementx′ to V with x′ belonging to exactly the samesets asx. Thus a setS in the original family corresponds to a setS′ in the new family withS′ = S if x /∈ SandS′ = S∪ x′ if x ∈ S. The new family is crossing since again sets thatare crossing in the new family are crossing in the original family.

3. Singleton families

We will reduce our covering problem to the case where everyI- andO-core is a singletonset. We call such anF asingleton family. Throughout this section assume the given familyF is a singleton family. We typically denote anI-core byx, wherex ∈ V and we haveidentifiedx and{x} as usual. Similarly anO-core is typically denoted byy. The notationalconventions also imply that expressions such asIB − {x} andIB ∪ {x, y} are shorthandsfor IB − {{x}} andIB ∪ {{x}, {y}} respectively.

Note that augmenting a compatible pair in a singleton family decreases8. This followsfrom Lemma 2.8. The augmentation is a singleton family by Lemma 2.1.

A 1-blocker( for B) is a singleton family with8 = ‖IB‖ + ‖OB‖ andO[IB,OB] 6= ∅.Figure 1(a) is a 1-blocker. The next section shows that such a 1-blocker has OPT> 8. NotethatO[IB,OB] 6= ∅ if and only if I[OB, IB] 6= ∅. HenceF is a 1-blocker if and only if itscomplement-symmetric family is.

A 1-blocker has anI-core and anO-core of both colors, i.e.,IB, OB, IW, OW 6= ∅. Inproof, a set ofO[IB,OB] contains a whiteO-core and its complement contains a whiteI-core. If‖IB‖ = 0 then we get the contradiction8 = ‖OB‖ < ‖O‖.

Let F be a singleton family with8 = ‖IB‖ + ‖OB‖ that is not a 1-blocker forB. AnIB-core x is dangerousif IB − {x},OB,O[IB − {x},OB] 6= ∅. This definition impliesµ∗(O[IB − {x},OB]) is well-defined (sinceO is crossing). We also have the complement-symmetric definition, anOB-corey is dangerousif OB − {y}, IB, I[OB − {y}, IB] 6= ∅.

If x is dangerous then it does not belong to any set ofO[IB − {x},OB]. If it did thenFwould be a 1-blocker.

Lemma 3.1. LetF be a singleton family. LetFu be the augmentation of a compatiblepair x, y where x is anIB-core. SupposeF is not a1-blocker for B butFu is. Then x isdangerous. FurthermoreO[IB − {x},OB ∪ {x, y}] 6= ∅.

Page 10: Incrementing Bipartite Digraph Edge-Connectivity

458 GABOW AND JORDAN

Proof: LetFu = (Iu,Ou). The black cores are the same inF andFu except thatx is notanIu-core. HenceFu a 1-blocker forB implies that inF , O[IB − {x},OB] 6= ∅. It alsoimpliesF has8 = ‖IB‖+ ‖OB‖. There is a blackIu-core and a blackOu-core. Thusx isdangerous.

Take any uncovered setN ∈ O[IB − {x},OB]. As shown aboveN does not includex.N does not includey sinceN is uncovered. This gives the second part of the lemma.2

Lemma 3.2. If ‖IB‖ > 2 then at most oneIB-core is dangerous.

Proof: Supposexi , i = 1, 2 are two dangerous blackI-cores, with corresponding setsOi ∈ O[IB − {xi },OB ∪ {xi }]. The hypothesized third blackI-core showsO1 andO2 areintersecting. They are crossing sinceOB 6= ∅. This makesO1 ∪ O2 anO-set andF a1-blocker, a contradiction. 2

Lemma 3.3. Let x be a dangerousIB-core. Let y be anyO-core contained inµ∗(O[IB−{x},OB]). Then x, y is a compatible pair whose augmentation is not a1-blocker for B.

Proof: Let µ∗(O[IB − {x},OB ∪ {x}]) = O. Clearly O contains anO-core y and anysuchy is white.

Supposex ∈ y.F has a blackO-core, which is disjoint fromO ∪ y. Thus eitherO ⊆ yor O and y are crossing. In both casesO ∪ y is anO-set, and it containsx. But this makesF a 1-blocker forB. We concludex /∈ y.

Supposey ∈ x. SinceO contains anI-core distinct fromx, O and x are intersecting.Lemma 2.3 makesO− x anO-set that contradicts the minimality ofO. We concludey /∈ x.

Lemma 2.6 shows thatx, y is a compatible pair. If its augmentation is a 1-blockerfor B then Lemma 3.1 showsO[IB − {x},OB ∪ {x, y}] 6= ∅. This again contradicts theminimality of O. 2

Suppose a singleton family is not a 1-blocker (for either color). Letx, y be a compatiblepair with x anIB-core andy anOW-core.x, y is safeif y ∈ µ∗(O[IB − {x},OB]) whenx is dangerous andx ∈ µ∗(I[OW − {y}, IW]) wheny is dangerous. The augmentation ofa safe pair is not a 1-blocker by Lemmas 3.1 and 3.3 (applied to bothx andy).

Lemma 3.4. Let F be a singleton family. For i= 1, 2, let xi , yi be compatible pairsfor distinctI-cores xi , i = 1, 2 and distinctO-cores yi , i = 1, 2. Augmenting both pairsdecreases‖I ‖ by2 if and only ifI[{x1, x2, y1, y2}, I − {x1, x2}] = ∅.

Proof: Let Fu be the augmentation. For the only if direction supposeI[{x1, x2, y1, y2},I − {x1, x2}] 6= ∅. A minimal set in this family is anIu-core that shows‖I‖ does notdecrease by 2. This proves the only if direction.

For the if direction it suffices to show there is noIu-set K that contains noI-coreother thanx1 or x2. Without loss of generalityx1∈ K . We must also havex2∈ K sinceotherwiseK ⊆ x1 andK is covered. We must havey1, y2 ∈ K , else againK is covered.So K ∈ I[{x1, x2, y1, y2}, I − {x1, x2}] = ∅, a contradiction. 2

Page 11: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 459

For completeness we note that this lemma need not hold for a general familyF (ratherthan a singleton family) unless‖I‖ ≥ 4.

We use the following operation on a singleton familyF : To create anIB-core, start bychoosing a black elementx, where if possiblex is anOB-core. If x is not anI-core thensimply make{x} anI-set. If x is anI-core then proceed as follows. First duplicatex (inthe crossing familyI ). Recall from Section 2.4 that this gives a new elementx′. {x, x′} isnow anI-core. Also it is anO-core if x is anO-core of the original familyF (since thismeans thatV − x is anI-set of the original family). Addx′ to B. Make{x} and{x′} I-sets.If x is anO-core ofF then make{x} (but not{x′}) anO-set.

SupposeF is the original family andF ′ the new family. Assumex is not the uniqueO-core ofF . This operation increases‖I‖ and‖IB‖ by 1. The assumption implies it doesnot change theO-cores (even whenV − x becomes a newO-set) and also thatF ′ is asingleton family. Clearly a cover ofF ′ gives a cover ofF with the same number of edges.F ′ is not a 1-blocker forB (since the choice ofx impliesF ′ has eitherOB = ∅ or

O[IB,OB] = ∅.) FurthermoreF ′ is a 1-blocker (forW) only if F is. To see this,F ′a 1-blocker forW obviously implies8 does not increase. The complement of a set inO[IW,OW] is in I[OW, IW] and is easily seen not to be a newly createdI-set (which iseither{x}, {x′} or V ∪ x′ − x).

Lemma 3.5. A singleton family that is not a1-blocker hasOPT= 8.

Proof: AssumeF is not a 1-blocker. Assume‖I‖, ‖O‖ > 1 by Lemma 2.9.We first modifyF to make

8 = ‖IB‖ + ‖OB‖ = ‖IW‖ + ‖OW‖. (1)

Notice that a family having three of the four quantities‖I‖, ‖O‖, ‖IB‖ + ‖OB‖, ‖IW‖ +‖OW‖ equal actually has all four quantities equal and satisfies (1). This follows since thenumber of cores is‖I‖+‖O‖ = (‖IB‖+‖OB‖)+ (‖IW‖+‖OW‖). To achieve (1) when8 = ‖IB‖ + ‖OB‖ for some colorB, create(8 − ‖I‖) IW-cores and(8 − ‖O‖) OW-cores. (We now have‖IB‖ + ‖OB‖ = ‖I‖ = ‖O‖.) In the opposite case without loss ofgenerality assume8 = ‖O‖. Create8−(‖IB‖+‖OB‖) IB-cores and8−(‖IW‖+‖OW‖)IW-cores. (We now have‖O‖ = ‖IB‖ + ‖OB‖ = ‖IW‖ + ‖OW‖.) In both cases the newfamily satisfies (1), has the same value of8 and is not a 1-blocker. So it suffices to showthe new family has OPT= 8. From now on we refer to the new family asF .

(1) implies‖IB‖ = ‖OW‖ and‖IW‖ = ‖OB‖. In proof ‖IB‖ + ‖OB‖ = 8 ≥ ‖I‖implies‖OB‖ ≥ ‖IW‖. Similarly ‖IB‖ ≥ ‖OW‖. Now (1) implies both these inequalitieshold with equality.

We prove OPT= 8 by induction on8. It suffices to find a safe pair (since the augmen-tationFu is not a 1-blocker and8(Fu) = 8(F)− 1).

Observe that if there are twoIB-cores and twoOW-cores, none of which are dangerous,Lemma 2.10 gives a compatible pair which is clearly safe. This observation gives the desiredsafe pair if‖IB‖ > 2, since Lemma 3.2 shows at most oneIB-core and at most oneOW-core are dangerous. We also get the desired safe pair if‖IB‖ = 0 since then no core isdangerous. Suppose‖IB‖ = 1. The uniqueOW-core y and the uniqueIB-corex form a

Page 12: Incrementing Bipartite Digraph Edge-Connectivity

460 GABOW AND JORDAN

compatible pairy, x. This follows sincex ∈ y makesF a 1-blocker forB andy ∈ x makesF a 1-blocker forW. y, x is the desired safe pair since neitherx nor y is dangerous bydefinition.

The remaining possibility is‖IB‖ = 2. Hence assume

I B = {x1, x2}, OW = {y1, y2}.The observation shows we can assume at least one of these four cores is dangerous, sayx1. If no OW-core is dangerous then Lemma 3.3 gives a safe pair. Hence without loss ofgenerality assumey1 is dangerous. (We remark that in addition either or both ofy2 andx2

can be dangerous.)Write µ∗(O[IB − {x1},OB ∪ {x1}])=O. By symmetry, the definition of safe and

Lemma 3.3 we can assumey1 /∈ O.

Claim 1. Both y1, x2 andy2, x1 are compatible.

Proof: y2 ∈ O sinceO contains anO-core. Thus

O ∈ O[{x2, y2},OB ∪ {x1, y1}].In particular Lemma 3.3 showsy2, x1 is compatible.

Claim 1 follows if y1, x2 is compatible so assume not. In particular writingµ∗(I[OW −{y1}, IW ∪ {y1}]) = I , Lemma 3.3 impliesx2 /∈ I . x1 ∈ I sinceI contains anI-core. Thus

I ∈ I[{x1, y2}, IW ∪ {x2, y1}].

We have shownO andI are intersecting:y2 ∈ O∩ I , x2 ∈ O− I , x1 ∈ I −O. Lemma 2.3showsO − I is anO-set. y2 is the onlyO-core in O, so O− I contains noO-core—acontradiction. 2

Now augment both compatible pairs of Claim 1. Note thatI[{x1, x2, y1, y2}, I − {x1, x2}]= ∅, since otherwiseF is a 1-blocker forW. So Lemma 3.4 shows‖I ‖ decreases by 2.Similarly ‖O‖ decreases by 2. Thus8 decreases by 2. The familyFu is not a 1-blockersince it has noIB-core. Hence we are done by induction. 2

4. Blockers

In general there are six types of blockers, illustrated in figure 2 for our edge-connectivityincrementation problem. We begin by defining the blockers, and then we discuss figure 2in detail.

A family F is a blocker if it satisfies any of the following six sets of conditions. A1-blockerhas

(i) 8 = ‖IB‖ + ‖OB‖;(ii) O[IB,OB] 6= ∅.

Page 13: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 461

Figure 2. Blockers for edge-connectivity incrementation. A directed line represents an edge that has multiplicityk if it is drawn solid, multiplicity 1 if it is dashed. (a) and (f) have8 = 4, (b)–(d) have8 = 3, (e) has8 = 5.Sets showing condition (ii) is satisfied are (a){2, 3, 4, 5}; (b) {2, 3, 4}; (c) and (d){6, 1}, {3, 4}; (e) {7, 1, 2} in theleft ring, {1, 2, 3} in the right ring; (f){5, 1, 2} in the left ring,{4, 1}, {1, 2, 3, 4} in the right ring.

The next three blockers all have the same first condition,

(i) 8 = ‖I‖ = ‖O‖.

A 2-blockerhas

(ii) O[IB′ ,OB′ ] 6= ∅.

A 3-blockeris either a 3O-blocker or a 3I-blocker. A 3O-blockerhas

(ii) O[IB,OW′ ],O[IW,OB′ ] 6= ∅;(iii) ‖IX‖ = 1.

A 3 I-blockersatisfies the complement-symmetric conditions,

(ii) I[OB, IW′ ], I[OW, IB′ ] 6= ∅;(iii) ‖OX‖ = 1.

Page 14: Incrementing Bipartite Digraph Edge-Connectivity

462 GABOW AND JORDAN

A 4-blockerhas

(ii) O[IB,OW′ ], I[OB, IW′ ] 6= ∅;(iii) ‖IB‖ + ‖OB‖ = 8− 1.

The last two blockers have the same first condition,

(i) ‖I‖ + ‖O‖ = 28− 1.

Thus either‖I‖ = 8, ‖O‖ = 8 − 1 or ‖O‖ = 8, ‖I‖ = 8 − 1. A 5-blockeris either a5O-blocker or a 5I-blocker. A 5O-blockerhas

(ii) O[IB,OW′ ],O[IW,OB′ ] 6= ∅;(iii) ‖IX‖ = 0.

A 5 I-blockersatisfies the complement-symmetric conditions,

(ii) I[OB, IW′ ], I[OW, IB′ ] 6= ∅;(iii) ‖OX‖ = 0.

A 6-blockerhas

(ii) O[IB,OW′ ], I[OB, IW′ ],O[IB′ ,OB′ ] 6= ∅;(iii) ‖IB‖ + ‖OB‖ = 8− 1.

The colorsB andW are symmetric for 3- and 5-blockers. For the other blockers we sayblocker for Borblocker for Wto specify the color that plays the main role in the conditions.The above definitions all specify blockers forB. A 1-blocker forW has8 = ‖IW‖+‖OW‖andO[IW,OW] 6= ∅. In a 4-blocker forW condition (iii) is‖IW‖ + ‖OW‖ = 8− 1.

Now consider the examples of figure 2. Each graph isk-edge-connected and we wish toincrease the edge-connectivity by 1. Herek is an arbitrary positive integer. (The casek = 0is discussed separately below.) It is useful to observe that the solid edges of each graph form1, 2 or 3 simple cycles, that we refer to as “rings.” These rings form ak-edge-connectedspanning subgraph. Hence no dashed edge can leave anO-set or enter anI-set.

Every core in each graph is a singleton. In each graph theI-cores are drawn on the topand theO-cores are drawn on the bottom. Three vertices are not cores—they are the shadedvertices drawn in the middle of (e) and (f). A black or white vertex represents a vertex ofthat color. A shaded vertex represents a mixed core—it can be replaced by a black vertexand a white vertex joined to each other by two antiparallel edges of multiplicityk+ 1.

We number the vertices of each ring consecutively, starting with theI-core whose im-mediate predecessor in the ring is not anI-core. So for instance in figure 2(e) theO-coresare vertices 4 through 7 of the left ring and vertex 3 of the right ring. Note that the verticesof any ring that belong to a givenO-set orI-set have consecutive numbers assuming weallow wrap-around, e.g., in figure 2(e){7, 1, 2} in the left ring is anI-set and anO-set.

Page 15: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 463

The six types of blockers are distinct. For instance each blocker in figure 2 satisfies onlyone set of blocker conditions. If we ignore symmetries there are actually 10 varieties ofblockers: A 3I-blocker is illustrated by reversing the edges in figure 2(c). A 5O-blockerwith ‖I‖ > ‖O‖ is illustrated by adding twoI-cores to figure 2(e), copying anIB-corein the left ring and anIW-core in the right ring. 5I-blockers are illustrated by reversingthe edges of these two 5O-blockers. Again each of these 10 graphs satisfies just one set ofblocker conditions.

A slight modification of the figure shows that all 10 varieties of blockers occur evenfor bipartite digraph edge-connectivity incrementation (i.e., the framework reinforcementproblem). The graphs in figure 2(a)–(d) are bipartite, assuming edges incident to mixedvertices are handled appropriately. Figure 2(e) and (f) have 3 (solid) edges that violatebipartiteness (edge 1, 2 in the left and right rings of (e) and in the left ring of (f)). In eachcase the edgexy joins two vertices (x andy) that are tails of dashed edges directed to thesame vertexz. Replace edgexy by a new mixed vertexw, solid edgesxw,wy and dashededgesxw,wz. The new graph is bipartite, has the same cores and is a blocker of the sametype.

There are simpler blockers than those in figure 2. For example figure 1(a) shows a 1- and2-blocker for bothB andW. The graph formed from figure 2(e) by getting rid of one blackI-core and two mixedO-cores from the left ring and one whiteI-core from the right ringis a 5O-blocker, and a 6-blocker for bothB andW. The slightly larger graphs of figure 2were chosen so that each graph satisfies only one set of blocker conditions.

If k = 0 the graphs of figure 2(a)–(d) are 1-, 2-, 3- and 4-blockers respectively. (Thesegraphs are essentially the same as the examples in Gabow and Jord´an (2000).) The graphof figure 2(e) is not a 5-blocker but rather a 3O-blocker. The graph of figure 2(f) is not ablocker at all. See Lemma 6.1 below.

Lemma 4.1. Any blocker hasOPT> 8.

Proof: We consider each type of blocker separately. For each blocker we assume thatOPT= 8 and derive a contradiction.

1-blocker. At least‖IB‖ edges enter a blackI-core and at least‖OB‖ other edges leave ablackO-core. Hence condition (i) implies every edge is incident to a black core. But a setO ∈ O[IB,OB] cannot be covered by such an edge, sinceO does not contain an elementof a blackO-core andO does not contain an element of a blackI-core.

2-blocker. Condition (i) shows every edge leaves anO-core and enters anI-core. But asetO ∈ O[IB′ ,OB′ ] cannot be covered by such an edge, since the onlyO-cores with anelement inO are black and the onlyI-cores with an element inO are black.

3-blocker. Consider a 3O-blocker. Condition (i) shows every edge leaves anO-core andenters anI-core. An edge covering a set ofO[IB,OW′ ] leaves a whiteO-core and entersa mixedI-core. Similarly an edge covering a set ofO[IW,OB′ ] leaves a blackO-core andenters a mixedI-core. These two edges are distinct and they enter the same mixedI-core(condition (iii)). But (i) implies no two edges enter the sameI-core.

Page 16: Incrementing Bipartite Digraph Edge-Connectivity

464 GABOW AND JORDAN

3 I-blockers are handled by complement-symmetry.

4-blocker. Condition (i) shows every edge leaves anO-core and enters anI-core. An edgecovering a set ofO[IB,OW′ ] leaves a whiteO-core and enters a mixedI-core. Similarly anedge covering a set ofI[OB, IW′ ] enters a whiteI-core and leaves a mixedO-core. Thesetwo edges are distinct and neither covers a black core, contradicting condition (iii).

5-blocker. Consider a 5O-blocker. There are 28 − 1 cores in the families of cores corre-sponding to‖I‖ and‖O‖. Hence8− 1 edges cover two cores and one “exceptional” edgecovers (at least) one core. An edgeecovering a set inO[IB,OW′ ] can leave a whiteO-coreor enter a whiteI-core (condition (iii) shows there are no mixedI-cores). Sincee cannotdo both,e must be the exceptional edge. Similarly an edgef covering a set inO[IW,OB′ ]can leave a blackO-core or enter a blackI-core, sof must be the exceptional edge. Clearlye 6= f , a contradiction.

5 I-blockers are handled by complement-symmetry.

6-blocker. A 6-blocker is complement-symmetric, sinceI[OB′ , IB′ ] is the set of all com-plements of sets ofO[IB′ ,OB′ ]. Hence without loss of generality we can assume‖O‖ = 8.

The assumption implies every edge leaves anO-core. To cover a set inO[IB′ ,OB′ ] someedge leaves a blackO-core and does not enter anI-core. This implies every other edgeenters anI-core. To cover a set inO[IB,OW′ ] some edge leaves a whiteO-core and doesnot enter a blackI-core. To cover a set inI[OB, IW′ ] some edge enters a whiteI-core anddoes not leave a blackO-core. This gives two distinct edges that are not incident to blackcores, contradicting (iii). 2

For a blocker typei (i.e., i ∈ {1, 2, 3I, 3O, 4, 5I, 5O, 6}) a nondegenerate i-blockerhas every family of cores implicitly referred to in condition (ii) nonempty. For instance anondegenerate 2-blocker has a nonblackI-core and a nonblackO-core; a nondegenerate3O-blocker has a black and a whiteI-core and a nonblack and a nonwhiteO-core. Ablocker isnondegenerateif it is a nondegeneratei -blocker for some typei .

Lemma 4.2. Any blocker is nondegenerate.

Proof: Assume‖I‖, ‖O‖ > 1 by Lemmas 4.1 and 2.9.

1-blocker. By complement symmetry we need only prove there is a blackI-core. Condition(ii) implies there is a nonblackO-core. Thus8 ≥ ‖O‖ > ‖OB‖. Now condition (i) implies‖IB‖ > 0 as desired.

2-blocker. By complement symmetry we need only prove there is a nonblackI-core. Con-dition (ii) implies there is a blackO-core. Thus8 ≥ ‖IB‖+‖OB‖ > ‖IB‖. Now condition(i) implies‖IB′ ‖ > 0 as desired.

3-blocker. By complement symmetry it suffices to consider a 3O-blocker. Condition (ii)implies there is a white and a blackO-core. SinceB andW are symmetric it now sufficesto show there is a blackI-core. We can assume the family is not a 1-blocker forW, by

Page 17: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 465

the previous case. Hence condition (ii) implies8 > ‖IW‖ + ‖OW‖ ≥ ‖IW‖ + 1. Nowconditions (iii) and (i) imply‖I‖ > ‖IB′ ‖. Thus‖IB‖ > 0 as desired.

4-blocker. We will show there is a blackI-core. Then complement symmetry implies thereis a blackO-core, and these two facts imply the blocker is nondegenerate.

The first part of condition (ii) shows there is a whiteO-core. Now we show there is alsoa mixedO-core. We can assume the family is not a 2-blocker forW. SinceO[IW′ ,OB] isthe family of complements of sets inI[OB, IW′ ], the second part of condition (ii) impliesO[IW′ ,OB] 6= ∅. This and the assumption imply there is a mixedO-core.

We have shown8 ≥ ‖O‖ ≥ ‖OB‖ + 2. Now condition (iii) gives‖IB‖ > 0 as desired.

5-blocker. By complement symmetry it suffices to consider a 5O-blocker. Condition (ii)shows there is a white and a blackO-core. SinceB andW are symmetric we need onlyshow there is a blackI-core. The second part of condition (ii) impliesI[OB′ , IW] 6= ∅.With condition (iii) this implies the desired blackI-core exists.

6-blocker. We will exhibit four cores that give all the desired relations. The first andthird parts of condition (ii) imply condition (ii) of a 5O-blocker (sinceO[IB′ ,OB′ ] ⊆O[IW,OB′ ]). So we can assume condition (iii) of a 5O-blocker is not satisfied, i.e., thereis a mixedI-core. There is a blackI-core, since the third part of condition (ii) is equivalentto I[OB′ , IB′ ] 6= ∅. Complement symmetry shows there is a black and a mixedO-core.These four cores establish the desired relations. 2

We close this section with a useful way of detecting a blocker:

Lemma 4.3. Suppose8 = ‖I‖ = ‖O‖ and anO-set contains everyIB′ -core and noOB′ -core. ThenF is a 1- or 2-blocker.

Proof: Let O be the hypothesizedO-set. We can assume anO-core N of OB′ is notdisjoint from O, elseF is a 2-blocker. The coreN does not properly contain theO-setO.The hypothesis implies we must haveN andO intersecting and co-disjoint. Hence everyO-core other thanN is contained inO and so is black. Thus‖OB‖ = 8 − 1. TheI-setN − O contains anI-core, which must be black. Thus‖IB‖ = 1. Now N ∈ O[IB,OB]showsF is a 1-blocker. 2

5. Incrementation theorem

This section proves our incrementation theorem. Throughout the section we assume‖I‖,‖O‖ > 1, since if not Lemma 2.9 implies the incrementation theorem (Theorem 5.9).

We will convert an arbitrary given family into an equivalent singleton family. We callthis processcoloring the given family. LetI be anI-core. Tomake I a singletonmeans tochoose an elementx ∈ I and make{x} anI-set. (If I is a singleton set this operation doesnothing.) This operation does not change the cores other than replacingI by x. (V − x isnot a newO-core sinceI ⊆ V − x.) Clearly a cover of the new family is a cover of theoriginal family. Tomake I a black singletonmeans to choose a black elementx ∈ I andmakeI a singleton as above; the coreI must belong toIW′ so thatx exists.

Page 18: Incrementing Bipartite Digraph Edge-Connectivity

466 GABOW AND JORDAN

The following relation is useful for coloring a family. For an arbitrary colorB,

28 ≥ ‖I‖ + ‖O‖ = ‖IB‖ + ‖OB‖ + ‖IB′ ‖ + ‖OB′ ‖. (2)

Here we use‖I‖ = ‖IB‖+‖IB′ ‖. This holds since‖I‖> 1 implies theI-cores are disjoint(Lemma 2.1). Note that the inequality in (2) implies we can say there are at most 28 cores(again using the assumption‖I‖, ‖O‖ > 1).

It is easy to color a given family without increasing8: Make each core into a singleton,choosing at most8 black (white) elements to be the new cores. This can be done since thereare at most 28 cores. We get a singleton family with the same value of8. The difficulty incoloring is that when the given family is not a blocker the singleton family must not be a1-blocker.

Lemma 5.1. Any family hasOPT≤ 8+ 1.

Proof: Make cores into singletons in any way that does not increase8. Then create anIB-core and anOW-core (recall this operation from Section 3). This increases8 by 1 andgives a singleton family that is not a 1-blocker. So Lemma 3.5 shows the original familyhas OPT≤ 8+ 1. 2

Lemma 5.2. If 8 > ‖IB‖ + ‖OB‖ for both colors B and‖O‖ + ‖I‖ < 28 − 1 thenOPT= 8.

Proof: The hypotheses imply we can make cores into singletons to get a singleton familyF ′where both colorsB have‖IB‖+‖OB‖ ≤ 8−1. SoF ′ is not a 1-blocker and Lemma 3.5shows OPT= 8. 2

The next lemma shows that in general we can make every black (white) core into asingleton without creating a blocker. We first make a simple observation about condition(ii) in blockers. Replace any conditionI[A,B] 6= ∅ in (ii) by the equivalent conditionO[B,A] 6= ∅. Then every family in condition (ii) of every blocker has one of the formsO[IB,OB], O[IB,OW′ ], O[IW′ ,OB] orO[IW′ ,OW′ ], for some colorsB,W. Hence everyfamily in condition (ii) can be written as

O[IB ∪A,OB ∪ B],

whereA (B) is either∅ or IX (OX). HereB ranges over both colors. As an example con-dition (ii) for a 2-blocker isO[IB′ ,OB′ ] 6= ∅. By definitionIB′ = IW ∪ IX andOB′ =OW ∪OX, as desired.

Lemma 5.3. Making a black core into a singleton does not give a blocker unless theoriginal family is a blocker.

Proof: Let F be the original family, withI anIB-core containing an elementx. LetF ′be the family withI replaced byx as anIB-core. For the purpose of contradiction assumeF ′ is a blocker butF is not. Furthermore by Lemma 4.2 assumeF ′ is nondegenerate.

Page 19: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 467

F andF ′ have exactly the same cores except forx andI . Hence condition (i) of a blockerforF ′ implies (i) forF . The same holds true if the blocker has a condition (iii). We concludesome family in (ii) is nonempty forF ′ but empty forF .

First suppose the family has the formO[IW ∪A,OW ∪ B] (recall the observation beforethe lemma). LetO be anO-set forF ′ contained in the family. ClearlyO is not anO-setfor F , so O = V − x. This impliesOW ∪ B = ∅. This makes the blocker degenerate, acontradiction.

Suppose the family has the formO[IB ∪A,OB ∪ B]. Let O be the correspondingO-setof F ′. Sincex ∈ O, O is anO-set ofF . Since I 6⊆ O, Lemma 2.3 impliesO ⊂ I .HenceO is black and contains a blackO-core. ButO is disjoint from every blackO-core,a contradiction. 2

A family where every nonsingleton core is mixed is calledsemi-colored. To convert anygiven family into an equivalent semi-colored family, simply make each black (white) coreinto a singleton. The new familyF ′ is semi-colored and has the same value of8. Thelemma showsF ′ is not a blocker unless the original family is.

Lemma 5.4. A family with8 = ‖IB‖ + ‖OB‖ for some color B hasOPT= 8 unless itis a blocker.

Remark. It is easy to see that if the family is a blocker it is actually a 1- or 2-blocker.

Proof: Assume8 = ‖IB‖ + ‖OB‖ and the given family is not a blocker. Assume thefamily F is semi-colored by the discussion after Lemma 5.3. Make every mixed core intoa white singleton. This gives a singleton familyF ′.8(F ′) = 8(F) since (2) implies8 ≥ ‖IB′ ‖ + ‖OB′ ‖. F ′ is obviously not a 1-blocker

for B. We will showF ′ is not a 1-blocker forW. This completes the argument since thenLemma 3.5 shows OPT= 8.

SupposeF ′ is a 1-blocker forW. Hence8 = ‖IB′ ‖ + ‖OB′ ‖. Now the right-hand sideof (2) equals 28, which implies8 = ‖I‖ = ‖O‖. AlsoF ′ hasO[IW,OW] 6= ∅, so take acorrespondingO-setO. SinceF is not a 2-blocker,F has a mixedI-core I , I 6⊆ O, or amixedO-coreN, N 6⊆ O. By complement-symmetry assume the former.

O contains the singleton core that belongs toI . Now Lemma 2.3 impliesO ⊂ I . SinceO contains everyIW-core ofF ′, F has exactly one mixedI-core (I ) and8 − 1 blackI-cores. FurthermoreO contains anO-core ofF , which must be black. This must be theonly blackO-core ofF andF has8 = ‖IB‖+ ‖OB‖. Now I makesF a 1-blocker forB,a contradiction. 2

To prove our incrementation theorem we can now assume8 > ‖IB‖ + ‖OB‖ for bothcolorsB and‖O‖+‖I‖ ≥ 28−1. Lemmas 5.7 and 5.8 treat the two remaining cases. Theoverall approach is simple even though the proofs are not short: We will attempt to colorthe given familyF to get a singleton familyF ′ that is not a 1-blocker. To do this we definea number of sets. Under certain circumstances each set allows us to construct the desiredF ′. If none of the sets leads to the desiredF ′ then we can show thatF is a blocker.

Page 20: Incrementing Bipartite Digraph Edge-Connectivity

468 GABOW AND JORDAN

Here are the definitions of the main sets that are used. In general each of these sets neednot exist or be unique.B denotes any color andI denotes any mixedI-core.

XB = µ∗(O[IB,OB]);I B = µ∗(O[IB ∪ {I },OB]);YB = µ∗(O[IW′ ,OB]).

The fact thatO is crossing gives the following sufficient conditions for these sets to exist:A unique setXB exists ifIB,OB,O[IB,OB] 6= ∅. Suppose this is the case. For any mixedI-core I a unique setI B exists ifO[IB ∪ {I },OB] 6= ∅. A unique setYB exists if I B existsfor every mixedI-core I . In factYB = XB ∪

⋃{I B : I a mixedI-core}.We define a tuple to begoodif any of the following conditions holds. In these conditions

I (O) ranges over every mixedI-core (every mixedO-core) andB ranges over both colors.Assume a unique setXB (I B) exists in the condition involvingXB (I B).

(B) if O[IB,OB] = ∅;(O, B) if ‖IB‖ + ‖OB‖ ≤ 8− 1 andO ⊆ XB;(I , B) if ‖IB‖ + ‖OB‖ ≤ 8− 1, IB 6= ∅ andO[IB ∪ {I },OB] = ∅;(I ,O, B) if ‖IB‖ + ‖OB‖ ≤ 8− 2, IB 6= ∅ andO ⊆ I B.

Two good tuples aredisjoint if they contain no common entry. In particular one tuplecontainsB and the other containsW.

Lemma 5.5. Suppose a semi-colored familyF has8 > ‖IB‖+ ‖OB‖ for both colors Band‖O‖ + ‖I‖ ≥ 28− 1.(i) If F has a good tuple containing B thenF has a coloring with‖IB‖ + ‖OB‖ = 8

that is not a 1-blocker for B.(ii) If F has two disjoint good tuples thenOPT= 8.

Proof: (i) For each of the four types of tuples we construct a singleton familyF ′ asfollows. If the tuple containsI make it a black singleton. Similarly if the tuple containsO.Then make each remaining mixed core a singleton, choosing colors so thatF ′ has exactly8 black cores. This can be done by the definition of good tuple, e.g., if(I ,O, B) is goodthenF has at most8− 2 black cores.8(F ′) = 8(F) by the hypothesis and (2).

We writeO[IB,OB] assuming the family isF , andO′[IB,OB] assuming the family isF ′. We now showF ′ is not a 1-blocker forB. We consider each of the four types of goodtuples in turn. For each type we assume there is a setN ∈ O′[IB,OB] and we derive acontradiction. ClearlyN ∈ O′[IB,OB] ⊆ O[IB,OB].

Suppose(B) is good. The assumptionO[IB,OB] = ∅ contradicts the existence ofN.Suppose(O, B) is good. The definition impliesO ⊆ XB ⊆ N. Thus N contains the

blackO-core ofF ′ contained inO. This contradicts the definition ofN.Suppose(I , B) is good.N contains an element ofI (specifically the new blackI-core).

SinceN contains everyIB-core ofF andIB 6= ∅, N 6⊆ I . Now Lemma 2.3 impliesI ⊆ N.But this contradicts the assumptionO[IB ∪ {I },OB] = ∅.

Page 21: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 469

Suppose(I ,O, B) is good. As in the previous case we getI ⊆ N. So the definition ofgood impliesO ⊆ I B ⊆ N. ThusN contains the blackO-core ofF ′ contained inO. Thiscontradicts the definition ofN.

(ii) Construct a singleton familyF ′ by first making the cores in the two good tuples intosingletons, as in part (i). Then make each remaining mixed core into a singleton, choosingcolors so thatF ′ has exactly8 black cores. Part (i) showsF ′ is not a 1-blocker forB orW. Hence OPT= 8 by Lemma 3.5. 2

Lemma 5.6. Suppose a color B hasIB,OB 6= ∅ and8 > ‖IB‖ + ‖OB‖. Either somegood tuple contains B or these properties all hold:(i) A unique set XB exists and equalsµ∗(O[IB,OW′ ]).

(ii) Every mixedI-core I has a unique set IB.(iii) If ‖IB‖ + ‖OB‖ ≤ 8− 2 then YB ∈ O[IW′ ,OW′ ].

Proof: AssumeO[IB,OB] 6= ∅ else(B) is good. Now a unique setXB exists. If XB

contains a mixedO-coreO then(O, B) is good. In the remaining case no mixedO-coreOis contained inXB, and Lemma 2.5 showsO andXB are disjoint. HenceXB ∈ O[IB,OW′ ],giving (i).

If O[IB ∪ {I },OB] = ∅ for a mixedI-core I then(I , B) is good. In the opposite case auniqueI B exists. Part (ii) follows.

Suppose‖IB‖+‖OB‖ ≤ 8−2. If some mixedO-core is contained in some setI B then(I ,O, B) is good. If not, every setI B is disjoint from every mixedO-core, by Lemma 2.5.ThusYB ∈ O[IW′ ,OW′ ], giving part (iii). 2

Lemma 5.7. A family with8 = ‖O‖ > ‖I‖, ‖IB‖ + ‖OB‖ for both colors B hasOPT= 8 unless it is a 5- or 6-blocker.

Proof: The hypotheses show we can assume the given family is not a blocker of any type.Assume the familyF is semi-colored, by the discussion after Lemma 5.3. By Lemma 5.2assume there are exactly 28−1 cores. Hence any coloring has exactly8 cores of one colorand8− 1 cores of the other. So it suffices to find a good tuple, since then Lemmas 5.5 and3.5 show OPT= 8.

Assume some colorB hasIB,OB 6= ∅ by Corollary 2.11. Lemma 5.6(i) and (ii) showwe can assume there are unique sets

XB ∈ O[IB,OW′ ], YB ∈ O[IW′ ,OB].

XB contains anO-core soOW 6= ∅. V − YB contains anI-core soIW 6= ∅. Now as inthe previous paragraph we get

XW ∈ O[IW,OB′ ], YW ∈ O[IB′ ,OW].

If ‖IX‖=0 then XB and XW showF is a 5O-blocker. If ‖OX‖=0 thenV −YB ∈I[OB, IW′ ] and V −YW ∈ I[OW, IB′ ] showF is a 5I-blocker. Hence assume‖IX‖,‖OX‖ ≥ 1.

Page 22: Incrementing Bipartite Digraph Edge-Connectivity

470 GABOW AND JORDAN

The assumption impliesYB andYW have nonempty intersection. Hence Lemma 2.4 showsthey are co-disjoint. Lemma 2.5 shows one of them, sayYB, contains a mixedO-coreO.Thus some setI B containsO. Also Lemma 5.6(iii) shows‖IB‖ + ‖OB‖ = 8− 1.

The latter implies‖IW‖+‖OW‖ ≤ 8−2. So Lemma 5.6(iii) showsYW ∈ O[IB′ ,OB′ ].Now XB ∈ O[IB,OW′ ], V −YB ∈ I[OB, IW′ ] andYW ∈ O[IB′ ,OB′ ] makeF a 6-blockerfor B. 2

Lemma 5.8. A family with8 = ‖I‖ = ‖O‖ > ‖IB‖ + ‖OB‖ for both colors B hasOPT= 8 unless it is a 2-, 3- or 4-blocker.

Proof: The hypotheses show we can assume the given family is not a blocker. Assume thefamily F is semi-colored, by the discussion after Lemma 5.3. There are exactly 28 cores.Hence any coloring has8 cores of each color. If we construct such a coloring that is not a1-blocker forB or W then Lemma 3.5 shows OPT= 8.

AssumeB has at least oneI-core and at least oneO-core, by Corollary 2.11. Not everyI-core is black, nor everyO-core, by hypothesis.

Case 1. OW = ∅.

We will define a coloringF ′ that shows OPT= 8 or else discover a 1- or 2-blocker.Throughout this discussion “core” refers toF and “singleton” refers toF ′. We first specifyF ′ and then show it has the desired properties.F ′ is constructed in three steps.

Step 1. Make every mixedI-core a white singleton.

After Step 1 anO-setO contains everyIB′ -core if and only ifO contains every whitesingleton. In proof first observe‖IB′ ‖ > 1. (Otherwise there are at least8 − 1 blackI-cores and a blackO-core, contradicting the lemma’s hypothesis.) IfO contains every whitesingleton but not everyIB′ -core then Lemma 2.3 impliesO ⊂ I for some mixedI-core I .So I contains an element of anotherI-core, a contradiction.

We can now make up to‖IB‖ mixedO-cores into white singletons, since8 = ‖I‖ =‖IB‖+‖IB′ ‖. We do this by making at most one mixedO-core white for each blackI-core,as follows.

Step 2. For each blackI-core I do the following. Define

ZI = µ∗(O[IB′ , {I }]).

ZI is uniquely defined sinceO is crossing,µ(IB′) 6= ∅ andV − I ∈ O[IB′ , {I }]. ZI con-tains a mixedO-core, since otherwise it contains noOB′ -core (by Case 1) and Lemma 4.3showsF is a 1- or 2-blocker. Choose a mixedO-coreN ⊆ ZI , where if possibleN 6⊆ XB

when the setXB exists. MakeN a white singleton.

Step 3. Make the remaining cores into singletons so bothB andW get exactly8singletons,and if possible someO-core contained inXB becomes a black singleton.

Page 23: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 471

Now we showF ′ is not a 1-blocker. SupposeF ′ is a 1-blocker forW. Hence someO-setO contains every whiteI-singleton but no whiteO-singleton. LetI be anI-core containedin V − O. The remark after Step 1 showsO ∈ O[IB′ , {I }]. HenceI is black andZI ⊆ O.But ZI contains a whiteO-singleton, a contradiction.

Next supposeF ′ is a 1-blocker forB. Hence someO-set O contains every blackI-singleton but no blackO-singleton. This implies the setXB exists andXB ⊆ O. So weneed only show thatXB contains a blackO-singleton to get the desired contradiction.

EveryO-coreN ⊆ XB is mixed (Case 1). Take such anN and suppose that Step 2, whenexecuted for the blackI-core I , madeN a white singleton. ThusN ⊆ XB ∩ ZI . XB ∪ ZI

contains everyI-core, so Lemma 2.4 showsXB andZI are co-disjoint.Every mixedO-core contained inZI is contained inXB by Step 2. Now co-disjointness

and Lemma 2.5 showXB contains every mixedO-core. The hypothesis8 = ‖O‖ >‖IB‖ + ‖OB‖ and Case 1 imply‖OX‖ > ‖IB‖. Hence Step 2 does not make every mixedO-core contained inXB a white singleton. Thus Step 3 makes someO-core contained inXB a black singleton, as desired.

This completes the analysis of Case 1. The caseIW = ∅ follows by symmetry. Hencefrom now on assume

IB,OB, IW,OW 6= ∅.

If O[IB,OB]=O[IW,OW]=∅ then(B)and(W)are good and Lemma 5.5 shows OPT=8.

Case 2. O[IB,OB] 6= ∅,O[IW,OW] = ∅.

Since(W) is good we need only find a good tuple containingB (Lemma 5.5(ii)). Supposethere is no such tuple. Lemma 5.6(i) and (ii) give the setsXB = µ∗(O[IB,OW′ ]) and I B

for every mixedI-core I . Hence we also have the setYB ∈ O[IW′ ,OB].Suppose‖IB‖+‖OB‖ = 8− 1. The setsXB ∈ O[IB,OW′ ] andV −YB ∈ I[OB, IW′ ]

makeF a 4-blocker. So‖IB‖+‖OB‖ ≤ 8−2. Lemma 5.6(iii) showsYB ∈ O[IW′ ,OW′ ].This makesF a 2-blocker.

This completes Case 2. Hence we can assume the remaining possibility,

O[IB,OB],O[IW,OW] 6= ∅.

Observe that setsXB andXW exist.

Case 3. ‖OX‖ = 0.

If YB exists thenYB ∈ O[IW′ ,OB] = O[IW′ ,OW′ ]. This makesF a 2-blocker. Weconclude that there areI-cores I , J such that neither ofI B, JW exists, i.e.,(I , B) and(J,W) are good. IfI andJ can be chosen to be distinct Lemma 5.5 shows OPT= 8.

We will show suchI andJ always exist. Suppose not. Case 3 implies‖IX‖ ≥ 2. Hencewe can assumeI and J areI-cores whereI B and IW exist but neitherJB nor JW exists.I B ∩ IW containsI but noO-core, sinceI B (IW) contains only white (black)O-cores.Lemma 2.4 showsI B and IW are intersecting and co-disjoint. Lemma 2.3 showsJ is not

Page 24: Incrementing Bipartite Digraph Edge-Connectivity

472 GABOW AND JORDAN

intersecting withI B or IW. HenceJ is contained in one of these sets, sayI B. But this impliesJB exists, a contradiction.

This completes Case 3. By symmetry we can now assume

‖OX‖, ‖IX‖ > 0.

Claim 1. If F is not a 2-blocker then any colorB with at most8 − 2 cores has a goodtuple(I , B) or (I ,O, B) (for I (O) a mixedI-core (mixedO-core)).

Proof: Suppose the claim fails. So for every mixedI-core I , I B exists and is disjointfrom every mixedO-core (Lemma 2.5). ThusYB exists and belongs toO[IW′ ,OW′ ]. ThismakesF a 2-blocker. 2

Claim 2. If (O, B) is good for a mixedO-coreO, ‖IW‖+‖OW‖ ≤ 8−2 and‖OX‖ ≥ 2then OPT= 8.

Proof: Lemma 5.5 shows we can assume that no mixedI-coreI has(I ,W) good. HenceIW exists for everyI and alsoYW exists. Furthermore Claim 1 showsIW contains a mixedO-core for some mixedI-coreI . If we can choose the mixedO-coresO ⊆ XB andN ⊆ IW

to be distinct then Lemma 5.5 shows OPT= 8.To show such distinct setsN and O always exist suppose the contrary. Note thatI

ranges over every mixedI-core. So the supposition implies there is a unique mixedO-coreO contained inXB ∩ YW, and no other mixedO-core is contained inXB ∪ YW. (UseLemma 2.5.) We haveO ⊆ XB ∩YW and XB ∪YW contains everyI-core. Lemma 2.4showsXB andYW are co-disjoint. This makesO the only mixedO-core, contradicting‖OX‖ ≥ 2. 2

Claim 3. If (I , B) is good for a mixedI-core I , ‖IW‖ + ‖OW‖ ≤ 8− 2 and‖IX‖ ≥ 2then OPT= 8.

Proof: This is the complement-symmetric version of Claim 2: LetZB be the maximalset ofO[IB,OB]. (I , B) good impliesI 6⊆ ZB. Lemma 2.3 easily implies thatI is disjointfrom ZB. EquivalentlyI ⊆ µ∗(I[OB, IB]) and(I , B) is good in the complementary family.Claim 2 applied to that family shows OPT= 8. 2

Case 4. ‖IX‖ = 1.

Let I be the unique mixedI-core. Suppose

XW contains a mixedO-coreO.

Thus (O,W) is good. If I B does not exist then(I , B) is good so Lemma 5.5(ii) showsOPT= 8. Hence we can assume

I B exists.

Page 25: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 473

If ‖IB‖ + ‖OB‖ ≤ 8− 2 then Case 4 implies‖OX‖ ≥ 2. Now Claim 2 shows OPT= 8.Hence we can assume

‖IB‖ + ‖OB‖ = 8− 1.

If XB contains no mixedO-core thenXB ∈ O[IB,OW′ ‖ by Lemma 2.5. AlsoV − I B ∈I[OB, IW′ ]. This makesF a 4-blocker. Hence we can assumeXB contains a mixedO-core.

Now we can interchangeB andW in the previous paragraph. Thus we can assume thatIW

exists and‖IW‖+‖OW‖ = 8− 1.This makesF a 3I-blocker sinceV− I B ∈ I[OB, IW′ ],V − IW ∈ I[OW, IB′ ], and Case 4 implies‖OX‖ = 1.

The remaining possibility is that neitherXB nor XW contains a mixedO-core. XB isdisjoint from every mixedO-core by Lemma 2.5. HenceXB ∈ O[IB,OW′ ]. SimilarlyXW ∈ O[IW,OB′ ]. This with Case 4 makesF a 3O-blocker.

This completes Case 4. Using symmetry we can assume

‖OX‖, ‖IX‖ ≥ 2.

Case 5. ‖IB‖ + ‖OB‖ = 8− 1.

Since there are at least 4 mixed cores we get‖IW‖ + ‖OW‖ < 8− 2. If XB contains amixedO-core then Claim 2 shows OPT= 8. If I B does not exist for some mixedI-coreI then Claim 3 shows OPT= 8. Now we can assumeXB contains no mixedO-core andYB exists. Lemma 2.5 showsXB ∈ O[IB,O′W], andV − YB ∈ I[OB, IW′ ]. This makesFa 4-blocker.

This completes Case 5. By symmetry the one remaining case is this:

Case 6. Both colorsB satisfy‖IB‖ + ‖OB‖ ≤ 8− 2.

If I B does not exist for someI-core I then Claim 3 applies. HenceI B and IW exist foreveryI-core I . Also YB andYW exist.

We first show any mixedI-core I is in at least two good triplets. For any mixedI-coreI either

(a) I B ∩ IW contains a mixedO-core, or(b) I B and IW are intersecting and co-disjoint.

In proof suppose (a) fails. ThenI B ∩ IW contains noO-core (since every black (white)O-core is disjoint fromI B (IW)). Lemma 2.4 gives (b).

In case (a) ifO is a common mixedO-core then(I ,O, B) and(I ,O,W) are good. Incase (b) any mixedO-core is contained inI B or IW (Lemma 2.5).I is in at least two goodtriplets since we have assumed‖OX‖ ≥ 2.

We will now show there are two disjoint good triplets, i.e.,(I ,O, B) and(J, N,W)withI 6= J andO 6= N. This will complete the proof by Lemma 5.5. We consider three cases.

Case 6.1. For some mixedI-core I , I B − IW contains every mixedO-coreO.

Page 26: Incrementing Bipartite Digraph Edge-Connectivity

474 GABOW AND JORDAN

I does not belong to any good triplet(I , ·,W). Claim 1 applied toW implies some goodtriplet containsW, say(J, N,W). Clearly J 6= I . We can choose a good triplet(I ,O, B)with O 6= N sinceI belongs to two good triplets.

Case 6.2. For some mixedI-core I satisfying (b) bothI B − IW and IW − I B contain amixedO-core.

Take any mixedI-coreJ 6= I . J is contained in at least one ofI B, IW (Lemma 2.3), sayJ ⊆ I B. This impliesJB ⊆ I B. Suppose(J, N, B) is good for someO-coreN. Let O beanO-core in IW − I B. ClearlyO 6= N and(I ,O,W) is good.

In the remaining case any good triplet containingJ containsW. Let O be anO-core inI B − IW. So(I ,O, B) is good. We can choose a good triplet(J, N,W) with N 6= O sinceJ is in two good triplets.

If no mixedI-core satisfies the condition of Case 6.1 or 6.2 then every mixedI-coresatisfying (b) also satisfies (a) (Lemma 2.5). Hence there is one remaining case:

Case 6.3. Every mixedI-core satisfies (a).

Consider the set of pairs

P = {(I ,O) : both(I ,O, B) and(I ,O,W) are good triplets}.Every mixedI-coreI belongs to a pair ofP, by Case 6.3. If two distinctO-cores belong topairs ofP then we are done. (In proof suppose forO 6= O′ there are good triplets(I ,O, B),(I ,O,W), (I ′,O′, B), (I ′,O′,W). If I 6= I ′ we clearly have two disjoint good triplets. IfI = I ′ then for any mixedI-core J 6= I , any good triplet(J, N,W) is disjoint from oneof these four triplets.J exists since‖IX‖ ≥ 2.) Hence assume every pair ofP contains thesame mixedO-coreO.

The setsYB andYW exist and are co-disjoint (Lemma 2.4). Hence every mixedO-core isin YB or YW (Lemma 2.5). Without loss of generalityYW contains a mixedO-coreN 6= O.Hence there is a good triplet(J, N,W) for some mixedI-coreJ. ChooseI 6= J to get thedesired good triplet(I ,O, B). 2

Theorem 5.9. Any family hasOPT=8 unless it is a blocker, in which caseOPT=8+ 1.

Proof: A blocker has OPT= 8 + 1 by Lemmas 4.1 and 5.1. If8 = ‖IB‖ + ‖OB‖for some colorB the theorem follows from Lemma 5.4. So assume8> ‖IB‖ + ‖OB‖ forboth colorsB. If there are fewer than 28 − 1 cores then OPT= 8 by Lemma 5.2. Soassume there are 28− 1 or 28 cores. These two cases are handled by Lemmas 5.7 and 5.8respectively. 2

6. Related results

6.1. Bipartite strong connectivity incrementation

Gabow and Jord´an (2000) solve the special case of our problem where we wish to make adigraph strongly connected by adding edges that respect a given bipartition. The min-max

Page 27: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 475

theorem of Gabow and Jord´an (2000) is is analogous to ours except that there are no 5- or6-blockers. We show this is true in a more general sense. SupposeI is a ring family.O isalso a ring family, and we will callF a ring family. Both∅ andV can belong toI orO.To consider our covering problem onF we remove these two sets from bothI andO. Weshow such families do not need 5- or 6-blockers:

Lemma 6.1. If F is a ring family then a 5- or 6-blocker is also a 1-blocker.

Proof:

5-blocker. Consider a 5O-blocker. Take setsO ∈ O[IB,OW′ ], N ∈ O[IW,OB′ ]. IfO ∩ N is nonempty then it is anI-set sinceI is a ring family. But it contains noI-coresince‖IX‖ = 0. HenceO ∪ N = V . Lemma 2.5 shows everyO-core is black or white,and no mixed core exists. Hence one of the colors, sayB, has8 = ‖IB‖ + ‖OB‖. SinceO ∈ O[IB,OB] this makesF a 1-blocker.

The case of a 5I-blocker follows by complement symmetry, since a family is a 1-blockerif and only if its complement is.

6-blocker. Take setsO ∈ O[IB,OW′ ], I ∈ I[OB, IW′ ], N ∈ O[IB′ ,OB′ ]. We first showno mixed core exists. IfO ∩ N is nonempty then it is anI-set sinceI is a ring family.But inspection shows it contains noI-core. HenceO ∪ N = V . As in the previous caseno mixedO-core exists. Similarly ifN ∩ I is nonempty then it is anO-set. But inspectionshows it contains noO-core. HenceN ⊆ I and no mixedI-core exists.

This implies that8 = ‖IW‖ + ‖OW‖. SinceN ∈ O[IW,OW] F is a 1-blocker. 2

6.2. Undirected bipartite incrementation

As already mentioned Bang-Jensen et al. (1999) solves the undirected version of our prob-lem, i.e., the problem of incrementing the edge-connectivity of an undirected graph usingundirected bipartite edges. To compare the results suppose we wish to increase the connec-tivity from k to k+ 1. LetI be the family of vertex sets of degree exactlyk. Define

8u = max{d‖I‖/2e, ‖IB‖ : B ∈ P}.Bang-Jensen et al. (1999) shows that fork ≥ 1, OPT= 8u unless the graph is a so-calledC4-configuration, in which case OPT= 8u+ 1. A C4-configuration has a number of definingproperties. We give only three of the properties, for the current context of connectivityincrementation:

(i) k is even (i.e., the target connectivityk+ 1 is odd).(ii) There are 4I-zones that form a partition ofV .

(iii) 8u = ‖I‖/2= ‖IB‖ = 2 for some colorB.

These properties illustrate the different flavor of our results from Bang-Jensen et al.(1999): Our blockers exist for every value ofk. Furthermore8, as well as the number ofzones, can be arbitrarily large in a blocker.

Page 28: Incrementing Bipartite Digraph Edge-Connectivity

476 GABOW AND JORDAN

We can make another comparison by viewing undirected graphs as digraphs. We consideran undirected edge to be two oppositely directed edges. The familyI in the definition of8u does not change if we interpret it as the family of sets of in-degreek in the given graph.The result of Bang-Jensen et al. (1999) gives a cover that consists of either 28u or 28u+ 2directed edges.

To apply our results to the same problem consider a crossing family that is self-comple-mentary, i.e.,I = O. Such a family arises in the connectivity incrementation problem for anEulerian digraph (i.e., a digraph where every vertex has its in-degree equal to its out-degree).A special case is an undirected graph viewed as a digraph, as above. A self-complementaryfamily has8 = max{‖I‖, 2‖IB‖ : B ∈ P}. It is easy to check that such a family has noblocker (use the fact that a blocker is nondegenerate). Hence OPT= 8. Now comparing8with 28u we see that the undirected solution of Bang-Jensen et al. (1999), considered as adirected solution, uses at most 1 more edge than the optimum directed solution unless thegraph is aC4-configuration, which uses 2 more edges.

6.3. Generalized theorem

We generalize our covering problem by allowing “mixed” elements (that can be joinedto other mixed or colored elements) and “unavailable” elements (that cannot be joined toany other elements). More formally consider a crossing familyI on a set of elementsV ,along with a partitionP of V into four blocks,B, W, M , U . Thegeneralized bipartitionedcrossing-family covering problemis to cover every set ofI using the smallest number ofdirected edges, subject to the restriction that an edge is not incident to an element ofU anddoes not join two elements ofB or of W. Hence an edge joins two blocks ofB,W,M orjoins two elements inM .

We extend our results to this case. RedefineIB to be the family of allI-sets containedin B∪U . Call a set of elementsmixedif it contains an element ofM or elements of bothBandW. IX is now the family ofI-sets that do not contain a core ofIB or of IW. All otherdefinitions (e.g., blockers) are unchanged.

Corollary 6.2. The generalized bipartitioned crossing-family covering problem has asolution as long as∅,V /∈ I; M 6= ∅ or B,W 6= ∅; and no core is contained in U. In thiscaseOPT= 8 unless the family is a blocker, in which caseOPT= 8+ 1.

Proof: Model the problem as an instance of our original covering problem, using thecrossing family operations of Section 2.4 as follows. Duplicate each element ofM , makingone copy black and the other copy white. Delete every element ofU . 2

Frank (1992) solved the (unrestricted) edge-connectivity augmentation problem for di-graphs. Specialized to connectivity incrementation his result is that OPT= max{‖I‖, ‖O‖}.The corollary contains this result as a special case. (Take every element to be mixed. It iseasy to see there is no blocker in this case, sinceOB′ = OW′ = O.)

Page 29: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 477

6.4. Other crossing families

We illustrate our results on two other crossing families. The following fact is useful to verifythe examples.

Lemma 6.3. Consider a feasible generalized bipartitioned crossing-family coveringproblem.(i) A blocker with no mixed core is a 1-blocker.

(ii) A singletonI-set orO-set does not belong to any familyO[·, ·] or I[·, ·] in condition(ii ) of a nondegenerate blocker.

(iii) In a nondegenerate3O-, 5O- or 6-blocker noO-core is contained in every nonsin-gletonO-set. In fact anO-core is contained inO-sets that belong to at most one ofthe two familiesO[·, ·] in condition(ii) .

Proof: (i) For 2- and 4-blockers use8 = ‖IB‖ + ‖OB‖ for both colorsB. For 5- and6-blockers use8 = ‖IB‖ + ‖OB‖ for one colorB.

(ii) The family assigns contradictory colors to the singleton. To illustrate consider a 1-blocker. A singleton inO[IB,OB] must be black since it is a core ofIB. But that makes ita blackO-core, a contradiction.

(iii) For each of the blocker types listed, condition (ii) has two families of the formO[·, ·]. In fact the two families have the formO[·,OW′ ] andO[·,OB′ ]. Let O be anO-corecontained in sets of both families. The first family impliesO ∈ OW and the second impliesO ∈ OB. This makesO ⊆ U , contradicting feasiblity. 2

We first look at a flow problem. Consider a flow network with sources, sink t and anintegral capacity function. The vertex setV is given with a bipartition, along with twosetsSι, So ⊆ V . We wish to add the smallest number of new edges, each respecting thebipartition, so the value of the maximum flow froms to t increases and each vertex inSι(So) has a new edge directed into it (out of it).

Let O be the family of alls, t-mincuts, i.e., those sets containings but not t whoseout-degree equals the maximum flow value.O is a crossing family, with complementaryfamily I. Make each element ofSι (So) a singletonI-set (O-set). We get a bipartitionedcrossing-family covering problem that is equivalent to the flow problem.

We define two natural families containing all theI-cores and all theO-cores respectively.Let σ be the minimals, t-mincut. Define the familyO∗ to consist ofσ and{v} for everyv ∈ So. Similarly letτ be the complement of the maximals, t-mincut and defineI∗ to consistof τ and{v} for everyv ∈ Sι. Our lower bound becomes8 = max{‖I∗‖, ‖O∗‖, ‖I∗B‖ +‖O∗B‖ : B ∈ P}. Our theorem says that OPT= 8 unless the network is a blocker, in whichcase OPT= 8+ 1.

Lemma 6.3(ii) and (iii) imply this problem has no nondegenerate 3-, 5- or 6-blocker(sinceσ (τ ) is contained in every nonsingletonO-set (I-set)). Assuming there are no mixedvertices we can eliminate 2- and 4-blockers using Lemma 6.3(i) (σ (τ ) cannot be a mixedO-core (mixedI-core) in a 2-or 4-blocker). Hence a 1-blocker is the only nondegenerateblocker that can exist. Figure 3(a) shows such a blocker. If we allow mixed vertices thenthere can be 2- and 4-blockers, as illustrated in figure 3(b) and (c).

Page 30: Incrementing Bipartite Digraph Edge-Connectivity

478 GABOW AND JORDAN

Figure 3. Blockers for the flow problem. Each edge has capacity 1 and the maximum flow value is 2. Vertices inSι (So) are labelled byι (o). Every vertex is a singletonI- orO-core (but not both) and there are no other cores.(a) has8 = 2. (b) and (c) have8 = 3 and satisfy only one set of blocker conditions.

We turn to a problem on arborescences. Consider a digraph with a distinguished vertexs.An s-arborescenceis a spanning tree directed outwards from its roots. As before the vertexsetV is given with a bipartition and setsSι, So ⊆ V . We wish to add the smallest number ofnew edges, each respecting the bipartition, so the number of edge-disjoints-arborescencesincreases and each vertex inSι (So) has a new edge directed into it (out of it).

Let k be the greatest number of edge-disjoints-arborescences. LetI be the family ofall sets disjoint froms with in-degree exactlyk. I is a crossing family. LetO be thecomplementary family. Make each element ofSι (So) a singletonI-set (O-set). This gives abipartitioned crossing-family covering problem equivalent to the arborescence problem byEdmonds’ Theorem (Edmonds, 1972). Our theorem says that OPT= 8 unless the graph isa blocker, in which case OPT= 8+1. Figure 4 illustrates all the blocker types except 3O-,5O- and 6-blockers. We now show these last three types do not exist for the arborescenceproblem.

More precisely we will show that any nondegenerate 3O-, 5O- or 6-blocker is also ablocker of a different type. To do this it suffices to prove‖OX‖=0. This relation implies thatfor a 3O- or 5O-blocker some color satisfies condition (i) of a 1-blocker, and condition (ii)of the original blocker implies (ii) of a 1-blocker. For a 6-blocker it is easy to see condition(ii) implies condition (ii) of a 5I-blocker, and condition (iii) of a 5I-blocker is our relation.

Now we prove‖OX‖ = 0. Lemma 6.3(ii) and (iii) shows there are two distinct nonsingle-tonO-sets in the two familiesO[·,OW′ ] andO[·,OB′ ] of condition (ii). Any mixedO-coreis clearly disjoint from bothO-sets. Also bothO-sets contains. Hence the intersection ofthe twoO-sets is anO-set. So the intersection contains anO-core, violating Lemma 6.3(iii).

7. Efficient algorithm

We show the bipartite digraph edge-connectivity incrementation problem can be solvedin the same time as the best-known algorithm for unrestricted digraph edge-connectivityincrementation:O(km logn) for unweighted digraphs andO(nm log(n2/m)) for weighteddigraphs, fork the target connectivity (Gabow, 1991). These bounds hold even when thestarting graph does not respect the given bipartition.

Page 31: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 479

Figure 4. Blockers for the arborescence problem. Edges with multiplicity>1 are labelled. Each graph has 2disjoints-arborescences. Vertices ofSι (So) are labelled byι (o). Except fors in (e), every vertex is a singletonI-orO-core but not both, and there are no other cores. (a) has8 = 2 and (b)–(e) have8 = 3. (b)–(e) satisfy onlyone set of the 5 possible blocker conditions.

The algorithm follows our proof of the incrementation theorem. It begins by coloring thegraph, following Section 5. It solves the covering problem on the resulting singleton familyfollowing Section 3. This in turn uses routines based on Section 2.

Each part of the algorithm follows the proof of the corresponding lemma. We will describethe basic tools used to make the algorithm efficient. We will also give implementations ofall the proofs where achieving the desired time bound is not immediate. The proofs that are

Page 32: Incrementing Bipartite Digraph Edge-Connectivity

480 GABOW AND JORDAN

implemented in a straightforward way are not discussed. We present the algorithms in thesame order as the lemmas: Subsections 7.1–7.5 correspond to Section 2, Subsections 7.6 and7.7 correspond to Section 3, Subsection 7.8 corresponds to Section 4 and Subsections 7.9–7.10 correspond to Section 5.

Note that our algorithm can computeO(1) maximum flows: This usesO(min{k, nlog(n2/m)}m) time and so is within our desired time bounds.

7.1. Poset representation

We implement the basic operations on the familyI using the technique of Gabow (1991),which we briefly summarize. LetF be an intersecting family overV , with every elementin someF-set. We will define a posetP that represents the minimalF-set containing eachelement. (Note that throughout Section 7P refers to the poset representation. So there isno confusion with the color partitionP.)

For any x ∈V let M(x) denote the inclusionwise minimalF-set containingx. Let[x]={y : M(y)=M(x)}. Define a posetP whose elements are the distinct sets [x], with[y]¹ [x] when M(y)⊆M(x) (equivalently, when y∈M(x)). Note that M(x)=⋃{y : [y] ¹ [x]}.

An example is the representation of Picard and Queyranne of thes, t-mincuts (Picardand Queyranne, 1980): Suppose a maximums, t-flow has valuek. For x ∈ V , M(x) isthe smallest set of in-degreek containingx andt but nots (M(x) = V if no such mincutexists). A dag representation of the posetP can be explicitly constructed inO(m) timegiven a maximum flow or preflow.

Consider ak-edge-connected digraphG = (V, E). For any nonempty setS⊆ V let IS

(OS) be the family of sets that have in-degree (out-degree)k and are disjoint fromS. (Takethe ground set of both families to beV and addV to the family, so every vertex is in someset of the family.)IS andOS are intersecting families and have corresponding posetsP,which we denote asP(IS) andP(OS) respectively. Gabow (1991) presents algorithms forthe following operations on these two posetsP:

(a) Find the partition ofV into sets [x].(b) Label every poset element [x] with a minimal element [y] of P satisfying [y] ¹ [x].(c) Mark every [x] that has only one possible label [y] in (b).

Note that operation (b) identifies the minimal elements ofP. Also note that inIS, [S]consists of all vertices ofV that do not belong to a set that has in-degreek and is disjointfrom S.

Now we discuss the time bound for these operations. Recall that Gabow (1995) finds theedge connectivityk of a given unweighted digraph in timeO(km logn). Given the outputof that algorithm, operations (a)–(c) each use timeO(m), in an unweighted digraph.

For weighted digraphs Hao and Orlin (1994) finds the edge connectivity in timeO(nmlog(n2/m)). It is straightforward to modify this algorithm to perform operations (a)–(c)within the same time bound. We give a brief sketch for readers familiar with Hao and Orlin(1994). The sketch usesO(nm) extra time andO(n2) space; slightly more care reduces thespace toO(m).

Page 33: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 481

Let Sbe a nonempty set of vertices and letk be the edge connectivity. To implement theposet operations onP = P(IS) begin by executing the Hao-Orlin algorithm withSas theinitial set of source vertices. Number the preflows of valuek that are found by the algorithmfrom 1 to r (r < n) in the order that these preflows are found. For each such preflowconstruct the Picard-Queyranne representation, calling itQi , i = 1, . . . , r . For anyx ∈ Vthe setM(x) is defined both in our desired posetP and in the posetsQi ; denote these setsasM(x,P) andM(x,Qi ) respectively. ThenM(x,P) equalsM(x,Qi ) wherei is chosenas the largest index withM(x,Qi ) 6= V (if no such index exists thenM(x,P) = V).Using this observation construct each setM(x,P) explicitly, by searching the appropriateposetQi . Given all the setsM(x,P) it is a simple matter to do operations (a)–(c) in timeproportional to the total size of these sets,O(n2).

7.2. Derived families

Our algorithm modifies the given familyF = (I,O) using two operations, creating anIB-core (defined before Lemma 3.5) and making a core into a singleton (defined at the start ofSection 5). The total effect of these operations on the familyI is summarized as follows:Some elementsxi are duplicateddi times,i = 1, . . . ,a. Some elementsyi , i = 1, . . . ,bare made into singletonI-sets. (Some of theseyi may be duplicates.) Some setsV − zi ,i = 1, . . . , c are made intoI-sets. As remarked in the discussion of the two operations, nosetV − zi is a core.

Consider any familyIS. The setsM(x) get modified by these operations as follows. Aset M(yi ) changes to{yi }. If S = {zi } for somei then M(x) changes toV − zi for anyelementx /∈ S that originally hadM(x) = V .

We modify the poset operations (a)–(c) so they work for the new family, as follows.Simple bookkeeping keeps track of duplicate elements.

(a) Fori = 1, . . . ,b, removeyi from its original poset element [x] and create a new posetelement [yi ] = {yi }. If S= {zi } for somei then split [S] into two elements, one equalto Sand the other consisting of the remaining vertices.

(b) Each [yi ] is its own label. An original label [y] is still valid if it corresponds to a setthat does not contain anyyi . In the opposite case choose someyi (i = 1, . . . ,b) in theset and use [yi ] as the new label.

(c) Mark each [yi ]. Now we show when to mark the remaining elements [x]. All notation(e.g.,I-core, M(x)) refers to the orginal family before it gets changed. LetF ={yi : i = 1, . . . ,b, yi does not belong to anyI-core}. [x] should be marked if each ofthe following conditions holds: (i) [x] was marked in the original family; in that caselet [y] ¹ [x] be the corresponding label; (ii) at most oneyi , i = 1, . . . ,b belongs to[y]; (iii) M(x) ∩ F = ∅. Note that condition (iii) holds if and only if [x] 6= V in theposetP(IS∪F ). So we can detect condition (iii) using operation (a).

7.3. Cores and zones

We give an algorithm that finds‖I‖ I-cores. This amounts to all theI-cores when‖I‖ > 1.

Page 34: Incrementing Bipartite Digraph Edge-Connectivity

482 GABOW AND JORDAN

Let Sbe anI-core. (We show how to findSbelow.) Find the minimal elements ofP(IS).If V is not minimal then these sets are theI-cores disjoint fromS. So these sets plusSarethe desiredI-cores. IfV is the unique minimal element thenSalone is the desiredI-core.

TheI-coreScan be found in several ways. The Hao-Orlin algorithm givesSdirectly. Ingeneral start with an arbitrary vertexx. If Ix is nontrivial (i.e.,Ix 6= {V}) then a core inP(Ix) can be chosen asS. If Ix is trivial, the poset operations onOx allow us to find aywith I y nontrivial and we can proceed as above.

This algorithm allows us to calculate8 when‖I‖, ‖O‖ > 1, since in that case all coresare known. If‖I‖ = 1 we still need to determine‖IB‖. Check if there is a blackI-core bychoosing a white elementw and checkingP(Iw) for a core.

We turn to finding the zones when‖I‖ > 1. Perform operations (b) and (c) onP(IS)

(for Schosen as above). For anI-coreI 6= S, I is the union of all setsM(x) that containIand no otherI-core. (This characterization would fail if instead ofIS we usedIs for somes ∈ S.) Hence, ifI corresponds to the element [y] in P(IS), I consists of all elementsxwhere [x] 6= [S] has [y] as its unique label. We can findS the same way.

Our desired time bound precludes using this algorithm to recompute zones each time anedge is added to the cover. Instead we use a technique of Gabow (1991). Fix an intersectingfamily of setsF , as above. An elementx elicitsanF-coreY if Y ⊆ M(x), i.e., anyF-setcontainingx containsY. It is easy to verify the following properties in the intersecting familyIS (Gabow, 1991): If operation (b) labels [x] with [ y] thenx elicits the core correspondingto [y]. If x elicitsY thenY andSare the only zones that can containx. (Saccounts for thepossibility thatx ∈ [S].) Suppose we add an edge that keepsSanIu-core. Using the familyIS in the new familyFu, if Y is still anIS-core thenx still elicits Y.

7.4. Families with‖I‖ = 1: Lemma 2.9

If ‖O‖ ≤ 2 the algorithm follows the proof of Lemma 2.9, recomputing the zones eachtime an edge is added. Suppose‖O‖ > 2. Let O be theO-core chosen in the proof. Theproof adds an edge fromN to a vertex not inN, for everyO-coreN 6= O. We show howto choose these edges efficiently.

SinceO is disjoint from N, we can choose an edge fromN to O if N ∪ O is mixed.Take all such edges. RedefineF to reference the family of uncovered sets (Fu). Now everyO-core is a set of the same color, say black.

Choose a white vertexw. In the familyOO supposew elicitsY. (FindY using operation(b) inP(OO).) It is easy to see that we can add an edge fromN tow for everyN 6= O,Y.

7.5. Augmenting procedure

Fix anI-coreS and anO-coreT . Consider two subfamiliesJ ⊆ µ(IS), N ⊆ µ(OT ),such that anyI ∈ J andO ∈ N haveI ∪O mixed. We show how to execute a sequence ofaugments that makes min{|Ju|, |Nu|} ≤ 2, i.e., all but at most 2 cores of eitherJ orN getcovered. After initializing the data structure using our poset operations, the time to executeall the augments isO(n). We use the following technique of Gabow (1991).

Page 35: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 483

Choose one “representative” vertex from each core ofN . We maintain a partition of theserepresentatives into setsE(I ), I ∈J , such that any vertex inE(I ) elicits I (in IS). Similarlywe maintain a partition of representatives of the cores ofJ into setsE(O), O ∈ N , suchthat any vertex inE(O) elicits O (in OS). Each setE(I ), E(O) is represented as a list ofits constituent vertices. These lists are initialized using operation (b) on posetsP(IS) andP(OT ).

To perform an augment choose three vertices from any nonempty listsE(O). This givesthree relations, namely that the representative ofIi elicits Oi , i = 1, 2, 3. Similarly we getthree other relations, that the representative ofO′i elicits I ′i , i = 1, 2, 3. Using these sixrelations, it is easy to see that we can choose four distinct setsI , I ′ ∈ J , O,O′ ∈ O suchthat the representative ofI elicitsO′ and the representative ofO elicits I ′. Lemma 2.6 showsO, I is compatible. AugmentO, I , say by adding edgexy, x ∈ O, y ∈ I . We need onlyupdate theE-lists for the new family. Delete the representatives ofI and O from E(O′)andE(I ′). Now the onlyE-lists that are not valid areE(I ) andE(O). Add E(I ) to E(I ′)andE(O) to E(O′).

We show this is correct by proving that for any vertexv ∈ E(I ), any uncoveredIS-setJ containingv containsI ′. v ∈ E(I ) implies I ⊆ J. Thusy ∈ J, andJ uncovered impliesx ∈ J. Sincex ∈ O Lemma 2.3 showsO ⊆ J (compatibility impliesJ 6⊆ O). Thus therepresentative ofO belongs toJ. HenceI ′ ⊆ J.

We use the above augmenting procedure to implement Corollary 2.11: Start by augment-ing to make the number ofI-cores or the number ofO-cores 2 or less. If it is 2 perform onemore augment by recomputing the zones. After that apply the procedure for Lemma 2.9.

7.6. Dangerous core procedure

We give a subroutine that is used in the next section to process singleton families. In asingleton family consider a sequence of augmentsyi , xi , i = 1, . . . , r , where eachyi (xi )is anOW- (IB)-core. We give a procedure that finds the first of these augments to createa 1-blocker, or else verify that no 1-blocker is ever created. The procedure runs in timeO(m) after finding a maximum flow. We describe how to find the first 1-blocker forW. Thecomplement-symmetric procedure works forB.

We want to find the first augment that makesO[IW,OW] 6= ∅. Let O0 be the set ofall OW-cores that remain after ther augments are executed. We will maintain the setµ∗(O[IW,O0]) as edgesyi xi are added to the graph.

To initialize this set, form a new graphG′ by starting with the graph without any of theedgesyi xi , contracting everyIW-core to a vertexSand contractingO0 to a vertexT . Finda maximum flow fromS to T in G′. Assume the flow value isk, else there is no 1-blocker.The smallest mincutM (i.e., the inclusionwise minimal set of out-degreek containingSand disjoint fromT) is the desired setµ∗(O[IW,O0]). Initialize a countc to be the numberof OW-cores inM . c = 0 if and only if we have a 1-blocker forW.

Now add each edgeyi xi in turn toG′, using the following procedure: Ifyi xi leavesM thenuse the Ford-Fulkerson labeling procedure (Ahuja, Magnanti, and Orlin, 1993) to enlargeM to the smallest mincut in the new graph. Then updatec, decreasing it by 1 sinceyi is nolonger anOW-core and increasing it by 1 for everyOW-core that the labeling procedure adds

Page 36: Incrementing Bipartite Digraph Edge-Connectivity

484 GABOW AND JORDAN

to M . If c = 0 we have discovered the first 1-blocker forW; both yi andxi are dangerous.If not continue by adding the next edge.

7.7. Singleton families: Lemma 3.5

Suppose‖IB‖ = ‖OW‖ = 2. We know there are two edges, each joining anOW-core toanIB-core, that give a family containing noOW- or IB-core. There are only 2 possibilitiesfor the edges, so we can guess the edges and check our guess. Now we can assume‖IB‖ =‖OW‖ = 0. Use the augmenting procedure of Section 7.5 to augment all but at most twoIW- andOB-cores. Then guess the last two edges, as above.

Now suppose‖IB‖ = ‖OW‖ > 2. Use the augmenting procedure to augment all but 2IB-cores. Then execute the dangerous core procedure (for bothB andW). If the final graphis not a 1-blocker then proceed as in the previous paragraph.

In the opposite case the dangerous core procedure finds the dangerous coresyi , xi .Redo the augments as follows: First execute all augments precedingyi , xi . Then reexecutethe augmenting procedure, withyi andxi now unavailable for augmenting. The procedureaugments all but 3IB-cores (one of which isxi ) without creating a 1-blocker (as in the proofof Lemma 3.5). Hence we can proceed as above.

7.8. Finding blockers

Lemma 4.2 shows we need only detect a nondegenerate blocker. For familiesA,B 6= ∅ wetest ifO[A,B] 6= ∅ by computing a maximum flow in the graph with every vertex in a setof A (B) contracted to a source (sink) vertex.

We turn to the procedures for Section 5. Implementing Lemmas 5.1–5.4 is straighfor-ward. The setsXB, I B andYB are easily found by computing a maximum flow, assumingIB,OB 6= ∅.

7.9. Finding a good tuple

We begin with a useful fact. AssumeIB,OB,O[IB,OB] 6= ∅. LetQ be the poset repre-sentation of all sets ofO[IB,OB]. More specifically to constructQ, form a new graph bycontracting everyIB-core to form a new vertexSand contracting everyOB-core to form anew vertexT . Find a maximum flow fromSto T .Q is the Picard-Queyranne representationof the mincuts (i.e., the sets of out-degreek containingSand disjoint fromT).

Lemma 7.1. AnyO-core is contained in some element[x] of posetQ. Similarly anyI-core not containing XB is contained in some element[x] ofQ.

Proof: Consider a setS that is not contained in any poset element [x]. Scontains verticesy, z with y /∈ M(z). Thus some set ofO[IB,OB] containsz but noty. S is not anO-coreby Lemma 2.5. IfS is anI-core then Lemma 2.3 impliesXB ⊆ M(z) ⊆ S. 2

Page 37: Incrementing Bipartite Digraph Edge-Connectivity

INCREMENTING BIPARTITE DIGRAPH EDGE-CONNECTIVITY 485

Now we show how to find a good tuple. Label the poset elements that contain anO-core,and also those that contain anI-core.(O, B) is good ifO is contained in [S] (i.e., O ⊆ XB).(I , B) is good if an element ofI belongs to [T ]. Clearly we can find all such good tupleswithin our time bound.

Suppose there are no such good tuples.(I ,O, B) is good if [y] ≤ [x] for poset elements[y] containingO and [x] containing an element ofI . Check for this condition by doing adepth-first search from the elements [x] labelled byI-cores.

In what follows we refer to the preceding procedure to find a triplet(I ,O, B) as thegood triplet procedure. We use various modifications of this procedure. For instance wecan restrict the triplets not to contain theO-core O (by not assigning a label forO) ortheI-core I (by not starting a search fromI ). We can find all triplets involvingO (by notusing labels for any otherO-core) orI (by only searching fromI ).

7.10. Families with8 = ‖I‖ = ‖O‖: Lemma 5.8

We show how to implement Lemma 5.8, omitting the straightfoward details. Assume thegiven family is not a blocker.

Case 1. OW = ∅.

We modify the procedure of the proof: Execute Step 1. Then execute Step 2 for just onesetZI . The resulting familyF ′ has OPT= 8 as proved in the lemma. HenceF ′ is not ablocker. SinceF ′ has whiteI- andO-cores it can be treated by a subsequent case. Thisprocedure runs within our time bound since we findZI by computing one maximum flow.

Case 3. ‖OX‖ = 0.

As noted in the previous section we can find all good tuples(I , B), (J,W) within ourtime bound. The rest of Case 3 is simple.

Claim 2. We must find distinct mixedO-coresO ⊆ XB and N ⊆ IW, for some mixedI-core I . If XB contains two mixedO-cores, use the good triplet procedure to find a goodtriplet involving W. In the opposite caseXB contains a unique mixedO-core O. Find agood triplet containingW but notO by executing the good triplet procedure.

Case 6. Both colorsB satisfy‖IB‖ + ‖OB‖ ≤ 8− 2.

We must find two disjoint good triplets(I ,O, B),(J, N,W). Find a good triplet(I ,O, B).Check if there is a good triplet disjoint from it by executing the good triplet procedure.Assume no such triplet exists, else we are done.

Now we can find all good triplets involvingW by executing the good triplet proceduretwice, to find all good triplets involvingW and I and all good triplets involvingW andO.Choose two distinct good triplets(I ,Oi ,W), i = 1, 2. (If two such do not exist, choose asmany good triplets as possible.) Similarly choose distinct good triplets(Ii ,O,W), i = 1, 2.

Page 38: Incrementing Bipartite Digraph Edge-Connectivity

486 GABOW AND JORDAN

One of these four triplets can be chosen as part of the desired pair of disjoint triplets. Foreach of the four triplets, use the good triplet procedure to check ifB has a good tripletdisjoint from it.

Theorem 7.2. The bipartite digraph edge-connectivity incrementation problem can besolved in time O(km logn) for an unweighted digraph and O(nm log(n2/m)) for a weighteddigraph. Here k is the target connectivity.

Note

1. Whenk > 0 the bipartitionP can be inferred from the given graph. Whenk = 0 this may not be possible, so weassumeP is given in the edge-connectivity incrementation problem. This assumption holds for the applicationto cable-framework reinforcement.

References

R.K. Ahuja, T.L. Magnanti, and J.B. Orlin,Network Flows: Theory, Algorithms and Applications, Prentice Hall:Englewood Cliffs, NJ, 1993.

J.A. Baglivo and J.E. Graver,Incidence and Symmetry in Design and Architecture, Cambridge University Press:Cambridge, 1983.

J. Bang-Jensen, H.N. Gabow, T. Jord´an, and Z. Szigeti, “Edge-connectivity augmentation with partition con-straints,”SIAM J. Disc. Math., vol. 12, no. 2, pp. 160–207, 1999.

J. Edmonds, “Edge-disjoint branchings,” inCombinatorial Algorithms, R. Rustin (Ed.), Algorithmics Press: NewYork, 1972, pp. 91–96.

A. Frank, “Augmenting graphs to meet edge-connectivity requirements,”SIAM J. Disc. Math., vol. 5, no. 1,pp. 25–53, 1992.

H.N. Gabow, “Applications of a poset representation to edge connectivity and graph rigidity,” inProc. 32nd AnnualSymp. on Found. of Comp. Sci., 1991, pp. 812–821.

H.N. Gabow, “A matroid approach to finding edge connectivity and packing arborescences,”J. Comp. and SystemSci., vol. 50, no. 2, pp. 259–273, 1995.

H.N. Gabow and T. Jord´an, “How to make a square grid framework with cables rigid,” inProc. 10th Annual ACM-SIAM Symp. on Disc. Algorithms, 1999, pp. 356–365; alsoSIAM J. Computing, vol. 30, no. 2, pp. 649–680,2000.

H.N. Gabow and T. Jord´an, “Bipartition constrained edge-splitting in directed graphs,” inProc. 1st Japanese-Hungarian Symp. on Discrete Math. and its Applications, Kyoto, 1999, pp. 225–232; alsoDiscrete AppliedMathematics, to appear.

J. Hao and J.B. Orlin, “A faster algorithm for finding the minimum cut in a directed graph,”J. Algorithms, vol. 17,no. 3, pp. 424–446, 1994.

J.-C. Picard and M. Queyranne, “On the structure of all minimum cuts in a network and applications,”Math. Prog.Study, vol. 13, pp. 8–16, 1980.

A. Recski,Matroid Theory and its Applications in Electric Network Theory and in Statics, Akademiai Kiado,Budapest, 1989.