Next Article in Journal
DLMinTC+: A Deep Learning Based Algorithm for Minimum Timeline Cover on Temporal Graphs
Previous Article in Journal
Enhancing Energy Microgrid Sizing: A Multiyear Optimization Approach with Uncertainty Considerations for Optimal Design
Previous Article in Special Issue
Broadcasting in Stars of Cliques and Path-Connected Cliques
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Enumerating Minimal Vertex Covers and Dominating Sets with Capacity and/or Connectivity Constraints

1
Hokkaido University, Kita 14-jo Nishi 9-chome, Kita-ku, Sapporo 060-0814, HKD, Japan
2
Graduate School of Informatics, Nagoya University, Furocho, Chikusa-ku, Nagoya 464-8601, AIC, Japan
3
Theoretical Computer Science, Fachbereich IV, Trier University, 54296 Trier, Germany
4
Department of Mathematical Sciences, School of Science, Tokai University, 4-1-1, Kita-kaname, Hiratsuka 259-1292, KNG, Japan
*
Author to whom correspondence should be addressed.
Submission received: 21 November 2024 / Revised: 8 February 2025 / Accepted: 12 February 2025 / Published: 17 February 2025
(This article belongs to the Special Issue Selected Algorithmic Papers from IWOCA 2024)

Abstract

:
In this paper, we consider the minimal vertex cover and minimal dominating sets with capacity and/or connectivity constraint enumeration problems. We develop polynomial-delay enumeration algorithms for these problems on bounded-degree graphs. For the case of minimal connected vertex covers, our algorithms run in polynomial delay, even on the class of d-claw free graphs. This result is extended for bounded-degree graphs and outputs in quasi-polynomial time on general graphs. To complement these algorithmic results, we show that the minimal connected vertex cover, minimal connected dominating set, and minimal capacitated vertex cover enumeration problems in 2-degenerated bipartite graphs are at least as hard as enumerating minimal transversals in hypergraphs.

1. Introduction

The enumeration of minimal or maximal vertex subsets satisfying graph properties has been widely studied for decades, since it has various applications in many fields. For example, the enumeration of maximal cliques in graphs is an essential task in data mining, which is intensively studied from both theoretical and practical perspectives [1,2,3,4,5,6,7]. This enumeration problem is equivalent to that of enumerating minimal vertex covers, as there is a one-to-one correspondence between the collection of all maximal cliques in G and that of all minimal vertex covers of its complement G ¯ .
Another important enumeration problem is the enumeration of minimal dominating sets in graphs. This enumeration problem is known to be “equivalent” (this means that there is an output-polynomial time algorithm for enumerating minimal dominating sets in graphs if and only if there is an output-polynomial time algorithm for dualizing monotone Boolean functions) to dualizing monotone Boolean functions or enumerating minimal transversals in hypergraphs [8], which has many applications in a broad range of fields in computer science [9,10,11] (see [12] for a survey).
As for the complexity of these enumeration problems, the current states of the maximal cliques enumeration problem and minimal dominating sets of graphs enumeration problem are significantly different. Using a classical result from Tsukiyama et al. [7], we can enumerate all maximal cliques (and hence minimal vertex covers) of a graph in polynomial delay. Here, an enumeration algorithm runs in polynomial delay if the time elapsed (this also includes the running time of pre-processing and post-processing) between every pair of two consecutive outputs is upper bounded by a polynomial solely in the input size. In contrast to this, no output-polynomial time algorithm for enumerating minimal dominating sets of a graph is known yet. An enumeration algorithm runs in output-polynomial time if the total running time is upper bounded by a polynomial with the combined size of the input and all outputs (note that the output size can be exponential to the input size). There are several results showing polynomial-delay or output-polynomial time algorithms for enumerating minimal dominating sets in several special classes of graphs [13,14,15,16,17,18]. The fastest known algorithm for general graphs is that of Fredman and Khachiyan [19], which runs in time N o ( log N ) , where N is the number of vertices and hyperedges plus the number of minimal dominating sets of an input graph.
As variants of these two enumeration problems, we study the problems of enumerating minimal connected vertex covers and minimal connected dominating sets of graphs, which we call Minimal Connected Vertex Cover Enumeration and Minimal Connected Dominating Set Enumeration, respectively. Although these two combinatorial objects are considered to be natural (as they are well studied in several areas [20,21,22,23,24,25], including input-sensitive enumeration algorithms [26,27]), enumeration algorithms (with an output-sensitive analysis [28]) for these variants have not been investigated much in the literature. Kanté et al. [8] showed that enumerating minimal connected dominating sets in split graphs is at least as hard as enumerating minimal dominating sets in general graphs, while the problem without connectivity requirement admits a polynomial-delay algorithm on this class of graphs. This indicates that the connected variant is also a challenging problem. Very recently, Kobayashi et al. [29] devised a polynomial-delay algorithm for enumerating minimal connected vertex covers with a cardinality at most t for a given subcubic graph and a threshold t by exploiting a well-known relation between a connected vertex cover in a (sub)cubic graph and a “matching” in a certain matroid [20].
We also study other types of variants: the enumeration of minimal capacitated vertex covers and the enumeration of minimal capacitated dominating sets of graphs, which we call Minimal Capacitated Vertex Cover Enumeration and Minimal Capacitated Dominating Set Enumeration, respectively. These two problems generalize the conventional minimal vertex cover and dominating set enumeration problems (see Section 2 for details).
In this paper, we tackle these enumeration problems by mainly restricting our focus to bounded-degree graphs. We design polynomial-delay algorithms for these problems on graphs with a maximum degree Δ = O ( 1 ) in Section 4, Section 5 and Section 6. The polynomial-delay algorithm for Minimal Connected Vertex Cover Enumeration can be extended to that for d-claw free graphs with d = O ( 1 ) . For Minimal Connected Vertex Cover Enumeration and Minimal Capacitated Vertex Cover Enumeration, we show, in Section 4 and Section 6, that these problems are at least as hard as enumerating minimal transversals in hypergraphs, even if the input graph is restricted to bipartite and 2-degenerate. In Section 5, we also give a similar “hardness” result for Minimal Connected Dominating Set Enumeration on 2-degenerate bipartite graphs. These results indicate that the connectivity and/or capacity requirements make the problems “harder” in a certain sense. Finally, in Section 4, we give an output quasi-polynomial time algorithm for Minimal Connected Vertex Cover Enumeration on general graphs.
This article is a revised and expanded version of a paper that was presented at IWOCA 2024 [30]. The main differences between this article and the paper [30] are the proposal of an output quasi-polynomial time algorithm for Minimal Connected Vertex Cover Enumeration and a demonstration that enumerating minimal connected vertex covers/dominating sets and minimal capacitated vertex covers is “not easy” even for 2-degenerate bipartite graphs.

2. Preliminaries

