This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Finding Biclique Partitions of Co-Chordal Graphs

Bochuan Lyu bl46@rice.edu Illya V. Hicks ivhicks@rice.edu Rice University, Department of Computational Applied Mathematics and Operations Research, United States of America
Abstract

The biclique partition number (bp)(\operatorname{bp}) of a graph GG is referred to as the least number of complete bipartite (biclique) subgraphs that are required to cover the edges of the graph exactly once. In this paper, we show that the biclique partition number (bp\operatorname{bp}) of a co-chordal (complementary graph of chordal) graph G=(V,E)G=(V,E) is less than the number of maximal cliques (mc\operatorname{mc}) of its complementary graph: a chordal graph Gc=(V,Ec)G^{c}=(V,E^{c}). We first provide a general framework of the “divide and conquer” heuristic of finding minimum biclique partitions of co-chordal graphs based on clique trees. Furthermore, a heuristic of complexity O[|V|(|V|+|Ec|)]O[|V|(|V|+|E^{c}|)] is proposed by applying lexicographic breadth-first search to find structures called moplexes. Either heuristic gives us a biclique partition of GG with size mc(Gc)1\operatorname{mc}(G^{c})-1. In addition, we prove that both of our heuristics can solve the minimum biclique partition problem on GG exactly if its complement GcG^{c} is chordal and clique vertex irreducible. We also show that mc(Gc)2bp(G)mc(Gc)1\operatorname{mc}(G^{c})-2\leq\operatorname{bp}(G)\leq\operatorname{mc}(G^{c})-1 if GG is a split graph.

keywords:
biclique partitions, co-chordal graphs, clique vertex irreducible, split graphs
journal:

1 Introduction

The biclique partition number (bp)(\operatorname{bp}) of a graph GG is referred to as the least number of complete bipartite (biclique) subgraphs that are required to cover the edges of the graph exactly once (however, the vertices can belong to two or more bicliques). The set of such biclique subgraphs is called a biclique partition of GG. Graham and Pollak first introduced this concept in network addressing [11] and graph storage [12]. Their famous Graham-Pollak Theorem proves a result about the biclique partition numbers on complete graphs and it draws much attention from algebraic graph theory [7, 17, 19, 25, 26]. However, no purely combinatorial proof is known to the result [18]. Rawshdeh and Al-Ezeh [21] extended Graham-Pollak Theorem to find biclique partition numbers on line graphs and their complements of complete graphs and bicliques. The biclique partition also has a strong connection with biclique cover number (bc)(\operatorname{bc}), where the edges of a graph are covered by bicliques but not necessarily disjointed. Pinto [20] showed that bp(G)12(3bc(G)1)\operatorname{bp}(G)\leq\frac{1}{2}(3^{\operatorname{bc}(G)}-1).

Moreover, finding a biclique partition with the minimum size is NP-complete even on the graphs without 4-cycles [15]. In this work, we focus on studying the biclique partition number on co-chordal (complement of chordal) and its important subclass, split graphs111Almost all chordal graphs are split graphs. It means that as nn goes to infinity, the fraction of nn-vertex split graphs in nn-vertex chordal graphs goes to 1 [4]. Since the complement of a split graph is also split, a split graph is also co-chordal..

There are also many related research studies around biclique partitions. Motivated by a technique for clustering data on binary matrices, Bein et al. [3] considered a biclique vertex partition problem on a bipartite graph where each vertex is covered exactly once in a collection of biclique subgraphs. De Sousa Filho et al. [9] also studied the biclique vertex partition problem and its variant bicluster editing problem, where they developed a polyhedral study on biclique vertex partitions on a complete bipartite graph. Groshaus et al. [13] gave a polynomial-time algorithm to determine whether a graph is a biclique graph (an intersection graph of the bicliques) of a subclass of split graphs. Shigeta and Amano [24] provided an explicit construction of an ordered biclique partition, a variant of biclique partition, of KnK_{n} of size n1/2+o(1)n^{1/2+o(1)}, which improved the O(n2/3)O(n^{2/3}) bound shown by Amano [2].

Another related graph characteristic is bpk(G)\operatorname{bp}_{k}(G) where the edges can be covered by at least one and at most kk biclique subgraphs [1] and Alon showed that the minimum possible number for bpk(Kn)\operatorname{bp}_{k}(K_{n}) is Θ(kn1/k)\Theta(kn^{1/k}), where KnK_{n} is a complete graph with nn vertices. Recent work by Rohatgi et al. [22] showed that if each edge is exactly covered by kk bicliques, the number of bicliques required to cover KnK_{n} is (1+o(1))n(1+o(1))n.

In this paper, we study a biclique (edge) partition problem on co-chordal graphs and split graphs using clique trees, moplexes, and lexicographic breadth-first search (LexBFS) defined in Section 2. We introduce a new definition, partitioning biclique, which can naturally naturally partition a graph into two induced subgraphs with no shared edges in Section 3. In Section 4, we provide a heuristic to find a biclique partition on a co-chordal graph given a clique tree of the complement of the co-chordal graph. We also prove the correctness of the heuristic and show the size of the biclique partition is exactly equal to the number of maximal cliques in the complementary graph of the co-chordal graph minus one. We also provide a corollary that states that the biclique partition number of a co-chordal graph is less than the number of maximal cliques of its complement. In Section 5, we provide an efficient heuristic to obtain biclique partitions of co-chordal graphs by finding moplexes [5], defined later, using LexBFS. We also show that two heuristics provide biclique partitions of the same size. In Section 6, we prove that both heuristics can find a minimum biclique partition of GG if its complement GcG^{c} is chordal and clique vertex irreducible. We also derive a lower bound of the biclique partition number of split graphs and show that our heuristics can obtain a biclique partition on any split graph with a size no more than the biclique partition number plus one. In Section 7, we summarize the contribution of our work and point out some future directions.

2 Preliminaries

A simple graph is a pair G=(V,E)G=(V,E) where VV is a finite set of vertices and E{uv:u,vV,uv}E\subseteq\{uv:u,v\in V,u\neq v\}. We use V(G)V(G) and E(G)E(G) to represent the vertex set and edge set of the graph GG. Two vertices are adjacent in GG if there is an edge between them. A subgraph G=(V,E)G^{\prime}=(V^{\prime},E^{\prime}) of GG is a graph where VVV^{\prime}\subseteq V and E{uvE:u,vV}E^{\prime}\subseteq\{uv\in E:u,v\in V^{\prime}\}. Given AVA\subseteq V, the subgraph of GG induced by AA is denoted as G(A)=(A,EA)G(A)=(A,E_{A}), where EA={uvE:u,vA}E_{A}=\{uv\in E:u,v\in A\}. A clique is a subset of vertices of an graph GG such that every two distinct vertices are adjacent in GG. The neighborhood of a vertex vv of a graph GG is the set of all vertices, other than vv, that are adjacent with vv and is denoted as NG(v)N_{G}(v). The closed neighborhood of vv is denoted as NG[v]=NG(v){v}N_{G}[v]=N_{G}(v)\cup\{v\}. For simplicity, we also define the neighborhood of a vertex set AA of a graph GG as NG(A)={uNG(v):vA}AN_{G}(A)=\{u\in N_{G}(v):\forall v\in A\}\setminus A and closed neighborhood of AA as NG[A]=NG(A)AN_{G}[A]=N_{G}(A)\cup A. A maximal clique of GG is a clique of GG such that it is not a proper subset of any clique of GG. Note that a vertex set with only one vertex K1K_{1} is also a clique. We denote the number of maximal cliques of GG as mc(G)\operatorname{mc}(G) and we use 𝒦G\mathcal{K}_{G} or 𝒦\mathcal{K} to denote the set of all maximal cliques of GG. A maximum clique of GG is a clique of GG with the maximum number of vertices and we denote that number as the clique number of GG, ω(G)\omega(G). An independent set of a graph GG is a set of vertices that are pairwise nonadjacent with each other in GG. Similarly, a maximal independent set is an independent set that is not a proper subset of any independent set and a maximum independent set is an independent set with the maximum number of vertices. Note that an independent set can be empty or only have one vertex.

