Generating clause sequences of a CNF formula
Kristóf Bérczi, Endre Boros, Ondřej Čepek, Khaled Elbassioni, Petr Kučera, Kazuhisa Makino
aa r X i v : . [ c s . D M ] F e b Generating clause sequences of a CNF formula
Krist´of B´erczi ∗ Endre Boros † Ondˇrej ˇCepek ‡ Khaled Elbassioni § Petr Kuˇcera ¶ Kazuhisa Makino k Abstract
Given a CNF formula Φ with clauses C , . . . , C m and variables V “ t x , . . . , x n u , a truthassignment a : V Ñ t , u of Φ leads to a clause sequence σ Φ p a q “ p C p a q , . . . , C m p a qq Pt , u m where C i p a q “ C i evaluates to 1 under assignment a , otherwise C i p a q “ Keywords:
CNF formulas, Clause sequences, Enumeration, Generation
The concept of well-designed pattern trees was introduced by Letelier et al. [9] as a convenientgraphic representation of conjuctive queries extended by the optional operator. The nodes ofsuch a tree correspond to the queries, while the tree itself represents the optional extensions.Well-designed pattern trees have been studied from a complexity point of view in several aspects.One of the most interesting problems in the context of query languages is the generation problem ,that is, generating the solutions one after the other without repetition.
Previous work
The generation problem was studied for First-Order and Conjunctive Queries[3, 5, 7, 12] and for well-designed pattern trees [9]. Recently, Kr¨oll et al. [8] initiated a system-atic study of the complexity of the generation problem of well-designed pattern trees. Theyidentified several tractable and intractable cases of the problem both from a classical and from ∗ MTA-ELTE Egerv´ary Research Group, Department of Operations Research, E¨otv¨os Lor´and University, Bu-dapest, Hungary. Email: [email protected] . † MSIS Department and RUTCOR, Rutgers University, New Jersey, USA. Email: [email protected] . ‡ Charles University, Faculty of Mathematics and Physics, Department of Theoretical Computer Science andMathematical Logic, Praha, Czech Republic. Email: [email protected] . § Masdar Institute, Khalifa University of Science and Technology, P.O. Box 54224, Abu Dhabi, UAE. Email: [email protected] ¶ Charles University, Faculty of Mathematics and Physics, Department of Theoretical Computer Science andMathematical Logic, Praha, Czech Republic. Email: [email protected] . k Research Institute for Mathematical Sciences (RIMS) Kyoto University, Kyoto, Japan. Email: [email protected] . C of conjunctive queries, a well-designed pattern tree T is globally in C if for every subtree T of T the corresponding conjunctive query is also in C . The treewidth of a conjunctive query is the treewidth of its Gaifman-graph [6]. In [8], the complexity of thegeneration problem for the class of well-designed pattern trees falling globally in the class ofqueries of treewidth at most k and having c -semi-bounded interface was left open (see [8, Table1 on page 16]).At the Dagstuhl Seminar 19211 “Enumeration in Data Management”, Kr¨oll proposed anopen problem on the generation of clause sequences of CNF formulas [2, Problem 4.7]. Theproblem is motivated by the fact that it can be reduced to the above mentioned unsolved caseof pattern trees, thus any bound on the generation complexity would be helpful in understandingthe general problem. A generation algorithm outputs the objects in question one by one withoutrepetition. We call it a polynomial delay procedure if the computing time between any twoconsecutive outputs is bounded by a polynomial of the input size. We call it incrementallypolynomial , if for any k the first k objects can be generated in polynomial time in the input sizeand k . Finally, it is called total polynomial if all N objects are generated in polynomial time inthe input size and N .The problem studied in this paper can be formalized as follows. Let V “ t x , . . . , x n u be a set of n Boolean variables and Φ “ C ^ ¨ ¨ ¨ ^ C m be a CNF in these variables withclauses C , . . . , C m . For an assignment a : V Ñ t , u , the corresponding binary sequence σ Φ p a q “ p C p a q , . . . , C m p a qq is called a signature of Φ, that is, C i p a q “ C i evaluatesto 1 under assignment a , and C i p a q “ a with σ Φ p a q “ p , . . . , q . Moreover, MAX-SATand MIN-SAT can be encoded by asking for the signature with the largest and smallest sum ofelements, respectively.As an example, consider the CNF formula Φ “ C ^ C ^ C ^ C , where C “ x _ ¯ x , C “ ¯ x , C “ x _ x _ x and C “ x _ ¯ x . Then assignment a “ t x ÞÑ , x ÞÑ , x ÞÑ u leads to signature σ Φ p a q “ p , , , q , while assignment a “ t x ÞÑ , x ÞÑ , x ÞÑ u leads tosignature σ Φ p a q “ p , , , q . It is easy to see that Φ has six different signatures. In general, ifthe number of signatures is Ω p n q , then generating them in total polynomial time is not difficult.However, their number may be o p n q , presenting a potential challenge for generation.Given a CNF Φ “ C ^ ¨ ¨ ¨ ^ C m , we denote by dim p Φ q “ max i “ ,...,m | C i | , and call Φ a d -CNF if dim p Φ q ď d . The number of clauses and the number of literals appearing in Φ aredenoted by | Φ | and } Φ } , respectively. Vectors are written using bold fonts throughout, e.g. x .The problem asked in [2] is for d -CNF formulas where d is a fixed positive integer, but we alsoconsider the same problem for general CNFs. Generation of signatures ( GS p Φ q ) Input:
A CNF Φ.
Output:
All possible signatures of Φ.Motivated by MAX-SAT and MIN-SAT, we also consider maximal and minimal signatures.A signature of a CNF Φ is called maximal (resp. minimal ) if an inclusionwise maximal (resp.minimal) subset of the clauses takes value 1. We prefer the term signature over the term clause sequence proposed by Kr¨ol, since it is a binary string, nota sequence of clauses. Therefore we use the term signature in the rest of the paper. eneration of maximal signatures Input:
A CNF Φ.
Output:
All possible maximal signaturesof Φ.
Generation of minimal signatures
Input:
A CNF Φ.
Output:
All possible minimal signaturesof Φ.
Our results
We show that GS p Φ q can be solved in incremental polynomial time for formulaswith a bounded dimension, thus answering the open problem posed by Kr¨oll, and with poly-nomial delay for the class of tractable CNF formulas. For the class of formulas with boundeddimension and co-occurrence, we derive a faster incremental polynomial algorithm. We alsoshow that generating maximal signatures is NP-hard, while minimal signatures can be gener-ated with polynomial delay. Organization
Our algorithm with polynomial delay for the class of tractable CNF formulasis given in Section 2. Section 3 discusses CNFs with bounded dimension: an incrementalpolynomial algorithm is presented in Section 3.1 for CNFs with bounded dimension and co-occurrence, while our main result answering the question of Kr¨oll is presented in Section 3.2.The generation of maximal and minimal clause sequences is considered in Section 4. Finally,we conclude the paper in Section 5, where a ‘reversed’ variant of the problem is proposed as anopen question.
Given a CNF Φ “ Ź C P C C , a CNF Ψ “ Ź C P C C is called a sub-CNF of Φ if C Ď C , and denotedby Ψ Ď Φ. We call a family of CNFs tractable if for any CNF Φ in this family the satisfiabilityof any sub-CNF of Φ can be decided in polynomial time even after fixing any subset of thevariables at arbitrary values. For example, the classes of 2-CNFs or Horn CNFs are tractable.
Theorem 1. If Φ belongs to a tractable family and has m clauses, then its signatures can begenerated with a delay of O p m q SAT-calls.Proof.
The idea is to apply the so-called ‘flashlight’ approach in the signature space, using SATas a ‘flashlight’ [1]. Let Φ “ Ź mi “ C i . We are going to build a binary tree in which the pathsfrom the root to the vertices of the tree correspond to binary values of initial segments of theset of clauses, that is, C , . . . , C k for some 1 ď k ď m . There exists a signature with this prefixif and only if the CNF formed by the clauses set to value one in this sequence is satisfiable evenafter all the forced fixing of variables that appear in clauses whose value is zero (note that aclause has value 0 if and only if all the literals in it are 0). If such a CNF is not satisfiable, webacktrack and do not explore the subtree rooted at this vertex as there exists no signature withthis prefix. If the CNF is satisfiable, we continue building the corresponding subtree which inthis is guaranteed to contain at least one signature. The algorithm will not backtrack abovethis vertex before outputing all (at least one) signatures in this subtree. It is not difficult toverify that after at most 2 m calls to SAT we can output a new signature not generated before.After outputting the last signature, the procedure terminates after at most m SAT calls.
Remark 2.
Let us remark that the family of monotone CNFs is tractable, but for this casethere is a more efficient polynomial delay generation of the signatures. Indeed, in this case wecan view a clause as a subset of the variables. Consequently, the set of zeros in a signaturecorresponds to a union of clauses. We claim that all such unions can be generated with O p nm q m “ | Φ | is the number of clauses, implying that all signatures of Φ can be generatedwith polynomial delay.To see this claim, we represent unions as leaves of a binary tree of depth n (nodes correspondto variables), where we construct only the vertices that are on paths to the leaves. Besides thebinary tree, we keep the leaves in a last-in-first-out queue . Initially, leaves correspond toindividual clauses of Φ. Each time before outputting the first union U in the queue, we checkfor all clauses C P Φ if C Y U is a new union or not by using our binary tree. This takes O p n q time for one clause, and O p nm q time for all the clauses of Φ. Whenever a new union is found,it is added to the tree and the queue as a last element. After this, we output U and removeit from the queue. It is not difficult to verify that this gives us an O p nm q delay generation ofall unions. Note that in this case Theorem 1 guarantees only an O p} Φ } m q delay, because everySAT call requires O p} Φ }q time. Given a CNF Φ, we denote by H Φ “ p Φ , E q the conflict graph of Φ. The vertices of H Φ are theclauses of Φ and edges are exactly the conflicting pairs of clauses, i.e., pairs p C i , C j q for whichthere exists a literal u P C i such that ¯ u P C j .Let S Ď Φ be a maximal independent set of H Φ , and let L p S q “ Ť C i P S C i denote the setof literals appearing in the clauses of S . We define a partial assignment a S : L p S q Ñ t , u by setting all literals of L p S q to zero (and hence the complementary literals are set to 1). The signature associated to S is then defined as σ Φ p S q : “ σ Φ p a S q “ p y , . . . , y m q P t , u m . Thecoordinates of σ Φ p S q are well-defined as y i “ C i P S for i “ , ..., m . We willdismiss the subscript Φ whenever the CNF in question is clear from the context. Note that fordifferent maximal independent sets S ‰ S of H Φ we have σ p S q ‰ σ p S q . It is worth mentioningthat all maximal independent sets of H Φ can be generated with polynomial delay [10,13], whichis hence a good start for CNF signature generation.Assume that Φ has bounded dimension, i.e., for a constant d we have | C i | ď d for all i “ , ..., m . Let us define X j “ t C i P Φ | x j P C i or ¯ x j P C i u . We say that Φ is of ω -boundedco-occurrence if | X j | ď ω for j “ , ..., n and ω is a fixed constant. Theorem 3. If Φ has bounded dimension and co-occurrence, then its signatures can be generatedin incremental polynomial time.Proof. Let us construct greedily a maximal induced matching M Ď E in H Φ . Note that H Φ has at least 2 | M | maximal independent sets (and hence at least this many signatures can begenerated with polynomial delay, as explained above). We denote by W Ď Φ the set of clausesthat have edges in H Φ connecting them to some of the clauses covered by M , and set U “ Φ z W .Note that U is an independent set in H Φ .Assume that µ “ | M | , | C i | ď d for all i “ , ..., m , and | X j | ď ω for all j “ , ..., n . Accordingto our assumptions, d and ω are fixed constants. Observe that with these notations we have | W | ď µdω . We denote by n the number of variables involved in clauses of W . Note that wehave n ď d | W | .We denote by L the (possibly empty) set of variables that are monotone in Φ and appearonly in clauses of U (some variables appear only positively while some others appear onlynegatively). Let us first set all literals in L to 0, and consider the resulting CNF Φ in n variables. We generate with polynomial delay the maximal independent sets S ℓ , ℓ “ , ..., k of The size of the queue can be exponential in n as it contains the leaves of the binary tree that is being built. Φ , and the corresponding signatures σ p S ℓ q , ℓ “ , ..., k . Now we have k ě µ ě p n q { d ω ,and thus we can try all binary assignments to the n variables in O p mnk d ω q time, and see ifwe get some more signatures.Assume we get k ě k distinct signatures. By switching the literals in L , we may get newsignatures, resulting from changing some of the zeros in a signature to one. For any partialassignment to the n variables, this is a set-union generation problem that can be solved withpolynomial delay, see Remark 2. We may get in this way the same signature multiple times,but no more than k times, and thus at this stage the additional signatures are also generatedin incremental polynomial time. In the previous section, we considered CNFs with bounded dimension and co-occurrence. Therunning time of the algorithm provided by Theorem 3 depends exponentially on ω , hence it isnot suitable for handling the general case. In the present section, a more general procedure isgiven based on a different approach.For a CNF Φ, we denote by G Φ “ p Φ , E q the so called dual graph of Φ [11]. The vertices of G Φ are the clauses of Φ and edges are exactly the pairs of clauses p C i , C j q for which there existsa variable that occurs in both C i and C j (complemented or not). If S Ď Φ is an independentset of G Φ , then the clauses of S have pairwise disjoint sets of variables involved. Theorem 4.
There exists an algorithm A that generates the signatures of a CNF Φ consistingof m clauses in n binary variables in O p dm nk p d qq total time, where d “ dim p Φ q and k is thenumber of signatures.Proof. We prove the claim by induction on d . For d ď d ă d , and let us consider a CNFΦ “ C ^ C ^ ¨ ¨ ¨ ^ C m with dim p Φ q “ d . Let us associate to Φ its dual graph G Φ as definedabove. Let S Ď V p G Φ q be a maximal independent set of G Φ . Such a set can be obtained bya simple greedy procedure in polynomial time in the size of Φ. Note that clauses in S involvepairwise disjoint sets of variables, due to the fact that S is an independent set of G Φ . Thus, wecan choose a literal u C P C for each clause C P S , set all other literals in C to zero, set all othervariables not occurring in clauses of S to zero, and make all possible truth assignment to theliterals u C , C P S . This way we obtain k “ | S | different binary signatures of Φ. Note that wecan output these k signatures with polynomial delay.The total number of variables involved in clauses of S is n ď d | S | . Hence we can assign inall possible ways values to these variables, and produce 2 n subproblems Φ j , j “ , ..., n in theremaining variables in O p mn n q “ O p mnk d q time which is polynomial in the input size and k , since d is a fixed constant. Each of these residual problems is of dimension at most d ´ S shares at least one variable with the clauses of S , since S is a maximal independent set of G Φ , and now that shared variable is fixed at a binary value.We apply algorithm A to each of the residual sub-CNFs Φ j , j “ , ..., n , one by one.This way we produce signatures that extend the pattern on S defined by x j P t , u n , for all j “ , ..., n one by one. We may produce the same signature in this way again and again, butno more than 2 n times. Since 2 n “ O p k d q , we can show that this procedure works in totalpolynomial time.To see this let us introduce some additional notation. We denote by X j Ď Y “ t , u n , j “ , ..., | S | the nonempty sets of (partial) assignments that produce the same signature onthe clauses of S . For x P Y , let us denote by Φ p x q the residual CNF, and by k p x q the numberof signatures of Φ p x q . We denote by g p Ψ q the running time of the above described recursive5lgorithm on CNF Ψ and let G p m, n, d, k q be the maxima of g p Ψ q over all CNFs with at most m clauses on n variables having dim p Ψ q ď d and having at most k signatures.The total computational time in the first phase of the above procedure that ends withproducing a list of 2 n residual CNFs, each of dim ď d ´ O p m n q ` O p mnk q ` O p mnk d q ď Km nk d for a suitable constant K that does not depend on m , n , and k . The first term on the left handside is the time to build G Φ and to find a maximal independent set S . The second term is thetime we need to generate the k initial signatures. The third term is the time to generate the2 n ď k d subproblems.For x P X j and x P X j with j ‰ j the CNFs Φ p x q and Φ p x q cannot share signatures, sincethose must already differ on S by the definition of the sets X j for j “ , ..., k . However, for x , x P X j CNFs Φ p x q and Φ p x q may share (many) signatures. Discounting the one signaturewe already produced with a given trace on S , we can still expect k j ě max x P X j k p x q ´ A when we use it for CNFs Φ p x q , x P X j . Thus, intotal we get k “ k ` k ` ¨ ¨ ¨ ` k | S | different signatures for Φ. The total running time on CNFs Φ p x q , x P X j can be bounded by ÿ x P X j g p Φ p x qq ď | X j | G p m, n, d ´ , k j q . Thus, for the total running time of algorithm A on Φ we get g p Φ q ď G p m, n, d, k q ď Km nk d ` k ÿ j “ | X j | G p m, n, d ´ , k j qď Km nk d ` k d G p m, n, d ´ , k q , where for the last inequality we used k j ď k for all j “ , ..., k , implying G p m, n, d ´ , k j q ď G p m, n, d ´ , k q , which allows this quantity to be factored out of the sum, that can be thenupper bounded by ř k j “ | X j | “ n ď k d . Using this we can show by induction on d that G p m, n, d, k q ď Ldm nk p d q for some constant L (we will choose L ě K ) which will complete the proof of our claim. Now G p m, n, d, k q ď Km nk d ` k d G p m, n, d ´ , k qď Km nk d ` k d L p d ´ q m nk p d ´ qď Lm nk d ` k d L p d ´ q m nk p d ´ qď Lm nk d ` L p d ´ q m nk p d ´ q ` d ď Ldm nk p d q . Corollary 5.
The algorithm A constructed in the above proof in fact works in incrementalpolynomial time. roof. Using the above theorem, we can prove this claim by induction on the dimension d .When d “
1, the claim is trivially true.Consider now the general case, as in the proof of the above theorem. As we remarked there,producing the first k “ | S | signatures in fact can be done with polynomial delay. After this westart processing the CNFs Φ p x q for x P X j , j “ , ..., k . Note that the signatures produced fromΦ p x q , x P X j and Φ p x q , x P X j are all different if j ‰ j . Note also that dim p Φ p x qq ď d ´ x P X j , j “ , ..., k , and thus we can assume by induction that their signatures can beproduced in incremental polynomial time in the size of Φ p x q , which is bounded by the size of Φ.Thus, if X j “ t x , ..., x ℓ u , then we can produce k p x q new signatures in incremental polynomialtime, in fact regardless how many we produced previously (including the k we have from thefirst phase.) Let us denote by q p m, n, k p x qq the polynomial bounding the total time processingΦ p x q . If k p x q ą k p x q , then maybe the first k p x q signatures produced from Φ p x q coincidewith the ones we already generated from Φ p x q , but still after at most q p m, n, k p x qq time weget a new signature. In the worst case, we have k j “ k p x q ě k p x i q for all x i P X j , i ‰
1, inwhich case processing Φ p x i q , i “ , ..., ℓ may not produce any new signatures. Since ℓ ď k d ,this means that the largest gap between the output of the last signature of Φ p x q and nextnew signature is not more than k d q p m, n, k p x qq , at a moment when we have already produced k ě k ` k p x q signatures. Thus this largest time gap between two outputs is still bounded bya polynomial of the input size O p mn q and the number of signatures k ě k ` k p x q producedso far. Generation of maximal signatures is difficult as it includes SAT as a special case.
Theorem 6.
Generating all maximal signatures is NP-hard.Proof.
Let us consider a CNF Φ, and observe that its unique maximal signature is the all-onevector if and only if Φ is satisfiable. Hence any total polynomial time algorithm generatingthe maximal signatures would detect satisfiability of Φ. As SAT is difficult in general [4], thetheorem follows.It turns out that minimal signatures can be generated efficiently.
Theorem 7.
Minimal signatures can be generated with polynomial delay.Proof.
We claim that there is a one-to-one correspondance between minimal signatures of a CNFΦ and maximal independent sets of its conflict graph H Φ . Since H Φ can be built in polynomialtime from Φ and maximal independent sets of a graph can be generated with polynomial delay[10, 13], this would prove the theorem.To see the above claim, assume first that a signature σ “ t σ C | C P Φ u is a minimal signatureof Φ. Note that the set S “ t C P Φ | σ C “ u is an independent set in H Φ . For any C P Φwith σ C “ C and some C P S , since otherwise we couldset σ C to zero without forcing any of the clauses in S to change their values, contradicting theminimality of σ . Thus S must be a maximal independent set.The other direction follows from the fact that if S is a maximal independent set of H Φ andwe set all the clauses in S to zero, then all other clauses of Φ are forced to take value one dueto the conflicts between S and other vertices of H Φ .7 Conclusions
In this paper we show that all signatures of a given CNF with a bounded dimension can begenerated in incremental polynomial time, answering an open problem posed by Kr¨oll [2,Problem 4.7]. A faster incremental polynomial algorithm is provided for the class of formulaswhere both the dimension and the co-occurrence are bounded. Moreover, it is also shown thatthe same task can be done with polynomial delay if the input CNF is from a tractable class(in this case no bound on dimension or co-occurrence is necessary). Finally, it is proved thatgenerating maximal signatures is NP-hard, while minimal signatures can be generated withpolynomial delay.In this context it is interesting to note that given a 3-CNF Φ with m clauses and the vector y “ p , , ..., q P t , u m it is NP-hard to test whether y is a signature of Φ, or not ( y is asignature if only if Φ is satisfiable). On the other hand, our results show that generating allsignatures of Φ can be done in incremental polynomial time. This is a rather unusual behaviorfor a generation problem. Typically, if all solutions of a given problem can be generated inincremental polynomial time, checking if a given candidate is a solution or not is computationallyeasy.An additional problem connected to CNF signatures was stated at the Dagstuhl Seminar19211 by Gy. Tur´an. Given a set S Ď t , u m , does there exist a CNF with m clauses suchthat S is exactly its set of all signatures? If yes, can such a CNF be computed efficiently? This‘reverse’ problem (get the signatures, output clauses) to the problem presented in this paper(get the clauses, output signatures) is to the best of our knowledge completely open. Acknowledgements
Krist´of B´erczi was supported by the J´anos Bolyai Research Fellowshipof the Hungarian Academy of Sciences and by the ´UNKP-19-4 New National Excellence Pro-gram of the Ministry for Innovation and Technology. Ondˇrej ˇCepek and Petr Kuˇcera gratefullyacknowledge a support by the Czech Science Foundation (Grant 19-19463S). Projects no. NKFI-128673 and no. ED 18-1-2019-0030 (Application-specific highly reliable IT solutions) have beenimplemented with the support provided from the National Research, Development and Inno-vation Fund of Hungary, financed under the FK 18 and the Thematic Excellence Programmefunding schemes, respectively. This work was supported by the Research Institute for Mathe-matical Sciences, an International Joint Usage/Research Center located in Kyoto University.
References [1] E. Boros, K. Elbassioni, and V. Gurvich. Algorithms for generating minimal blockers ofperfect matchings in bipartite graphs and related problems.
Lecture Notes in ComputerScience (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes inBioinformatics) , 3221:122–133, 2004.[2] E. Boros, B. Kimelfeld, R. Pichler, and N. Schweikardt. Enumeration in data management(dagstuhl seminar 19211). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2019.[3] A. A. Bulatov, V. Dalmau, M. Grohe, and D. Marx. Enumerating homomorphisms.
Journalof Computer and System Sciences , 78(2):638–650, 2012.[4] S. A. Cook. The complexity of theorem-proving procedures. In
Proceedings of the thirdannual ACM symposium on Theory of computing , pages 151–158, 1971.85] A. Durand, N. Schweikardt, and L. Segoufin. Enumerating answers to first-order queriesover databases of low degree. In
Proceedings of the 33rd ACM SIGMOD-SIGACT-SIGARTsymposium on Principles of database systems , pages 121–131. ACM, 2014.[6] J.-L. Guigues and V. Duquenne. Familles minimales d’implications informatives r´esultantd’un tableau de donn´ees binaires.
Math´ematiques et Sciences humaines , 95:5–18, 1986.[7] W. Kazana and L. Segoufin. Enumeration of first-order queries on classes of structures withbounded expansion. In
Proceedings of the 32nd ACM SIGMOD-SIGACT-SIGAI sympo-sium on Principles of database systems , pages 297–308. ACM, 2013.[8] M. Kr¨oll, R. Pichler, and S. Skritek. On the complexity of enumerating the answers towell-designed pattern trees. In . Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2016.[9] A. Letelier, J. P´erez, R. Pichler, and S. Skritek. Static analysis and optimization of semanticweb queries.
ACM Transactions on Database Systems (TODS) , 38(4):25, 2013.[10] K. Makino and T. Uno. New algorithms for enumerating all maximal cliques. In
Scandi-navian workshop on algorithm theory , pages 260–272. Springer, 2004.[11] M. Samer and S. Szeider. Algorithms for propositional model counting.
Journal of DiscreteAlgorithms , 8(1):50 – 64, 2010.[12] L. Segoufin. Enumerating with constant delay the answers to a query. In
Proceedings ofthe 16th International Conference on Database Theory , pages 10–20. ACM, 2013.[13] S. Tsukiyama, M. Ide, H. Ariyoshi, and I. Shirakawa. A new algorithm for generating allthe maximal independent sets.