Throughout this paper, we only consider undirected simple graphs (unless otherwise stated). Let G be a graph. We use n to denote the number of vertices in G. We denote the sets of vertices and edges in G with V ( G ) and E ( G ) , respectively. For v V ( G ) , the set of neighbors of v in G is denoted by N G ( v ) . This notation is extended to vertex sets: N G ( X ) = v X N G ( v ) X for X V ( G ) . For X V ( G ) , the subgraph of G induced by X is denoted by G [ X ] . We define N G [ v ] = N G ( v ) { v } and N G [ X ] = N G ( X ) X for v V ( G ) and X V ( G ) . When the subscripts are clear from the context, we may omit them. For v V ( G ) , we write G v to denote the graph obtained from G by deleting v (and its incident edges).
A set of vertices C is called a vertex cover of G if for every edge in G, at least one end vertex of it belongs to C. A vertex cover C is said to be connected if G [ C ] is connected. A dominating set of G is a set of vertices D such that V ( G ) = N [ D ] , that is, every vertex in V ( G ) D has a neighbor in D. A connected dominating set of G is defined analogously.
The “capacitated” variants of a vertex cover and dominating set are defined as follows. Let c : V ( G ) N be a capacity function. Notice that we allow a vertex v such that c ( v ) = 0 . A capacitated vertex cover of ( G , c ) is a pair ( C , α ) of a vertex set C V ( G ) and a function α : E ( G ) C such that α ( { u , v } ) is either u or v and | α 1 ( v ) | c ( v ) for v C , where α 1 ( v ) = { e E ( G ) : α ( e ) = v } is the set of edges mapped to v under α . In other words, a vertex v C covers at most c ( v ) edges. A capacitated dominating set of ( G , c ) is a pair ( D , β ) of a vertex set D and a function β : V ( G ) D D such that β ( v ) is a neighbor of v and | β 1 ( v ) | c ( v ) for v D , where β 1 ( v ) = { w V ( G ) D : β ( w ) = v } . We simply refer to a vertex set X V ( G ) as a capacitated vertex cover (resp., a capacitated dominating set) of ( G , c ) if there is a function α : E ( G ) X (resp., β : V ( G ) X X ) such that ( X , α ) is a capacitated vertex cover (resp., ( X , β ) is a capacitated dominating set) of ( G , c ) . Clearly, every capacitated vertex cover (resp., a capacitated dominating set) of ( G , c ) is a vertex cover (resp., a dominating set) of G, and the converse holds when setting c ( v ) = Δ for v V ( G ) , where Δ is the maximum degree of a vertex in G.
Let S 2 V ( G ) be a collection of vertex sets of G. We say that S is monotone if for X , Y V ( G ) with X Y , X S implies Y S . It is easy to see that the collections of capacitated vertex covers and capacitated dominating sets of ( G , c ) are monotone, while the collection of connected vertex sets (i.e., vertex sets that induce connected subgraphs of G) is not monotone. The following proposition shows that the collections of connected vertex covers and connected dominating sets of G are also monotone.
Proposition 1. 
Let G = ( V , E ) be a connected graph and let X be a connected vertex cover (resp., a connected dominating set) of G. Then, for any Y V ( G ) with X Y , Y is a connected vertex cover (resp., a connected dominating set) of G as well.
Proof. 
Let X be a connected vertex cover of G. We assume that G has at least two vertices, as otherwise the lemma is trivial. Moreover, we assume that X has at least one vertex. As G is connected and X is a vertex cover of G, every vertex v in V ( G ) X has a neighbor in X. This implies that G [ X { v } ] is connected. The case of a connected dominating set is analogous.    □
This immediately gives a polynomial-time algorithm that given a connected vertex cover X (resp., a connected dominating set) of G, computes a minimal connected vertex cover (resp., a minimal connected dominating set) of G that are contained in X. We also show that one can decide in polynomial time whether a given vertex set X is a capacitated vertex cover (and a capacitated dominating set) of ( G , c ) .
Proposition 2. 
There are polynomial-time algorithms for checking whether a given vertex set X is a capacitated vertex cover and is a capacitated dominating set of ( G , c ) , respectively.
Proof. 
We first consider the case for capacitated vertex cover. We reduce this feasibility-checking problem to the bipartite matching problem as follows. The bipartite graph H consists of two independent sets V E and V. The first set V E is defined as V E = { w e : e E ( G ) } , that is, V E contains a vertex w e for each edge e in G. The second set V is defined as V = { w v i : v V ( G ) , 1 i c ( v ) } , that is, V contains c ( v ) vertices for each vertex v in V ( G ) . For v V ( G ) , 1 i c ( v ) , and  e E ( G ) , we add an edge between w e and w v i if e is incident to v in G. The graph constructed in this way is indeed bipartite, which we denote by H.
It is easy to observe that ( G , c ) has a capacitated vertex cover ( X , α ) if and only if H [ V E { w v i : v X , 1 i c ( v ) } ] has a matching M saturating V E , as the function α is straightforwardly defined from the matching and vice versa.
For capacitated dominating set, we modify the construction of H as follows: replace V E with V = { w v : v V } and add edges between w u V and w v i V for all 1 i c ( v ) if and only if { u , v } E ( G ) . Similarly, ( G , c ) has a capacitated dominating set ( X , β ) if and only if H [ { w v : v V ( G ) X } { w v i : v X , 1 i c ( v ) } ] has a matching saturating { w v : v V ( G ) X } .
We can find a maximum cardinality bipartite matching in polynomial time, proving this proposition.    □
For a non-negative integer k, a vertex ordering ( v 1 , , v n ) of G is called a k-degenerate ordering of G if each vertex v i has at most k neighbors in G [ { v i , , v n } ] . A graph is said to be k-degenerate if it admits a k-degenerate ordering [31].

3. A Quick Tour of the Supergraph Technique

Before proceeding to our algorithms, we quickly review the supergraph technique (also known as the X e + Y method), which is frequently used in designing enumeration algorithms [32,33,34,35,36]. The crux is summarized below in Theorem 1.
Let S 2 U be a collection of subsets of a finite set U. Here, we assume that every pair of distinct sets in S is incomparable with respect to set inclusion, that is, for  X , Y S , both X Y and Y X are nonempty unless X = Y . The basic idea of the supergraph technique is to define a strongly connected directed graph D = ( S , A ) on S by appropriately defining an arc set A . Given this directed graph, we can enumerate all sets in S by solely traversing D from an arbitrary S S . To this end, we need to define the directed graph D so that it is strongly connected.
We first observe that, under the above incomparability on S , for  X , Y S , | X Y | = 0 if and only if X = Y . We define a set of arcs of D in such a way that for any two X , Y S with X Y , X has an outgoing arc to some Z S such that | X Y | > | Z Y | . The (out-)neighborhood of X defined in this way is denoted by N + ( X ) . Using the above observation, this directed graph D is strongly connected, as we can inductively show that there is a directed path from X to Y in D via Z N + ( X ) . This idea is formalized as follows:
Theorem 1 
(e.g., [16,34,35]). Let S 2 U such that both X Y and Y X are non-empty unless X = Y for X , Y S . Suppose that for X , Y S with X Y , the neighborhood N + ( X ) of X contains a set Z S such that | X Y | > | Z Y | . Moreover, suppose that given X S , we can compute the neighborhood of X in (total) time T ( n ) , where n = | U | . Then, given an arbitrary initial set S S , we can enumerate all sets in S in delay T ( n ) · n O ( 1 ) .
Due to Theorem 1, it suffices to define such a polynomial-time computable neighborhood N + : S 2 S .

4. Minimal Connected Vertex Cover Enumeration

4.1. Bounded-Degree Graphs

In order to enumerate all minimal connected vertex covers in a graph, it suffices to construct a directed graph discussed in the previous section. To be more precise, let G be a connected graph with maximum degree Δ and let S cvc be the collection of all minimal connected vertex covers of G. Let X , Y S cvc with X Y . From the minimality of X and Y, there is a vertex v X Y . As Y is a vertex cover of G not including v, all the neighbors of v are included in Y (i.e., N ( v ) Y ). We define a vertex cover X of G as X ( X { v } ) N ( v ) . Using the connectivity of G [ X ] , we have the following observation:
Proposition 3. 
Each component of G [ X ] has at least one vertex of N ( v ) .
This observation indicates that the number of connected components in G [ X ] is upper bounded by Δ .
Lemma 1. 
Let S V ( G ) be an arbitrary vertex cover of G and let Y be a minimal connected vertex cover of G. Suppose that each component in G [ S ] has at least one vertex of Y. Then, there is a vertex set W Y of at most q 1 vertices such that G [ S W ] is connected, where q is the number of connected components in G [ S ] .
Proof. 
We prove the lemma by induction on the number of connected components q in G [ S ] . If G [ S ] is connected, we have finished. Suppose otherwise. Let C and C be distinct components in G [ S ] . Since both C Y and C Y are nonempty, there is a path P in G [ Y ] connecting C Y and C Y . We choose C and C to minimize the length of such a path P. Since S is a vertex cover of G, the length of P is exactly 2. Let w be the (unique) internal vertex of P. Applying the induction to S { w } proves the lemma.    □
We say that a vertex set W is a valid augmentation for X if G [ X W ] is connected. In particular, a valid augmentation W for X is called a Y-valid augmentation for X if W Y . Thus, Lemma 1 ensures that there is a Y-valid augmentation W for X of size at most Δ 1 for any Y S cvc . As v X Y , N ( v ) Y , and  W Y , we have
| X Y | | ( X { v } ) ( N ( v ) Y ) | > | X Y | = | ( X W ) Y | | Z Y | ,
where Z is an arbitrary minimal connected vertex cover of G with Z X W .
Now, we formally define N + ( X ) for X S cvc . For a connected vertex cover C of G, we let μ ( C ) be an arbitrary minimal connected vertex cover of G with μ ( C ) C . Using Proposition 1, μ ( C ) can be computed in polynomial time by greedily removing vertices from C. We define
N + ( X ) = { μ ( ( X { v } ) N ( v ) W ) : v X , W is a valid augmentation for ( X { v } ) N ( v ) , | W | Δ 1 } ,
which can be computed in n Δ + O ( 1 ) time by just enumerating all valid augmentations W of size at most Δ 1 . As discussed above, for each Y S cvc with X Y , N + ( X ) has a minimal connected vertex cover Z S cvc such that | X Y | > | Z Y | . Using Theorem 1, we have the following.
Theorem 2. 
There is an n Δ + O ( 1 ) -delay enumeration algorithm for Minimal Connected Vertex Cover Enumeration.