A graph Cn=(V,E)C_{n}=(V,E) is a cycle if the vertices and edges: V={v1,v2,,vn}V=\{v_{1},v_{2},\ldots,v_{n}\} and E={v1v2,v2v3,,vn1vn,vnv1}E=\{v_{1}v_{2},v_{2}v_{3},\ldots,v_{n-1}v_{n},v_{n}v_{1}\}. A graph is a tree if it is connected and does not have any subgraph that is a cycle.

Given two vertex sets UU and VV, we denote U×VU\times V to be the edge set {uv:uU,vV}\{uv:u\in U,v\in V\}. A bipartite graph G=(LR,E)G=(L\cup R,E) is a graph where LL and RR are disjointed vertex sets with the edge set EL×RE\subseteq L\times R. A biclique graph is a complete bipartite graph G=(LR,E)G=(L\cup R,E) where E=L×RE=L\times R and we denote it as {L,R}\{L,R\} for short. A biclique partition of a graph GG is a collection of biclique subgraphs of GG such that every edge of GG is in exactly one biclique of the collection. The minimum biclique partition problem on GG is to find a biclique partition with the minimum number of bicliques in the collection and we denote that value to be bp(G)\operatorname{bp}(G).

We denote that n={1,2,,n}\llbracket n\rrbracket=\{1,2,\ldots,n\} where nn is a positive integer. A vertex is simplicial if its neighborhood is a clique. An ordering v1,v2,,vnv_{1},v_{2},\ldots,v_{n} of VV is a perfect elimination ordering if for all ini\in\llbracket n\rrbracket, viv_{i} is simplicial on the induced subgraph G({vj:j{i,i+1,,n}})G(\{v_{j}:j\in\{i,i+1,\ldots,n\}\}). An ordering function σ:nV\sigma:\llbracket n\rrbracket\rightarrow V is defined to describe the ordering of vertices VV. A clique tree 𝒯𝒦\mathcal{T}_{\mathcal{K}} for a chordal graph GG is a tree where each vertex represents a maximal clique of GG and satisfies the clique-intersection property: given any two distinct maximal cliques K1K_{1} and K2K_{2} in the tree, every clique on the path between K1K_{1} and K2K_{2} in 𝒯𝒦\mathcal{T}_{\mathcal{K}} contains K1K2K_{1}\cap K_{2}. We also define the middle set of edge e𝒯𝒦e\in\mathcal{T}_{\mathcal{K}}, mid(e)\operatorname{mid}(e), to be the intersection of the vertices of cliques on its two ends.

A graph GG is clique vertex irreducible if every maximal clique in GG has a vertex which does not lie in any other maximal clique of GG [16].

A split graph is a graph whose vertices can be partitioned into a clique and an independent set. A graph is chordal if there is no induced cycle subgraph of length greater than 3. Note that a split graph is also chordal. A graph is chordal if and only if it has a clique tree [6]. Also, a graph is chordal if and only if it has a perfect elimination ordering [10]. A perfect elimination ordering of a chordal graph can be obtained by lexicographic breadth-first search (LexBFS) described in Algorithm 1 [8, 23], where lexicographical order is defined in Definition 1. Note that the LexBFS algorithm in Algorithm 1 can be implemented in linear-time: O(|V|+|E|)O(|V|+|E|) with partition refinement [14].

Definition 1.

[Lexicographical Order] Let XX be a set of all vectors of real numbers with a finite length. Then, we can define a lexicographical order on XX where

  1. 1.

    X\emptyset\in X and for any xXx\in X, x\emptyset\preccurlyeq x.

  2. 2.

    (x1,x2)(y1,y2)(x_{1},x_{2})\preccurlyeq(y_{1},y_{2}) if and only if one of the following holds:

    1. (a)

      x1<y1x_{1}<y_{1}

    2. (b)

      x1=y1x_{1}=y_{1} and x2y2x_{2}\preccurlyeq y_{2}

    where x1,y1x_{1},y_{1}\in\mathbb{R} and x2,y2Xx_{2},y_{2}\in X.

1:Input: A graph G=(V,E)G=(V,E) and an arbitrary selected vertex vv in VV.
2:Output: An ordering function σ:nV\sigma:\llbracket n\rrbracket\rightarrow V of the vertices VV.
3:label(v)(n)\operatorname{label}(v)\leftarrow(n) where n=|V|n=|V|, and label(u)()\operatorname{label}(u)\leftarrow() for all uV{v}u\in V\setminus\{v\}.
4:for i{n,n1,,1}i\in\{n,n-1,\ldots,1\} do
5:     Select an unnumbered vertex uu with lexicographically the largest label.
6:     σ(i)u\sigma(i)\leftarrow u.
7:     for each unnumbered vertex ww in NG(u)N_{G}(u) do
8:         label(w)(label(w),i)\operatorname{label}(w)\leftarrow(\operatorname{label}(w),i). \triangleright (,)(\cdot,\cdot) here is a concatenation operation.
9:     end for
10:end for
11:return σ\sigma
Algorithm 1 Generic Lexicographic Breadth-First Search [8, 23].

In our work, we study biclique partitions on co-chordal graphs, so most of the GcG^{c}’s in the following sections are chordal graphs. We use 𝒦c\mathcal{K}^{c} and 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} to denote the set of all maximal cliques and a clique tree of GcG^{c}.

A module of a graph G=(V,E)G=(V,E) is a vertex set AVA\subseteq V such that all the vertices in AA share the same neighborhood in VAV\setminus A. A separator of G=(V,E)G=(V,E) is a set of vertices, say SS, such that G(VS)G(V\setminus S) is disconnected. A separator SS is minimal if no proper set of SS is a separator. A moplex XX of GG is both a clique and a module such that NG(X)N_{G}(X) is a minimal separator (see Figure 1). Berry and Bordat [5] discovered that LexBFS can be applied to find a moplex of a general graph GG in linear time, which motivates us to propose the biclique partition algorithm in Section 5.

Proposition 1 (Theorem 5.1 [5]).

Given a graph GG and σ\sigma generated by Algorithm 1, σ(1)\sigma(1) belongs to a moplex.

X1\displaystyle X_{1} X2\displaystyle X_{2}
Figure 1: X1X_{1} is a module but not a moplex. X2X_{2} is a moplex.

3 Partitioning Biclique

We will introduce a new definition: partitioning biclique, which can naturally partition the edges of a graph into two edge disjoint subgraphs. We first start with a definition of partitioning biclique.

Definition 2 (partitioning biclique).

Given a graph G=(V,E)G=(V,E), a biclique subgraph of GG, {L,R}\{L,R\}, is a partitioning biclique subgraph of GG if the edge sets of {L,R}\{L,R\}, G(VL)G(V\setminus L), and G(VR)G(V\setminus R) partition the edges of GG, i.e. each edge of GG is exactly in one of {L,R}\{L,R\}, G(VL)G(V\setminus L), and G(VR)G(V\setminus R).

It is worth to noticing that {L,R}\{L,R\} is not necessarily equal to the induced subgraph G(LR)G(L\cup R). It means that LL and RR might not be independent sets of GG.

We then show that an arbitrary biclique subgraph can divide the edges of the original graphs into three parts: the biclique and two induced subgraphs. See Figure 2 for a visualization of this idea: the edges of graph GG are partitioned into the edges of {L,R}\{L,R\}, G(VL)G(V\setminus L), and G(VR)G(V\setminus R).

