## 1 Intorduction

A graph is *chordal*
if any cycle with length four or more in has an edge,
called a *chord*,
which connects two nonconsecutive vertices on the cycle.
If is a chordal, many NP-complete problems can be solved in polynomial time [10].
Graph chordality is also interested in enumeration algorithm area.
There are many efficient algorithms for enumerating subgraphs and supergraphs with chordality [13, 14, 21, 7].
Moreover, chordality of a bipartite graph has been also well studied.
A chordal bipartite graph is a bipartite graph without any induced cycles with length six or more.
There are many characterizations of chordal bipartite graphs [4, 11, 18, 8].
In addition, the graph chordality is related to the hypergraph acyclicity [3, 4].
In particular, Ausiello et al. show that a hypergraph is -acyclic if and only if its bipartite incident graph is chordal bipartite.

A subgraph enumeration problem is defined as follows: To output all subgraphs satisfying a constraint.
To evaluate the efficiency of enumeration algorithms, we often measure in terms of the size of input and the number of outputs.
An enumeration algorithm is *polynomial delay* if the maximum interval between two consecutive solutions is polynomial.
Moreover, an enumeration algorithm is *amortized polynomial* if the total running time is time,
where is the number of solutions, is the input size, and is a polynomial function.
In enumeration algorithm area,
there are efficient algorithms for sparse graphs [19, 20, 6, 9, 12, 15].
Especially, *the degeneracy* [16] of graphs has been payed much attention for constructing efficient enumeration algorithms.

Main results:
In this paper, we propose chordal bipartite induced subgraph enumeration algorithm ECB.
In ECB, we use a similar strategy as enumeration of chordal induced subgraphs.
Kiyomi and Uno [14] use a special vertex ordering, called the *perfect elimination ordering* .
In this ordering, any vertex is simplicial in , where .
Here, a vertex is called *simplicial* if an induced subgraph of neighbors becomes a clique.
Kiyomi and Uno developed a constant delay enumeration algorithm for chordal induced subgraphs [14] by using this ordering.
Likewise a perfect elimination ordering of a chordal graph, we show that every chordal bipartite graph has a special vertex elimination ordering,
and this is actually a necessary and sufficient condition of a chordal bipartite graph.
We call this vertex ordering a *chordal bipartite elimination ordering* (CBEO).
CBEO is defined by the following operation: Recursively remove a weak-simplicial vertex [18].
Interestingly, CBEO is a relaxed version of a vertex ordering proposed by Uehara [18].
By using CBEO,
we propose our enumeration algorithm which outputs all chordal bipartite induced subgraphs in amortized time,
where is the degeneracy of a graph, is the maximum size of as an induced subgraph, and is the degree of .
Note that is bounded by .
Hence, ECB enumerates chordal bipartite induced subgraphs in constant amortized time for bounded degree graphs.

## 2 Preliminaries

Let be a simple graph, that is there is no self loops and multiple edges.
are *adjacent* if there is an edge .
The sequence of distinct vertices is a *path* if and are adjacent for each .
If holds in a path , we call a *cycle*.
*The distance* between and is defined by the length of a shortest path between and .
We call a graph a *subgraph* of if and hold.
A subgraph is an *induced subgraph* of if hold.
In addition, we denote an induced subgraph as .
*The neighbor of * is the set of vertices and denoted by .
If there is no confusion, we denote as
In addition, we denote as , where is a subset of .
The set of vertices is called *the closed neighbor*.
We define *the neighbor with distance * and *the neighbor with distance at most * as
and , respectively.
is *the neighbor set of neighbors* defined as .
The *degree of * is the size of . The degree of a graph is the maximum size of in .
Let be a subset of .
For vertices , and are *comparable* if or hold.
Otherwise, and are *incomparable*.

Let be a bipartite graph.
We call is *a chordal bipartite* graph if there is no induced cycles with the length four or more.
A bipartite graph is *biclique* if any pair of vertices and are adjacent.
We denote a biclique as if and .
In this paper, we consider only the case
and the size of a biclique is .

Let be a *hypergraph*,
where is a set of vertices and is a set of subsets of .
We call an element of a *hyperedge*.
For a vertex ,
let
be the set of edges which contain .
A sequence of edges is a *berge cycle* if there exists distinct vertices such that
and for each .
A berge cycle is a *pure cycle* if and hold for any distinct and , where and satisfy one of the following three conditions: (I) , (II) and , or (III) and .
A cycle is a *-cycle* if the sequence of is a pure cycle, where .
We call a hypergraph *-acyclic* if has no -cycles.
We call a vertex a *-leaf (or nest point)* if or hold for any pair of edges .
A bipartite graph is a *incidence graph* of a hypergraph
if , , and includes an edge if , where and .
is *totally ordered* if for any pair of vertex subsets,
either or .
we assume that is not trivial, that is, has more than one vertex.