Extension to d-Claw Free Graphs

The running time of the algorithm in Theorem 2 depends, in fact, on the number of connected components in G [ X ] with X = ( X { v } ) N ( v ) rather than the degree of v. We can extend this idea as follows. For d N , a d-claw is a star graph with d leaves. A graph G is said to be d-claw free if it has no d-claw as an induced subgraph. Clearly, every graph with maximum degree Δ is ( Δ + 1 ) -claw free. Suppose that G is d-claw free. As the class of d-claw free graphs is hereditary, every induced subgraph of G is also d-claw free. A crucial observation to our extension is that for every vertex v X , G [ ( X { v } ) N ( v ) ] has at most d 1 components as otherwise G has an induced d-claw with center v. This observation shows that there always exists a valid augmentation for ( X { v } ) N ( v ) of size  d 2 , which yields a polynomial-delay algorithm for d = O ( 1 ) .
Theorem 3. 
There is an n d + O ( 1 ) -delay enumeration algorithm for Minimal Connected Vertex Cover Enumeration, provided that the input graph G is d-claw free.

4.2. General Graphs

We complement the polynomial-delay enumeration algorithm in the previous subsection by showing that Minimal Connected Vertex Cover Enumeration is “not so easy”, even on bipartite graphs. For a hypergraph H = ( V , E ) , a transversal of H is a vertex subset S V such that each hyperedge contains at least one vertex of S. Recall that no output-polynomial time algorithm for enumerating minimal transversals in hypergraphs is known so far, and several similar “hardness” results are discussed in the literature [37,38]. Before providing the proof of hardness, we present a lemma that is useful for our hardness proof.
Lemma 2. 
Let G be a graph and p be a vertex of degree 1. Suppose that the unique neighbor q of p has degree at least 2. Then, p C and q C for any minimal connected vertex cover C of G.
Proof. 
Since C is a vertex cover of G, C contains at least one of p and q. Since G [ C ] is connected and q has a neighbor other than p, it holds that q C . Suppose that { p , q } C . Then, C { p } is a connected vertex cover of G, contradicting minimality. Thus, we have p C and q C .    □
Theorem 4. 
If there is an output-polynomial time (or a polynomial-delay) algorithm for Minimal Connected Vertex Cover Enumeration on 2-degenerate bipartite graphs, then there is an output-polynomial time (or a polynomial-delay) algorithm for enumerating minimal transversals in hypergraphs.
Proof. 
We first give a construction of a bipartite graph G from a hypergraph H and show that there is a bijection between the collection of minimal connected vertex covers of G and that of minimal transversals of  H . We then transform the bipartite graph G into a 2-degenerate bipartite graph while keeping this bijection.
Let H = ( V , E ) be a hypergraph. We construct a bipartite graph G as follows. We start with the incidence bipartite graph of H , that is, the vertex set of G consists of two independent sets V and V E = { w e : e E } , and two vertices v V and w e V E are adjacent if and only if v e . From this bipartite graph, we add a pendant vertex w e that is only adjacent to w e for each w e V E and a vertex r that is adjacent to all vertices in V. To complete the construction of G, we add a pendant vertex r that is adjacent to r. See Figure 1a for an illustration. In the following, we show that there is a bijection between the collection of minimal connected vertex covers of G and that of minimal transversals of H .
Let C be an arbitrary minimal connected vertex cover of G. From Lemma 2, w e C and w e C for all e E . Let S = C V . It is easy to see that C S = V E { r } is a vertex cover of G. Due to the connectivity of C, for every e E , C contains at least one vertex of V that is adjacent to w e . This implies that S is a transversal of H . If there is v S such that S { v } is a transversal of H , C { v } is a connected vertex cover of G as every w e V E has a neighbor in S { v } , contradicting the minimality of C. Thus, S is a minimal transversal of H . It is straightforward to verify that this relation is reversible, that is, for every minimal transversal S of H , S V E { r } is a minimal connected vertex cover of G.
From a hypergraph H , we can construct the graph G in polynomial time. Therefore, if there is an output-polynomial time algorithm for Minimal Connected Vertex Cover Enumeration, we can enumerate all minimal transversals of H in output-polynomial time as well.
Now, we modify a bipartite graph G into a 2-degenerate bipartite graph G . Let w e be a vertex in V E and { u 1 , , u d } V be the set of vertices that are contained in e. We replace w e V E and the pendant vertex w e with a path P e = ( p 1 e , , p 2 d + 1 e ) and 2 d + 1 pendant vertices, each of which is adjacent to p i e for each p i e . Furthermore, we add an edge { u j , p 2 j 1 e } for each 1 j d . Figure 1b illustrates this replacement. We do this for each e E , and it is easy to observe that the graph G obtained in this way is bipartite. Moreover, we claim that G is 2-degenerate: we first eliminate all the pendant vertices of G , the vertices of P e that have even indices, the remaining vertices of P e , the vertices in V, and then r. This elimination ordering is indeed a 2-degeneracy ordering, that is, each eliminated vertex has at most two neighbors in the graph induced by the non-eliminated vertices. The pendant vertices attached to P e ensure that all the vertices of P e are included in every minimal connected vertex cover of G from Lemma 2, and hence there is a one-to-one correspondence between the set of minimal connected vertex covers of G and the set of minimal transversals of H as well.    □
We next discuss an extension of the previous algorithm to general graphs. Although the algorithm described in the previous subsection also works for general graphs, its delay can be exponential in n. In order to cope with this exponential running time bound, we refine the definition of N + and prove that N + ( X ) can be generated with a better running time bound for X S cvc .
We first observe that the algorithm also works even when N + is modified into
N + ( X ) = { μ ( ( X { v } ) N ( v ) W ) : v X , W is a minimal valid augmentation for ( X { v } ) N ( v ) } ,
where a minimal valid augmentation for a vertex cover X is an inclusion-wise minimal W such that G [ X W ] is connected. In other words, the directed graph D defined on this modified neighborhood is strongly connected as well. In the following, we show that for X S cvc , N + ( X ) can be generated in time ( n + | N + ( X ) | ) O ( log n ) , which yields an output quasi-polynomial time bound ( n + | S cvc | ) O ( log n ) for Minimal Connected Vertex Cover Enumeration due to Theorem 1.
In order to enumerate all the sets in N + ( X ) , it suffices to enumerate all minimal valid augmentations for ( X { v } ) N ( v ) for each v X . Let v X and let X = ( X { v } ) N ( v ) . Recall that X is a vertex cover of G. To simplify the following discussion, we construct a bipartite graph H with color classes L and R as follows. For each connected component C in G [ X ] , L contains a vertex v C , and we define R V ( G ) X . Note that V ( G ) X is an independent set of G. For v C L and w R , they are adjacent in H if and only if w has a neighbor in C. In other words, the bipartite graph H is obtained from G by contracting each connected component C in G [ X ] into a single vertex v C . Then, every (minimal) valid augmentation for X is a vertex set W R such that H [ L W ] is connected, and vice versa. Moreover, such a set W is also a (minimal) valid augmentation for L (in H). Hence, our subsequent discussion will be on the bipartite graph H. In the remaining of this section, we assume that H is connected.
Proposition 4. 
Let W R be a valid augmentation for L in H. Then, W is minimal if and only if each vertex of W is a cut vertex in H [ L W ] .
We introduce some notations to explain our algorithm. The collection of minimal valid augmentations in H for L is denoted by S ( H , L ) . For a collection of valid augmentations A in H, the set of minimal valid augmentations in A is denoted by min H , L ( A ) (i.e.,  min H , L ( A ) = A S ( H , L ) ). For a collection of sets U = { U 1 , , U t } and an element e, U + e denotes { U 1 { e } , , U t { e } } . We extend this notation to a set of elements: For a set X, U + X denotes { U 1 X , , U t X } . For X R , we define a bipartite graph H X obtained from H by contracting each connected component C in H [ L X ] into a single vertex v C . We also define
L X = { v C : C is a component in H [ L X ] containing a vertex in L } .
Clearly, we have H Ø = H and L Ø = L . When X = { v } , we respectively denote H { v } and L { v } by H v and L v as shorthand notations.
Lemma 3. 
Let W S ( H , L ) . For W W , W W is a minimal valid augmentation for L W in  H W .
Proof. 
Since H W [ L W ( W W ) ] is obtained from H [ L W ] by contracting each component C of H [ L W ] containing a vertex in W into a single vertex v C , H W [ L W ( W W ) ] is connected, and hence W W is a valid augmentation for L W in H W . Since W S ( H , L ) , by Proposition 4, each vertex in W is a cut vertex in H [ L W ] . Moreover, as W is an independent set in H, all the neighbors of W W are preserved in H W . This implies that every vertex in W W is still a cut vertex in H W [ L W ( W W ) ] . Hence, by Proposition 4, W W is a minimal valid augmentation for L W in H W .    □
Lemma 4. 
Let X R . For W S ( H X , L X ) , W X is a valid augmentation for L in H.
Proof. 
We claim that there is a path between u and v in H [ L W X ] for u , v L , which implies that H [ L W X ] is connected, as each vertex in W X has a neighbor in H. If u and v are contained in a single component in H [ L X ] , we have finished. Thus, we assume that u and v belong to distinct components C and C , respectively. Since H X [ L X W ] is connected, there is a path P X between v C and v C in H X [ L X W ] . From this path P X , we can construct a path between u and v in H [ L W X ] by appropriately replacing a vertex v C in P X with a path in component C . Hence, W X is a valid augmentation for L in H.    □
Our algorithm shares the same underlying idea as [19,39], which is described in Algorithm 1. The algorithm recursively generates minimal valid augmentations for L in H unless min ( | L | , | R | ) 1 . Let v be an arbitrary vertex in R. We enumerate all sets in S ( H , L ) by separately generating those including v and those excluding v. The following lemma ensures that this strategy correctly enumerates all minimal valid augmentations.
Lemma 5. 
S ( H , L ) = S ( H v , L ) min H , L ( S ( H v , L v ) + v ) .
Proof. 
From Lemma 4, S ( H v , L v ) + v is a valid augmentation for L in H. Since each valid augmentation in S ( H v , L ) is also a minimal valid augmentation for L in H, we have
S ( H v , L ) min H , L ( S ( H v , L v ) + v ) S ( H , L ) .
Let W S ( H , L ) be a minimal valid augmentation for L in H. If v is not contained in W, W is a minimal valid augmentation for L in H v as well, implying that W S ( H v , L ) . Suppose otherwise. Using Lemma 3, it holds that W { v } S ( H v , L v ) . Hence, we have W min H , L ( S ( H v , L v ) + v ) .    □
From Lemma 5, we can enumerate all minimal valid augmentations in S ( H , L ) by enumerating those in S ( H v , L ) and in S ( H v , L v ) separately and just combining them. The following lemma gives another way to enumerate them.
Lemma 6. 
S ( H , L ) = min H , L W S ( H v , L v ) S ( H W v , L W ) + W min H , L S ( H v , L v ) + v .
Proof. 
From Lemma 5, it suffices to show that S ( H v , L ) = min H , L ( W S ( H v , L v ) S ( H W v , L W ) + W ) .
Observe that each set in S ( H W v , L W ) + W for W S ( H v , L v ) does not contain v. Moreover, such a set is a valid augmentation for L in H due to Lemma 4. Thus, each set in min H , L ( W S ( H v , L v ) S ( H W v , L W ) + W ) is a minimal valid augmentation for L in H not containing v, meaning that
min H , L W S ( H v , L v ) S ( H W v , L W ) + W S ( H v , L ) .
Let W S ( H v , L ) be a minimal valid augmentation for L in H v . Since H [ L W ] is connected, W is also a valid augmentation for L v in H v . This implies that there is W S ( H v , L v ) such that W W . From Lemma 3, W W is a minimal valid augmentation for L W in H W and hence in H W v as v W . Hence, W S ( H W v , L W ) + W . As W S ( H v , L ) , every vertex in W is a cut vertex in H [ L W ] . This ensures that W min H , L ( S ( H W v , L W ) + W ) .    □
The above lemmas enable us to enumerate minimal valid augmentations in S ( H , L ) with two methods. Suppose that L contains at least two vertices. In our algorithm, we select a vertex v R V ( H ) L of highest degree among R. If v has at most one neighbor, we conclude that there is no valid augmentation for L in H at all, as  | L | 2 . If v has more than | L | / 2 neighbors in L, we adopt the first method; we adopt the second method otherwise. Algorithm 1 recursively employs this branching strategy until min ( | L | , | V ( H ) L | ) 1 .
Algorithm 1: An output quasi-polynomial time algorithm for enumerating minimal valid augmentations.
Algorithms 18 00112 i001
The correctness of Algorithm 1 directly follows from Lemmas 5 and 6. We then analyze the running time of Algorithm 1. Let T ( l , r , N ) be the worst case running time of Algorithm 1 when a bipartite graph H with a color class L that satisfies | L | l , | V ( H ) L | r , and | S ( H , L ) | N is given as input. Clearly, T ( l , r , N ) T ( l , r , N ) for l l , r r , and N N .
Lemma 7. 
For l , r , N N with n = l + r , it holds that T ( l , r , N ) = ( n + N ) O ( log n ) .
Proof. 
We prove the following claim by induction on n: T ( l , r , N ) ( l · r + N ) c log ( l · r ) for some constant c. Let H = ( L R , E ) be a bipartite graph with | L | l , | R | r , and | S ( H , L ) | N . If min ( | L | , | V ( H ) L | ) 1 , then T ( l , r , N ) is upper bounded by a polynomial in n, as each set in S ( H , L ) has at most two vertices. Thus, we consider the other case. Observe that | S ( H v , L ) | | S ( H , L ) | for any v R . Moreover, we claim that | S ( H v , L v ) | | S ( H , L ) | for any v R .
Let W S ( H v , L v ) . From Lemma 4, W { v } is a valid augmentation for L in H. Moreover, all vertices in W are cut vertices in H [ L W ] as they are cut vertices in H v [ L v W ] . Thus, either W or W { v } is a minimal valid augmentation for L in H. This indicates that there is an injection ϕ from S ( H v , L v ) to S ( H , L ) by setting ϕ ( W ) = W or ϕ ( W ) = W { v } for all W S ( H v , L v ) , proving the claim | S ( H v , L v ) | | S ( H , L ) | . This also proves that | S ( H X , L X ) | | S ( H , L ) | for X R .
Now, we turn to showing that T ( l , r , N ) ( l · r + N ) c log ( l · r ) for some constant c. For simplicity, we assume that both and r are even. Observe that given a collection of valid augmentations A , one can compute min H , L ( A ) in time O ( n 2 | A | ) using a standard data structure.
Suppose that there is a vertex v R with | N H ( v ) | > | L | / 2 . In this case, L v has at most | L | / 2 vertices. Moreover, both H v and H v have at most r 1 vertices on the “right-hand side”. Since | S ( H , L ) | | S ( H v , L v ) | , we have
T ( l , r , N ) T ( l / 2 , r 1 , N ) rec . call at line 9 + T ( l , r 1 , N ) rec . call at line 11 + d n 2 N
for some constant d.
Suppose otherwise that | N H ( v ) | | L | / 2 . For W S ( H v , L v ) , we have L N H ( v ) N H ( W ) . As H v [ L v W ] is connected, each connected component of H [ L W ] contains at least one vertex in N H ( v ) . This implies that L W contains at most | N H ( v ) | | L | / 2 vertices. Hence, we have
T ( l , r , N ) T ( l , r 1 , N ) rec . call at line 9 + | S ( H v , L v ) | · T ( l / 2 , r 1 , N ) rec . calls at line 14 + d n 2 N · | S ( H v , L v ) | T ( l , r 1 , N ) + N · T ( l / 2 , r 1 , N ) + d n 2 N 2
for some constant d.
By combining the above two cases, we have
T ( l , r , N ) T ( l , r 1 , N ) + max { T ( l / 2 , r 1 , N ) , N · T ( l / 2 , r 1 , N ) } + max { d n 2 N , d n 2 N 2 } = T ( l , r 1 , N ) + N · T ( l / 2 , r 1 , N ) + d n 2 N 2 T ( l , r 2 , N ) + N · T ( l / 2 , r 2 , N ) + N · T ( l / 2 , r 1 , N ) + 2 d n 2 N 2 T ( l , r / 2 , N ) + r N 2 · T ( l , r 1 , N ) + d r n 2 N 2 2 ( l · r / 2 + N ) c log ( l · r / 2 ) + r N 2 ( l · r / 2 + N ) c log ( l · r / 2 ) + d r n 2 N 2 2 = r N 2 + 1 ( l · r / 2 + N ) c log ( l · r ) c + d r n 2 N 2 2 .
By taking a sufficiently large constant c, we have T ( l , r , N ) ( l · r + N ) c log ( l · r ) . □
Overall, we have the following theorem.
Theorem 5. 
There is an algorithm for enumerating minimal connected vertex covers of an n-vertex graph G in total time ( n + | S cvc | ) O ( log n ) .