Lemma 1.

Given a graph G=(V,E)G=(V,E), let {L,R}\{L,R\} be an arbitrary biclique subgraph of GG. Then, E=E({L,R})E(G(VL))E(G(VR))E=E(\{L,R\})\cup E(G(V\setminus L))\cup E(G(V\setminus R)).

Proof.

Since {L,R}\{L,R\}, G(VL)G(V\setminus L), G(VR)G(V\setminus R) are all subgraphs of GG, then E({L,R})E(G(VL))E(G(VR))EE(\{L,R\})\cup E(G(V\setminus L))\cup E(G(V\setminus R))\subseteq E.

Let C=V(LR)C=V\setminus(L\cup R) and uvuv be an arbitrary edge in GG. Thus, VL=RCV\setminus L=R\cup C and VR=LCV\setminus R=L\cup C. If u,v(LC)u,v\in(L\cup C), then uvE(G(VR))uv\in E(G(V\setminus R)). If neither of uu and vv is in (LC)(L\cup C), then u,vRu,v\in R and uvE(G(VL))uv\in E(G(V\setminus L)). If one of uu and vv is in LCL\cup C and the other one is not, then we can assume that u(LC)u\in(L\cup C) and vRv\in R without loss of generality. Then, either uvE(G(VL))uv\in E(G(V\setminus L)) (uCu\in C) or uv{L,R}uv\in\{L,R\} (uLu\in L). Hence, E({L,R})E(G(VL))E(G(VR))=EE(\{L,R\})\cup E(G(V\setminus L))\cup E(G(V\setminus R))=E. ∎

Next, we show that a biclique subgraph is a partitioning biclique of a graph GG if and only if the vertices in GG that are not in the biclique form an independent set in GG.

LL RR CC
Figure 2: Given a graph G=(V,E)G=(V,E), {L,R}\{L,R\} is a partitioning biclique of GG, where each edge in EE is exactly in one of {L,R}\{L,R\}, G(VL)G(V\setminus L), and G(VR)G(V\setminus R).
Proposition 2.

Given a graph G=(V,E)G=(V,E) and a biclique subgraph of GG: {L,R}\{L,R\}, then {L,R}\{L,R\} is a partitioning biclique subgraph of GG if and only if V(LR)V\setminus(L\cup R) is an independent set in GG.

Proof.

Denote C=V(LR)C=V\setminus(L\cup R). In the backward direction, suppose that CC is an independent set in GG. By Lemma 1, we know that E=E({L,R})E(G(VL))E(G(VR))E=E(\{L,R\})\cup E(G(V\setminus L))\cup E(G(V\setminus R)). Then, we need to show that E({L,R})E(\{L,R\}), E(G(VL))E(G(V\setminus L)), E(G(VR))E(G(V\setminus R)) are disjointed. Since every edge in {L,R}\{L,R\} is between vertices in LL and RR, then E({L,R})E(G(VL))==E({L,R})E(G(VR))E(\{L,R\})\cap E(G(V\setminus L))=\emptyset=E(\{L,R\})\cap E(G(V\setminus R)). Since CC is an independent set of GG and

[(VL)×(VL)][(VR)×(VR)]=C×C,\displaystyle[(V\setminus L)\times(V\setminus L)]\cap[(V\setminus R)\times(V\setminus R)]=C\times C,

we know that E(G(VL))E(G(VR))=E(G(V\setminus L))\cap E(G(V\setminus R))=\emptyset.

In the forward direction, the proof is by contrapositive. Suppose that CC isn’t an independent set in GG. Then, there exists an edge uvuv such that u,vCu,v\in C, where uvuv is in both subgraphs G(VL)G(V\setminus L) and G(VR)G(V\setminus R). Hence, CC must be an independent set. ∎

Note that an independent set can be empty. Since the partitioning biclique can partition the original graph into a biclique subgraph and two induced subgraphs, it can be used to design a heuristic to find a biclique partition of a graph. In the next two sections, we will focus on a class of graph, co-chordal, where partitioning bicliques are easy to find since the complementary graph is chordal.

4 A Heuristic Based on Clique Trees

In this section, we want to design a heuristic to find a biclique partition of a co-chordal graph GG. Since GcG^{c} is chordal, one of the good ways to represent GcG^{c} is its clique tree where each vertex represents a maximal clique of GG and satisfies the clique-intersection property. We demonstrate a heuristic with an input of a clique tree 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} of GcG^{c} and an output of a biclique partition of GG in Algorithm 2. We also show that the size of that biclique partition is equal to mc(Gc)1\operatorname{mc}(G^{c})-1, which provides us an upper bound of the biclique partition number of co-chordal graphs.

1:Input: A clique tree 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} of a chordal graph GcG^{c}.
2:Output: A biclique partition of the complementary graph GG of GcG^{c}.
3:function FindPartition(𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}})
4:     if |V(𝒯𝒦c)|1|V(\mathcal{T}_{\mathcal{K}^{c}})|\leq 1 then
5:         return \emptyset
6:     end if
7:     Select an arbitrary edge ee to cut 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} into two components 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} and 𝒯𝒦2c\mathcal{T}_{\mathcal{K}^{c}_{2}}.
8:     L=KV(𝒯𝒦1c)Kmid(e)L=\bigcup_{K\in V(\mathcal{T}_{\mathcal{K}^{c}_{1}})}K\setminus\operatorname{mid}(e); R=KV(𝒯𝒦2c)Kmid(e)R=\bigcup_{K\in V(\mathcal{T}_{\mathcal{K}^{c}_{2}})}K\setminus\operatorname{mid}(e).
9:     return {{L,R}}FindPartition(𝒯𝒦1c)FindPartition(𝒯𝒦2c)\{\{L,R\}\}\cup\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}_{1}})\cup\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}_{2}})
10:end function
Algorithm 2 Find a biclique partition of a co-chordal graph GG given a clique tree of GcG^{c}.

We prove that the output of Algorithm 2 is a biclique partition of a co-chordal graph GG by showing that at each recursion a nonempty partitioning biclique {L,R}\{L,R\} is found and two subtrees 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} and 𝒯𝒦2c\mathcal{T}_{\mathcal{K}^{c}_{2}} are also clique trees of two induced subgraphs Gc(VL)G^{c}(V\setminus L), and Gc(VR)G^{c}(V\setminus R) of GcG^{c} respectively. Note that the edge ee can be selected arbitrarily in Algorithm 2.

Proposition 3.

Given a chordal graph Gc=(V,Ec)G^{c}=(V,E^{c}) and one of its clique trees 𝒯𝒦c=(𝒦c,)\mathcal{T}_{\mathcal{K}^{c}}=(\mathcal{K}^{c},\mathcal{E}) where V(𝒯𝒦c)>1V(\mathcal{T}_{\mathcal{K}^{c}})>1, any edge ee of 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} can partition 𝒦c\mathcal{K}^{c} into 𝒦1c\mathcal{K}_{1}^{c} and 𝒦2c\mathcal{K}_{2}^{c} (trees 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} and 𝒯𝒦2c\mathcal{T}_{\mathcal{K}^{c}_{2}} respectively) such that

  1. (1)\operatorname{(1)}

    The edges of {L,R}={K𝒦1cKmid(e),K𝒦2cKmid(e)}\{L,R\}=\{\bigcup_{K\in\mathcal{K}_{1}^{c}}K\setminus\operatorname{mid}(e),\bigcup_{K\in\mathcal{K}_{2}^{c}}K\setminus\operatorname{mid}(e)\}, G(VL)G(V\setminus L), and G(VR)G(V\setminus R) partition the edges in GG where GG is the complementary graph of GcG^{c}, i.e. {L,R}\{L,R\} is a paritioned biclique subgraph of GG.

  2. (2)\operatorname{(2)}

    𝒯𝒦2c\mathcal{T}_{\mathcal{K}^{c}_{2}} and 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} are clique trees of chordal graphs Gc(VL)G^{c}(V\setminus L), and Gc(VR)G^{c}(V\setminus R) respectively.

  3. (3)\operatorname{(3)}

    Both LL and RR are not empty.