Finally, we define our problem, chordal bipartite induced subgraph enumeration problem. In Fig. 1, we show an input graph and one of the solutions.

###### Problem 1 (Chordal bipartite induced subgraph enumeration problem).

Output all chordal induced subgraphs in an input graph without duplication.

## 3 A Characterization of Chordal Bipartite Graphs

We propose a new characterization of chordal bipartite graphs.
By using this characterization, we construct a proposed algorithm in Sect. 4.
We first give notions.
A vertex is *weak-simplicial* [18]
if is an independent set and any pair of neighbors of are comparable.
A bipartite graph is *bipartite chain*
if any pair of vertices in or are comparable, that is,
or holds for any or .
To show the new characterization, we use the following two theorems.

###### Theorem 1 (Theorem 1 of [1] ).

is chordal bipartite if and only if is -acyclic.

###### Theorem 2 (Theorem 3.9 of [5]).

A -acyclic hypergraph with at least two vertices has two distinct -leaves that are not neighbors in .

Brault [5] gives a vertex elimination ordering for a hypergraph , called a -elimination ordering. The definition is as follows: For any , is a -leaf in , where . It is known that is -acyclic if and only if there is a -elimination ordering of . Similarly, in this paper, for any graph , we define a vertex elimination ordering for , called CBEO, as follows: for any , is a weak-simplicial in . In the remaining of this section, we show that a graph is chordal bipartite if and only if there is CBEO for . Lemma 3 shows that a -leaf of a hypergraph is weak-simplicial in its incident graph.

###### Lemma 3.

Let be a hypergraph, be a vertex in , and be the corresponding vertex of in of . Then, is a -leaf in if and only if is a weak-simplicial vertex in .

###### Proof.

We assume that is a -leaf in . Let be the vertex corresponding to in . From the definition of a -leaf, is also totally ordered in . Thus, is a weak-simplicial vertex in .

We next assume that is weak-simplicial in of . From the definition, is totally ordered. Thus, is totally ordered. Therefore, is a -leaf in and the statement holds. ∎∎

From Lemma 3, a -leaf of corresponds to a weak-simplicial vertex of an incident graph . We next show that a chordal bipartite graph has at least one weak-simplicial vertex from Theorem 1, Theorem 2, and Lemma 3.

###### Lemma 4.

Let be a chordal bipartite graph with at least two vertices. If there is no vertex in such that or , then has at least two weak-simplicial vertices which are not adjacent.

###### Proof.

From Theorem 1, Theorem 2, and Lemma 3, if is chordal bipartite and has no twins, then has at two weak-simplicial vertices which are not adjacent. We now assume has twins. We construct as follows: For each set of twins , remove all vertices in except one twin of , where is the sets of twins of . Note that is still chordal bipartite since vertex deletion does not destroy the chordality. Since has no twins, has at least two weak-simplicial vertices and which are not adjacent. Since the set inclusion relation between and is same, and also weak-simplicial in . Hence, the statement holds. ∎∎

###### Theorem 5.

Let be a bipartite graph. is chordal bipartite if and only if there is a CBEO for .

###### Proof.

From Lemma 4, the only if part holds. We consider the contraposition of the if part. Suppose that is not chordal bipartite. Then, has an induced cycle with length six or more. Since a vertex in is not weak-simplicial, we cannot eliminate all vertices from and the statement holds. ∎∎

We next show that a vertex is weak-simplicial in a bipartite graph if and only if is bipartite chain.

###### Lemma 6.

Let be a chordal bipartite graph and be a vertex in . Then, is weak-simplicial if and only if an induced subgraph is bipartite chain.

###### Proof.

We assume that is bipartite chain. From the definition, any pair of vertices in are comparable. Hence, is weak-simplicial.

We next prove the other direction. We assume that is weak-simplicial. Let and be vertices in . If and are incomparable in , then there are two vertices and . Note that and are neighbors of . This contradicts that any pair of vertices in are comparable. Hence, are comparable and is bipartite chain. ∎∎

## 4 Enumeration of Chordal Bipartite Induced Subgraphs

In this section, we propose an enumeration algorithm ECB for chordal bipartite subgraphs based on reverse search [2].
ECB enumerates all solutions by traversing on a tree structure ,
called a *family tree*,
where is a set of solutions in an input graph and .
Note that is directed.
We give by defining the parent-child relationship among solutions based on Theorem 5.

