Abstract
Boolean satisfiability (SAT) is widely used as a solver engine in electronic design automation (EDA). Typically, SAT is used to determine whether one or more groups of variables can be combined to form a true formula. All solutions SAT (AllSAT) is a variant of the SAT problem. In the fields of formal verification and pattern generation, AllSAT is particularly useful because it efficiently enumerates all possible solutions. In this paper, a semi-tensor product (STP) based AllSAT solver is proposed. The solver can solve instances described in both the conjunctive normal form (CNF) and circuit form. The implementation of our method differs from incremental enumeration because we do not add blocking conditions for existing solutions, but rather compute the matrices to obtain all the solutions in one pass. Additionally, the logical matrices support a variety of logic operations. Results from experiments with MCNC benchmarks using CNF-based and circuit-based forms show that our method can accelerate CPU time by 8.1x (238x maximum) and 19.9x (72x maximum), respectively.
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Cook S A. The complexity of theorem-proving procedures. In Proc. the 3rd Annual ACM Symposium on Theory of Computing, May 1971, pp.151–158. https://doi.org/10.1145/800157.805047.
Eén N, Sörensson N. An extensible SAT-solver. In Proc. the 6th International Conference on Theory and Applications of Satisfiability Testing, May 2004, pp.502–518. https://doi.org/10.1007/978-3-540-24605-3_37.
Moskewicz M W, Madigan C F, Zhao Y, Zhang L T, Malik S. Chaff: Engineering an efficient SAT solver. In Proc. the 38th Annual Design Automation Conference, Jun. 2001, pp.530–535. https://doi.org/10.1145/378239.379017.
Mishchenko A, Chatterjee S, Brayton R, Een N. Improvements to combinational equivalence checking. In Proc. the 2006 IEEE/ACM International Conference on Computer Aided Design, Nov. 2006, pp.836–843. https://doi.org/10.1109/ICCAD.2006.320087.
Froleyks N, Heule M, Iser M, Järvisalo M, Suda M. SAT competition 2020. Artificial Intelligence, 2021, 301: 103572.
Davis M, Logemann G, Loveland D. A machine program for theorem-proving. Communications of the ACM, 1962, 5(7): 394–397. https://doi.org/10.1145/368273.368557.
Legg A, Narodytska N, Ryzhyk L. A SAT-based counterexample guided method for unbounded synthesis. In Proc. the 28th International Conference on Computer Aided Verification, Jul. 2016, pp.364–382. https://doi.org/10.1007/978-3-319-41540-6_20.
Lowry M, Loh T H. Quantifying bicycle network connectivity. Preventive Medicine, 2017, 95 Supp.: S134–S140. https://doi.org/10.1016/j.ypmed.2016.12.007.
Han J W, Cheng H, Xin D, Yan X F. Frequent pattern mining: Current status and future directions. Data Mining and Knowledge Discovery, 2007, 15(1): 55–86. https://doi.org/10.1007/s10618-006-0059-1.
Toda T, Soh T. Implementing efficient all solutions SAT solvers. ACM Journal of Experimental Algorithmics, 2016, 21: Article No. 1.12. https://doi.org/10.1145/2975585.
Ren X Q, Guo W X, Mo Z Q, Tian W H. A divide and conquer approach to all solutions satisfiability problem. In Proc. the 4th IEEE International Conference on Computer and Communications (ICCC), Dec. 2018, pp.2590–2595. https://doi.org/10.1109/CompComm.2018.8780746.
Zhang Y L, Pu G G, Sun J. Accelerating all-SAT computation with short blocking clauses. In Proc. the 35th IEEE/ACM International Conference on Automated Software Engineering, Feb. 2020, pp.6–17. https://doi.org/10.1145/3324884.3416569.
Thiffault C, Bacchus F, Walsh T. Solving non-clausal formulas with DPLL search. In Proc. the 10th International Conference on Principles and Practice of Constraint Programming, Oct. 2004, pp.663–678. https://doi.org/10.1007/978-3-540-30201-8_48.
Marques-Silva J, Lynce I, Malik S. Conflict-driven clause learning SAT solvers. In Handbook of Satisfiability, Biere A, Heule M, van Maaren H, Walsh T (eds.), IOS Press, 2009, pp.133–182. https://doi.org/10.3233/978-1-58603-929-5-131.
Ganai M K, Ashar P, Gupta A, Zhang L T, Malik S. Combining strengths of circuit-based and CNF-based algorithms for a high-performance SAT solver. In Proc. the 39th Annual Design Automation Conference, Jun. 2002, pp.747–750. https://doi.org/10.1145/513918.514105.
Cheng D Z, Qi H S, Xue A C. A survey on semi-tensor product of matrices. Journal of Systems Science and Complexity, 2007, 20(2): 304–322. https://doi.org/10.1007/s11424-007-9027-0.
Bai Z W, Li Y, Zhou M L, Li D, Wang D, Połap D, Woźniak M. Bilinear semi-tensor product attention (BST-PA) model for visual question answering. In Proc. the 2020 International Joint Conference on Neural Networks (IJCNN), Jul. 2020. https://doi.org/10.1109/IJCNN48605.2020.9206964.
Fu W, Li S T. Semi-tensor compressed sensing for hyperspectral image. In Proc. the 2018 IEEE International Geoscience and Remote Sensing Symposium, Jul. 2018, pp.2737–2740. https://doi.org/10.1109/IGARSS.2018.8519360.
Han X G, Chen Z Q, Liu Z X, Zhang Q. Calculating basis siphons of Petri nets based on semi-tensor product of matrices. In Proc. the 35th Chinese Control Conference, Jul. 2016, pp.2331–2336. https://doi.org/10.1109/ChiCC.2016.7553712.
Cheng D Z, Qi H S, Zhao Y. An Introduction to Semi-Tensor Product of Matrices and Its Applications. World Scientific, 2012. https://doi.org/10.1142/8323.
Van Loan C F. The ubiquitous Kronecker product. Journal of Computational and Applied Mathematics, 2000, 123(1/2): 85–100. https://doi.org/10.1016/S0377-0427(00)00393-9.
Cheng D Z. On logic-based intelligent systems. In Proc. the 2005 International Conference on Control and Automation, Jun. 2005, pp.71–76. https://doi.org/10.1109/ICCA.2005.1528094.
Siddiqi S. An extensible circuit-based SAT solver. Journal of Experimental & Theoretical Artificial Intelligence, 2020, 32(5): 751–768. https://doi.org/10.1080/0952813X.2019.1672798.
Yang S. Logic Synthesis and Optimization Benchmarks User Guide: Version 3.0. Research Triangle Park, NC, USA: Microelectronics Center of North Carolina (MCNC), 1991.
Author information
Authors and Affiliations
Corresponding author
Supplementary Information
ESM 1
(PDF 478 kb)
Rights and permissions
About this article
Cite this article
Pan, HY., Chu, ZF. A Semi-Tensor Product Based All Solutions Boolean Satisfiability Solver. J. Comput. Sci. Technol. 38, 702–713 (2023). https://doi.org/10.1007/s11390-022-1981-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-022-1981-4