Proof.

(1) is proved by Claim 1 and definition of partitioning biclique, (2) is proved by Claim 2, and (3) is proved by Claim 3. ∎

We next prove that {L,R}\{L,R\} is a partitioning biclique of GG. Note that LL and RR do not have to be independent sets.

Claim 1.

{L,R}\{L,R\} is a partitioning biclique of the complementary graph G=(V,E)G=(V,E) of GcG^{c}.

Proof.

Since every edge in a tree is a cut, ee can partition 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} into two sets of vertices, 𝒦1c\mathcal{K}_{1}^{c} and 𝒦2c\mathcal{K}_{2}^{c}, in 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}}. Let the two ends of edge ee in 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} to be KK^{\prime} and K′′K^{\prime\prime}. Since mid(e)=KK′′\operatorname{mid}(e)=K^{\prime}\cap K^{\prime\prime} and both KK^{\prime} and K′′K^{\prime\prime} are clique subgraphs of GcG^{c}, then mid(e)\operatorname{mid}(e) is an independent set of GG.

Given an arbitrary uL=K𝒦1cKmid(e)u\in L=\bigcup_{K\in\mathcal{K}_{1}^{c}}K\setminus\operatorname{mid}(e) and vR=K𝒦2cKmid(e)v\in R=\bigcup_{K\in\mathcal{K}_{2}^{c}}K\setminus\operatorname{mid}(e), we assume that uvE(Gc)uv\in E(G^{c}). Otherwise, {L,R}\{L,R\} is a biclique of GG and our result has been proved.

Since uvE(Gc)uv\in E(G^{c}), we know that there exists some K𝒦cK\in\mathcal{K}^{c} such that {u,v}K\{u,v\}\subseteq K. Without loss of generality, we assume that uK1u\in K_{1} and {u,v}K2\{u,v\}\subseteq K_{2} where K1𝒦1cK_{1}\in\mathcal{K}_{1}^{c} and K2𝒦2cK_{2}\in\mathcal{K}_{2}^{c}. Since KK^{\prime} and K′′K^{\prime\prime} both on the path between K1K_{1} and K2K_{2}, K1K2mid(e)K_{1}\cap K_{2}\subseteq\operatorname{mid}(e). Therefore, umid(e)u\in\operatorname{mid}(e), which is a contradiction. Hence, uvuv is not an edge of GcG^{c} and {L,R}\{L,R\} is a biclique of GG. ∎

In Claim 2, we prove part (2) of Proposition 3. We first remark that any subgraph of a chordal graph is chordal and then use it to prove part (2) in Claim 2.

Remark 1.

Given a chordal graph Gc=(V,Ec)G^{c}=(V,E^{c}), any induced subgraph of GcG^{c} is chordal.

Claim 2.

𝒯𝒦2c\mathcal{T}_{\mathcal{K}^{c}_{2}} and 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} are clique trees of chordal graphs Gc(VL)G^{c}(V\setminus L), and Gc(VR)G^{c}(V\setminus R) respectively.

Proof.

By Remark 1, we know that both Gc(VL)G^{c}(V\setminus L), and Gc(VR)G^{c}(V\setminus R) are chordal. Thus, there exist clique trees for both Gc(VL)G^{c}(V\setminus L) and Gc(VR)G^{c}(V\setminus R). Without loss of generality, we only need to prove 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} is a clique tree of Gc(VR)G^{c}(V\setminus R). Since 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} is a subtree of 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}}, we only need to show that 𝒦1c\mathcal{K}_{1}^{c} is the set of all maximal cliques of Gc(VR)G^{c}(V\setminus R).

First, we want to prove that K𝒦1cK=VR\bigcup_{K\in\mathcal{K}_{1}^{c}}K=V\setminus R. We proved in Claim 1, {L,R}={K𝒦1cKmid(e),K𝒦2cKmid(e)}\{L,R\}=\{\bigcup_{K\in\mathcal{K}_{1}^{c}}K\setminus\operatorname{mid}(e),\bigcup_{K\in\mathcal{K}_{2}^{c}}K\setminus\operatorname{mid}(e)\} is a biclique. Thus, LL and RR are disjoint vertex sets. Since V=K𝒦cKV=\bigcup_{K\in\mathcal{K}^{c}}K and LR=K𝒦cKmid(e)L\cup R=\bigcup_{K\in\mathcal{K}^{c}}K\setminus\operatorname{mid}(e), then mid(e)=V(LR)\operatorname{mid}(e)=V\setminus(L\cup R). Thus,

K𝒦1cK=Lmid(e)=VR.\displaystyle\bigcup_{K\in\mathcal{K}_{1}^{c}}K=L\cup\operatorname{mid}(e)=V\setminus R.

Hence, K1K_{1} is a maximal clique of Gc(VR)G^{c}(V\setminus R) for any K1𝒦1cK_{1}\in\mathcal{K}_{1}^{c}. By the definition of clique tree, given an arbitrary K2𝒦2cK_{2}\in\mathcal{K}_{2}^{c}

K2(VR)=K2(K𝒦1cK)=K𝒦1c(K2K)mid(e).\displaystyle K_{2}\cap(V\setminus R)=K_{2}\cap\left(\bigcup_{K\in\mathcal{K}_{1}^{c}}K\right)=\bigcup_{K\in\mathcal{K}_{1}^{c}}(K_{2}\cap K)\subseteq\operatorname{mid}(e).

Since mid(e)K\operatorname{mid}(e)\subset K^{\prime} for some K𝒦1cK^{\prime}\in\mathcal{K}_{1}^{c}, then K2(VR)K_{2}\cap(V\setminus R) cannot be a maximal clique of GcG^{c}. Therefore, 𝒦1c\mathcal{K}_{1}^{c} is the set of all maximal cliques of Gc(VR)G^{c}(V\setminus R) and 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} is its clique tree. ∎

Next, we show that the edge set of biclique {L,R}\{L,R\} is not empty.

Claim 3.

Both LL and RR are not empty.

Proof.

Let the two ends of edge ee in 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} to be KK^{\prime} and K′′K^{\prime\prime}. Since both KK^{\prime} and K′′K^{\prime\prime} are maximal cliques of GcG^{c} and mid(e)=KK′′\operatorname{mid}(e)=K^{\prime}\cap K^{\prime\prime}, then both Kmid(e)K^{\prime}\setminus\operatorname{mid}(e) and K′′mid(e)K^{\prime\prime}\setminus\operatorname{mid}(e) are not empty. We can complete the proof since K𝒦1cK^{\prime}\in\mathcal{K}_{1}^{c} and K′′𝒦2cK^{\prime\prime}\in\mathcal{K}_{2}^{c}. ∎

Next, we show that the output of Algorithm 2 is a biclique partition of a co-chordal graph GG.

Theorem 1.

Given a co-chordal graph GG and clique tree 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} of its complement GcG^{c}, the output of FindPartition(𝒯𝒦c)\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}}) is a biclique partition of GG.

Proof.

We will use induction to prove Theorem 1. In the base step, if 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} only has one vertex, then GcG^{c} is a complete graph and GG is an empty graph. Thus, bp(G)=0\operatorname{bp}(G)=0.

