1 Introduction
The concept of welldesigned pattern trees was introduced by Letelier et al. [9] as a convenient graphic representation of conjuctive queries extended by the optional operator. The nodes of such a tree correspond to the queries, while the tree itself represents the optional extensions. Welldesigned 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 FirstOrder and Conjunctive Queries [3, 5, 7, 12] and for welldesigned pattern trees [9]. Recently, Kröll et al. [8] initiated a systematic study of the complexity of the generation problem of welldesigned pattern trees. They identified several tractable and intractable cases of the problem both from a classical and from a parameterized complexity point of view. One class of pattern trees however remained unclassified. For a class of conjunctive queries, a welldesigned pattern tree is globally in if for every subtree of the corresponding conjunctive query is also in . The treewidth of a conjunctive query is the treewidth of its Gaifmangraph [6]. In [8], the complexity of the generation problem for the class of welldesigned pattern trees falling globally in the class of queries of treewidth at most and having semibounded interface was left open (see [8, Table 1 on page 16]).
At the Dagstuhl Seminar 19211 “Enumeration in Data Management”, Kröll proposed an open problem on the generation of clause sequences of CNF formulas [2, Problem 4.7]. The problem is motivated by the fact that it can be reduced to the above mentioned unsolved case of pattern trees, thus any bound on the generation complexity would be helpful in understanding the general problem. A generation algorithm outputs the objects in question one by one without repetition. We call it a polynomial delay procedure if the computing time between any two consecutive outputs is bounded by a polynomial of the input size. We call it incrementally polynomial, if for any the first objects can be generated in polynomial time in the input size and . Finally, it is called total polynomial if all objects are generated in polynomial time in the input size and .
The problem studied in this paper can be formalized as follows. Let be a set of Boolean variables and be a CNF in these variables with clauses . For an assignment , the corresponding binary sequence is called a signature^{1}^{1}1We prefer the term signature over the term clause sequence proposed by Kröl, since it is a binary string, not a sequence of clauses. Therefore we use the term signature in the rest of the paper. of , that is, if clause evaluates to under assignment , and otherwise. In particular, this means that is satisfiable if and only if there exists some assignment with . Moreover, MAXSAT and MINSAT can be encoded by asking for the signature with the largest and smallest sum of elements, respectively.
As an example, consider the CNF formula , where , , and . Then assignment leads to signature , while assignment leads to signature . It is easy to see that has six different signatures. In general, if the number of signatures is , then generating them in total polynomial time is not difficult. However, their number may be , presenting a potential challenge for generation.
Given a CNF , we denote by , and call a CNF if . The number of clauses and the number of literals appearing in are denoted by and
, respectively. Vectors are written using bold fonts throughout, e.g.
. The problem asked in [2] is for CNF formulas where is a fixed positive integer, but we also consider the same problem for general CNFs.[boxsep=2pt,left=4pt,right=4pt,top=4pt,bottom=4pt] Generation of signatures ()
Input: A CNF .
Output: All possible signatures of .
Motivated by MAXSAT and MINSAT, 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.
Input: A CNF .
Output: All possible maximal signatures of . [boxsep=2pt,left=4pt,right=4pt,top=4pt,bottom=4pt] Generation of minimal signatures
Input: A CNF .
Output: All possible minimal signatures of .
Our results
We show that can be solved in incremental polynomial time for formulas with a bounded dimension, thus answering the open problem posed by Kröll, and with polynomial delay for the class of tractable CNF formulas. For the class of formulas with bounded dimension and cooccurrence, we derive a faster incremental polynomial algorithm. We also show that generating maximal signatures is NPhard, while minimal signatures can be generated with polynomial delay.
Organization
Our algorithm with polynomial delay for the class of tractable CNF formulas is given in Section 2. Section 3 discusses CNFs with bounded dimension: an incremental polynomial algorithm is presented in Section 3.1 for CNFs with bounded dimension and cooccurrence, while our main result answering the question of Kröll 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 an open question.
2 Tractable CNFs
Given a CNF , a CNF is called a subCNF of if , and denoted by . We call a family of CNFs tractable if for any CNF in this family the satisfiability of any subCNF of can be decided in polynomial time even after fixing any subset of the variables at arbitrary values. For example, the classes of 2CNFs or Horn CNFs are tractable.
Theorem 1.
If belongs to a tractable family and has clauses, then its signatures can be generated with a delay of SATcalls.
Proof.
The idea is to apply the socalled ‘flashlight’ approach in the signature space, using SAT as a ‘flashlight’ [1]. Let . We are going to build a binary tree in which the paths from the root to the vertices of the tree correspond to binary values of initial segments of the set of clauses, that is, for some . There exists a signature with this prefix if and only if the CNF formed by the clauses set to value one in this sequence is satisfiable even after all the forced fixing of variables that appear in clauses whose value is zero (note that a clause has value if and only if all the literals in it are ). If such a CNF is not satisfiable, we backtrack and do not explore the subtree rooted at this vertex as there exists no signature with this prefix. If the CNF is satisfiable, we continue building the corresponding subtree which in this is guaranteed to contain at least one signature. The algorithm will not backtrack above this vertex before outputing all (at least one) signatures in this subtree. It is not difficult to verify that after at most calls to SAT we can output a new signature not generated before. After outputting the last signature, the procedure terminates after at most SAT calls. ∎
Remark 2.
Let us remark that the family of monotone CNFs is tractable, but for this case there is a more efficient polynomial delay generation of the signatures. Indeed, in this case we can view a clause as a subset of the variables. Consequently, the set of zeros in a signature corresponds to a union of clauses. We claim that all such unions can be generated with delay, where is the number of clauses, implying that all signatures of can be generated with polynomial delay.
To see this claim, we represent unions as leaves of a binary tree of depth (nodes correspond to variables), where we construct only the vertices that are on paths to the leaves. Besides the binary tree, we keep the leaves in a lastinfirstout queue^{2}^{2}2The size of the queue can be exponential in as it contains the leaves of the binary tree that is being built.. Initially, leaves correspond to individual clauses of . Each time before outputting the first union in the queue, we check for all clauses if is a new union or not by using our binary tree. This takes time for one clause, and 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 and remove it from the queue. It is not difficult to verify that this gives us an delay generation of all unions. Note that in this case Theorem 1 guarantees only an delay, because every SAT call requires time.
3 CNFs with bounded dimension
3.1 Bounded cooccurrence
Given a CNF , we denote by the conflict graph of . The vertices of are the clauses of and edges are exactly the conflicting pairs of clauses, i.e., pairs for which there exists a literal such that .
Let be a maximal independent set of , and let denote the set of literals appearing in the clauses of . We define a partial assignment by setting all literals of to zero (and hence the complementary literals are set to ). The signature associated to is then defined as . The coordinates of are welldefined as if and only if for . We will dismiss the subscript whenever the CNF in question is clear from the context. Note that for different maximal independent sets of we have . It is worth mentioning that all maximal independent sets of can be generated with polynomial delay [13, 10], which is hence a good start for CNF signature generation.
Assume that has bounded dimension, i.e., for a constant we have for all . Let us define . We say that is of bounded cooccurrence if for and is a fixed constant.
Theorem 3.
If has bounded dimension and cooccurrence, then its signatures can be generated in incremental polynomial time.
Proof.
Let us construct greedily a maximal induced matching in . Note that has at least maximal independent sets (and hence at least this many signatures can be generated with polynomial delay, as explained above). We denote by the set of clauses that have edges in connecting them to some of the clauses covered by , and set . Note that is an independent set in .
Assume that , for all , and for all . According to our assumptions, and are fixed constants. Observe that with these notations we have . We denote by the number of variables involved in clauses of . Note that we have .
We denote by the (possibly empty) set of variables that are monotone in and appear only in clauses of (some variables appear only positively while some others appear only negatively). Let us first set all literals in to , and consider the resulting CNF in variables. We generate with polynomial delay the maximal independent sets , of , and the corresponding signatures , . Now we have , and thus we can try all binary assignments to the variables in time, and see if we get some more signatures.
Assume we get distinct signatures. By switching the literals in , we may get new signatures, resulting from changing some of the zeros in a signature to one. For any partial assignment to the variables, this is a setunion generation problem that can be solved with polynomial delay, see Remark 2. We may get in this way the same signature multiple times, but no more than times, and thus at this stage the additional signatures are also generated in incremental polynomial time. ∎
3.2 Unbounded cooccurrence
In the previous section, we considered CNFs with bounded dimension and cooccurrence. The running time of the algorithm provided by Theorem 3 depends exponentially on , hence it is not suitable for handling the general case. In the present section, a more general procedure is given based on a different approach.
For a CNF , we denote by the so called dual graph of [11]. The vertices of are the clauses of and edges are exactly the pairs of clauses for which there exists a variable that occurs in both and (complemented or not). If is an independent set of , then the clauses of have pairwise disjoint sets of variables involved.
Theorem 4.
There exists an algorithm that generates the signatures of a CNF consisting of clauses in binary variables in total time, where and is the number of signatures.
Proof.
We prove the claim by induction on . For the claim follows by Theorem 1.
Assume now that we already proved the claim for all , and let us consider a CNF with . Let us associate to its dual graph as defined above. Let be a maximal independent set of . Such a set can be obtained by a simple greedy procedure in polynomial time in the size of . Note that clauses in involve pairwise disjoint sets of variables, due to the fact that is an independent set of . Thus, we can choose a literal for each clause , set all other literals in to zero, set all other variables not occurring in clauses of to zero, and make all possible truth assignment to the literals , . This way we obtain different binary signatures of . Note that we can output these signatures with polynomial delay.
The total number of variables involved in clauses of is . Hence we can assign in all possible ways values to these variables, and produce subproblems , in the remaining variables in time which is polynomial in the input size and , since is a fixed constant. Each of these residual problems is of dimension at most . Indeed, each of the clauses not in shares at least one variable with the clauses of , since is a maximal independent set of , and now that shared variable is fixed at a binary value.
We apply algorithm to each of the residual subCNFs , , one by one. This way we produce signatures that extend the pattern on defined by , for all one by one. We may produce the same signature in this way again and again, but no more than times. Since , we can show that this procedure works in total polynomial time.
To see this let us introduce some additional notation. We denote by , the nonempty sets of (partial) assignments that produce the same signature on the clauses of . For , let us denote by the residual CNF, and by the number of signatures of . We denote by the running time of the above described recursive algorithm on CNF and let be the maxima of over all CNFs with at most clauses on variables having and having at most signatures.
The total computational time in the first phase of the above procedure that ends with producing a list of residual CNFs, each of is bounded by
for a suitable constant that does not depend on , , and . The first term on the left hand side is the time to build and to find a maximal independent set . The second term is the time we need to generate the initial signatures. The third term is the time to generate the subproblems.
For and with the CNFs and cannot share signatures, since those must already differ on by the definition of the sets for . However, for CNFs and may share (many) signatures. Discounting the one signature we already produced with a given trace on , we can still expect
different signatures produced by algorithm when we use it for CNFs , . Thus, in total we get
different signatures for . The total running time on CNFs , can be bounded by
Thus, for the total running time of algorithm on we get
where for the last inequality we used for all , implying , which allows this quantity to be factored out of the sum, that can be then upper bounded by . Using this we can show by induction on that
for some constant (we will choose ) which will complete the proof of our claim. Now
∎
Corollary 5.
The algorithm constructed in the above proof in fact works in incremental polynomial time.
Proof.
Using the above theorem, we can prove this claim by induction on the dimension . When , 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 signatures in fact can be done with polynomial delay. After this we start processing the CNFs for , . Note that the signatures produced from , and , are all different if . Note also that for all , , and thus we can assume by induction that their signatures can be produced in incremental polynomial time in the size of , which is bounded by the size of . Thus, if , then we can produce new signatures in incremental polynomial time, in fact regardless how many we produced previously (including the we have from the first phase.) Let us denote by the polynomial bounding the total time processing . If , then maybe the first signatures produced from coincide with the ones we already generated from , but still after at most time we get a new signature. In the worst case, we have for all , , in which case processing , may not produce any new signatures. Since , this means that the largest gap between the output of the last signature of and next new signature is not more than
, at a moment when we have already produced
signatures. Thus this largest time gap between two outputs is still bounded by a polynomial of the input size and the number of signatures produced so far. ∎4 Generating maximal and minimal signatures
Generation of maximal signatures is difficult as it includes SAT as a special case.
Theorem 6.
Generating all maximal signatures is NPhard.
Proof.
Let us consider a CNF , and observe that its unique maximal signature is the allone vector if and only if is satisfiable. Hence any total polynomial time algorithm generating the maximal signatures would detect satisfiability of . As SAT is difficult in general [4], the theorem 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 onetoone correspondance between minimal signatures of a CNF and maximal independent sets of its conflict graph . Since can be built in polynomial time from and maximal independent sets of a graph can be generated with polynomial delay [13, 10], this would prove the theorem.
To see the above claim, assume first that a signature is a minimal signature of . Note that the set is an independent set in . For any with there must exist a conflict between and some , since otherwise we could set to zero without forcing any of the clauses in to change their values, contradicting the minimality of . Thus must be a maximal independent set.
The other direction follows from the fact that if is a maximal independent set of and we set all the clauses in to zero, then all other clauses of are forced to take value one due to the conflicts between and other vertices of . ∎
5 Conclusions
In this paper we show that all signatures of a given CNF with a bounded dimension can be generated in incremental polynomial time, answering an open problem posed by Kröll [2, Problem 4.7]. A faster incremental polynomial algorithm is provided for the class of formulas where both the dimension and the cooccurrence are bounded. Moreover, it is also shown that the 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 cooccurrence is necessary). Finally, it is proved that generating maximal signatures is NPhard, while minimal signatures can be generated with polynomial delay.
In this context it is interesting to note that given a 3CNF with clauses and the vector it is NPhard to test whether is a signature of , or not ( is a signature if only if is satisfiable). On the other hand, our results show that generating all signatures of can be done in incremental polynomial time. This is a rather unusual behavior for a generation problem. Typically, if all solutions of a given problem can be generated in incremental polynomial time, checking if a given candidate is a solution or not is computationally easy.
An additional problem connected to CNF signatures was stated at the Dagstuhl Seminar 19211 by Gy. Turán. Given a set , does there exist a CNF with clauses such that 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óf Bérczi was supported by the János Bolyai Research Fellowship of the Hungarian Academy of Sciences and by the ÚNKP194 New National Excellence Program of the Ministry for Innovation and Technology. Ondřej Čepek and Petr Kučera gratefully acknowledge a support by the Czech Science Foundation (Grant 1919463S). Projects no. NKFI128673 and no. ED_18120190030 (Applicationspecific highly reliable IT solutions) have been implemented with the support provided from the National Research, Development and Innovation Fund of Hungary, financed under the FK_18 and the Thematic Excellence Programme funding schemes, respectively. This work was supported by the Research Institute for Mathematical 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 of perfect matchings in
bipartite graphs and related problems.
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
, 3221:122–133, 2004.  [2] E. Boros, B. Kimelfeld, R. Pichler, and N. Schweikardt. Enumeration in data management (dagstuhl seminar 19211). Schloss DagstuhlLeibnizZentrum fuer Informatik, 2019.
 [3] A. A. Bulatov, V. Dalmau, M. Grohe, and D. Marx. Enumerating homomorphisms. Journal of Computer and System Sciences, 78(2):638–650, 2012.