Let be a vertex subset that induces a solution.
We denote the set of weak-simplicial vertices in as .
In what follows, we number the vertex index from to and compare the vertices with their indices.
The *parent* of is defined as .
is a *child* of if .
Let be the set of children of .
We define the *parent vertex * as which induces the parent.
For any pair of solutions and ,
if .
From Theorem 5, any solution can reach the empty set by recursively removing the parent vertex from the solution.
Hence, the following lemma holds.

###### Lemma 7.

The family tree forms a tree.

Next, we show that ECB enumerates all solutions.
For any vertex subset ,
we denote .
An *addible weak-simplicial vertex set* is ,
that is, any vertex in generates new solution .
We define a *candidate set* as follows:
.
Note that is a subset of .
We show that the relation between and .

###### Lemma 8.

Let and be distinct solutions. If is a child of , then .

###### Proof.

Suppose that is a child of . Let and . Note that belongs to . If , then and thus . Otherwise, is not included in since has the maximum index in . From the definition of a weak-simplicial vertex, there are two vertices in which are incomparable in . Since is totally ordered in , must be in . Hence, the statement holds. ∎∎

In what follows,
we call a vertex *generates a child* if is a child of .
From Lemma 7 and Lemma 8,
ECB enumerates all solution by the DFS traversing on .

###### Theorem 9.

ECB enumerates all solutions.

## 5 Time complexity analysis

ECB has two bottlenecks.
(1) Some vertices in does not generate a child and
(2) the maintenance of and consumes time.
A trivial bound of the number of redundant vertices in is since
only vertices in may not generate a child.
To evaluate the number of such redundant vertices precisely,
we use a *degeneracy ordering*.
A graph is *-degenerate* if any induced subgraph of has a vertex with degree or less [16].
The *degeneracy* of a graph is the smallest such number .
Matula et al. [17] show that
a -degenerate graph has a following vertex ordering:
For each vertex , the number of neighbors smaller than is at most .
This ordering is called a *degeneracy ordering* of (See Fig. 2).
Matula et al. also show that a linear time algorithm for obtaining one of the orderings.
In what follows,
we fix a reverse order of a degeneracy ordering and and are sorted in this ordering.
We first show that the number of redundant vertices is at most .

###### Lemma 10.

Let be a solution. The number of vertices in which do not generate a child is at most .

###### Proof.

Let be a vertex in and be a vertex . If , then generates a child. We assume that . Since is in ,

. We estimate the size of

. We consider a vertex . is at most since is at most . We next consider a vertex . Since is larger than , a vertex in is larger than . Hence, we consider vertices . For each , is at most . Hence, is at most and the statement holds. ∎∎We next show how to compute from , where is a solution and is a child of . From the definition of , we can compute in time if we have and . Moreover, if we have , then we can determine whether is a child of or not in constant time since is sorted. Hence, to obtain children of , computing and dominate the computation time of each iteration. Here, we define two vertex sets as follows:

These vertex sets are the sets of vertices that are removed from and after adding to , respectively. In the following lemmas, we show that and can be update if we have and .

###### Lemma 11.

Let be a solution, be a child of , and . Then, .

###### Proof.

Let be a vertex in . We prove is included in . If holds, then since . We assume that . Since is weak-simplicial in , . If , then is not weak-simplicial in . It contradicts the assumption. Hence, . We prove the other direction. Let be a vertex in . We assume that . If , then . It is contradiction and the statement holds. ∎

###### Lemma 12.

Let be a solution, be a child of , and . Then, .

###### Proof.

Let be a vertex in . We prove is included in . From the definition of , holds. If , then is not weak-simplicial in . Since , . We prove the other direction. Let be a vertex in . From the definition of and , is weak-simplicial in . Hence, and the statement holds. ∎∎

Note that by just removing redundant vertices, and can be easily sorted if and were already sorted. We next consider how to compute and . We first show a characterization of a vertex in and . In the following lemmas, let be a solution, be a vertex in , and be a solution .

###### Lemma 13.

Let be a vertex in . if and only if includes which is incomparable to .

###### Proof.

If has a neighbor in which is incomparable to , then from the definition, is not weak-simplicial.

Let be a vertex in . There is a pair of vertices and in which are incomparable. If or is equal to , then the statement holds. Hence, we assume that both and are not equal to . Since is bipartite, and are not adjacent to . Hence, and hold. It contradicts that is a solution and the statement holds. ∎∎

###### Lemma 14.

Let be a vertex in . Then, if and only if there exists a pair of vertices which satisfy , , and .

