A hypergraph is a collection of subsets - called hyperedges - of a finite ground set, and a transversal is a subset of the ground set that intersects every hyperedge. In this paper, we consider the problem of counting the (inclusion-wise) minimal transversals of -acyclic hypergraphs. Counting problems are usually harder than decision problems as for instance computing a (minimal) transversal of a hypergraph can be done in polynomial time while counting the number of (minimal) transversals is P-complete Vadhan01. Informally,
P denotes the set of functions corresponding to the number of accepting paths of a non-deterministic Turing machine, and FPP, the set of functions computable in polynomial time. Under the assumption P
FP, one may be interested in classifying counting problems between those that are easy to compute,i.e., belong to FP, and those that are hard, i.e., are P-hard Valiant79, or even hard to approximate GoldbergGL16.
The Hypergraph Dualisation
problem – a fifty years open problem – asks for the enumeration of all (inclusion-wise) minimal transversals of a given hypergraph. It is not yet known whether this problem can be solved by an algorithm that runs in time polynomial in the size of the output despite the fact that it has been extensively studied since it has several applications in many areas such as graph theory, artificial intelligence, datamining, model-checking, network modeling, or databases (see the surveyEiterGM08). For all these applications, the minimality of the transversals is needed. Thus, even if it is not hard to see that listing all transversals of a hypergraph can be done with a polynomial delay between two solutions, there may be an exponential gap between the number of minimal transversals and the number of transversals (see for instance the non-trivial class of affine formulas), which makes efficient enumeration of minimal transversals much harder.
The problem of computing the number of minimal transversals of a hypergraph is closely related to the Hypergraph Dualisation problem and has also many applications in several areas, see for instance the description given in DurandH08 in the case of model checking. This problem has also applications in graph theory as it is closely related to the problem of counting the minimal dominating sets of a graph. It turns out that these counting problems are P-complete in general, that is, it is very unlikely that it can be solved in polynomial time on every input. However, there is a rich literature on solving this problem in polynomial time by restricting the input hypergraph to a specific class, see for example CapelliPhd2016; KanteLMNU13; GolovachHKKSV17.
Our contributions and approach
In this paper, we follow this line of research by exhibiting a new tractable class of hypergraphs for this problem, namely, the class of -acyclic hypergraphs. The Hypergraph Dualisation problem was already known to be tractable for this class EiterG2002. Moreover, it has been proved in Brault-BaronCM15 that the number of transversals of a -acyclic hypergraph can be computed in polynomial time but the complexity of computing the number of minimal transversals was still unknown. More precisely, we prove the following theorem:
The number of minimal transversals of a -acyclic hypergraph can be computed in polynomial time.
A direct consequence of our result is the following corollary concerning the counting of minimal dominating sets in a subclass of chordal graphs, called strongly chordal graphs.
The number of minimal dominating sets of a strongly chordal graph is computable in polynomial time.
Besides the polynomial time algorithm, the main contribution of this article is the modification of the framework considered in Capelli17 in order to count minimal models. The techniques used in KanteLMNU13; GolovachHKKSV17 are based on structural restrictions and as shown in Capelli17 cannot work for -acyclic hypergraphs. Instead, Capelli showed in Capelli17 how to construct, from the elimination ordering of a -acyclic hypergraph associated to a boolean formula, a circuit whose satisfying assignments correspond to the models of the boolean formula. Such circuits are known as decision Decomposable Negation Normal Form in knowledge compilation. While the technique allows to count the models of non-monotone formulas, it cannot be used to count the minimal models. Indeed, the branchings of the constructed circuit do not allow to control the minimality. We overcome this difficulty by introducing the notion of blocked transversals, which correspond roughly to the minimal transversals of a sub-hypergraph that are transversals of the whole hypergraph. We then show that blocked transversals can be used to control the minimality in the construction of the circuit. However, this control is only possible in the case of monotone Boolean formulas, corresponding to counting the minimal transversals of -acyclic hypergraphs.
Because of technical definitions, we postpone the details of the algorithm in Section 3.2. The paper is organised as follows. Notations and some technical definitions are given in Section 1, while blocked transversals and intermediate lemmas are given in Section 2. The decomposition of -acyclic hypergraphs proposed in Capelli17 is refined in Section 3.1 to take into account blocked transversals. Finally, the algorithm is given in Section 3.2 and we talk about its consequences for the counting of minimal dominating sets in Section 4.
1 Definitions and notations
The power set of a set is denoted by , and its cardinal is denoted by . For two sets and , we let denote the set . For a ground set and subsets of , with , we let
If , we write as usual. For example, if and , then .
A hypergraph is a collection of subsets of a finite ground set. The elements of are called the hyperedges of and the vertex set of is .
Given , we denote by the hypergraph induced by , that is, . Any subset of is called a sub-hypergraph of . Observe that if there exists such that , then . We do not enforce hypergraphs to have non-empty edges or to be non-empty. However, a hypergraph with an empty edge may behave counter-intuitively. In the following definitions, we explicitly explain the extremal cases where or .
Given a hypergraph and a subset of its vertex set, we denote by the set of hyperedges of containing at least one vertex in , that is, ; to ease notations, we write instead of for . Observe that is the set of hyperedges containing . For the hypergraph shown in Figure 1, is the hypergraph .
Given a hypergraph , a walk between two distinct edges and is a sequence such that for all . Notice that, is also a walk between and . A maximal set of edges of that are pairwise connected by a walk is called a connected component of . It is worth noticing that if are the connected components of , then for distinct in .
A hypergraph is said -acyclic if there exists an ordering of such that for each , the set is linearly ordered by inclusion. Such an ordering is called a -elimination ordering. It is well-known that every sub-hypergraph of a -acyclic hypergraph are -acyclic as well (see for instance EiterG95).
Let be a hypergraph. A transversal for is a subset such that for every , . We denote by the set of transversals of . Observe that if , then as for every , so cannot be a transversal of . Finally, observe that if , then .
A transversal of is minimal if and only if for every , it holds that . A hyperedge such that is said to be private for w.r.t. . When is clear from the context, we may refer to such hyperedges as simply privates for . The following fact follows directly from the definitions:
is a minimal transversal of a hypergraph if and only if is a transversal of and each vertex has a private.
We denote by the set of minimal transversals of . Again, observe that if then .
Figure 1 depicts a hypergraph together with its minimal transversals.
It is worth noticing that since the sets and are sets of subsets of , they may be seen as hypergraphs on . Thus, we will sometimes use the notations (resp. ) which refer to the transversals (resp. minimal transversals) of such that .
2 Blocked transversals
Our algorithm uses a dynamic programming approach by finding a relation between the number of minimal transversals of a -acyclic hypergraph with the number of minimal transversals of some specific subhypergraphs of . However, it is not possible to directly relate these quantities together. To illustrate this fact, let be the hypergraph depicted in Figure 1. The minimal transversals of containing are and . Observe that removing from these sets directly yields a minimal transversal of . However, adding to a minimal transversal of does not give necessarily a minimal transversal of . For example, we have , but .
In fact, we can show in general that if and only if is a minimal transversal of and is not a transversal of . Consequently, the number of minimal transversals of containing is
We can infer from this fact a recursive formula to compute . In the general case, using this formula as it is will lead to the computation of an exponential number of terms. In this section, we will make this relation more precise by introducing the notion of blocked transversal. In the next section, we will show how we can use this relation to evaluate the number of minimal transversals of a -acyclic hypergraphs with only a polynomial number of intermediate values.
Given a hypergraph , a sub-hypergraph and , we define the -blocked transversals of to be the transversals of such that each vertex of has a private in . In particular, if is a vertex of , then cannot be in a -blocked transversal of . Observe also that if , then cannot be in a -blocked transversal of .
Given a sub-hypergraph of a hypergraph and , is a -blocked transversal of if and only if belongs to .
If is a transversal of such that each vertex of has a private in , then and is a transversal of . Thus by Fact 1 is a minimal transversal of . Conversely, if is a minimal transversal of , then by Fact 1 each vertex has a private in . If in addition it belongs to the set of transversals of , then it is a -blocked transversal of by definition. ∎
As an example, let be the hypergraph depicted in Figure 1, and . The only -blocked transversal of is . While is a minimal transversal of , it is not a -blocked transversal as the hyperedge does not intersect .
We call the set the blocked hyperedges. Intuitively, is the set of hyperedges that cannot be used as privates in a transversal of . We denote by the set of -blocked transversals of . By Fact 2, we have
Observe that by definition, . Moreover, if , then as and . When , we denote by .
Given , we denote by . We extend this notation to and as well. The following summarises observations about blocked transversals.
Let be a sub-hypergraph of a hypergraph and . Then,
If , then .
Let us briefly explain how -blocked transversals will be used in computing . One checks easily that . By Equation 1, . Therefore, . We will show in the next section that we can define, from the -elimination ordering of a -acyclic hypergraph , sub-hypergraphs and vertices such that, for all , and can be computed in polynomial time if and are known for all . As a consequence, one can compute by classical dynamic programming for any -acyclic hypergraph.
The end of this section is dedicated to the proof of several crucial lemmas concerning recursive formulas for computing the number of blocked transversals, and that will be useful in our algorithm. We start by describing the blocked transversals of a hypergraph having more than one connected component.
Let be a hypergraph, and the connected components of . For each , let . We have:
Assume that , it means that there exists a hyperedge such that . In this case, . Moreover, there exists such that and . Thus, and the equality holds in this case.
Assume from now that . Let . We show that for all , . Let . Since , we have . As , we have . Thus , that is, . Moreover, let . By definition of , there exists such that is private for w.r.t. . Observe that we have since . Thus, and , because is a connected component. We can conclude that and is private to w.r.t. and . Thus is a minimal transversal of . That is .
Now let . We show that . Let . As , there exists such that . Thus and thus , that is, . It remains to show that . Let . By definition of , there exists such that . Thus, there exists that is private for w.r.t. . Moreover, since , we know that . As are the connected component of , we have that, for every , . Moreover, for all , we have . As and , we have for every :
Thus, . In other words, is private for w.r.t. and . That is . ∎
We recall that is the set of -blocked transversals of such that and . The following lemma shows that for any -blocked transversal of containing , we have is a -blocked transversal of .
Let be a hypergraph, and . We have
Let . Let . By definition, and , thus we only have to show that . Let . Since is a transversal of , there exists . Moreover, by definition, , thus , that is, is a transversal of . It remains to show that is a minimal transversal of . Let . Since is a minimal transversal of , there exists such that is private for w.r.t. . Since , we have , otherwise would not be private for w.r.t. . Thus , that is, is private to w.r.t. in . In other words, is a minimal transversal of which concludes the proof. ∎
To complete the previous lemma, we show that for each -blocked transversal of , we have is a -blocked transversal of if and only if is not a -blocked transversal of .
Let be a hypergraph, and . We have
where and .
For every , we have .
We start by proving that is in . Assume towards a contradiction that , i.e., there exists such that . We prove that it implies . First, observe that , since and . Thus, we have and . As , we have and then is a private hyperedge for w.r.t. and . Furthermore, every vertex in has a private hyperedge w.r.t. and since . Thus, every vertex in has a private hyperedge w.r.t. and . As , we can conclude that . Finally, we have by assumption. Therefore which is a contradiction. Thus, .
We now prove that , that is, we prove the minimality of in . Let . Since , there exists such that . Since , every have a private hyperedge in , that is . As , we can conclude that . ∎
For every , we have .
We start by proving that is in . First, we show that is a transversal of . Let . By definition of , , thus as well. Therefore . We now prove that is minimal in . As , every vertex in has a private hyperedge in . Moreover, recall that . Thus, is minimal in . As , we have .
We finish the proof by showing that . In order to prove it, we show that there is no private hyperedge for w.r.t. and . Indeed, since , every hyperedge in contains a vertex in . By definition of , we have , thus for every hyperedge in , we have , i.e., is not a private for . ∎
Finally, we characterise the number of -blocked transversals of a hypergraph that do not contain a given vertex. We use the symbol for the disjoint union of sets.
Let be a hypergraph, and . We have
Let be a -blocked transversal of . Thus, either and then , or and then , i.e., . Since, the two cases are exclusive, we can conclude that is the disjoint union of and of . ∎
Let be a hypergraph, and . We have
where and .
3 Counting the minimal transversals of -acyclic hypergraphs
In this section, we fix a -acyclic hypergraph, a -elimination ordering of its vertices and we let the induced lexicographic ordering on the hyperedges, i.e., if . We denote by the sub-hypergraph of formed by the hyperedges such that there exists a walk from to going only through hyperedges smaller than and vertices smaller than . For an example, take the -elimination ordering of the hypergraph in Figure 1 and the induced ordering on . For , the hypergraph is composed of the hyperedges and .
For a vertex of , we write , and for, respectively, , and . Moreover, we write , and instead of, respectively, , and .
3.1 Decomposition of -acyclic hypergraphs
The following two lemmas have been proven in (Capelli17, Section III-A).
Lemma 9 (Theorem 3 in Capelli17).
For every hyperedge , and , we have .
Lemma 10 (Lemma 2 in Capelli17).
Let and be two hyperedges of such that , and let and be vertices of such that . If , then .
We prove a lemma on the decomposition of graphs that will be used with Lemma 4 to propagate the dynamic programming algorithm.
Let , and . Let
For every connected component of different from , there exists and such that and .
Let and . We show that .
First, we observe that . If , it follows from Lemma 10 because, in this case, . Suppose that , by definition of , we have . Moreover, by Lemma 9, we have that . As and , we have . Thus and for all , we have since . We can conclude that .
Now, we prove that every , we have . Let . By definition of and because , there exists a path from to going only through vertices smaller than and hyperedges smaller than in . As , we can conclude that is connected to in , i.e., . In other words, we have .
It remains to prove the other inclusion. Let with . Since is a connected component of , there exists a path from to . By the maximality of and , goes only through vertices smaller than and hyperedges smaller than . We can construct from a path from to in going through vertices smaller than and hyperedges smaller than . As , we can conclude that and thus, . Finally, observe that since . ∎
3.2 The algorithm
In this subsection, we describe the dynamic programming algorithm we use to count the number of minimal transversals of a -acyclic hypergraph. We denote by the smallest element of .
Our goal is to compute and for every , and such that . Observe that it is enough for computing the number of minimal transversals of as where is the maximal hyperedge for and is the maximal vertex for . Indeed, we have and , thus .
The propagation of the dynamic programming works as follows: we use Theorem 8 to reduce the computation of to the computation of for several hypergraphs that do not contain . We then use Lemma 11 to show that these hypergraphs can be decomposed into disjoint hypergraphs of the form for and which allows us to compute from precomputed values of the form , where .
Before continuing, let us give a high-level description of the algorithm. For each and each , let be , and for each , let be . Because the number of minimal transversals of is , it is enough to show how to compute in polynomial time. The following is a high level description of the algorithm which computes , for all ,