[4]
S. A. Cook.
The complexity of theoremproving procedures.
In
Proceedings of the third annual ACM symposium on Theory of computing
, pages 151–158, 1971.  [5] A. Durand, N. Schweikardt, and L. Segoufin. Enumerating answers to firstorder queries over databases of low degree. In Proceedings of the 33rd ACM SIGMODSIGACTSIGART symposium on Principles of database systems, pages 121–131. ACM, 2014.
 [6] J.L. Guigues and V. Duquenne. Familles minimales d’implications informatives résultant d’un tableau de données binaires. Mathématiques et Sciences humaines, 95:5–18, 1986.
 [7] W. Kazana and L. Segoufin. Enumeration of firstorder queries on classes of structures with bounded expansion. In Proceedings of the 32nd ACM SIGMODSIGACTSIGAI symposium on Principles of database systems, pages 297–308. ACM, 2013.
 [8] M. Kröll, R. Pichler, and S. Skritek. On the complexity of enumerating the answers to welldesigned pattern trees. In 19th International Conference on Database Theory (ICDT 2016). Schloss DagstuhlLeibnizZentrum fuer Informatik, 2016.
 [9] A. Letelier, J. Pérez, R. Pichler, and S. Skritek. Static analysis and optimization of semantic web 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 Scandinavian workshop on algorithm theory, pages 260–272. Springer, 2004.
 [11] M. Samer and S. Szeider. Algorithms for propositional model counting. Journal of Discrete Algorithms, 8(1):50 – 64, 2010.
 [12] L. Segoufin. Enumerating with constant delay the answers to a query. In Proceedings of the 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 all the maximal independent sets. SIAM Journal on Computing, 6(3):505–517, 1977.