{"title":"Model Counting","authors":"C. Gomes, Ashish Sabharwal, B. Selman","doi":"10.3233/978-1-58603-929-5-633","DOIUrl":null,"url":null,"abstract":"Model counting, or counting the number of solutions of a propositional formula, generalizes SAT and is the canonical #P-complete problem. Surprisingly, model counting is hard even for some polynomial-time solvable cases like 2-SAT and Horn-SAT. Efficient algorithms for this problem will have a significant impact on many application areas that are inherently beyond SAT, such as bounded-length adversarial and contingency planning, and, perhaps most importantly, general probabilistic inference. Model counting can be solved, in principle and to an extent in practice, by extending the two most successful frameworks for SAT algorithms, namely, DPLL and local search. However, scalability and accuracy pose a substantial challenge. As a result, several new ideas have been introduced in the last few years that go beyond the techniques usually employed in most SAT solvers. These include division into components, caching, compilation into normal forms, exploitation of solution sampling methods, and certain randomized streamlining techniques using special constraints. This chapter discusses these techniques, exploring both exact methods as well as fast estimation approaches, including those that provide probabilistic or statistical guarantees on the quality of the reported lower or upper bound on the model count.","PeriodicalId":250589,"journal":{"name":"Handbook of Satisfiability","volume":"44 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-02-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"165","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Handbook of Satisfiability","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3233/978-1-58603-929-5-633","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 165
Abstract
Model counting, or counting the number of solutions of a propositional formula, generalizes SAT and is the canonical #P-complete problem. Surprisingly, model counting is hard even for some polynomial-time solvable cases like 2-SAT and Horn-SAT. Efficient algorithms for this problem will have a significant impact on many application areas that are inherently beyond SAT, such as bounded-length adversarial and contingency planning, and, perhaps most importantly, general probabilistic inference. Model counting can be solved, in principle and to an extent in practice, by extending the two most successful frameworks for SAT algorithms, namely, DPLL and local search. However, scalability and accuracy pose a substantial challenge. As a result, several new ideas have been introduced in the last few years that go beyond the techniques usually employed in most SAT solvers. These include division into components, caching, compilation into normal forms, exploitation of solution sampling methods, and certain randomized streamlining techniques using special constraints. This chapter discusses these techniques, exploring both exact methods as well as fast estimation approaches, including those that provide probabilistic or statistical guarantees on the quality of the reported lower or upper bound on the model count.
模型计数,或计算一个命题公式的解的个数,推广了SAT,是典型的# p -完全问题。令人惊讶的是,即使对于一些多项式时间可解的情况,如2-SAT和Horn-SAT,模型计数也很难。这个问题的有效算法将对许多本质上超出SAT的应用领域产生重大影响,例如有界长度对抗和应急计划,也许最重要的是,一般概率推理。通过扩展两个最成功的SAT算法框架,即DPLL和局部搜索,可以在原则上和一定程度上解决模型计数问题。然而,可伸缩性和准确性构成了实质性的挑战。因此,在过去的几年里,一些新的想法被引入,这些想法超出了大多数SAT解决方案中通常使用的技术。其中包括组件划分、缓存、编译为标准形式、利用解决方案抽样方法,以及使用特殊约束的某些随机流线型技术。本章讨论了这些技术,探索了精确方法和快速估计方法,包括那些对模型计数的报告下界或上界的质量提供概率或统计保证的方法。