In the induction step, supposed that FindPartition(𝒯𝒦c)\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}}) is a biclique partition of GG if |V(𝒯𝒦c)|<k|V(\mathcal{T}_{\mathcal{K}^{c}})|<k. Then, we consider the scenario that 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} has kk vertices. By Proposition 3, an arbitrary edge ee cuts 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} into two components 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} and 𝒯𝒦2c\mathcal{T}_{\mathcal{K}^{c}_{2}}, where we can construct a partitioning biclique {L,R}\{L,R\} as in Algorithm 2 that partitions the edges of GG into the edge sets of {L,R}\{L,R\}, G(VL)G(V\setminus L), and G(VR)G(V\setminus R). Moreover, 𝒯𝒦1c\mathcal{T}_{\mathcal{K}^{c}_{1}} and 𝒯𝒦2c\mathcal{T}_{\mathcal{K}^{c}_{2}} are clique trees of Gc(VR)G^{c}(V\setminus R), and Gc(VL)G^{c}(V\setminus L) respectively. Then, FindPartition(𝒯𝒦1c)\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}_{1}}) returns a biclique partition of G(VR)G(V\setminus R) and FindPartition(𝒯𝒦2c)\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}_{2}}) returns a biclique partition of G(VL)G(V\setminus L). Therefore, {{L,R}}FindPartition(𝒯𝒦1c)FindPartition(𝒯𝒦2c)\{\{L,R\}\}\cup\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}_{1}})\cup\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}_{2}}) is a biclique partition of GG. ∎

Finally, we prove that the size of the output of Algorithm 2 is equal to one less than the number of maximal cliques of GcG^{c}.

Theorem 2.

Given a co-chordal graph GG (with at least one vertex) and clique tree 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} of its complement GcG^{c}, the output of FindPartition(𝒯𝒦c)\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}}) is a biclique partition of GG with size mc(Gc)1\operatorname{mc}(G^{c})-1.

Proof.

By Theorem 1, we know that the output of FindPartition(𝒯𝒦c)\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}}) is a biclique partition of GG. We then want to prove that the size of the output of FindPartition(𝒯𝒦c)\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}}) is mc(Gc)1\operatorname{mc}(G^{c})-1 by induction.

In the base step, |V(𝒯𝒦c)|=1|V(\mathcal{T}_{\mathcal{K}^{c}})|=1, then mc(Gc)=1\operatorname{mc}(G^{c})=1 since GcG^{c} is a complete graph. The output is an empty set, which has size of 0.

In the induction step, assume that the size of the output of FindPartition(𝒯𝒦c)\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}}) is |V(𝒯𝒦c)|1|V(\mathcal{T}_{\mathcal{K}^{c}})|-1 if |V(𝒯𝒦c)|{1,2,,k1}|V(\mathcal{T}_{\mathcal{K}^{c}})|\in\{1,2,\ldots,k-1\}. Then, if |V(𝒯𝒦c)|=k|V(\mathcal{T}_{\mathcal{K}^{c}})|=k, the output is {{L,R}}FindPartition(𝒯𝒦1c)FindPartition(𝒯𝒦2c)\{\{L,R\}\}\cup\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}_{1}})\cup\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}_{2}}) where L,R,𝒯𝒦1cL,R,\mathcal{T}_{\mathcal{K}^{c}_{1}} and 𝒯𝒦2c\mathcal{T}_{\mathcal{K}^{c}_{2}} are defined in Algorithm 2. Since |V(𝒯𝒦1c)|+|V(𝒯𝒦2c)|=k|V(\mathcal{T}_{\mathcal{K}^{c}_{1}})|+|V(\mathcal{T}_{\mathcal{K}^{c}_{2}})|=k and |V(𝒯𝒦1c)|,|V(𝒯𝒦2c)|>0|V(\mathcal{T}_{\mathcal{K}^{c}_{1}})|,|V(\mathcal{T}_{\mathcal{K}^{c}_{2}})|>0, we know that |V(𝒯𝒦1c)|<k|V(\mathcal{T}_{\mathcal{K}^{c}_{1}})|<k and |V(𝒯𝒦2c)|<k|V(\mathcal{T}_{\mathcal{K}^{c}_{2}})|<k. Also both LL and RR are not empty by Claim 3, the size of the output of FindPartition(𝒯𝒦c)\textsc{FindPartition}(\mathcal{T}_{\mathcal{K}^{c}}) is 1+|V(𝒯𝒦1c)|1+|V(𝒯𝒦2c)|1=k11+|V(\mathcal{T}_{\mathcal{K}^{c}_{1}})|-1+|V(\mathcal{T}_{\mathcal{K}^{c}_{2}})|-1=k-1. ∎

Theorem 2 leads us to a direct result that the biclique partition number of a co-chordal graph GG is less than the number of maximal cliques of GcG^{c}.

Corollary 1.

If GG is a co-chordal graph, then bp(G)mc(Gc)1\operatorname{bp}(G)\leq\operatorname{mc}(G^{c})-1.

The total time complexity of Algorithm 2 is O[|V|3]O[|V|^{3}], which includes both of taking the complement of a co-chordal graph GG and computing a clique tree of GcG^{c}.

Theorem 3.

Algorithm 2 runs in O[|V|3]O[|V|^{3}].

Proof.

Taking the complement of a graph requires O(|V|2)O(|V|^{2}) time. A clique tree of GcG^{c} can be computed in O(|V|3)O(|V|^{3}) using an algorithm described in Figure 4.2 [6].

Since the number of maximal cliques in the chordal graph GcG^{c} is at most |V||V|, the number of edges in 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} is O(|V|)O(|V|). Each ee in 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} is selected once so that the resulting subtrees are trees with one vertex. Thus, the total number of FindPartition(𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}}) called is O(|V|)O(|V|). Since the size of a maximal clique in GcG^{c} is at most |V||V|, it takes O(|V|2)O(|V|^{2}) to compute LL and RR in FindPartition(𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}}). ∎

5 A Heuristic Based on Finding Moplexes

Although Algorithm 2 can give a biclique partition of a co-chordal graph GG, it requires a clique tree of its complementary chordal graph GcG^{c} and computes unions of some maximal cliques, which could include some redundant computations. Instead of using clique tree, we can use a moplex in GcG^{c} to find a biclique partition. Figure 3 motivates the idea via a simple example. In Algorithm 2, we can select an arbitrary edge in the clique tree to find a biclique. Thus, we can always select an edge that is incident to a leaf node of the tree. For example, if we select the edge with middle set {x3}\{x_{3}\}, the biclique built in the current call of FindPartition(𝒯\mathcal{T}) has L={x4,x5,x6,x7}L=\{x_{4},x_{5},x_{6},x_{7}\} and R={x1,x2}R=\{x_{1},x_{2}\}, where {x1,x2}\{x_{1},x_{2}\} is a moplex of GcG^{c}. We can also see that selecting the other two edges can also lead to bicliques with a moplex as LL or RR. It motivates us to design another heuristic to find biclique partitions on co-chordal graphs by finding moplexes, which can be found efficiently by LexBFS. In this section, we show that Algorithm 3 can return a biclique partition of a co-chordal graph GG with a same size as Algorithm 2 in O[|V|(|V|+|Ec|)]O[|V|(|V|+|E^{c}|)] time.