###### Proof.

The if part is easily shown by the assumption of the incomparability of and . We next prove the other direction. We assume that . Hence, there is a pair of neighbors and of such that they are incomparable in . Without loss of generality, holds since is in . If , then and are comparable in . Since and are incomparable in , is adjacent to and is not adjacent to . Thus, the statement holds. ∎∎

###### Lemma 15.

Let be a vertex in and . Then, if and only if has a neighbor in which is incomparable to .

###### Proof.

The if part is trivial from the definition of weak-simplicial. We prove the only if part. We assume that holds. Since , has a pair of neighbors and which are incomparable in . If or is equal to , then has a neighbor which is incomparable to and the statement holds. We next assume that and are distinct from . is not adjacent to , , or both of them since is bipartite. Hence, and are comparable in since and are comparable in . This contradicts that and are incomparable in and the statement holds. ∎∎

###### Lemma 16.

Let be a vertex in and . Then, if and only if there exists a pair of vertices which satisfy , , and .

###### Proof.

From the assumption, and are incomparable in . Hence, the if part holds. We prove the other direction. We assume that . Hence, has a pair of vertices and which are incomparable in . Without loss of generality, holds. Since and are incomparable in , is adjacent to . Thus, the statement holds. ∎∎

Next, we consider the time complexity of computing and . For analysing these computing time more precisely, we give two upper bounds with respect to the number of edges and the size of in bipartite chain graphs. Note that is the maximum size of in as an induced subgraph.

###### Lemma 17.

Let be a bipartite chain graph and be a vertex in . Then, is at most .

###### Proof.

Let be a maximum vertex in with respect to inclusion of neighbors. Hence, for any vertex , holds. Since , is equal to . Hence, the statement holds. ∎∎

###### Lemma 18.

Let be a bipartite chain graph. Then, the number of edges in is , where is the maximum size of a biclique in .

###### Proof.

Let be a maximum vertex in with respect to inclusion of neighbors. If , then the statement holds from Lemma 17. We assume that . We consider the number of edges in . Let be a sequence of vertices in such that for . For each , the sum of is at most . We next consider the case for . Since is a subset of for any , is at most . If is greater than , then has a biclique . Hence, the number of edges in is and the statement holds. ∎∎

###### Lemma 19.

Let be a solution, be a vertex in , and be a solution . Then, we can compute in time.

###### Proof.

We first compute vertices in that remain in . From Lemma 11 and Lemma 14, if and only if there exists a pair of vertices which satisfy , , and . By scanning vertices with distance two from , this can be done in linear time in the size of . Since is bipartite chain from Lemma 6, is bounded by from Lemma 18. Moreover, it can be determined whether and are comparable or not in this scan operation.

We next compute vertices in that remain in . From Lemma 13, is included in if and only if has a neighbor which is incomparable to . Since is bipartite, is included in . In the previous scan operation, we already know whether and are comparable or not. Hence, we can compute whether or not in time. Since holds from Lemma 18, we can find in total time. Hence, the statement holds∎∎

###### Lemma 20.

Let be a solution and be a vertex in . Then, we can compute in time.

###### Proof.

Let be a solution . In the same fashion as Lemma 19, we can decide in total time. By applying the above procedure for all vertices distance two from , we can obtain all vertices in in time since the number of edges can be bounded in . ∎∎

From Lemma 19 and Lemma 20, we can compute and in and time for each , respectively. Hence, we can enumerate all children in time from Lemma 8, Lemma 11 and Lemma 12. In the following theorem, we show the amortized time complexity and space usage of ECB.

###### Theorem 21.

ECB enumerates all solutions in amortized time by using space, where is the number of vertices and is the number of edges in an input graph.

###### Proof.

ECB uses and as data structures. Each data structure demands linear space and the total space usage of ECB is space. Hence, the total space usage of ECB is linear. We consider the amortized time complexity of ECB. From Lemma 9, ECB enumerates all solutions. From Lemma 19 and Lemma 20, ECB computes all children and updates all data structures in time. From Lemma 10, is at most . Hence, we need time to generate all children. Note that this computation time is bounded by . We consider the total time to enumerate all solution. Since each iteration needs time, the total time is time, where is the set of solutions. Since is bounded by , the total time is time. Therefore, ECB enumerates all solution in amortized time and the statement holds. ∎∎

## 6 Conclusion