5. Minimal Connected Dominating Set Enumeration

To enumerate all the minimal connected dominating sets, we use the same strategy in the previous section. Let G be a connected graph with maximum degree Δ and let S cds be the collection of all minimal connected dominating sets of G. Let X , Y S cds be distinct minimal connected dominating sets of G. Then, there is a vertex v X Y .
Lemma 8. 
There is a vertex set W Y of size at most Δ such that ( X { v } ) W is a dominating set of G. Moreover, G [ ( X { v } ) W ] has at most Δ components.
Proof. 
Since X is a dominating set of G, each vertex in V ( G ) N [ v ] belongs to X { v } or has a neighbor in X { v } . As v Y , Y contains at least one vertex v in N ( v ) . Moreover, for each w N ( v ) ( X { v } ) , Y contains at least one vertex w in N [ w ] . We let W = { v } { w : w N ( v ) ( X { v } ) } . Clearly, W contains at most | N ( v ) X | Δ vertices. Each vertex in N [ v ] belongs to ( X { v } ) W or has a neighbor in ( X { v } ) W . This implies that ( X { v } ) W is a dominating set of G.
Since G [ X ] is connected, G [ ( X { v } ) ] has at most | N ( v ) X | components. As | W | | N ( v ) X | , G [ ( X { v } W ] has at most | N ( v ) X | + | N ( v ) X | Δ components. □
Let W be a set of vertices of size at most Δ discussed in Lemma 8 and let X = ( X { v } ) W be a dominating set of G. Since Y is a dominating set of G, the following observation holds.
Proposition 5. 
For each component C of G [ X ] , N [ C ] Y Ø .
Lemma 9. 
Let S V be an arbitrary dominating set of G and let Y be a minimal connected dominating set of G. Then, there is a vertex set U Y of at most 2 q 2 vertices such that G [ S U ] is connected, where q is the number of connected components in G [ S ] .
Proof. 
We prove the lemma by induction on the number of connected components q in G [ S ] . If G [ S ] is connected, we have finished. Suppose otherwise. Let C and C be distinct components in G [ S ] . As both N [ C ] Y and N [ C ] Y are nonempty (by Proposition 5), there is a path P in G [ Y ] connecting N [ C ] Y and N [ C ] Y . We choose C and C to minimize the length of such a path P. The path P contains at most two vertices of V S as otherwise one of the internal vertices of P has no neighbor in S, contradicting the fact that S is a dominating set of G. Let w , w be these (possibly identical) two vertices of V ( P ) ( V S ) . Applying the induction to S { w , w } proves the lemma. □
Thus, there is a set U Y of size at most 2 Δ 2 such that G [ X U ] is a connected dominating set of G. As v X Y and W U Y , we have
| X Y | > | ( X { v } ) Y | = | ( ( X { v } ) W ) Y | = | ( X U ) Y | | Z Y | ,
where Z is an arbitrary minimal connected dominating set of G with Z X U . Now, let us formally define N + ( X ) for X S cds . For connected dominating set D of G, we let μ ( D ) be an arbitrary minimal connected dominating set of G with μ ( D ) D . Using Proposition 1, μ ( D ) can be computed in polynomial time. We then define
N + ( X ) = { μ ( ( X { v } ) W * ) : v X , W * V ( G ) , | W * | 3 Δ 2 , G [ ( X { v } ) W * ] is a connected dominating set of G } .
Applying Lemma 8 for each Y S cds , there is a set of vertices W Y with cardinality at most Δ such that ( X { v } ) W is a dominating set of G. Moreover, by Lemma 9, there is a set of vertices U Y with a cardinality at most 2 Δ 2 such that ( X { v } ) W U is a connected dominating set of G. Thus, for each Y S cds with X Y , N + ( X ) has a minimal connected dominating set Z S cds such that | X Y | > | Z Y | . From Theorem 1, we have the following.
Theorem 6. 
There is an n 3 Δ + O ( 1 ) -delay enumeration algorithm for Minimal Connected Dominating Set Enumeration.
We would like to mention that a similar improvement for d-claw free graphs would not be straightforward. In fact, we can show that Minimal Connected Dominating Set Enumeration is at least as hard as Minimal Transversal Enumeration, even on claw-free graphs. A graph is said to be co-bipartite if its complement is bipartite. It is easy to observe that every co-bipartite graph has no independent set of size 3, and hence it is claw-free.
Theorem 7. 
If there is an output-polynomial time (or a polynomial-delay) algorithm for Minimal Connected Dominating Set Enumeration on co-bipartite graphs, then there is an output-polynomial time (or a polynomial-delay) algorithm for enumerating minimal transversals in hypergraphs.
Proof. 
The reduction is in fact identical to one in [8], which proves a similar “hardness” of enumerating minimal dominating sets in co-bipartite graphs.
Let H = ( V , E ) be a hypergraph. We assume that E is nonempty and Ø E as otherwise the instance is trivial. From the incidence bipartite graph H (see Theorem 4), we complete both V and V E into cliques. Then, we add a new vertex r, which is adjacent to all vertices in V. Let G be the graph obtained in this way. It is easy to see that G is co-bipartite and has two cliques V { r } and V E .
Observe that every transversal S V of H is a connected dominating set of G. This follows from the facts that every vertex in V E is adjacent to at least one vertex in S and every vertex in S is adjacent to other vertices in V { r } . (Our assumption E Ø implies that S Ø .)
Let S be a minimal connected dominating set of G. As r has no neighbors in V E , S contains at least one vertex from V { r } . Moreover, as V E Ø and G [ S ] is connected, S contains at least one vertex from V, implying that r S by the minimality of S. Then, observe that either S = { v , w e } for some v V and w e V E with v e or S V . To see this, suppose that S contains at least one vertex w e of V E . Then, as S contains at least one vertex of V, it contains a vertex v V that is adjacent to w e in G. Since these two vertices v and w e dominate all the vertices in G, by the minimality of S, S contains no other vertices at all. Using a similar argument used in Theorem 4, S is a minimal transversal of H if S V holds.
Now, suppose that there is an output-polynomial time algorithm for Minimal Connected Dominating Set Enumeration. By applying the algorithm to G, we can enumerate all minimal connected dominating sets S of G. Since S contains all minimal transversals S of H and | S S | = O ( n 2 ) , the algorithm enumerates all minimal transversals of H in output-polynomial time as well. □
The above theorem reveals that the minimal connected dominating set enumeration is “hard” in some sense even for claw-free graphs, in contrast to the case of the minimal connected vertex cover enumeration Theorem 3. Furthermore, the following theorem asserts that the minimal connected dominating set enumeration is also “hard” even for 2-degenerate bipartite graphs. We would like to emphasize that the problem of enumerating minimal dominating sets in a bounded-degeneracy graph admits a polynomial-delay algorithm [40]. This indicates that the connectivity of solutions would make the problem more nontrivial, as seen in the case of Minimal Connected Vertex Cover Enumeration.
Theorem 8. 
If there is an output-polynomial time (or a polynomial-delay) algorithm for Minimal Connected Dominating Set Enumeration on 2-degenerate bipartite graphs, then there is an output-polynomial time (or a polynomial-delay) algorithm for enumerating minimal transversals in hypergraphs.
Proof. 
Our reduction is identical to Theorem 4. Let G be the 2-degenerate bipartite graph obtained from H , which is constructed in the same way as in Theorem 4. We show that every minimal connected vertex cover of G is a minimal connected dominating sets of G and vice versa. In the following discussion, we denote by L the set of pendant vertices in G and by U V ( G ) ( V L ) the set of vertices in G having a pendant neighbor.
Let C be a minimal connected vertex cover of G . As observed in Theorem 4, we have U L = Ø and U C . Since U dominates all the vertices of G, C is a connected dominating set of G . To see the minimality, suppose that there is a vertex u C such that C { u } is still a connected dominating set of G . Since each vertex in U has a private pendant vertex (i.e., a pendant vertex that is only adjacent to it), u U , which implies that u V . As U covers all the edges of G , C { u } is also a minimal connected vertex cover of G , deriving a contradiction.
Let D be a minimal connected dominating set of G . Analogously, D is a connected vertex cover of G containing U. Suppose that there is a vertex u D such that D { u } is a connected vertex cover of G . As U dominates all the vertices of G and u D U , D { u } is a connected dominating set of G , contradicting the minimality of D. □

6. Capacitated Vertex Cover and Dominating Set

This section is devoted to showing polynomial-delay algorithms for the capacitated variants on bounded-degree graphs.
The basic idea to prove Theorems 2 and 6 is that for distinct minimal solutions X and Y and for v X Y , there always exists a constant size (depending on Δ ) vertex set W Y such that ( X { v } ) W is a (not necessarily minimal) solution. For Minimal Capacitated Vertex Cover Enumeration and Minimal Capacitated Dominating Set Enumeration, we can find such a set W in bounded degree graphs as well. Let G be a graph with maximum degree Δ and let c : V ( G ) N . Let q = max v V ( G ) c ( v ) . Without loss of generality, we can assume that q Δ .
Lemma 10. 
Let X , Y be distinct minimal capacitated vertex covers of ( G , c ) and let v X Y . Then, there is a vertex set W Y of size at most q such that ( X { v } ) W is a capacitated vertex cover of ( G , c ) .
Proof. 
Let α X : E ( G ) X (resp. α Y : E ( G ) Y ) be a function such that ( X , α X ) (resp. ( Y , α Y ) ) is a capacitated vertex cover of ( G , c ) . As c ( v ) q , α X 1 ( v ) contains at most q edges. For each e = { v , w } α X 1 ( v ) , we define a vertex v e Y and show that ( X { v } ) W with W = { v e : e α X 1 ( v ) } is a capacitated vertex cover of ( G , c ) .
To define such a vertex v e for e α X 1 ( v ) , we use a similar strategy as used in Proposition 2. Let H be a bipartite graph with V ( H ) = V E V such that V E = { w e : e E ( G ) } and V = { w u i : u V ( G ) , 1 i c ( u ) } . As shown in Proposition 2, the capacitated vertex cover ( X , α X ) (resp. ( Y , α Y ) ) forms a matching M X (resp. M Y ) saturating V E in H and vice versa. As v X Y , there is a vertex w v i that is matched in M X but not matched in M Y . Since both M X and M Y are maximum matches in H, there is an alternating path P between w v i and w u j for some w u j that is not matched in M X but matched in M Y . This implies that u Y , and we define v e u . Then, we obtain a new matching ( M X E ( P ) ) ( E ( P ) M Y ) saturating V E , which induces a capacitated vertex cover ( X { u } , α X { u } ) such that | α X { u } 1 ( v ) | < | α 1 ( v ) | . We repeat this for all other edges in α X { u } 1 ( v ) , yielding a desired set W. □
An analogous lemma also holds for minimal capacitated dominating sets with a sightly more involved argument. This proof is deferred to the full version of this article due to space limitations.
Lemma 11. 
Let X , Y be distinct minimal capacitated dominating sets of ( G , c ) and let v X Y . Then, there is a vertex set W Y of size at most q + 1 such that ( X { v } ) W is a capacitated dominating set of ( G , c ) .
Proof. 
Let β X : V ( G ) X X (resp., β Y : V ( G ) Y Y ) be a function such that ( X , β X ) (resp., ( Y , β Y ) ) is a capacitated dominating set of ( G , c ) . As c ( v ) q , β X 1 ( v ) contains at most q vertices. For each u β X 1 ( v ) , we define a vertex u * Y , and show that ( X { v } ) W with W = { u * : u β X 1 ( v ) { v } } is a capacitated dominating set of ( G , c ) .
To define such a vertex u * for u β X 1 ( v ) { v } , we again use a similar strategy as in Proposition 2. Let H be a bipartite graph with V ( H ) = V V such that V = { w u : u V ( G ) } and V = { w u i : u V ( G ) , 1 i c ( u ) } . Abusing notation, for A , B V ( G ) , we simply write H [ A , B ] to denote the graph H [ { w u : u A } { w u i : u B , 1 i c ( u ) } ] . As shown in Proposition 2, the capacitated dominating set ( X , β X ) (resp. ( Y , β Y ) ) forms a matching M X (resp. M Y ) saturating { w u : u V ( G ) X } (resp., { w u : u V ( G ) Y } ) in H [ V ( G ) X , X ] (resp., H [ V ( G ) Y , Y ] ) and vice versa. As v X , for u β X 1 ( v ) , M X has an edge { w u , w v i * } for some i * . Moreover, as v Y , w v i has no incident edge in M Y for any i. Thus, the component of M X M Y containing w v i * is an alternating path P whose one end vertex is w v i * .
Suppose that the other end vertex of P belongs to V . Let w u * be the end vertex of P other than w v i * . In this case, we have u * X as in Figure 2a. Then, ( M X E ( P ) ) ( M Y E ( P ) ) is a matching in H [ V ( G ) ( X { u * } ) , X { u * } ] saturating { w x : x V ( G ) ( X { u * } ) } . Suppose otherwise that the other end vertex of P belongs to V. Let w u * j * be the end vertex of P other than w v i * as in Figure 2b. Then, ( M X E ( P ) ) ( M Y E ( P ) ) is a matching in H [ V ( G ) ( X { u * } ) , X { u * } ] saturating { w x : x V ( G ) ( X { u * } ) } . In both cases, we have u * Y as (a) w u * has no incident edge in M Y or (b) w u * j * has an incident edge in M Y . Let M * be the matching in H by applying one of the two cases (a) and (b) for all u β 1 ( v ) . Then, by letting W * = { u * Y : u β 1 ( v ) } , M * saturates { w u : u V ( G ) ( ( X { v } ) W * ) } ; hence, ( X { v } ) W * dominates all the vertices of V ( G ) except for v.
Similarly, w v has an incident edge in M Y but no incident edge in M * . There is an alternating path component P in M * M Y whose end vertex is w v . Note that P has at least one edge. Note moreover that P has no vertices of w v i for any i as M * has no edges incident to them and v Y . By applying the same argument as above, we can define v * Y , and by letting W = W * { v * } , there is a matching in H [ V ( G ) ( ( X { v } ) W ) , ( X { v } ) W ] saturating { w u : u V ( G ) ( ( X { v } ) W ) } . This implies that, by Proposition 2, ( X { v } ) W is a capacitated dominating set of ( G , c ) . □
The above two lemmas together with Proposition 2 and Theorem 1 yield polynomial-delay algorithms on bounded-degree graphs.
Theorem 9. 
There are n min { q , Δ } + O ( 1 ) -delay enumeration algorithms for Minimal Capacitated Vertex Cover Enumeration and Minimal Capacitated Dominating Set Enumeration, where q = max v V ( G ) c ( v ) and Δ is the maximum degree of G.
Similarly to Theorem 4, Minimal Capacitated Vertex Cover Enumeration is “not so easy” even if an input graph is 2-degenerate bipartite.
Theorem 10. 
If there is an output-polynomial time (or a polynomial-delay) algorithm for Minimal Capacitated Vertex Cover Enumeration on 2-degenerate bipartite graphs, then there is an output-polynomial time (or a polynomial-delay) algorithm for enumerating minimal transversals in hypergraphs.
Proof. 
The underlying idea of the proof is analogous to Theorem 4. From a hypergraph H = ( V , E ) , we first construct a bipartite graph G and a capacity function c : V ( G ) N and then transform them into a 2-degenerate bipartite graph G and a function c : V ( G ) N . Notice that our reduction from the minimal transversal enumeration to Minimal Capacitated Vertex Cover Enumeration is almost the same.
We start with the incident bipartite graph of H (see Theorem 4 for details). For each w e V E , we add a pendant vertex w e , and the obtained graph is denoted by G. See Figure 3a for an illustration. We define the capacity function c : V ( G ) N as
c ( v ) = d ( v ) if v V d ( v ) 1 if v V E 0 otherwise .
Here, d ( v ) is the degree of v in G.
Let C be an arbitrary minimal capacitated vertex cover of ( G , c ) and let α : E ( G ) C be a function such that ( C , α ) is a capacitated vertex cover of ( G , c ) . As c ( w e ) = 0 for e E , we have V E C . Moreover, α maps the incident edge of w e to w e for each e E . Since c ( w e ) = d ( v ) 1 , α maps at least one edge incident to w e to a vertex v in C V . Applying the construction of G, such a vertex v is contained in the hyperedge e. This implies that S = C V is a transversal of H . The remaining part of this proof is analogous to that in Theorem 4.
We now transform ( G , c ) into ( G , c ) . The construction of G is again analogous to that in Theorem 4. For each e E with | e | = d , we replace w e and w e with a path P e = ( p 1 2 , , p 2 d + 1 e ) and 2 d + 1 pendant vertices in the same fashion as in Theorem 4. The obtained graph is denoted by G . We define the capacity function c : V ( G ) N as
c ( v ) = d ( v ) if v V d ( v ) 1 if v V ( P e ) for e E 0 otherwise ,
where d ( v ) is the degree of v in G . (See Figure 3b for an illustration).
Let C be an arbitrary minimal capacitated vertex cover of ( G , c ) and let α : E ( G ) C be a function such that ( C , α ) is a capacitated vertex cover of ( G , c ) . As the capacity of the pendant vertex adjacent to each vertex p i e in V ( P e ) is zero, α maps the edge between them to p i e , which implies that V ( P e ) C for all e E . Since the sum of the capacities of the vertices in V ( P e ) is exactly one less than the number of edges incident to V ( P e ) , α maps at least one edge to a vertex in V. This allows us to simulate the correspondence between the family of minimal transversals of H and the family of minimal capacitated vertex covers of G. □
Figure 3. The left figure (a) illustrates the constructed graph G. Filled circles indicate a minimal capacitated vertex cover of ( G , c ) and arrows indicate the function α . The right figure (b) illustrates a part of the construction of a 2-degenerate graph G from G.
Figure 3. The left figure (a) illustrates the constructed graph G. Filled circles indicate a minimal capacitated vertex cover of ( G , c ) and arrows indicate the function α . The right figure (b) illustrates a part of the construction of a 2-degenerate graph G from G.
Algorithms 18 00112 g003

7. Concluding Remarks

In this paper, we present polynomial-delay algorithms for enumerating minimal connected/capacitated vertex covers/dominating sets on bounded-degree graphs. Moreover, the algorithm for enumerating minimal connected vertex covers can be extended into the one working on d-claw free graphs. In contrast to these positive results, we show that the problems of enumerating minimal connected/capacitated vertex covers in 2-degenerate bipartite graphs are at least as hard as that of enumerating minimal transversals in hypergraphs, which has no known output-polynomial time algorithm until now. For enumerating minimal connected vertex covers in general graphs, we develop an output quasi-polynomial time enumeration algorithm.
We would like to mention that we can enumerate minimal vertex covers satisfying both connectivity and capacity constraints in polynomial delay on bounded-degree graphs. This can be completed by just observing that for each minimal connected and capacitated vertex covers X , Y of ( G , c ) and for v X , there is a vertex set W Y of size at most Δ such that ( X v } ) W is a capacitated vertex cover of ( G , c ) (by Lemma 10). As ( X { v } ) W is a vertex cover of G, there is a vertex set W Y of size at most q 1 such that ( X { v } ) W W is a connected vertex cover of G, where q is the number of connected components in G [ ( X { v } ) W ] (by Lemma 1). Since G [ ( X { v } ) W ] has at most 2 Δ components, the claim follows. A similar argument also holds for the case of minimal connected and capacitated dominating sets in bounded-degree graphs.