{x1,x2,x3}\{x_{1},x_{2},x_{3}\}\ {x3,x4,x5}\{x_{3},x_{4},x_{5}\}\ {x3,x5,x6}\{x_{3},x_{5},x_{6}\}\ {x4,x7}\{x_{4},x_{7}\}\ {x4}\{x_{4}\}\ {x3}\{x_{3}\}\ {x3,x5}\{x_{3},x_{5}\}\
Figure 3: A clique tree 𝒯\mathcal{T} of some chordal graph GcG^{c} with maximal cliques on the vertices and middle sets on the edges.
1:Input: Co-chordal graph G=(V,E)G=(V,E).
2:Output: A biclique partition bp\operatorname{bp} of GG.
3:Initialize bp{}\operatorname{bp}\leftarrow\{\}.
4:GGcG^{\prime}\leftarrow G^{c} so it is a chordal graph.
5:while |V(G)|1|V(G^{\prime})|\geq 1 do
6:     Let σ\sigma be the perfect elimination ordering of GG^{\prime} obtained by LexBFS (Algorithm 1).
7:     LV(G)NG[σ(1)]L\leftarrow V(G^{\prime})\setminus N_{G^{\prime}}[\sigma(1)].
8:     R{uNG[σ(1)]:NG(u)L=}R\leftarrow\{u\in N_{G^{\prime}}[\sigma(1)]:N_{G^{\prime}}(u)\cap L=\emptyset\}. \triangleright RR is a moplex containing σ(1)\sigma(1).
9:     If LL is not empty, bpbp{{L,R}}\operatorname{bp}\leftarrow\operatorname{bp}\cup\{\{L,R\}\}.
10:     Remove vertices in RR from GG^{\prime}.
11:end while
12:return bp\operatorname{bp}
Algorithm 3 A moplex heuristic to find a biclique partition on co-chordal graph GG.

Note that Xu et al.[27] also apply lexicographical depth-first search (LexDFS) to find moplexes, which can be an alternative method to find moplexes than LexBFS in Algorithm 3.

Before we can prove that Algorithm 3 returns a biclique partition of a co-chordal graph, we need to show that {L,R}\{L,R\} is a partitioning biclique of GcG^{\prime c} with vertices VV^{\prime}. In addition, one of the two induced subgraphs, Gc(VL)G^{\prime c}(V^{\prime}\setminus L), has an empty edge set.

Proposition 4.

Given a chordal graph G=(V,E)G^{\prime}=(V^{\prime},E^{\prime}) with at least two maximal cliques and σ\sigma obtained by LexBFS, let L=VNG[σ(1)]L=V^{\prime}\setminus N_{G^{\prime}}[\sigma(1)] and R={uNG[σ(1)]:NG(u)L=}R=\{u\in N_{G^{\prime}}[\sigma(1)]:N_{G^{\prime}}(u)\cap L=\emptyset\}. Then, the edges of GcG^{\prime c}, the complement of GG^{\prime}, can be partitioned into edges in a biclique E({L,R})E(\{L,R\}) and edges in a chordal graph E[Gc(VR)]E[G^{\prime c}(V^{\prime}\setminus R)].

Proof.

Since σ\sigma is obtained by LexBFS (Algorithm 1), σ\sigma is a perfect elimination ordering. Then, the closed neighborhood NG[σ(1)]N_{G^{\prime}}[\sigma(1)] is a clique of GG^{\prime}. Thus, V(LR)V^{\prime}\setminus(L\cup R) is an independent set of GcG^{\prime c}. By Proposition 2, {L,R}\{L,R\} is a partitioning biclique of GcG^{\prime c}. Thus, the edges of GcG^{\prime c} is partitioned into E({L,R})E(\{L,R\}), E[Gc(VL)]E[G^{\prime c}(V^{\prime}\setminus L)], and E[Gc(VR)]E[G^{\prime c}(V^{\prime}\setminus R)]. Since VL=NG[σ(1)]V^{\prime}\setminus L=N_{G^{\prime}}[\sigma(1)] is a clique of GG^{\prime}, E[Gc(VL)]=E[G^{\prime c}(V^{\prime}\setminus L)]=\emptyset. Hence, the edges of GcG^{\prime c} is partitioned into E({L,R})E(\{L,R\}) and E[Gc(VR)]E[G^{\prime c}(V^{\prime}\setminus R)]. ∎

Next, we show that the output of Algorithm 3 is a biclique partition of a co-chordal graph GG with a size of mc(Gc)1\operatorname{mc}(G^{c})-1.

Proposition 5.

Given a chordal graph G=(V,E)G^{\prime}=(V^{\prime},E^{\prime}) with at least two maximal cliques and σ\sigma obtained by LexBFS, let L=VNG[σ(1)]L=V^{\prime}\setminus N_{G^{\prime}}[\sigma(1)], R={uNG[σ(1)]:NG(u)L=}R=\{u\in N_{G^{\prime}}[\sigma(1)]:N_{G^{\prime}}(u)\cap L=\emptyset\} and GR=G(VR)G^{\prime}_{R}=G^{\prime}(V^{\prime}\setminus R). Then, RR is a moplex of GG^{\prime} and mc(G)=mc(GR)+1\operatorname{mc}(G^{\prime})=\operatorname{mc}(G^{\prime}_{R})+1.

Proof.

The conclusion that RR is a moplex of GG can be drawn from Proposition 1 (Theorem 5.1 [5]). The reader is referred to [5] for the detailed proof. We want to note that RR is both a module and a clique.

Since σ\sigma is obtained by LexBFS in Algorithm 1, σ\sigma is a perfect elimination ordering. Then, (VL)(V^{\prime}\setminus L) is a maximal clique of GG^{\prime}. Since σ(1)V(GR)\sigma(1)\not\in V(G^{\prime}_{R}), G(VL)G^{\prime}(V^{\prime}\setminus L) is not a subgraph of GRG^{\prime}_{R}.

Given an arbitrary maximal clique KK of GG^{\prime} that is not (VL)(V^{\prime}\setminus L), there exists vv^{\prime} in clique KK such that vv^{\prime} is not σ(1)\sigma(1) or its neighbor. Thus, uRu\not\in R for every uKu\in K. Hence, KK is also a maximal clique subgraph of GRG^{\prime}_{R}. Thus, mc(GR)mc(G)1\operatorname{mc}(G^{\prime}_{R})\geq\operatorname{mc}(G^{\prime})-1.

Since RR is a moplex, S=NG[σ(1)]RS=N_{G^{\prime}}[\sigma(1)]\setminus R is a minimal separator of GG^{\prime}. Note that (VL)=NG[σ(1)](V^{\prime}\setminus L)=N_{G^{\prime}}[\sigma(1)] is a maximal clique of GG^{\prime}. Since GG^{\prime} is chordal, there must exists a maximal clique KK of GG^{\prime} that is not (VL)(V^{\prime}\setminus L) such that SKS\subseteq K (See Theorem 4.1 [6]). Note that KK is a maximal clique of GRG^{\prime}_{R}. Therefore, SS is not a maximal clique of GRG^{\prime}_{R} and every maximal clique in GRG^{\prime}_{R} is also a maximal clique of GG^{\prime}. Hence, mc(G)=mc(GR)+1\operatorname{mc}(G^{\prime})=\operatorname{mc}(G^{\prime}_{R})+1. ∎

Theorem 4.

Algorithm 3 returns a biclique partition of GG with a size of mc(Gc)1\operatorname{mc}(G^{c})-1 given GG is a co-chordal graph.

Proof.

By Proposition 4, the output of Algorithm 3 is a biclique partition of GG. By Proposition 5, the number of bicliques in the biclique partition is mc(Gc)1\operatorname{mc}(G^{c})-1. We want to note that L=L=\emptyset if mc(Gc)=1\operatorname{mc}(G^{c})=1, so the number is mc(Gc)1\operatorname{mc}(G^{c})-1 instead of mc(Gc)\operatorname{mc}(G^{c}). ∎

We also show that Algorithm 3 is efficient: O[|V|(|V|+|Ec|)]O[|V|(|V|+|E^{c}|)] time.

Theorem 5.

Algorithm 3 runs in O[|V|(|V|+|Ec|)]O[|V|(|V|+|E^{c}|)] time.

Proof.

Taking the complement of a graph requires O(|V|2)O(|V|^{2}) time. The outer while loop has at most O(|V|)O(|V|) iterations. Finding a perfect elimination ordering σ\sigma of a chordal graph GcG^{c} can be done in O(|V|+|Ec|)O(|V|+|E^{c}|) time by LexBFS with partition refinement. The construction of LL takes O(|V|)O(|V|) time. Computing RR in Line 8 takes O(|Ec|)O(|E^{c}|), where each edge in GG^{\prime} can be traversed in constant times in the worst case. ∎

6 Lower Bounds of Biclique Partition Numbers on Some Subclasses of Co-Chordal Graphs

In this section, we will first prove that both Algorithms 2 and 3 find a minimum biclique partition of GG if its complement GcG^{c} is both chordal and clique vertex irreducible. We start with the well-known Graham-Pollak Theorem, which provides a lower bound on the biclique partition number for complete graphs.

Theorem 6 (Graham–Pollak Theorem [11, 12]).

The edge set of the complete graph, KnK_{n}, cannot be partitioned into fewer than n1n-1 biclique subgraphs.

We first show that the biclique partition number of a graph is no less than the biclique partition number of its induced subgraph.

Lemma 2.

For every induced subgraph GG^{\prime} of a graph GG, bp(G)bp(G)\operatorname{bp}(G^{\prime})\leq\operatorname{bp}(G).

Proof.

Suppose that {{Li,Ri}}i=1bp(G)\{\{L^{i},R^{i}\}\}_{i=1}^{\operatorname{bp}(G)} is a minimum biclique partition of graph GG. Then, it is trivial to show that {{LiV,RiV}}i=1bp(G)\{\{L^{i}\cap V^{\prime},R^{i}\cap V^{\prime}\}\}_{i=1}^{\operatorname{bp}(G)} is a biclique partition of graph GG^{\prime}. Thus, bp(G)bp(G)\operatorname{bp}(G^{\prime})\leq\operatorname{bp}(G). ∎

Then, we can show that the biclique partition number of an arbitrary graph is no less than its clique number minus one.

Proposition 6.

Given a graph G=(V,E)G=(V,E), bp(G)ω(G)1\operatorname{bp}(G)\geq\omega(G)-1.

Proof.

Let KK be a maximum clique of GG with size ω(G)\omega(G) and GKG_{K} be the corresponding induced subgraph. By Graham–Pollak Theorem, we know that bp(GK)ω(G)1\operatorname{bp}(G_{K})\geq\omega(G)-1. By Lemma 2, bp(G)bp(GK)ω(G)1\operatorname{bp}(G)\geq\operatorname{bp}(G_{K})\geq\omega(G)-1. ∎

Next, we prove that Algorithms 2 and 3 are exact when the input graph GG has a chordal and clique vertex irreducible complement.

Lemma 3.

If a graph GG is clique vertex irreducible, then mc(G)=ω(Gc)\operatorname{mc}(G)=\omega(G^{c}).

Proof.

Since GG is clique vertex irreducible, there exists a vertex viv_{i} in maximal clique KiK_{i} such that KiK_{i} is the only maximal clique in GG contains viv_{i}. Then, {vi}i=1mc(G)\{v_{i}\}_{i=1}^{\operatorname{mc}(G)} is an independent set in GG so it is a clique in GcG^{c}. Thus, mc(G)ω(Gc)\operatorname{mc}(G)\leq\omega(G^{c}). Furthermore, assume that ω(Gc)>mc(G)\omega(G^{c})>\operatorname{mc}(G) and let KcK^{c} be a maximum clique of GcG^{c}. Then, there exist two distinct vertices u,vu,v in KcK^{c} such that uu and vv are in the same maximal clique of GG. It implies uvE(G)uv\in E(G), which is a contradiction. ∎

Theorem 7.

Given a graph GG where its complement GcG^{c} is chordal and clique vertex irreducible, bp(G)=mc(Gc)1\operatorname{bp}(G)=\operatorname{mc}(G^{c})-1.

Proof.

By Corollary 1, bp(G)mc(Gc)1\operatorname{bp}(G)\leq\operatorname{mc}(G^{c})-1 since GG is a co-chordal graph. Since GcG^{c} is clique vertex irreducible, then mc(Gc)=ω(G)\operatorname{mc}(G^{c})=\omega(G). By Proposition 6, bp(G)mc(Gc)1\operatorname{bp}(G)\geq\operatorname{mc}(G^{c})-1. ∎

Then, we derive a lower bound of the bp\operatorname{bp} number on any split graph and prove that mc(Gc)2bp(G)mc(Gc)1\operatorname{mc}(G^{c})-2\leq\operatorname{bp}(G)\leq\operatorname{mc}(G^{c})-1 if GG is a split graph.

Lemma 4.

Given a split graph G=(V,E)G=(V,E), VV can be partitioned into two sets V1,V2V_{1},V_{2} such that V1V_{1} is a clique and V2V_{2} is an independent set. Then, |V2|mc(G)|V2|+1|V_{2}|\leq\operatorname{mc}(G)\leq|V_{2}|+1.

Proof.

Since V2V_{2} is an independent set, any maximal clique of GG can include at most one vertex in V2V_{2}. Also, each vertex in V2V_{2} is in at least one maximal clique. Then, |V2|mc(G)|V_{2}|\leq\operatorname{mc}(G).

We then want to prove that given an arbitrary vertex vV2v\in V_{2}, there is at most one maximal clique of GG containing vv. Assume that there exists two distinct maximal cliques of GG, K1K_{1} and K2K_{2}, containing vv. Then, it is safe to conclude that both K1{v}V1K_{1}\setminus\{v\}\subseteq V_{1} and K2{v}V1K_{2}\setminus\{v\}\subseteq V_{1}. Since V1V_{1} is a clique in GG, then we can construct a larger clique subgraph of GG by including all the vertices in K1K_{1} and K2K_{2}, which is a contradiction.

There is at most one maximal clique of GG not including any vertex in V2V_{2}, which is V1V_{1}. Therefore, mc(G)|V2|+1\operatorname{mc}(G)\leq|V_{2}|+1. ∎

Note that if V1V_{1} is a maximal clique, then mc(G)=|V2|+1\operatorname{mc}(G)=|V_{2}|+1. Then, we use Lemma 4 to prove mc(Gc)1ω(G)\operatorname{mc}(G^{c})-1\leq\omega(G) and eventually bp(G)mc(Gc)2\operatorname{bp}(G)\geq\operatorname{mc}(G^{c})-2 for an arbitrary split graph GG.

Theorem 8.

Given a split graph GG, then bp(G)mc(Gc)2\operatorname{bp}(G)\geq\operatorname{mc}(G^{c})-2.

Proof.

We first claim that the clique number of GG, ω(G)\omega(G), is no less than the number of maximal cliques, mc(Gc)1\operatorname{mc}(G^{c})-1, i.e. ω(G)mc(Gc)1\omega(G)\geq\operatorname{mc}(G^{c})-1. Then, by Proposition 6, bp(G)ω(G)1mc(Gc)2\operatorname{bp}(G)\geq\omega(G)-1\geq\operatorname{mc}(G^{c})-2.

To prove the claim, we first start with the definition of split graphs. Since G=(V,E)G=(V,E) is a split graph, then VV can be partitioned into two sets V1,V2V_{1},V_{2} such that V1V_{1} is a clique and V2V_{2} is an independent set of GG. Then, we know that |V1|ω(G)|V_{1}|\leq\omega(G).

Furthermore, GcG^{c} is also a split graph, V1V_{1} is an independent set of GcG^{c}, and V2V_{2} is a clique in GcG^{c}. By Lemma 4, we know that mc(Gc)|V1|+1\operatorname{mc}(G^{c})\leq|V_{1}|+1. Therefore, mc(Gc)1|V1|ω(G)\operatorname{mc}(G^{c})-1\leq|V_{1}|\leq\omega(G). ∎