In this paper, we propose a vertex ordering CBEO by relaxing a vertex ordering proposed by Uehara [18]. A bipartite graph is chordal bipartite if and only if has CBEO, that is, this vertex ordering characterize chordal bipartite graphs. This ordering comes from hypergraph acyclicity and the relation between -acyclic hypergraphs and chordal bipartite graphs. In addition, we also show that a vertex is weak-simplicial if and only if is bipartite chain. By using these facts, we propose an amortized time algorithm ECB.

As future work, the following two enumeration problems are interesting: Enumeration of bipartite induced subgraph for dense graphs and enumeration of chordal bipartite subgraph enumeration. For dense graphs, ECB does not achieve an amortized linear time enumeration. If an input graph is biclique, then the time complexity of ECB becomes time. Hence, it is still open that there is an amortized linear time enumeration algorithm for chordal bipartite induced subgraph enumeration problem.

## References

- [1] G. Ausiello, A. D’Atri, and M. Moscarini. Chordality properties on graphs and minimal conceptual connections in semantic data models. J. Comput. Syst. Sci., 33(2):179–202, 1986.
- [2] D. Avis and K. Fukuda. Reverse search for enumeration. Discrete Appl. Math., 65(1):21–46, 1996.
- [3] C. Beeri, R. Fagin, D. Maier, and M. Yannakakis. On the desirability of acyclic database schemes. J. ACM, 30(3):479–513, 1983.
- [4] A. Brandstädt, J. P. Spinrad, et al. Graph classes: a survey, volume 3. Siam, 1999.
- [5] J. Brault-Baron. Hypergraph acyclicity revisited. ACM Comput. Surv., 49(3):54, 2016.
- [6] A. Conte, R. Grossi, A. Marino, and L. Versari. Sublinear-Space Bounded-Delay Enumeration for Massive Network Analytics: Maximal Cliques. In Proc. ICALP 2016, volume 55 of LIPIcs, pages 148:1–148:15. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, 2016.
- [7] T. Daigo and K. Hirata. On generating all maximal acyclic subhypergraphs with polynomial delay. In In Proc. SOFSEM 2009, pages 181–192. Springer, 2009.
- [8] D. Duris. Some characterizations of and -acyclicity of hypergraphs. Inf. Process. Lett., 112(16):617–620, 2012.
- [9] D. Eppstein, M. Löffler, and D. Strash. Listing All Maximal Cliques in Large Sparse Real-World Graphs. J. Exp. Algorithmics, 18:3.1:3.1–3.1:3.21, Nov. 2013.
- [10] F. Gavril. Algorithms for minimum coloring, maximum clique, minimum covering by cliques, and maximum independent set of a chordal graph. SIAM J. Comput., 1(2):180–187, 1972.
- [11] J. Huang. Representation characterizations of chordal bipartite graphs. J. Comb. Theory, Series B, 96(5):673–683, 2006.
- [12] M. M. Kanté, V. Limouzy, A. Mary, and L. Nourine. Enumeration of Minimal Dominating Sets and Variants. In Proc. FCT 2011, pages 298–309. Springer, 2011.
- [13] M. Kiyomi, S. Kijima, and T. Uno. Listing chordal graphs and interval graphs. In Proc. WG 2006, pages 68–77. Springer, 2006.
- [14] M. Kiyomi and T. Uno. Generating chordal graphs included in given graphs. IEICE Trans. Inf. & Syst., 89(2):763–770, 2006.
- [15] K. Kurita, K. Wasa, H. Arimura, and T. Uno. Efficient enumeration of dominating sets for sparse graphs. In Proc. ISAAC 2018, pages 8:1–8:13, 2018.
- [16] D. R. Lick and A. T. White. -DEGENERATE GRAPHS. Canadian J. Math., 22:1082–1096, 1970.
- [17] D. W. Matula and L. L. Beck. Smallest-last ordering and clustering and graph coloring algorithms. J. ACM, 30(3):417–427, 1983.
- [18] R. Uehara. Linear time algorithms on chordal bipartite and strongly chordal graphs. In Proc. ICALP 2002, pages 993–1004. Springer, 2002.
- [19] K. Wasa, H. Arimura, and T. Uno. Efficient Enumeration of Induced Subtrees in a K-Degenerate Graph. In Proc. ISAAC 2014, volume 8889 of LNCS, pages 94–102. Springer, 2014.
- [20] K. Wasa and T. Uno. Efficient enumeration of bipartite subgraphs in graphs. In Proc. COCOON 2018, pages 454–466. Springer, 2018.
- [21] K. Wasa, T. Uno, K. Hirata, and H. Arimura. Polynomial delay and space discovery of connected and acyclic sub-hypergraphs in a hypergraph. In Proc. DS, pages 308–323. Springer, 2013.

Comments

There are no comments yet.