Author Contributions

Conceptualization, Y.K., K.K., K.M., Y.M. and H.O.; Methodology, Y.K., K.K., K.M., Y.M. and H.O.; Formal analysis, Y.K., K.K., K.M., Y.M. and H.O.; Writing—original draft, Y.K. and K.K.; Writing—review & editing, Y.K., K.K. and H.O. All authors have read and agreed to the published version of the manuscript.

Funding

This work is partially supported by Japan Society for the Promotion of Science KAKENHI Grant Numbers JP20H00595, JP20K04973, JP20H05964, JP20H05967, JP21K17812, JP21K19765, JP22H03549, JP22H00513, and JP23H03344 and Japan Science and Technology Agency ACT-X Grant Number JPMJAX2105 and CRONOS Japan Grant Number JPMJCS24K2.

Data Availability Statement

The main contribution of this paper is the proof of the theorem, and there are no data or program codes to share.

Conflicts of Interest

The authors declare no conflicts of interest.

Correction Statement

This article has been republished with a minor correction to the existing affiliation information. This change does not affect the scientific content of the article.

References

  1. Makino, K.; Uno, T. New Algorithms for Enumerating All Maximal Cliques. In Proceedings of the SWAT 2004, Humlebæk, Denmark, 8–10 July 2004; LNCS. Springer: Berlin/Heidelberg, Germany, 2004; Volume 3111, pp. 260–272. [Google Scholar] [CrossRef]
  2. Fox, J.; Roughgarden, T.; Seshadhri, C.; Wei, F.; Wein, N. Finding Cliques in Social Networks: A New Distribution-Free Model. SIAM J. Comput. 2020, 49, 448–464. [Google Scholar] [CrossRef]
  3. Conte, A.; Grossi, R.; Marino, A.; Versari, L. Sublinear-Space and Bounded-Delay Algorithms for Maximal Clique Enumeration in Graphs. Algorithmica 2020, 82, 1547–1573. [Google Scholar] [CrossRef]
  4. Conte, A.; Virgilio, R.D.; Maccioni, A.; Patrignani, M.; Torlone, R. Finding All Maximal Cliques in Very Large Social Networks. In Proceedings of the EDBT 2016, Bordeaux, France, 15–18 March 2016; OpenProceedings. pp. 173–184. [Google Scholar] [CrossRef]
  5. Bron, C.; Kerbosch, J. Finding All Cliques of an Undirected Graph (Algorithm 457). Commun. ACM 1973, 16, 575–576. [Google Scholar] [CrossRef]
  6. Tomita, E.; Tanaka, A.; Takahashi, H. The worst-case time complexity for generating all maximal cliques and computational experiments. Theor. Comput. Sci. 2006, 363, 28–42. [Google Scholar] [CrossRef]
  7. Tsukiyama, S.; Ide, M.; Ariyoshi, H.; Shirakawa, I. A New Algorithm for Generating All the Maximal Independent Sets. SIAM J. Comput. 1977, 6, 505–517. [Google Scholar] [CrossRef]
  8. Kanté, M.M.; Limouzy, V.; Mary, A.; Nourine, L. On the Enumeration of Minimal Dominating Sets and Related Notions. SIAM J. Discret. Math. 2014, 28, 1916–1929. [Google Scholar] [CrossRef]
  9. Bioch, J.C.; Ibaraki, T. Complexity of Identification and Dualization of Positive Boolean Functions. Inf. Comput. 1995, 123, 50–63. [Google Scholar] [CrossRef]
  10. Eiter, T.; Gottlob, G. Identifying the Minimal Transversals of a Hypergraph and Related Problems. SIAM J. Comput. 1995, 24, 1278–1304. [Google Scholar] [CrossRef]
  11. Eiter, T.; Gottlob, G. Hypergraph Transversal Computation and Related Problems in Logic and AI. In Proceedings of the JELIA 2002, Cosenza, Italy, 23–26 September 2002; LNCS. Springer: Berlin/Heidelberg, Germany, 2002; Volume 2424, pp. 549–564. [Google Scholar] [CrossRef]
  12. Eiter, T.; Makino, K.; Gottlob, G. Computational aspects of monotone dualization: A brief survey. Discret. Appl. Math. 2008, 156, 2035–2049. [Google Scholar] [CrossRef]
  13. Kanté, M.M.; Limouzy, V.; Mary, A.; Nourine, L.; Uno, T. A Polynomial Delay Algorithm for Enumerating Minimal Dominating Sets in Chordal Graphs. In Proceedings of the WG 2015, Garching, Germany, 17–19 June 2015; LNCS. Springer: Berlin/Heidelberg, Germany, 2015; Volume 9224, pp. 138–153. [Google Scholar] [CrossRef]
  14. Kanté, M.M.; Limouzy, V.; Mary, A.; Nourine, L.; Uno, T. Polynomial Delay Algorithm for Listing Minimal Edge Dominating Sets in Graphs. In Proceedings of the WADS 2015, Victoria, BC, Canada, 5–7 August 2015; LNCS. Springer: Berlin/Heidelberg, Germany, 2015; Volume 9214, pp. 446–457. [Google Scholar] [CrossRef]
  15. Golovach, P.A.; Heggernes, P.; Kratsch, D.; Villanger, Y. An Incremental Polynomial Time Algorithm to Enumerate All Minimal Edge Dominating Sets. In Proceedings of the ICALP 2013, Riga, Latvia, 8–12 July 2013; LNCS. Springer: Berlin/Heidelberg, Germany, 2013; Volume 7965, pp. 485–496. [Google Scholar] [CrossRef]
  16. Kobayashi, Y.; Kurita, K.; Wasa, K. Efficient constant-factor approximate enumeration of minimal subsets for monotone properties with weight constraints. Discret. Appl. Math. 2025, 361, 258–275. [Google Scholar] [CrossRef]
  17. Courcelle, B. Linear delay enumeration and monadic second-order logic. Discret. Appl. Math. 2009, 157, 2675–2700. [Google Scholar] [CrossRef]
  18. Bonamy, M.; Defrain, O.; Heinrich, M.; Pilipczuk, M.; Raymond, J. Enumerating Minimal Dominating Sets in Kt-free Graphs and Variants. ACM Trans. Algorithms 2020, 16, 1–23. [Google Scholar] [CrossRef]
  19. Fredman, M.L.; Khachiyan, L. On the Complexity of Dualization of Monotone Disjunctive Normal Forms. J. Algorithms 1996, 21, 618–628. [Google Scholar] [CrossRef]
  20. Ueno, S.; Kajitani, Y.; Gotoh, S. On the nonseparating independent set problem and feedback set problem for graphs with no vertex degree exceeding three. Discret. Math. 1988, 72, 355–360. [Google Scholar] [CrossRef]
  21. Cygan, M. Deterministic Parameterized Connected Vertex Cover. In Proceedings of the SWAT 2012, Helsinki, Finland, 4–6 July 2012; LNCS. Springer: Berlin/Heidelberg, Germany, 2012; Volume 7357, pp. 95–106. [Google Scholar] [CrossRef]
  22. Fomin, F.V.; Grandoni, F.; Kratsch, D. Solving Connected Dominating Set Faster than 2n. Algorithmica 2008, 52, 153–166. [Google Scholar] [CrossRef]
  23. Escoffier, B.; Gourvès, L.; Monnot, J. Complexity and approximation results for the connected vertex cover problem in graphs and hypergraphs. J. Discret. Algorithms 2010, 8, 36–49. [Google Scholar] [CrossRef]
  24. Balakrishnan, H.; Rajaraman, A.; Rangan, C.P. Connected Domination and Steiner Set on Asteroidal Triple-Free Graphs. In Proceedings of the WADS 1993, Montréal, QC, Canada, 11–13 August 1993; LNCS. Springer: Berlin/Heidelberg, Germany, 1993; Volume 709, pp. 131–141. [Google Scholar] [CrossRef]
  25. Guha, S.; Khuller, S. Approximation Algorithms for Connected Dominating Sets. Algorithmica 1998, 20, 374–387. [Google Scholar] [CrossRef]
  26. Abu-Khzam, F.N.; Fernau, H.; Gras, B.; Liedloff, M.; Mann, K. Enumerating Minimal Connected Dominating Sets. In Proceedings of the ESA 2022, Berlin/Potsdam, Germany, 5–9 September 2022; LIPIcs. Schloss Dagstuhl-Leibniz-Zentrum für Informatik: Wadern, Germany, 2022; Volume 244, pp. 1–15. [Google Scholar] [CrossRef]
  27. Golovach, P.A.; Heggernes, P.; Kratsch, D. Enumeration and maximum number of minimal connected vertex covers in graphs. Eur. J. Comb. 2018, 68, 132–147. [Google Scholar] [CrossRef]
  28. Fernau, H.; Golovach, P.A.; Sagot, M. Algorithmic Enumeration: Output-sensitive, Input-Sensitive, Parameterized, Approximative (Dagstuhl Seminar 18421). Dagstuhl Rep. 2018, 8, 63–86. [Google Scholar] [CrossRef]
  29. Kobayashi, Y.; Kurita, K.; Wasa, K. Polynomial-Delay Enumeration of Large Maximal Common Independent Sets in Two Matroids and Beyond. arXiv 2023, arXiv:2307.08948. [Google Scholar] [CrossRef]
  30. Kobayashi, Y.; Kurita, K.; Matsui, Y.; Ono, H. Enumerating Minimal Vertex Covers and 722 Dominating Sets with Capacity and/or Connectivity Constraints. In Proceedings of the 723 Combinatorial Algorithms–35th InternationalWorkshop, IWOCA 2024, Ischia, Italy, 1–3 July 2024; Lecture Notes in Computer Science; Proceedings. Rescigno, A.A., Vaccaro, U., Eds.; Springer: Berlin/Heidelberg, Germany, 2024; Volume 14764, pp. 232–246. [Google Scholar] [CrossRef]
  31. Lick, D.R.; White, A.T. k-DEGENERATE GRAPHS. Can. J. Math. 1970, 22, 1082–1096. [Google Scholar] [CrossRef]
  32. Boros, E.; Borys, K.; Elbassioni, K.M.; Gurvich, V.; Makino, K.; Rudolf, G. Generating Minimal k-Vertex Connected Spanning Subgraphs. In Proceedings of the COCOON 2007, Banff, AB, Canada, 16–19 July 2007; LNCS. Springer: Berlin/Heidelberg, Germany, 2007; Volume 4598, pp. 222–231. [Google Scholar] [CrossRef]
  33. Khachiyan, L.; Boros, E.; Borys, K.; Elbassioni, K.M.; Gurvich, V.; Makino, K. Enumerating Spanning and Connected Subsets in Graphs and Matroids. In Proceedings of the ESA 2006, Zurich, Switzerland, 11–13 September 2006; LNCS. Springer: Berlin/Heidelberg, Germany, 2006; Volume 4168, pp. 444–455. [Google Scholar] [CrossRef]
  34. Conte, A.; Grossi, R.; Marino, A.; Uno, T.; Versari, L. Proximity Search for Maximal Subgraph Enumeration. SIAM J. Comput. 2022, 51, 1580–1625. [Google Scholar] [CrossRef]
  35. Cohen, S.; Kimelfeld, B.; Sagiv, Y. Generating all maximal induced subgraphs for hereditary and connected-hereditary graph properties. J. Comput. Syst. Sci. 2008, 74, 1147–1159. [Google Scholar] [CrossRef]
  36. Schwikowski, B.; Speckenmeyer, E. On enumerating all minimal solutions of feedback problems. Discret. Appl. Math. 2002, 117, 253–265. [Google Scholar] [CrossRef]
  37. Conte, A.; Grossi, R.; Kanté, M.M.; Marino, A.; Uno, T.; Wasa, K. Listing Induced Steiner Subgraphs as a Compact Way to Discover Steiner Trees in Graphs. In Proceedings of the 44th International Symposium on Mathematical Foundations of Computer Science, MFCS 2019, Aachen, Germany, 26–30 August 2019; LIPIcs, Rossmanith, P., Heggernes, P., Katoen, J., Eds.; Schloss Dagstuhl-Leibniz-Zentrum für Informatik: Wadern, Germany, 2019; Volume 138, pp. 1–14. [Google Scholar] [CrossRef]
  38. Bergougnoux, B.; Defrain, O.; Inerney, F.M. Enumerating minimal solution sets for metric graph problems. arXiv 2023, arXiv:2309.17419. [Google Scholar] [CrossRef]
  39. Tamaki, H. Space-efficient enumeration of minimal transversals of a hypergraph. In Proceedings of the 75th SIGAL Conference of the Information Processing Society of Japan, IPSJ 2000, Yamaguchi, Japan, 10 November 2000; pp. 29–36. [Google Scholar]
  40. Eiter, T.; Gottlob, G.; Makino, K. New Results on Monotone Dualization and Generating Hypergraph Transversals. SIAM J. Comput. 2003, 32, 514–537. [Google Scholar] [CrossRef]
