12
Discrete Optimization 14 (2014) 34–45 Contents lists available at ScienceDirect Discrete Optimization journal homepage: www.elsevier.com/locate/disopt Connected matchings in chordal bipartite graphs Adam S. Jobson a , André E. Kézdy a,, Susan C. White b a Department of Mathematics, University of Louisville, Louisville, KY 40292, United States b Department of Mathematics, Bellarmine University, Louisville, KY 40205, United States article info Article history: Received 31 July 2013 Accepted 19 June 2014 MSC: 90C27 05C70 05C83 Keywords: Connected matching Hadwiger number Bipartite margin shop problem Chordal bipartite graphs abstract A connected matching in a graph is a collection of edges that are pairwise disjoint but joined by another edge of the graph. Motivated by applications to Hadwiger’s conjecture, Plummer, Stiebitz, and Toft (2003) introduced connected matchings and proved that, given a positive integer k, determining whether a graph has a connected matching of size at least k is NP-complete. Cameron (2003) proved that this problem remains NP-complete on bipartite graphs, but can be solved in polynomial-time on chordal graphs. We present a polynomial-time algorithm that finds a maximum connected matching in a chordal bipar- tite graph. This includes a novel edge-without-vertex-elimination ordering of independent interest. We give several applications of the algorithm, including computing the Hadwiger number of a chordal bipartite graph, solving the unit-time bipartite margin-shop schedul- ing problem in the case in which the bipartite complement of the precedence graph is chordal bipartite, and determining – in a totally balanced binary matrix – the largest size of a square sub-matrix that is permutation equivalent to a matrix with all zero entries above the main diagonal. © 2014 Elsevier B.V. All rights reserved. 1. Introduction Motivated by applications to Hadwiger’s conjecture, Plummer, Stiebitz, and Toft [1] introduced connected matchings and exhibited, for graphs with independence number two, a close connection between the maximum size of a connected match- ing and the Hadwiger number of a graph. They also proved that, given a positive integer k, determining whether a graph has a connected matching of size at least k is NP-complete. This they accomplish by reducing the (well known NP-complete) k-clique problem to the problem of determining whether a graph has a connected matching of size at least k. Cameron [2] proved that the problem of determining whether a graph has a connected matching of size k remains NP-complete on bi- partite graphs, but can be solved in polynomial-time on chordal graphs. We present a polynomial-time algorithm that finds a maximum connected matching in a chordal bipartite graph. Note that chordal bipartite graphs are not necessarily chordal graphs, hence Cameron’s polynomial-time algorithm for chordal graphs does not imply that the maximum connected matching problem can be solved in polynomial-time on chordal bipartite graphs. Cameron’s algorithm combines two important observations: chordal graphs have a polynomial number of maximal cliques and, a maximum-sized connected matching in a chordal graph necessarily consists of pairwise disjoint edges all incident to one maximal clique. Analogues of these observations exist for chordal bipartite graphs: chordal bipartite graphs have a polynomial number of maximal bicliques (see bewvo’s in Section 4) and, a maximum-sized connected matching in a chordal bipartite graph necessarily consists of pairwise disjoint edges all incident to one biclique (see Corresponding author. E-mail addresses: [email protected], [email protected] (A.E. Kézdy). http://dx.doi.org/10.1016/j.disopt.2014.06.003 1572-5286/© 2014 Elsevier B.V. All rights reserved.

Connected matchings in chordal bipartite graphs

  • Upload
    susan-c

  • View
    218

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Connected matchings in chordal bipartite graphs

Discrete Optimization 14 (2014) 34–45

Contents lists available at ScienceDirect

Discrete Optimization

journal homepage: www.elsevier.com/locate/disopt

Connected matchings in chordal bipartite graphsAdam S. Jobson a, André E. Kézdy a,∗, Susan C. White b

a Department of Mathematics, University of Louisville, Louisville, KY 40292, United Statesb Department of Mathematics, Bellarmine University, Louisville, KY 40205, United States

a r t i c l e i n f o

Article history:Received 31 July 2013Accepted 19 June 2014

MSC:90C2705C7005C83

Keywords:Connected matchingHadwiger numberBipartite margin shop problemChordal bipartite graphs

a b s t r a c t

A connected matching in a graph is a collection of edges that are pairwise disjoint butjoined by another edge of the graph. Motivated by applications to Hadwiger’s conjecture,Plummer, Stiebitz, and Toft (2003) introduced connectedmatchings and proved that, givena positive integer k, determining whether a graph has a connected matching of size atleast k is NP-complete. Cameron (2003) proved that this problem remains NP-completeon bipartite graphs, but can be solved in polynomial-time on chordal graphs. We present apolynomial-time algorithm that finds a maximum connected matching in a chordal bipar-tite graph. This includes a novel edge-without-vertex-elimination ordering of independentinterest. We give several applications of the algorithm, including computing the Hadwigernumber of a chordal bipartite graph, solving the unit-time bipartite margin-shop schedul-ing problem in the case in which the bipartite complement of the precedence graph ischordal bipartite, and determining – in a totally balanced binarymatrix – the largest size ofa square sub-matrix that is permutation equivalent to a matrix with all zero entries abovethe main diagonal.

© 2014 Elsevier B.V. All rights reserved.

1. Introduction

Motivated by applications to Hadwiger’s conjecture, Plummer, Stiebitz, and Toft [1] introduced connectedmatchings andexhibited, for graphswith independence number two, a close connection between themaximum size of a connectedmatch-ing and the Hadwiger number of a graph. They also proved that, given a positive integer k, determining whether a graph hasa connected matching of size at least k is NP-complete. This they accomplish by reducing the (well known NP-complete)k-clique problem to the problem of determining whether a graph has a connected matching of size at least k. Cameron [2]proved that the problem of determining whether a graph has a connected matching of size k remains NP-complete on bi-partite graphs, but can be solved in polynomial-time on chordal graphs.

We present a polynomial-time algorithm that finds a maximum connected matching in a chordal bipartite graph. Notethat chordal bipartite graphs are not necessarily chordal graphs, hence Cameron’s polynomial-time algorithm for chordalgraphs does not imply that the maximum connected matching problem can be solved in polynomial-time on chordalbipartite graphs. Cameron’s algorithm combines two important observations: chordal graphs have a polynomial numberof maximal cliques and, a maximum-sized connected matching in a chordal graph necessarily consists of pairwise disjointedges all incident to onemaximal clique. Analogues of these observations exist for chordal bipartite graphs: chordal bipartitegraphs have a polynomial number of maximal bicliques (see bewvo’s in Section 4) and, a maximum-sized connectedmatching in a chordal bipartite graph necessarily consists of pairwise disjoint edges all incident to one biclique (see

∗ Corresponding author.E-mail addresses: [email protected], [email protected] (A.E. Kézdy).

http://dx.doi.org/10.1016/j.disopt.2014.06.0031572-5286/© 2014 Elsevier B.V. All rights reserved.

Page 2: Connected matchings in chordal bipartite graphs

A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45 35

Theorem 17 in Section 7). Unfortunately these analogues fail to yield an analogue to Cameron’s algorithm because pairwisedisjoint edges incident to a maximal biclique need not be connected, and the biclique incident to all edges of a maximumconnected matching need not be maximal. Instead our algorithm employs a common strategy for chordal bipartite graphs:dynamic programming. We develop and apply a novel edge-without-vertex-elimination ordering of independent interest.Using these tools rather than the aforementioned analogues makes our algorithm similar in spirit (not complexity) to themaximum induced matching algorithm developed by Brandstädt and Hoàng [3].

Themaximum connectedmatching problem has received increasing independent attention in the literature, particularlybecause it is a natural variation of popularly investigatedmatching variations in bipartite graphs (e.g., themaximum inducedmatching problem [3], the cross-free matching problem [4]).

In the next sectionwe present common definitions and notation. The following section reduces themaximum connectedmatching problem for chordal bipartite graphs to the problem of computing supports (defined in Section 3) of maximalbicliques. Section 4 introduces a novel ‘diverse’ basic edge ordering designed to drive the dynamic programming algorithm(presented in Section 5) that computes the supports of the maximal bicliques of a chordal bipartite graph.

In Sections 6 and 7 we give several applications of our algorithm, including computing the Hadwiger number of achordal bipartite graph, solving the unit-time bipartite margin-shop scheduling problem in the case in which the bipartitecomplement of the precedence graph is chordal bipartite, and determining – in a totally balanced binarymatrix – the largestsize of a square sub-matrix that is permutation equivalent to a matrix with all zero entries above the main diagonal.

2. Preliminaries

All graphs in this paper are finite, simple and undirected. A graph is trivial if it has no edges; otherwise it is nontrivial.Edges are unordered pairs of vertices, but following standard notation, the edge e = {a, b} is abbreviated ab. The vertices aand b are the endpoints of the edge e = ab. The edge ab is incident to a and b. The neighbors of a vertex u in the graph G isthe set N(u) = {v ∈ V : uv ∈ E}, which is sometimes denoted as NG(u) to emphasize the graph. A vertex v is isolated inG if NG(v) = ∅; otherwise it is non-isolated. An independent set is a collection of pairwise non-adjacent vertices. A bipartitegraph is a graph that admits a vertex partition into at most two independent sets called the partite sets. A bipartite graph Gwith edge set E and partite sets A and B is denoted as G(A, B; E); with this notation it is implicit that V = A∪ B is the vertexset of G. A bipartite graph G(A, B; E) is standard if |A| ≤ |B|. A bipartite graph is chordal bipartite if it has no chordless cyclesof length greater than 4. Amatching is a collection of disjoint edges. An edge that intersects two disjoint edges is said to jointhem; that is, edge g joins edges e and f if e ∩ f = ∅ and e ∩ g = ∅ = f ∩ g . A matching M in a graph G is connected ifevery pair of distinct edges ofM is joined by at least one edge of G. The maximum size of a connected matching in a graph Gis denoted by νc(G). A matching saturates a vertex v if there is an edge of the matching incident to v. Similarly, a matchingsaturates a subset of the vertices if it saturates each vertex in the subset.

A subset of vertices is called a biclique if it induces a complete bipartite graph. An edge e = ab is bisimplicial ifN(a)∪N(b)is a biclique. If e = ab is a bisimplicial edge, Qe = N(a) ∪ N(b) denotes the associated biclique. A vertex is weakly simplicialif its neighbors form an independent set and the neighbors can be ordered v1, v2, . . . , vk so that

N(v1) ⊆ N(v2) ⊆ · · · ⊆ N(vk).

Observe that an isolated vertex is vacuously weakly simplicial. A neighbor v of a weakly simplicial vertex u is called anassociate of u if N(v) ⊆ N(v′), for all v′

∈ N(u). An edge ab in the standard chordal bipartite graph (with a ∈ A and b ∈ B) isbasic if a is a weakly simplicial vertex and b is an associate of a.

We shall apply the following facts. Facts 1 and 2 are straightforward observations.

Fact 1. Basic edges are bisimplicial.

Fact 2. If G is a chordal bipartite graph and e is a bisimplicial edge of G, then G − e is also chordal bipartite.

A graph on four vertices and two disjoint edges is denoted as 2K2. A 2K2-free graph is a graph containing no vertex-induced subgraph isomorphic to 2K2. A bipartite, 2K2-free graph is called a chain graph (also known as a difference graph).Yannakakis [5] proved that a connected bipartite graph is 2K2-free if and only if the vertices of one partite set can be linearlyordered by their neighborhoods; that is, the neighborhoods form a chain under the inclusion ordering.

Fact 3. If G(A, B; E) is a chordal bipartite graph, then a ∈ A is weakly simplicial if and only if the subgraph of G induced byA ∪ N(a) is 2K2-free.

Fact 4 (See Corollary 4.6, [6]). A graph is chordal bipartite if and only if every induced subgraph has a weakly simplicial vertex.Furthermore, a nontrivial chordal bipartite graph has a weakly simplicial vertex in each partite set and at least two weaklysimplicial vertices in each partite set that contains at least two vertices.

Page 3: Connected matchings in chordal bipartite graphs

36 A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45

We complete this section with standard definitions.A clique is a set of pairwise adjacent vertices in a graph. A clique with n vertices is denoted by Kn. The clique number of

a graph G, denoted as ω(G), is the maximum cardinality of a clique in G. A proper k-coloring of a graph G is an assignmentχ : V (G) → {1, . . . , k} such that χ(u) = χ(v), for all uv ∈ E(G). The chromatic number of a graph G, denoted as χ(G), is theminimum k such that a proper k-coloring of G exists. An immediate consequence of this definition is that bipartite graphshave chromatic number at most two.

A graph G containsH as aminor, denoted asH ≤m G, if it is possible to assign a nonempty subset Bv ⊆ V (G) to each vertexv ∈ V (H) such that:

(i) Bu ∩ Bv = ∅, for all u = v,(ii) for all u, the set Bu induces a connected subgraph of G, and(iii) if uv ∈ E(H), then there exist x ∈ Bu, y ∈ Bv such that xy ∈ E(G).

The Bv ’s are the branch sets of this minor of H . A graph Gmay contain H as a minor in many ways. So, for example, the choiceof branch sets may not be unique. A popular alternative but equivalent definition ofH ≤m G is that a subgraph isomorphic toH can be obtained from a subgraph of G by a sequence of edge contractions.We present the first definition because Section 6makes reference to branch sets.

We close with a comment about sets and the notation for their subtraction. Sometimes we overload the subtractionoperation and write A \ B as A− B. For brevity elements may be recast as sets. For example, A− b abbreviates A− {b}. In allcases context alleviates possible ambiguity.

3. Connected matchings

This section outlines a polynomial-time algorithm to solve this problem:Maximum connected matching in a chordal bipartite graphINSTANCE: A chordal bipartite graph G.QUESTION: What is the maximum size of a connected matching in G?

We show in this section that computing the size of a maximum connected matching in a chordal bipartite graph reducesto computing the supports (defined below) of all maximal bicliques. Section 5 addresses the problem of computing thesupports. Our goal in this paper is only to prove polynomial-time complexity.Wemake no attempt to optimize our algorithmto obtain the lowest degree polynomial-time complexity.

A pair of edges is separable if the subgraph induced by their endpoints is isomorphic to 2K2. A graph is separable if containsa pair of separable edges; otherwise it is non-separable. Determiningwhether a chordal bipartite graph is separable is clearlypolynomial-time computable. If G is a non-separable graph, then it is 2K2-free. Consequently, computing νc(G) can be doneefficiently in a non-separable graph by invoking any one of a number of polynomial-time maximum matching algorithms.So it suffices to consider separable graphs.

Our approach relies now on a strengthening of the following fact:

Fact 5 (See Theorem 12.8, [7]). Every separable chordal bipartite graph contains at least one pair of separable bisimplicial edges.

We strengthen Fact 5 as follows.

Theorem 1. Every separable chordal bipartite graph contains at least one pair of separable basic edges.

Proof. We argue by induction on the number of edges. This, together with the fact that vertex-induced subgraphs of chordalbipartite graphs are chordal bipartite, means we may assume the graphs considered during the proof have no isolatedvertices. The basis case inwhich there are two edges is clear. Suppose thatG(A, B; E) is a standard, separable chordal bipartitegraph with at least three edges. Fact 4 guarantees at least two weakly simplicial vertices in A. Choose a ∈ A to be a weaklysimplicial vertex with an associate b (which exists because a is not simply an isolated vertex) that maximizes |N(b)|. Theedge ab is basic and bisimplicial (Fact 1) in G. Let Q = NG(a) ∪NG(b) denote the biclique defined by the bisimplicial edge aband set H = G − ab. Note that H is chordal bipartite (Fact 2) with fewer edges than G.Case 1: H is separable. The inductive hypothesis applied to H yields a pair of separable basic edges, {a1b1, a2b2}. If eitherof these edges is disjoint from Q , then it is basic in G so completes a pair (with ab) of separable basic edges in G. So wemay assume that both edges contain vertices of Q . If {a1, b1, a2, b2} ⊆ Q , then these four vertices induce at least threeedges in H , contradicting that they induce 2K2 in H; so 2 ≤ |{a1, b1, a2, b2} ∩ Q | ≤ 3. If |{a1, b1, a2, b2} ∩ Q | = 3, then,to avoid inducing (in H) two edges incident to one vertex, {a, b} ⊆ {a1, b1, a2, b2} which implies {a1, b1, a2, b2} ⊆ Q ,a contradiction. Consequently we may assume 2 = |{a1, b1, a2, b2} ∩ Q |; that is, either {a1, b1, a2, b2} ∩ Q = {a1, a2}or {a1, b1, a2, b2} ∩ Q = {b1, b2}. If {a1, b1, a2, b2} ∩ Q = {b1, b2}, then ab is not basic in G, a contradiction. Hence{a1, b1, a2, b2} ∩ Q = {a1, a2}. In this case, {a1, b1, a2, b2} ∩ {a, b} = ∅. Also the edges a1b1 and a2b2 remain separable(but perhaps not basic) in G.

If a1b1 and a2b2 are both basic in G, then they form the desired pair of separable basic edges in G. So assume a1b1 is notbasic in G. The edge a1b1 can fail to be basic because a1 is not weakly simplicial in G or b1 is not an associate of a1 in G. The

Page 4: Connected matchings in chordal bipartite graphs

A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45 37

former must occur. Fact 3 now implies there is an edge αβ with β ∈ N(a1) \N(a) and α ∈ N(β) \N(b) such that ab and αβinduce 2K2 in G witnessing that a1b1 is not basic in G. Observe that α must be adjacent to every vertex in N(a) \ {b} sinceotherwise the edge from a to a non-neighbor of α would witness (with the edge αβ) that a1b1 is not basic in H .

Consider now aweakly simplicial vertex a′ (not equal to a) in A guaranteed by Fact 4. Let b′ be an associate of a′; thus a′b′ isbasic inG. If ab and a′b′ induce 2K2 inG, then they form the desired two separable basic edges. So assume that {a′, b′

}∩Q = ∅.If a′

∈ Q , then because {b, β} ⊆ N(a′), the edges ab and αβ witness that a′ is not weakly simplicial in G, a contradiction.Therefore, a′

∈ Q and b′∈ N(a)\ {b}. However N(b) ( N(b′), since b is an associate of a and α ∈ N(b′)\N(b), contradicting

the choice of a.Case 2: H is non-separable. Fact 5 guarantees a pair of separable bisimplicial edges in G, one of which must be ab since His non-separable. Consider the other bisimplicial edge of this pair, a′b′. Observe that a′ must be weakly simplicial since aninduced 2K2 in the graph induced by N(a′) ∪ N(N(a′)) would contradict that H is non-separable. Consequently, a′ has anassociate b⋆. Since N(b⋆) ⊆ N(b′) and a ∈ N(b′) (since ab and a′b′ are separable), it follows that ab and a′b⋆ form a pair ofseparable basic edges of G. �

An edge e of G is removable if νc(G) = νc(G − e). If e is not removable, then it is non-removable. Because a maximumconnected matching in a chordal bipartite graph cannot use both edges from a pair of separable basic edges, at least oneof the edges is removable — but which one? Our strategy is to identify which edge from a pair of separable basic edgesis removable, remove it (applying Fact 2), and repeat until the graph becomes non-separable (at which point a maximummatching query will determine νc(G)). We must show that this can be done in polynomial time.

We begin by reproving a fact first proven by Caragianis and Kézdy (Lemma 4, page 36 of [8]).

Theorem 2. Suppose that e is a non-removable bisimplicial edge of a chordal bipartite graph G. If M is any maximum connectedmatching of G, then M saturates Qe and E(Qe) ∩ M = {e}.

Proof. Suppose that a ∈ A, b ∈ B, and e = ab is a non-removable bisimplicial edge of a chordal bipartite graph G(A, B; E).Consider an arbitrary maximum connected matchingM of G.

First we prove that e ∈ M . Assume, to the contrary, that e ∈ M . We may also assume that M saturates a and b sinceotherwise ewould be removable. So there are edges ab′ and a′b inM . Because e is bisimplicial in G, it follows that a′b′ is alsoan edge of G. Therefore, ab′ and a′b are still joined in G − e. This implies that M remains a connected matching in G − e soνc(G) = νc(G − e). This contradicts that e is non-removable. Therefore e ∈ M .

Next we prove that E(Qe) ∩ M = {e}. Assume, to the contrary, that there is another edge f in E(Qe) ∩ M; let f = uvwith u ∈ A, v ∈ B. Because Qe is a biclique, the edges av, ub exist in G. Now make a switch to produce the matchingM ′

= M − {e, f } + {av, ub}. We claim that M ′ is a connected matching. Naturally av, ub are joined via e or f . Also it isclear that the edges in M ′

− {av, ub} are pairwise connected. So it suffices prove that av, ub are joined to every edge cd inM ′

− {av, ub} with c ∈ A, d ∈ B. Because M is a connected matching, ab must be joined to cd via either ad or bc. Withoutloss of generality, ad ∈ G. Because d ∈ N(a) and u ∈ N(b), the bisimpliciality of ab now implies that ud is an edge of G.Therefore cd is joined to av and ub via ad and ud, respectively. Since all edges of M ′ are joined to av and ub, it follows thatM ′ is a maximum connected matching of G avoiding e, a contradiction.

Finally we prove that M saturates Qe. Again we argue by contradiction. Assume that w ∈ Qe and M does not saturate w.Without loss of generality, w ∈ A. Consider M ′

= M − ab + bw. We claim that M ′ is a maximum connected matching of Gavoiding e, a contradiction. To prove this, we need only consider an edge xy ∈ M with x ∈ A, y ∈ B such that xy is not joinedto bw via an edge to b. So xy is joined to ab in M via a; that is, y ∈ N(a). Consequently w, y ∈ Q (e) so the edge wy exists tojoin xy and bw. �

From Theorem 2 one can reduce the computation of νc(G) to the computation of supports of maximal bicliques, areduction we now describe. Suppose that G(A, B; E) is a non-trivial, standard chordal bipartite graph with bisimplicial edgeab. The support of the biclique Q = N(a) ∪ N(b) in G is defined to be

supp(Q ) = max|S| :

S ⊆ N(b) \ {a} and there is a connectedmatching saturating S in G − N(a)

.

A matching realizing the support of Q is a connected matching in G − N(a) saturating a subset of N(b) \ {a} with cardinalitysupp(Q ).

If ab is a basic edge, define themass of the biclique Q = N(a) ∪ N(b) in G to be:

m(Q ) = max|M| :

M is a matching in the subgraph of Ginduced by (N(a) \ {b}) ∪ (A \ N(b))

.

A matching realizing the mass of Q is a matching in the subgraph of G induced by (N(a) \ {b}) ∪ (A \ N(b)). The mass of abiclique associated with a basic edge can be computed in polynomial-time via well known bipartite matching algorithms.

A fundamental property of basic edges is that they are contained in an obvious connected matching:

Corollary 3. If G(A, B; E) is a standard chordal bipartite graph with basic edge e = ab defining the biclique Q = N(a) ∪ N(b),then G contains a connected matching of size supp(Q ) + m(Q ) + 1.

Page 5: Connected matchings in chordal bipartite graphs

38 A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45

Proof. LetM1 be amatching that realizes themass ofQ . Since ab is basic, the subgraph ofG induced by (N(a)\{b})∪(A\N(b))is 2K2-free soM1 is necessarily a connected matching.

Let M2 be a matching that realizes the support of Q . Because Q is a biclique containing ab and endpoints of edges in M1andM2, it follows that

M = M1 ∪ M2 ∪ {ab}

is a connected matching of G of cardinality supp(Q ) + m(Q ) + 1. �

The connected matching constructed in the proof of Corollary 3 may not be maximal because it is possible that moreedges of Q could be added. However this phenomenon does not occur if e = ab is non-removable (Theorem 2). We exploitthis fact next. Define the degree of an edge e = ab to be d(e) = d(a) + d(b) − 1.

Corollary 4. Suppose that G(A, B; E) is a standard chordal bipartite graph and e = ab is a basic edge defining the bicliqueQ = N(a) ∪ N(b). If e is non-removable, then

νc(G) = d(e) = supp(Q ) + m(Q ) + 1.

Proof. Consider a maximum connected matching, M , of G; so |M| = νc(G). Theorem 2 guarantees that M saturates Q andE(Q ) ∩ M = {e}. Consequently, νc(G) = d(e), since every edge of M must be connected to e. The edges of M saturatingN(b) \ {a} show that supp(Q ) = |N(b) \ {a}|, and the edges ofM saturating N(b) \ {a} show thatm(Q ) = |N(b) \ {a}|. �

Finally we complete this section by proving:

Theorem 5. If the supports of bicliques associated with basic edges can be computed in polynomial-time, then there is apolynomial-time algorithm to compute the maximum connected matching number of a chordal bipartite graph. Moreover, thesame algorithm can construct a maximum connected matching in polynomial-time.

Proof. Assume the supports of bicliques associated with basic edges can be computed in polynomial-time. The algorithm isa recursion that reduces a chordal bipartite by removing removable edges until a non-separable graph remains. Amaximummatching algorithm computes the maximum connected matching number of the final reduced graph and this is equal tothe connected matching number of the original graph because only removable edges were removed at each reduction step.The basis of the recursion consists of non-separable chordal bipartite graphs. These are easy to recognize since they are the2K2-free chordal bipartite graphs.

Assume now that G(A, B; E) is a standard, non-separable chordal bipartite graph. Theorem 1 guarantees a pair {e, f } ofseparable basic edges defining bicliques Qe and Qf , respectively. Finding such a pair and their associated bicliques can bedone in polynomial-time. If d(e) > supp(Qe)+m(Qe)+1, then e is removable by Corollary 4. Similarly, if d(f ) > supp(Qf )+m(Qf )+ 1, then f is removable. So wemay assume that d(e) = supp(Qe)+m(Qe)+ 1 and d(f ) = supp(Qf )+m(Qf )+ 1. ByCorollary 3, there are connectedmatchingsMe andMf , containing e and f respectively, such that |Me| = d(e) and |Mf | = d(f ).ObviouslyMe andMf are different connectedmatchings since e and f are separable. Therefore, if d(e) < d(f ), then e is remov-able. Similarly, if d(f ) < d(e), then f is removable. Finally, if d(e) = d(f ) then both are removable. In any case, a removableedge has been detected so the algorithm proceeds by considering the graph that results from removing this edge. �

4. Edge orderings

This section develops a novel edge-without-vertex-elimination ordering of a chordal bipartite graph. This ‘diverse’ order-ing is a central component of our dynamic programming algorithm (presented in Section 5) to compute supports ofmaximalbicliques. We separate its introduction because of its independent interest. The development begins with elementary prop-erties of edge orderings.

An edge ordering is a linear ordering of all of the edges of a graph. Given an edge ordering (e1, . . . , em) of a graphG(A, B; E), define, for i = 1, . . . ,m + 1, the edge set Ei = E \ {e1, . . . , ei−1}. The graph Gi is the graph G(A, B; Ei); that is,G1 = G and, for i > 1, the graph Gi is obtained from Gi−1 by removing the edge1 ei−1. Alternatively, Gi is the graph obtainedfrom Gi+1 by adding the edge ei. Observe that no vertices are deleted. The edge ordering (e1, . . . , em) of G(A, B; E) is a perfectedge without vertex elimination ordering (pewvo) if ei is bisimplicial in Gi for all i = 1, . . . ,m. Similarly, (e1, . . . , em) basicedge without vertex elimination ordering (bewvo) of G(A, B; E) if ei is basic in Gi for all i = 1, . . . ,m. The sequence of graphs,(G1, . . . ,Gm+1) is referred to as the decomposition of G from (e1, . . . , em). Several researchers have noted that a graph ischordal bipartite if and only if it admits a pewvo [9]. As far as we know, basic edge without vertex elimination orderingshave not appeared before in the literature. The diverse orderings we shall eventually define will be special types of bewvo’s.

1 This differs from the standard definition in the literature in which edge ei is not an edge of graph Gi . Our notation is justified by its convenience inSection 5 in which the graph is rebuilt from a graph with no edges.

Page 6: Connected matchings in chordal bipartite graphs

A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45 39

Consider a nontrivial, standard chordal bipartite graph G(A, B; E) and a bewvo (e1, . . . , em) of G. The neighborhood of avertex v in Gi is denoted as Ni(v). The set of non-isolated, weakly simplicial vertices in Gi that are in A is denoted by

Wi = {v ∈ A : |Ni(v)| > 0 and v is weakly simplicial in Gi}.

Define ai and bi so that ei = aibi with ai ∈ Wi and bi ∈ B. Observe that the sequences (ai)mi=1 and (bi)mi=1 may contain repeatedelements.

Lemma 6. Suppose that G(A, B; E) is a nontrivial, standard chordal bipartite graph with bewvo (e1, . . . , em) and decomposition(G1, . . . ,Gm+1).

(i) If ei and ej are separable in Gr , then they are separable in Gs, for all s = 1, . . . , r.(ii) If a ∈ A is weakly simplicial in Gi, then it is weakly simplicial in Gj, for all j = i, . . . ,m.

Proof. (i) Assume that ei and ej are separable in Gr . Suppose, to the contrary, there exists

k = max{s : 1 ≤ s < r and ei and ej are not separable in Gs}.

Without loss of generality, ek = aibj since ek is the edge added to Gk+1 that must join ei and ej. Consequently, ak = aiand {bi, bj} ⊆ Nk(ak). Yet ajbi is not an edge of Gk, contradicting that ek is bisimplicial in Gk.

(ii) Assume a ∈ A is weakly simplicial in Gi. If a is not weakly simplicial in Gj for some j > i, then by Fact 3, the removal ofej−1 from Gj−1 to produce Gj must have produced a 2K2 in the subgraph of Gj induced by A ∪ Nj(a). It follows that thereare two vertices v ∈ A ∩ Nj(bj−1), u ∈ B ∩ Nj(aj−1) ∩ Nj(a) such that {u, v, aj−1, bj−1} induce 2K2 in Gj. This implies thatthe edges uaj−1 and vbj−1 are separable in Gj but not in Gi, contradicting (i). �

Recall that ai and bi are defined so that ei = aibi with ai ∈ Wi and bi ∈ B. Because ei is bisimplicial in Gi, it defines abiclique Qi = Ni(ai) ∪ Ni(bi). For convenience, define Bi = Ni(ai) ⊆ B and Ai = Ni(bi) ⊆ A.

Lemma 7. Suppose that G(A, B; E) is a nontrivial, standard chordal bipartite graph with bewvo (e1, . . . , em). Assume that i < jand ai ∈ Aj.

(i) bi ∈ Bj and Bj ( Bi,(ii) if Ai ⊆ Aj, then Qj ( Qk, for some i < k < j.

Proof. (i) Because i < j, the edge ei is not in Gj so bi ∈ Nj(ai). By assumption, ai ∈ Aj = Nj(bj). Because bj is the associateof aj in Gj, Nj(bj) ⊆ N(b), for all b ∈ Bj. Therefore bi ∈ Nj(ai) implies bi ∈ Bj and Bj ⊆ Nj(ai) ( Ni(ai) = Bi.

(ii) Assume Ai ⊆ Aj. Observe that, for every v ∈ Ai \ Aj and b ∈ Bj ( Bi, on the one hand v ∈ Ni(b) but, on the other hand,v ∈ Nj(b). So we may define

k = min{t : et = atbt where at ∈ Ai \ Aj and bt ∈ Bj}.

By assumption ai ∈ Aj so i = k. Also ak ∈ Nj(bj) so k < j. Because bk ∈ Bj, it follows that Aj ⊆ Nj(bk) ( Nk(bk) = Ak. Bydefinition of k, the set Bj is a subset of Bk; therefore Aj ∪ Bj = Qj ( Qk = Ak ∪ Bk. �

Wenow define a basic edge ordering that diversifies theweakly simplicial vertices in the sequence of vertices in A visitedby the basic edges of the ordering.

Definition 1 (Diverse Basic Edge Ordering). A diverse basic edge ordering (dbeo) of a nontrivial, standard chordal bipartitegraph G(A, B; E) is a bewvo (e1, . . . , em) (where e = aibi) defining sets Wi of non-isolated weakly simplicial vertices (asabove) with this property:

If i < j and ai = aj, then for all v ∈ Wi \ {ai},

there is some k such that i < k < j and v = ak. (1)

The existence of a dbeo follows from the following Theorem.

Theorem 8. Every chordal bipartite graph has a diverse basic edge ordering.

Proof. Consider a nontrivial, standard chordal bipartite graph G(A, B; E). Circularly order, arbitrarily, the vertices in A =

{v0, . . . , v|A|−1}. Let [vi, vj] denote the clockwise interval {vi, vi+1, . . . , vj}, where indices are computed modulo |A| − 1. Forexample, A = [v2, v1]. Note that a clockwise interval is actually an unordered set. Extend this notation naturally to open orhalf-open intervals; so for example, (vi, vj) denotes the open interval [vi, vj] − {vi, vj}.

For a vertex vi ∈ A, define the successor of vi in G as the next weakly simplicial, non-isolated vertex in A under the circularordering implied by the indexing; so the successor of vi in G is vj if vj is a non-isolated weakly simplicial vertex in G and allvertices in (vi, vj) are either isolated or not weakly simplicial in G. Observe that vi is equal to its own successor if and onlyif vi is the only non-isolated, weakly simplicial vertex of G in A. Fact 4 guarantees that, if G is nontrivial and vi ∈ A, then thesuccessor of vi in G is defined.

Page 7: Connected matchings in chordal bipartite graphs

40 A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45

Now recursively define a dbeo ordering of G as follows. Let a1 be the successor of v|A|−1 in G and choose b1 to be anyassociate of a1 in G. This defines e1 = a1b1 and G2 = G− {e1}. For i = 2, . . . ,m, define ai to be the successor of ai−1 in Gi, bian associate of ai in Gi, ei = aibi and Gi+1 = Gi − {ei}. We must prove that (e1, . . . , em) is a dbeo. By definition it is a bewvo,so it suffices to verify property (1).

Assume i < j and ai = aj. If v ∈ Wi \ {ai}, then v is not isolated and weakly simplicial Gi. Lemma 6 part (ii) guaranteesthat v remains weakly simplicial in Gj. Because ai = aj, the choice of successors defining (e1, . . . , em) visits all non-isolatedweakly simplicial vertices in circular order; that is, there is some k such that i < k < j and v = ak. �

We conclude this section with two important properties of diverse basic edge orderings.

Lemma 9. Suppose that G(A, B; E) is a nontrivial, standard chordal bipartite graph with dbeo (e1, . . . , em), ei = aibi withai ∈ Wi and bi ∈ B. As above, define Bi = Ni(ai) and Ai = Ni(bi).

(i) If i < j, ai = aj, and ai ∈ Aj, then aj ∈ Ai.(ii) If i < j and ai = aj, then Ai ∩ Aj = NG(bi) ∩ Aj.

Proof. (i) Assume i < j, ai = aj, and ai ∈ Aj. Because ai ∈ Aj, it follows from Lemma 7 part (i) that Bj ( Bi. If we suppose,to the contrary, that aj ∈ Ai, then Bi ⊆ Ni(aj) which means |Bi| ≤ |Ni(aj)|. By definition, |Bj| = |Nj(aj)|, so the degree ofaj declines from at least |Bi| down to |Bj| in the reduction from Gi to Gj. This implies that in the sequence

ai, ai+1, . . . , aj

there are at least |Bi| − |Bj| + 1 indices t such that at = aj. Observe that ai ∈ Wi and Lemma 6 part (ii) ensures thatai ∈ Wt , for all i ≤ t ≤ j, since ai is not isolated in Gj. Therefore property (1) guarantees diversity: between two indicesx and y such that ax = ay = aj, there exists an index z such that az = ai. Consequently, the degree of ai declines by atleast |Bi| − |Bj| + 1 in the reduction from Gi to Gj which implies that Bj ⊆ Nj(ai). This contradicts the assumption thatai ∈ Aj.

(ii) Assume i < j and ai = aj. BecauseNi(bi) = Ai ⊆ NG(bi), it is clear that Ai∩Aj ⊆ NG(bi)∩Aj. If there exists a vertex v suchthat v ∈ NG(bi) ∩ Aj and v ∈ Ai, then there is an edge ek = akbk with ak = v, bk = bi such that k < j, ak = aj, ak ∈ Ajand aj ∈ Ak, contradicting part (i). �

5. Supports of maximal bicliques

In this section we show, given a chordal bipartite graph, how to compute in polynomial-time the support of all maximalbicliques. We employ a dynamic programming strategy based on the decomposition of the graph derived from a diversebasic edge ordering.

Suppose that G(A, B; E) is a nontrivial, standard chordal bipartite graph with dbeo (e1, . . . , em) yielding the decompo-sition (G1, . . . ,Gm+1). The idea is to begin with Gm+1, a graph with no edges and so trivial maximal bicliques, and workbackwards to G = G1 updating the supports of all maximal bicliques of Gt as the edge et is added to Gt+1. At each step t ,the algorithm has two tasks: compute the support of the new maximal biclique Qt and update the support of all maximalbicliques of Gt+1 that remain maximal bicliques in Gt . We refer to these tasks as the ‘compute’ and the ‘update’ phases, re-spectively. We show, in turn, how to complete each task in polynomial-time. Notice that any maximal biclique Q of Gmustappear as a Qt , for some t; in particular, t = max{i : Q is a maximal biclique of Gi}. Therefore, the algorithm we describecomputes the support of all maximal bicliques of G.

Define suppt(Qi) to be the support of Qi in Gt (assuming Qi induces a maximal biclique in Gt , otherwise this number iszero). Observe that there are only a polynomial number of these numbers since 1 ≤ i, t ≤ m. The algorithmmaintains a listof all of these supports and their updates.

5.1. Compute phase

In this subsection we show how to compute suppi(Qi) based on the knowledge of suppi+1(Qj), for all j = i + 1, . . . ,m.Recall from Section 4 that ai and bi are defined so that ei = aibi with ai ∈ Wi and bi ∈ B. The basic edge ei definesAi = Ni(bi) ⊆ A, Bi = Ni(ai) ⊆ Bi, and the biclique Qi = Ai ∪ Bi in Gi. It is convenient to define A∗

i = A \ {ai} andQ ∗

i = A∗

i ∪ Bi.We require the following technical definition. For x < y, define the potential support thatQy can contribute to the support

of Qx in Gt as

Φt(y, x) = suppt(Qy) + 1 + max|M| :

M is a matching betweenAx − ax − Ay and By − by − Bx

.

If suppt(Qy) is known, then Φt(y, x) can be computed in polynomial time because it reduces to the computation of a max-imummatching in a bipartite graph. We are now ready to show how to compute suppi(Qi):

Page 8: Connected matchings in chordal bipartite graphs

A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45 41

Theorem 10. Suppose 1 ≤ i ≤ m. If A∗

i = ∅, then suppi(Qi) = 0. Otherwise A∗

i = ∅ and one can define j = min{k : i < kand Q ∗

i ⊆ Qk}. In this latter case,

suppi(Qi) = maxsuppi+1(Qj) + min{|Bj| − |Bi|, |Aj| − suppi+1(Qj)},

maxΦi+1(k, i) : i < k < j and ak = aj

.

Proof. Clearly, if A∗

i = ∅, then suppi(Qi) = 0. So assume A∗

i = ∅. In this case, j = min{k : i < k and Q ∗

i ⊆ Qk} is welldefined. Because Q ∗

i ⊆ Qj and Ni+1(bi) = A∗

i , it follows that aj ∈ A∗

i = Aj and Bi ⊆ Bj. If suppi(Qi) > suppi+1(Qj), then someconnected matching in Gi realizing suppi(Qi) saturates aj.Claim 1:

suppi(Qi) ≥ suppi+1(Qj) + min{|Bj| − |Bi|, |Aj| − suppi+1(Qj)}. (2)

Let M1 be a connected matching in Gi+1 realizing suppi+1(Qj) and set S to be the vertices in Aj saturated by M1. Now letM2 be a maximum matching in the subgraph, call it H , of Gi induced by (Bj − Bi) ∪ (Aj − S). Because H is a subgraph of thebiclique Qj, the matching M2 is connected and has cardinality min{|Bj| − |Bi|, |Aj| − suppi+1(Qj)}. The union M1 ∪ M2 is aconnectedmatching in Gi that saturates a subset of Ai −ai with cardinality suppi+1(Qj)+min{|Bj|− |Bi|, |Aj|− suppi+1(Qj)}.This proves Claim 1.Claim 2: If equality is not achieved in (2), then every connected matching realizing suppi(Qi) saturates aj with an edge ek = ajbksuch that i < k < j and bk ∈ Bj.

Let M be a connected matching in Gi realizing suppi(Qi) and assume that |M| > suppi+1(Qj) + min{|Bj| − |Bi|, |Aj| −

suppi+1(Qj)}. As noted before Claim 1, M must saturate aj with some edge, say ek = ajbk. If bk ∈ Bj, then M may be chosento be a connected matching of the type found in the proof of Claim 1 in that it can be decomposed into two parts, M1 andM2, with M1 a connected matching in Gi+1 realizing suppi+1(Qj) and M2 a maximum matching in H . This would contradictthat |M| > suppi+1(Qj) + min{|Bj| − |Bi|, |Aj| − suppi+1(Qj)}. Therefore, bk ∈ Bj. Clearly i < k. If j ≤ k, then either equalityis achieved in (2) or suppj(Qj) < suppj(Qk), a contradiction in either case; so k < j. This proves Claim 2.

For the remainder of this proofwe shall assume that equality is not achieved in (2). By Claim2,wemay choose kmaximumso that i < k < j and there exists a connected matching M realizing suppi(Qi) that saturates aj = ak with the edgeek = ajbk ∈ M such that bk ∈ Bj. We will complete the proof of the theorem by proving that |M| = Φi+1(k, i).

Because k < j and ak ∈ Aj, Lemma 7 part (i) implies that Bj ( Bk. In particular, bk ∈ Bj so Bi ⊆ Bj ( Bk. The minimality ofj implies that Ak ( Aj. Consequently, Ak ( Aj ( Ai.Claim 3: Every edge of M is incident to a vertex in Ak or Bk.

Suppose, to the contrary, that eℓ = aℓbℓ is an edge of M that is not incident to a vertex in Ak ∪ Bk. Because k < j andak = aj, Lemma 9 part (ii) implies that aℓbk ∈ E(G). If k < ℓ, then eℓ and ek are separable in Gk and so, by Lemma 6 part (i),remain separable in Gi contradicting that M is a connected matching. If ℓ < k, then eℓ and ek must be connected in Gℓ, soakbℓ ∈ Gℓ. Therefore ak = aj ∈ Aℓ. However, because ℓ < j, aℓ = aj and aℓ ∈ Aj, Lemma 9 part (i) guarantees that aj ∈ Aℓ, acontradiction. This proves Claim 3.Claim 4: The only edge of M that intersects both Ak and Bk is ek.

Suppose, to the contrary, that there is edge eℓ = aℓbℓ ∈ M such that eℓ = ek, aℓ ∈ Ak, and bℓ ∈ Bk. BecauseQk is a bicliquein Gk, one can make the switch: M ′

= M − {akbk, aℓbℓ} + {akbℓ, aℓbk}. By Claim 3, M ′ is a connected matching. Moreover,M ′ has the same size as M , suppi(Qi), and saturates aj = ak with an edge et = akbℓ whose index, t , must satisfy k < t sinceQk is a biclique in Gk. This contradicts the choice of k and proves Claim 4.Claim 5: |M| ≤ Φi+1(k, i).

By Claims 3 and 4, M naturally partitions into three parts: edges with an endpoint in Ak − {ak} and the other endpointoutside Bk, the edge ek = akbk, and edges with one endpoint in Bk − {bk} and the other endpoint outside Ak. The first parthas cardinality at most suppi+1(Qk) and the last part forms a matching between Ai − ai − Ak and Bk − bk − Bi. Therefore,

|M| ≤ suppi+1(Qk) + 1 + max|M∗

| :M∗ is a matching between

Ai − ai − Ak and Bk − bk − Bi

,

which proves Claim 5.Claim 6: suppi(Qi) ≥ max

Φi+1(k, i) : i < k < j and ak = aj

.

Assume that i < k < j and ak = aj. As noted before Claim 3, Bi ⊆ Bj ( Bk and Ak ( Aj ( Ai. Let M1 be a connectedmatching in Gi+1 that realizes suppi+1(Qk). LetM2 be a maximummatching in Gi between Ai − ai −Ak and Bk − bk −Bi. NotethatM1, {ek}, andM2 are pairwise disjoint sets of edges. To prove Claim 6, it suffices to prove that suppi(Qi) ≥ Φi+1(k, i), theright-hand side of which is the cardinality ofM = M1 ∪ {ek} ∪ M2. It suffices then to prove thatM is a connected matchingin Gi. Because Qk is a biclique, this reduces to proving thatM2 is a connected matching.

Consider an arbitrary edge er = arbr ∈ M2. Because br ∈ Bk, there is an edge es = akbr in Gk and k < s. If s < j, then applyLemma 9 part (ii) with i = s to conclude thatNs(bs)∩Aj = NG(bs)∩Aj. Because bs = br , we find thatNs(br)∩Aj = NG(br)∩Aj;in particular, s < r . If j < s, then br ∈ Bj so the edge er is in Gj (since ar ∈ Aj); in particular j < r . In either case, k < r whichproves that all edges in M2 are edges of Gk. Because ak is weakly simplicial in Gk, there is no 2K2 induced by M2, so M2 is aconnected matching. ConsequentlyM is a connected matching. �

Page 9: Connected matchings in chordal bipartite graphs

42 A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45

5.2. Update phase

In this subsection we show how to update the supports of maximal bicliques of Gi+1 that survive as maximal bicliquesin Gi; that is, we show how to compute suppi(Qj), for all i < j ≤ m, from the knowledge of suppi(Qi) and suppi+1(Qj), forall j = i + 1, . . . ,m. We employ the notation from the prior subsection. In particular, Φi(i, j) denotes the potential supportthat Qi can contribute to the support of Qj in Gi.

Theorem 11. Suppose that 1 ≤ i < j ≤ m. If Qj is not a maximal biclique in Gi, then suppi(Qj) = 0; otherwise

suppi(Qj) =

suppi+1(Qj) if ai ∈ Aj or ai = ajmax

suppi+1(Qj), Φi(i, j)

otherwise .

Proof. Clearly suppi(Qj) ≥ suppi+1(Qj). Let M be a connected matching in Gi realizing suppi(Qj). It suffices to show that, if|M| > suppi+1(Qj), then ai ∈ Aj, ai = aj, and |M| = Φi(i, j). So assume that |M| > suppi+1(Qj).

Observe that, if ei ∈ M , then (because M is not a connected matching in Gi+1) the edge ei must be the unique edgeconnecting two edges of M , contradicting that ei is bisimplicial in Gi. Therefore ei ∈ M which implies ai ∈ Aj and ai = aj. Itremains only to prove that |M| = Φi(i, j).Claim 1: Ai ⊆ Aj − {aj} and Bj ⊆ Bi − {bi}.

Lemma 7 part (i) shows bi ∈ Bj and Bj ( Bi. If Ai ⊆ Aj, then by Lemma 7 part (ii),Qj ( Qk, for some i < k < j, contradictingthat Qj is a maximal biclique in Gi. Consequently, Ai ⊆ Aj. Indeed, Lemma 9 part (i) shows aj ∈ ai, so Ai ⊆ Aj − {aj}. Thisproves Claim 1.Claim 2: Every edge of M has an endpoint in Ai ∪ Bi.

Because ei ∈ M and M is a connected matching, every edge of M must be connected to ei. That is, every edge in M has avertex in Qi. This proves Claim 2.Claim 3:M ∩ E(Qi) = {ei}.

As noted earlier, ei ∈ M , so it suffices to prove that no other edge of M is in E(Qi). If there were another edge f = arbrsuch that ei = f ∈ E(Qi) ∩ M , thenM ′

= M − {ei, f } + {arbi, aibr} would be a connected matching in Gi realizing suppi(Qj)that avoided ei, a contradiction. This proves Claim 3.Claim 4: |M| = Φi(i, j).

By Claims 2 and 3,M partitions naturally into three parts: edges with one vertex in Ai − {ai}, the edge ei, and edges withone vertex in Bi. LetM1 andM2 denote the former and the latter sets, respectively; soM is the disjoint union ofM1, {ei}, andM2. By Claim 1 and the optimality of M,M1 is a connected matching realizing suppi(Qi). Claim 1 also implies that M2 is amaximummatching between Aj − aj − Ai and Bi − bi − Bj. So,

|M| = |M1| + |{ei}| + |M2|

= suppi(Qi) + 1 + max|M∗

| :M∗ is a matching betweenAj − aj − Ai and Bi − bi − Bj

= Φi(i, j)

which proves Claim 4. �

Now we finally can state our main theorem:

Theorem 12. A maximum connected matching in a chordal bipartite graph can be found in polynomial time.

Proof. This is a consequence of Theorems 5, 10 and 11. �

6. Hadwiger number

The Hadwiger number of a graph G is the largest t such that Kt ≤m G; it is denoted by h(G). To date, interest in theHadwiger number has been mostly limited to its relation to the famous – still open – Hadwiger conjecture which statesthat χ(G) ≤ h(G), for all graphs G. Because the Hadwiger conjecture is trivial for bipartite graphs, there has not been muchfocus on computing h(G) for bipartite graphs.

Eppstein [10] has shown that, for a given value k, determining whether the Hadwiger number is at least k is anNP-complete problem. Wahlén [11] has shown that, unless P=NP, there is no polynomial-time approximation scheme forh(G). On the other hand, computing h(G) is fixed-parameter tractable [12]. In this section we prove that the Hadwigernumber of chordal bipartite graphs can be computed in polynomial-timeby reducing it to themaximumconnectedmatchingproblem.

We prove a close connection between the Hadwiger number and themaximum connectedmatching number for chordalbipartite graphs (Theorem 15). It is interesting to compare this to the chordal graph case. If G is a chordal graph, then

ω(G) = h(G) ≤ 2νc(G) + 1,

Page 10: Connected matchings in chordal bipartite graphs

A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45 43

whereω(G) denotes the clique number of G. The odd clique K2t+1 produces equality:ω(K2t+1) = h(K2t+1) = 2νc(K2t+1)+1.Because the clique number of a chordal graph can be determined in polynomial-time, the Hadwiger number can be too.Corollary 16 proves that the Hadwiger number of a chordal bipartite graph can also be computed in polynomial time.

Lemma 13. If G is a connected bipartite graph with at least three vertices and G � C4, then there are non-adjacent vertices uand v such G − {u, v} is connected.

Proof. If the connectivity of G is at least three, then u and v can be chosen to be any pair of non-adjacent vertices. So wemay assume the connectivity of G is at most two. Let S be aminimum cutset of G. Choose u and v to be leaves from spanningtrees of different components of G − S so that G − {u, v} has the fewest components. Because S is a minimum cutset, eachvertex of S has a neighbor in each component of G − S. Assume, to the contrary, that G − {u, v} is not connected. Because uand v cannot disconnect vertices from their components, u and v must separate two vertices in S. Also G− S must have onlytwo components since otherwise a third component would connect vertices in S. Finally, the two components of G− S musthave only a single vertex since otherwise spanning trees of these components would have at least two leaves from whichto choose u or v. So if G − {u, v} is disconnected, then G ∼= C4. �

Lemma 14. If G is a chordal bipartite graph, then G has aminor of Kh(G) in which the branch sets all have cardinality at most two.

Proof. Consider a smallest counterexample, G. The branch sets of any minor of Kh(G) must cover the vertices of G; otherwiseG is not a smallest counterexample. Suppose that B is a branch set of aminor of Kh(G) inG and |B| > 2. Consider a vertex v ∈ B.Note that, if G[B \ {v}] is connected, then v must have a neighbor to another ‘private branch set’ to which no other vertex ofB is adjacent (if not, v could be removed from B without destroying this minor of Kh(G), contradicting that every vertex of Gis covered). Because C4 is 2-connected, if G[B] ∼= C4, then every vertex of B has a private branch set. In particular, there aretwo non-adjacent vertices of B that have private branch sets. If G[B] � C4, then Lemma 13 guarantees the same. Therefore,in any case, there are two non-adjacent vertices of B, say u and v, that have private branch sets, Bu and Bv , respectively. Letx be a neighbor of u in Bu, and let y be a neighbor of v in Bv . Define Pvu to be a shortest path connecting v to u in G[B]; it haslength at least three. Define Pxy to be a shortest path connecting x and y in G[Bu ∪ Bv]. The cycle uPxyvPvu is a chordless cycleof G of length at least six, a contradiction. �

A vertex v of a graph G dominates a connected matching M if v is not saturated by M and every edge of M contains aneighbor of v.

Theorem 15. If G is a chordal bipartite graph, then

νc(G) ≤ h(G) ≤ νc(G) + 1.

Moreover, h(G) = νc(G) + 1 if and only if G contains a vertex that dominates a connected matching of size νc(G) or G containsa pair of adjacent vertices that each dominate the same connected matching of size νc(G) − 1.

Proof. The first inequality, νc(G) ≤ h(G) is clear because contracting the edges of a connectedmatching produces a completeminor of the same cardinality as thematching. Consider now the branch sets B1, . . . , Bh(G) of aminor ofKh(G) inG chosenwithno branch sets of order larger than two (which is possible by Lemma 14) and the fewest number of branch sets of cardinalityone. Because G has no triangles, there are at most two branch sets that have cardinality one. If there are no branch sets thathave cardinality one, then νc(G) = h(G) because the edges of the branch sets form a connectedmatching in G. If there is onebranch set of cardinality one, say Bh(G) = {v}, then the remaining branch sets contain edges that form a connectedmatchingof size h(G) − 1; that is, h(G) − 1 ≤ νc(G) and v dominates this connected matching.

If there are two branch sets of cardinality one, say Bh(G)−1 = {u}, Bh(G) = {v}, then the remaining branch sets containedges that, with the edge uv, form a connected matching of size h(G) − 1; that is, h(G) − 1 ≤ νc(G) and u,v dominate thisconnected matching of size νc(G) − 1 formed by the edges from the branch sets of size two. �

Corollary 16. The Hadwiger number of a chordal bipartite graph can be computed in polynomial-time.

Proof. Let G be a chordal bipartite graph. To determine h(G), it suffices (Theorem 15) to check whether h(G) = νc(G) + 1.Accordingly, for each vertex v, compute Gv = G[(N(v)∪N(N(v))) \ {v}] and determine whether νc(Gv) = νc(G). If so, thenv is a vertex that dominates a connected matching of size νc(G); therefore h(G) = νc(G) + 1. Otherwise, if νc(Gv) < νc(G)for all v, then for each pair of adjacent vertices {u, v} compute Guv = G[(N(u) ∪ N(v)) \ {u, v}] and determine whetherνc(Guv) = νc(G) − 1. If so, then {u, v} is a pair of adjacent vertices that each dominates the same connected matching ofsize νc(G) − 1; therefore h(G) = νc(G) + 1. If it is not determined by these computations that h(G) = νc(G) + 1, thenh(G) = νc(G). Because the connected matching number of a chordal bipartite graph can be computed in polynomial-time(Theorem 12), all of these computations can be completed in time polynomial in the size of G. �

7. Other equivalent problems

In this section we present somemore applications of Theorem 12, including solving the unit-time bipartite margin-shopscheduling problem in the case in which the bipartite complement of the precedence graph is chordal bipartite, and

Page 11: Connected matchings in chordal bipartite graphs

44 A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45

determining, in a totally balanced binary matrix, the largest size of a square sub-matrix that is permutation equivalentto a matrix with all zero entries above the main diagonal.

For k ≥ 1, define Lk to be the chordal bipartite graph with vertex set {a1, . . . , ak, b1, . . . , bk} and edge set {aibj : 1 ≤ j ≤

i ≤ k}. Define the biadjacency matrix of a bipartite graph G(A, B; E) to be the |A| × |B| matrixM = [mij] in whichmij is 1 if aiis adjacent to bj; 0 otherwise. Notice that the biadjacency matrix of Lk is lower triangular, for all k ≥ 1. Two n × nmatrices,A and B, are permutation equivalent if there are two n × n permutation matrices, P and Q , such that PAQ = B.

Theorem 17. Suppose that G is a chordal bipartite graph and k ≥ 1. The following are equivalent:

(i) Lk is isomorphic to a subgraph of G.(ii) G contains a connected matching of size k.(iii) The biadjacency matrix of G contains a k × k sub-matrix that is permutation equivalent to a matrix with all zero entries

above the main diagonal.

Proof. Statements (i) and (iii) are equivalent because the biadjacency matrix of Lk has zero entries precisely in those cellsthat are strictly above the main diagonal. Statement (i) implies (ii) because the diagonal edges, aibi, of Lk form a connectedmatching of size k. It suffices then to prove (ii) implies (i).

First we prove the claim below. Let us call a vertex v a dictator for a connected matching M if v is saturated by M andevery edge ofM contains a neighbor of v.Claim: Every connected matching in a standard chordal bipartite graph G(A, B; E) has a dictator in A.

We prove this claim by induction on k, the size of the connected matching. The basis cases, k ≤ 3, are straightforward.Consider now a connectedmatchingM of size at least four in a chordal bipartite graph G. If there is a bisimplicial edge e ∈ M ,then G − e is a chordal bipartite graph (Fact 2) and M remains a connected matching in it. Repeat this reduction until wereach a chordal bipartite graph H in which every bisimplicial edge is inM . Choose a ∈ A and b ∈ B so that ab is a bisimplicialedge of H . Note that ab ∈ M because of the process that reduced G to H . If a is a dictator for M , then the claim is proven. Soassume that a is not a dictator forM . This implies thatM saturates a vertex inN(b)−{a} becauseM is a connectedmatching;in particular, (N(b)−{a})∩V (M) = ∅. Consider the nonempty, connectedmatchingM ′ ( M consisting of those edges ofMincident to a vertex in N(b)−{a}. The inductive hypothesis applied toM ′ guarantees a dictator a′ forM ′. Nowwe prove thata′ is a dictator for M . Consider an arbitrary edge xy ∈ M with x ∈ A. Either xy ∈ M ′ or xy ∈ M ′. In the former case, a′y ∈ Ebecause a′ is a dictator forM ′. In the latter case, x ∈ N(b) so y ∈ N(a) becauseM is a connected matching. Therefore a′y ∈ Ebecause it is an edge of the biclique, Qab. In either case, for arbitrary xy ∈ M , the vertex a′ is a neighbor of y. Therefore a′ is adictator forM . This proves the Claim.

Nowweprove (ii) implies (i). Apply induction on k. The basis case k = 1 is clear. Assume thatG is a chordal bipartite graphwith a connected matchingM with k ≥ 2 edges, {aibi}ki=1. By the claim,M has a dictator, say ak. By the inductive hypothesis,G−{ak, bk}has a subgraph isomorphic to Lk−1. Nowadding the dictator ak and itsmatching neighbor bk completes a subgraphisomorphic to Lk in G. �

A binary matrix is totally balanced if it is the biadjacency matrix of a chordal bipartite graph. So Theorems 17 and 12prove that there is a polynomial-time algorithm that, given a totally balanced binary matrix, determines the largest size ofa square sub-matrix that is permutation equivalent to a matrix with all zero entries above the main diagonal.

Nextwe investigate an application to the bipartitemargin-shop scheduling problem, introduced byOron et al. [13],whichextends a preemptive flow-shop scheduling problemwhere precedence constraints can be introduced between preemptedparts of the jobs. Following their presentation, we formulate a more convenient version of the unit-time bipartite margin-shop scheduling problem:Maximum red matching free of blue–red alternating cycles (MR)INSTANCE: A complete bipartite graph and a partition of its edges into blue edges and red edges such that the blue edgessaturate all vertices.QUESTION: What is the maximum size of a red matching M such that the graph with blue and M edges has no blue–redalternating cycles?

Oron et al. prove that this problem is NP-hard, but can be solved in polynomial time if the blue edges form a graph (theprecedence graph) that is acyclic or has maximum degree two. They also prove that this problem is equivalent to a versionof the jump number problem (which we do not describe here) for bipartite posets where only certain jumps within onepart are optimized. We will show the MR problem is polynomial-time solvable if the red edges form a graph (the bipartitecomplement of the precedence graph) that is chordal bipartite. In contrast, Müller [14] has shown the natural alternatingcycle-free matching formulation (which we do not define here) of the original jump number problem for bipartite posets isNP-complete on chordal bipartite graphs.

Theorem 18. Assume G(A, B; E) is a chordal bipartite graph and k ≥ 1. The following are equivalent:

(i) G contains a connected matching of size k.(ii) The red–blue edge-colored K|A|,|B| in which the red edges form a subgraph isomorphic to G has a red matching of size k free of

blue–red alternating cycles.

Page 12: Connected matchings in chordal bipartite graphs

A.S. Jobson et al. / Discrete Optimization 14 (2014) 34–45 45

Proof. (ii) ⇒ (i): Assume thatM is a red matching of size k free of blue–red alternating cycles and the edges ofM are takenfrom a red–blue edge-colored K|A|,|B| in which the red edges form a subgraph isomorphic to G. Consider M as a matching inG. If a pair of edges ofM were not connected in G, then the cross edges would be blue in the colored K|A|,|B| thereby producinga blue–red alternating C4, a contradiction. Therefore,M is a connected matching in G of size k.

(i) ⇒ (ii): Assume that M is a connected matching in G of size k. Let H be a red–blue edge-colored K|A|,|B| in which thered edges form a subgraph isomorphic to G. We claim that M is a red matching of size k free of blue–red alternating cycles.Assume, to the contrary, that there is a blue–red alternating cycle C in H whose red edges are all from M . Suppose thatS = E(C) ∩ M and |S| = s. By Theorem 17, G contains a subgraph isomorphic to Ls that uses the vertices saturated by thematching S. Because this Ls is a subgraph of G, its edges are all colored red in H . We may assume that the vertices of this Lsare a1, . . . , as, b1, . . . , bs, the edges are {aibj : 1 ≤ j ≤ i ≤ s}, and S = {aibk}si=1. Some blue edge of C must be incident to asand another vertex of Ls, but this is impossible since as is incident to s edges of Ls that are all red. �

Corollary 19. The unit-time bipartite margin-shop scheduling problem in the case in which the bipartite complement of theprecedence graph is chordal bipartite can be solved in polynomial time.

Proof. Theorem 18 shows that maximum connected matching problem is equivalent to the maximum-red-matching-free-of-blue–red-alternating-cycles problem when the red colored edges form a chordal bipartite graph. This latter problem isequivalent to the unit-time bipartite margin-shop scheduling problem. �

References

[1] M.D. Plummer, M. Stiebitz, B. Toft, On a special case of Hadwiger’s conjecture, Discuss. Math. Graph Theory 23 (2) (2003) 333–363.[2] K. Cameron, Connectedmatchings, in: Combinatorial Optimization—Eureka, You Shrink!, in: Lecture Notes in Comput. Sci., vol. 2570, Springer, Berlin,

2003, pp. 34–38.[3] A. Brandstädt, C.T. Hoàng, Maximum induced matchings for chordal graphs in linear time, Algorithmica 52 (4) (2008) 440–447.[4] M. Dawande, A notion of cross-perfect bipartite graphs, Info. Proc. Letters 88 (2003) 143–147.[5] M. Yannakakis, Node deletion problems on bipartite graphs, SIAM J. Comput. 10 (1981) 310–327.[6] M. Pelsmajer, J. Tokaz, D.B. West, New proofs for strongly chordal graphs and chordal bipartite graphs, manuscript, 2004.[7] M.C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, second ed., Academic Press, ISBN: 0-444-51530-5, 1980; Annals of Discrete

Mathematics, vol. 57, Elsevier, 2004.[8] C.J. Caragianis, Connected matchings in special families of graphs, Ph.D. Thesis, University of Louisville, ProQuest LLC, Ann Arbor, MI, 2012, 84 pages.[9] A. Brandstädt, V.B. Le, J.P. Spinrad, Graph Classes: A Survey, SIAM Monographs on Discrete Mathematics and Applications, Philadelphia, 1999.

[10] D. Eppstein, Finding large clique minors is hard, J. Graph Algorithms Appl. 13 (2) (2009) 197–204.[11] M. Wahlén, On the complexity of approximating the Hadwiger number, Theoret. Comput. Sci. 410 (8–10) (2009) 994–996.[12] N. Alon, A. Lingas, M. Wahlen, Approximating the maximum clique minor and some subgraph homeomorphism problems, Theoret. Comput. Sci. 374

(1–3) (2007) 149–158.[13] D. Oron, G. Steiner, V.G. Timkovsky, The bipartite margin shop and maximum red matchings free of blue–red alternating cycles, Discrete Optim. 6

(2009) 299–309.[14] H. Müller, Alternating cycle-free matchings, Order 7 (1) (1990) 11–21.