In the proof of Theorem 8, we show that ω(G)mc(Gc)1\omega(G)\geq\operatorname{mc}(G^{c})-1 if GG is a split graph. In Figure 4, we show that it is possible that ω(G)=mc(Gc)1\omega(G)=\operatorname{mc}(G^{c})-1. In this case, we only have mc(Gc)2bp(G)mc(Gc)1\operatorname{mc}(G^{c})-2\leq\operatorname{bp}(G)\leq\operatorname{mc}(G^{c})-1. However, we can have the exact value of bp(G)\operatorname{bp}(G), bp(G)=mc(Gc)1\operatorname{bp}(G)=\operatorname{mc}(G^{c})-1, if ω(G)=mc(Gc)\omega(G)=\operatorname{mc}(G^{c}), or, equivalently, the vertices of GG can be partitioned into vertex sets V1V_{1} and V2V_{2} such that V1V_{1} is a maximal (maximum) clique and V2V_{2} is an independent set but not maximal.

V1\displaystyle V_{1} V2\displaystyle V_{2}
Figure 4: A split graph GG with vertex sets V1V_{1} (a maximum clique) and V2V_{2} (a maximum independent set), where ω(G)=4\omega(G)=4 but mc(Gc)=5\operatorname{mc}(G^{c})=5.
Remark 2.

If the vertices of a split graph GG can be partitioned into vertex sets V1V_{1} and V2V_{2} such that V1V_{1} is a maximal (maximum) clique and V2V_{2} is an independent set but not maximal, then bp(G)=mc(Gc)1\operatorname{bp}(G)=\operatorname{mc}(G^{c})-1.

7 Final remarks

If a graph G=(V,E)G=(V,E) is a co-chordal graph, the biclique partition number of GG is less than the number of maximal cliques of its complement GcG^{c}. Additionally, we provided two heuristics, one based on clique trees and one based on finding moplexes, to find an explicit construction of a biclique partition with a size of mc(Gc)1\operatorname{mc}(G^{c})-1. We also showed that the computational time of the moplex heuristic is O[|V|(|V|+|Ec|)]O[|V|(|V|+|E^{c}|)].

If a graph GG where its complement GcG^{c} is both chordal and clique vertex irreducible, then bp(G)=mc(Gc)1\operatorname{bp}(G)=\operatorname{mc}(G^{c})-1. If a graph GG is a split graph, another subclass of co-chordal, then we have mc(Gc)2bp(G)mc(Gc)1\operatorname{mc}(G^{c})-2\leq bp(G)\leq\operatorname{mc}(G^{c})-1.

In Section 4, we showed that given a co-chordal graph GG and a clique tree of GcG^{c}, 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}}, Algorithm 2 can return a biclique partition with a size of mc(Gc)1\operatorname{mc}(G^{c})-1 no matter which edge of 𝒯𝒦c\mathcal{T}_{\mathcal{K}^{c}} is selected in each recursion. An open question is whether bp(G)=mc(Gc)1\operatorname{bp}(G)=\operatorname{mc}(G^{c})-1 if GG is a co-chordal graph or split graph. If it is the case, it is an extension of Graham-Pollak theorem to a more general class of graphs.

Acknowledgements

The authors would like to thank the reviewers and Bo Jones for their helpful and insightful comments.

References

  • [1] N. Alon, Neighborly families of boxes and bipartite coverings, in: The Mathematics of Paul Erdös II, Springer, 1997, pp. 27–31.
  • [2] K. Amano, Some improved bounds on communication complexity via new decomposition of cliques, Discrete Applied Mathematics 166 (2014) 249–254.
  • [3] D. Bein, L. Morales, W. Bein, C. Shields Jr, Z. Meng, I. H. Sudborough, Clustering and the biclique partition problem, in: Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008), IEEE Computer Society, 2008, pp. 475–475.
  • [4] E. Bender, L. Richmond, N. Wormald, Almost all chordal graphs split, Journal of the Australian Mathematical Society 38 (2) (1985) 214–221.
  • [5] A. Berry, J.-P. Bordat, Separability generalizes dirac’s theorem, Discrete Applied Mathematics 84 (1-3) (1998) 43–53.
  • [6] J. R. Blair, B. Peyton, An introduction to chordal graphs and clique trees, in: Graph theory and sparse matrix computation, Springer, 1993, pp. 1–29.
  • [7] S. M. Cioabă, M. Tait, Variations on a theme of Graham and Pollak, Discrete Mathematics 313 (5) (2013) 665–676.
  • [8] D. G. Corneil, Lexicographic breadth first search–a survey, in: International Workshop on Graph-Theoretic Concepts in Computer Science, Springer, 2004, pp. 1–19.
  • [9] G. F. de Sousa Filho, T. Bulhões, F. C. Lucídio dos Anjos, L. S. Ochi, F. Protti, R. G. Pinheiro, The biclique partitioning polytope, Discrete Applied Mathematics 301 (2021) 118–130.
  • [10] D. Fulkerson, O. Gross, Incidence matrices and interval graphs, Pacific journal of mathematics 15 (3) (1965) 835–855.
  • [11] R. L. Graham, H. O. Pollak, On the addressing problem for loop switching, The Bell system technical journal 50 (8) (1971) 2495–2519.
  • [12] R. L. Graham, H. O. Pollak, On embedding graphs in squashed cubes, in: Graph theory and applications, Springer, 1972, pp. 99–110.
  • [13] M. Groshaus, A. Guedes, J. Puppo, Biclique graphs of split graphs, Discrete Applied Mathematics (2022) ​​.
  • [14] M. Habib, R. McConnell, C. Paul, L. Viennot, Lex-bfs and partition refinement, with applications to transitive orientation, interval graph recognition and consecutive ones testing, Theoretical Computer Science 234 (1-2) (2000) 59–84.
  • [15] T. Kratzke, B. Reznick, D. West, Eigensharp graphs: Decomposition into complete bipartite subgraphs, Transactions of the American mathematical society 308 (2) (1988) 637–653.
  • [16] A. Lakshmanan S, A. Vijayakumar, Clique irreducibility and clique vertex irreducibility of graphs, Applicable Analysis and Discrete Mathematics (2009) 137–146.
  • [17] I. Leader, T. S. Tan, Improved bounds for the Graham-Pollak problem for hypergraphs, Electronic Journal of Combinatorics 25 (2018) ​​.
  • [18] A. Martin, M. Z. Günter, Proofs from the book, Spinger, 2018.
  • [19] G. Peck, A new proof of a theorem of Graham and Pollak, Discrete mathematics 49 (3) (1984) 327–328.
  • [20] T. Pinto, Biclique covers and partitions, The Electronic Journal of Combinatorics 21 (2014) ​​.
  • [21] E. Rawshdeh, H. Al-Ezeh, The biclique partition number of some important graphs, Italian Journal of Pure and Applied Mathematics (2019) 274–283.
  • [22] D. Rohatgi, J. C. Urschel, J. Wellens, Regarding two conjectures on clique and biclique partitions, The Electronic Journal of Combinatorics 28 (2021) ​​.​
  • [23] D. J. Rose, R. E. Tarjan, G. S. Lueker, Algorithmic aspects of vertex elimination on graphs, SIAM Journal on computing 5 (2) (1976) 266–283.
  • [24] M. Shigeta, K. Amano, Ordered biclique partitions and communication complexity problems, Discrete Applied Mathematics 184 (2015) 248–252.
  • [25] H. Tverberg, On the decomposition of kn into complete bipartite graphs, Journal of Graph Theory 6 (4) (1982) 493–494.
  • [26] S. Vishwanathan, A counting proof of the Graham–Pollak theorem, Discrete Mathematics 313 (6) (2013) 765–766.
  • [27] S. Xu, X. Li, R. Liang, Moplex orderings generated by the lexdfs algorithm, Discrete Applied Mathematics 161 (13-14) (2013) 2189–2195.