Figure 1. The left (a) and center (b) figures illustrate a hypergraph H and the constructed graph G, respectively. In (b), filled circles indicate a minimal connected vertex cover of G. The right figure (c) illustrates a part of the construction of a 2-degenerate graph G from G.
Figure 1. The left (a) and center (b) figures illustrate a hypergraph H and the constructed graph G, respectively. In (b), filled circles indicate a minimal connected vertex cover of G. The right figure (c) illustrates a part of the construction of a 2-degenerate graph G from G.
Algorithms 18 00112 g001
Figure 2. Depiction of the matchings M X (black edges) and M Y (red edges) in H.
Figure 2. Depiction of the matchings M X (black edges) and M Y (red edges) in H.
Algorithms 18 00112 g002
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Kobayashi, Y.; Kurita, K.; Mann, K.; Matsui, Y.; Ono, H. Enumerating Minimal Vertex Covers and Dominating Sets with Capacity and/or Connectivity Constraints. Algorithms 2025, 18, 112. https://doi.org/10.3390/a18020112

AMA Style

Kobayashi Y, Kurita K, Mann K, Matsui Y, Ono H. Enumerating Minimal Vertex Covers and Dominating Sets with Capacity and/or Connectivity Constraints. Algorithms. 2025; 18(2):112. https://doi.org/10.3390/a18020112

Chicago/Turabian Style

Kobayashi, Yasuaki, Kazuhiro Kurita, Kevin Mann, Yasuko Matsui, and Hirotaka Ono. 2025. "Enumerating Minimal Vertex Covers and Dominating Sets with Capacity and/or Connectivity Constraints" Algorithms 18, no. 2: 112. https://doi.org/10.3390/a18020112

APA Style

Kobayashi, Y., Kurita, K., Mann, K., Matsui, Y., & Ono, H. (2025). Enumerating Minimal Vertex Covers and Dominating Sets with Capacity and/or Connectivity Constraints. Algorithms, 18(2), 112. https://doi.org/10.3390/a18020112

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop