I am interested in learning about special cases of boolean satisfiability problems that are known to be polynomial (or more realistically, O(N^2)). These cases should also have efficient algorithm for actually generating all satisfactory instances, where by efficient I mean it takes O(N #SAT) to generate a sequence of all the instances. It is possible that the second condition implies the first, but it is not clear to me.
Trivial example: 1SAT 🙂
Trivial example: 2SAT with “chains” of clauses, so that the graph joining variables with clauses is a line.
Is there a list of more somewhere? Thanks.
From The Complexity of Satisfiability Problems by Schaefer:
The first two are solvable O(1), the next three O(n) and the last O(n^3) (I think). So the SAT instances you want are in one of the first five classes.