Computer Science Department
School of Computer Science, Carnegie Mellon University
A Generalization of SAT and #SAT for
Erik Zawadzki, André Platzer, Geoffrey J. Gordon*
Both SAT and #SAT can represent difficult problems in seemingly dissimilar areas such as planning, verification, and probabilistic inference. Here, we examine an expressive new language, #∃SAT, that generalizes both of these languages. #∃SAT problems require counting the number of satisfiable formulas in a concisely-describable set of existentially quantified, propositional formulas. We characterize the expressiveness and worst-case difficulty of #∃SAT by proving it is complete for the complexity class #PNP, and relating this class to more familiar complexity classes. We also experiment with three new general-purpose #∃SAT solvers on a battery of problem distributions including a simple logistics domain. Our experiments show that, despite the formidable worst-case complexity of #PNP, many of the instances can be solved efficiently by noticing and exploiting a particular type of frequent structure.