The next level of SAT solving for very hard problems
Lead Research Organisation:
Swansea University
Department Name: College of Science
Abstract
We witness a twofold explosion of logical complexity in society and mathematical sciences. In society the computer systems become more complex and more pervasive, and to prove or verify their correctness is urgently needed for safety and security. In the mathematical sciences the use of computer-assisted methods promises to strengthen their outreach, beyond the capacities of paper-based proofs. To tackle these complexities, there is thus a strong need for powerful algorithmic logical reasoning.
An essential property here is that this reasoning is complete: even the tiniest weakness in a microprocessor design can lead to catastrophic errors, over the lifetime of a train system any "subtle" error in its design can lead to collisions and loss of life, and likewise a mathematical proof must hold forever and under all circumstances.
SAT solving, the algorithmic solution of systems of logical (boolean) equations, has become a game changer here over the last two decades, providing a powerful logical engine for the needs of correctness and verification in industry, and for the needs of Automated Theorem Proving (ATP) in mathematics. The basic method is an intelligent form of Brute Force, and the rise of SAT can be understood as based on the emerging science of brute force, as explained in
https://cacm.acm.org/magazines/2017/8/219606-the-science-of-brute-force
The older approach for SAT solving is the systematic backtracking approach, enhanced by look-ahead (LA), splitting up of the problem into subproblems by using global statistics gathered from forecasts (the look-aheads). The newer method, mainly responsible for the "SAT revolution", is more chaotic, and follows local statistics to reach a dead-end as soon as possible and learn from it (CDCL -- conflict-driven clause-learning).
The method discovered by the applicant, "Cube-and-Conquer" (C&C), can be understood as a reconciliation of the old and the new method: In the first phase the cube-solver, based on LA, plans for splitting the big original problems into (very) many smaller problems, ready to be solved by the conquer-solver, based on CDCL. In this way the strengths of both methods are leveraged: LA uses its global overview to initially split the problem, while CDCL can concentrate on its local solution capabilities. Due to the cube-phase excellent distributed performance for a large number of processors is guaranteed. A strong international success for C&C was the solution of the Boolean Pythagorean Triples Problem (BPTP) in 2016, as explained in the linked article above.
This project is about researching, implementing and applying C&C, as summarised by the formula TIA+R+P: Theory, Implementation, Application, + Reflection + Popularisation. The Theory part aims at understanding the "good splitting" of the problem, in the context of this two-phase approach. The Implementation part will provide an open-source ready-to-use software for handling hard problems in (combinatorial) mathematics and correctness/verification. The Application part on the one hand will attack problems like BPTP and bigger, and on the other hand will systematically adapt the methods to industrial contexts. Reflection means two things: on the one hand we reflect on the theory, algorithms and implements developed, learning from the applications. On the other hand we reflect on the applications, especially the mathematical ones, considering them under the algorithmic lense, discovering structures by learning from the algorithms behaviour. Last but not least, Popularisation will be undertaken systematically, to tell about the SAT revolution, the developments in algorithmic logic, and the applications in industry and mathematics.
An essential property here is that this reasoning is complete: even the tiniest weakness in a microprocessor design can lead to catastrophic errors, over the lifetime of a train system any "subtle" error in its design can lead to collisions and loss of life, and likewise a mathematical proof must hold forever and under all circumstances.
SAT solving, the algorithmic solution of systems of logical (boolean) equations, has become a game changer here over the last two decades, providing a powerful logical engine for the needs of correctness and verification in industry, and for the needs of Automated Theorem Proving (ATP) in mathematics. The basic method is an intelligent form of Brute Force, and the rise of SAT can be understood as based on the emerging science of brute force, as explained in
https://cacm.acm.org/magazines/2017/8/219606-the-science-of-brute-force
The older approach for SAT solving is the systematic backtracking approach, enhanced by look-ahead (LA), splitting up of the problem into subproblems by using global statistics gathered from forecasts (the look-aheads). The newer method, mainly responsible for the "SAT revolution", is more chaotic, and follows local statistics to reach a dead-end as soon as possible and learn from it (CDCL -- conflict-driven clause-learning).
The method discovered by the applicant, "Cube-and-Conquer" (C&C), can be understood as a reconciliation of the old and the new method: In the first phase the cube-solver, based on LA, plans for splitting the big original problems into (very) many smaller problems, ready to be solved by the conquer-solver, based on CDCL. In this way the strengths of both methods are leveraged: LA uses its global overview to initially split the problem, while CDCL can concentrate on its local solution capabilities. Due to the cube-phase excellent distributed performance for a large number of processors is guaranteed. A strong international success for C&C was the solution of the Boolean Pythagorean Triples Problem (BPTP) in 2016, as explained in the linked article above.
This project is about researching, implementing and applying C&C, as summarised by the formula TIA+R+P: Theory, Implementation, Application, + Reflection + Popularisation. The Theory part aims at understanding the "good splitting" of the problem, in the context of this two-phase approach. The Implementation part will provide an open-source ready-to-use software for handling hard problems in (combinatorial) mathematics and correctness/verification. The Application part on the one hand will attack problems like BPTP and bigger, and on the other hand will systematically adapt the methods to industrial contexts. Reflection means two things: on the one hand we reflect on the theory, algorithms and implements developed, learning from the applications. On the other hand we reflect on the applications, especially the mathematical ones, considering them under the algorithmic lense, discovering structures by learning from the algorithms behaviour. Last but not least, Popularisation will be undertaken systematically, to tell about the SAT revolution, the developments in algorithmic logic, and the applications in industry and mathematics.
Planned Impact
The project will develop, implement, apply and analyse the Cube-and-Conquer (C&C) method, a technology for solving hard computational problems, especially suited for distributed systems with many computational units.
The problems solved are called "SAT problems", and can be considered as big logical puzzles. SAT problems are fundamental for the three main application areas:
- verification and correctness on the industrial side experienced a revolution through SAT solving over the last two decades; especially computer hardware, as based on Boolean logic, can be analysed successfully;
- also in automated theory proving (ATP), proving mathematical theorems, SAT solving is used as the underlying "logical engine" (handling the basic logical structure), and has become a fundamental technology;
- more concretely, many combinatorial problems in computer science and mathematics can be directly expressed as SAT problems and solved (this is the essence of the "NP-completeness" of SAT), where an example is the recent solution of the boolean Pythagorean Triples problem
https://en.wikipedia.org/wiki/Boolean_Pythagorean_triples_problem
which demonstrated the strength of C&C.
The project considers applications as an essential aspect of it. Big mathematical problems are attacked, as well as hard industrial problems, encoding verification and correctness of complicated hardware and software systems. These applications are valuable on their own, and they provide important feedback for theory, algorithms and implementations. First the theory and software is shaped by feedback only from the various mathematical applications, but then adaption mechanisms are developed specifically for industrial problems (which are larger, but intrinsically easier).
In mathematics, this technology will help to bring proof/solver technology into common mathematical practice. Delivery will use all available channels: from electronic platforms for providing source code to workshop participation to direct personal contact. So we will make sure, that besides our own application agenda we will consider as many other applications as possible --- the (general-purpose) open-source software developed will enable us to do this.
The novel algorithms (based on a new theoretic approach) will be made available as open-source software. So applicants world-wide can easily use the tool-box ("out of the box"). Furthermore the code itself can be used, which is important for research labs in industry, and this together with the documentation and underlying publications enhances the research capacity of businesses and organisations concerned with the safety and security of computer systems. The much increased performance on hard problems will boost efficiency and performance, and will enable to tackle very hard problems, which otherwise could not have been handled.
International collaboration will ensure wide applicability and dissemination. Especially we engage with specialists for mathematical and for industrial applications.
We will make a strong effort for popularisation: Besides web pages and popular accounts, we will make available games for specific applications (mathematical and industrial). These games will introduce in a playful way the combinatorial "puzzles" at the heart of the specific applications.
Overall, we aim at substantially increasing public awareness of the importance of logical methods to understand and control the ever-increasing complexity of systems.
Especially the revolution of the (intelligent) Brute-Force method, as brought by SAT technology, deserves a much wider attention.
The problems solved are called "SAT problems", and can be considered as big logical puzzles. SAT problems are fundamental for the three main application areas:
- verification and correctness on the industrial side experienced a revolution through SAT solving over the last two decades; especially computer hardware, as based on Boolean logic, can be analysed successfully;
- also in automated theory proving (ATP), proving mathematical theorems, SAT solving is used as the underlying "logical engine" (handling the basic logical structure), and has become a fundamental technology;
- more concretely, many combinatorial problems in computer science and mathematics can be directly expressed as SAT problems and solved (this is the essence of the "NP-completeness" of SAT), where an example is the recent solution of the boolean Pythagorean Triples problem
https://en.wikipedia.org/wiki/Boolean_Pythagorean_triples_problem
which demonstrated the strength of C&C.
The project considers applications as an essential aspect of it. Big mathematical problems are attacked, as well as hard industrial problems, encoding verification and correctness of complicated hardware and software systems. These applications are valuable on their own, and they provide important feedback for theory, algorithms and implementations. First the theory and software is shaped by feedback only from the various mathematical applications, but then adaption mechanisms are developed specifically for industrial problems (which are larger, but intrinsically easier).
In mathematics, this technology will help to bring proof/solver technology into common mathematical practice. Delivery will use all available channels: from electronic platforms for providing source code to workshop participation to direct personal contact. So we will make sure, that besides our own application agenda we will consider as many other applications as possible --- the (general-purpose) open-source software developed will enable us to do this.
The novel algorithms (based on a new theoretic approach) will be made available as open-source software. So applicants world-wide can easily use the tool-box ("out of the box"). Furthermore the code itself can be used, which is important for research labs in industry, and this together with the documentation and underlying publications enhances the research capacity of businesses and organisations concerned with the safety and security of computer systems. The much increased performance on hard problems will boost efficiency and performance, and will enable to tackle very hard problems, which otherwise could not have been handled.
International collaboration will ensure wide applicability and dissemination. Especially we engage with specialists for mathematical and for industrial applications.
We will make a strong effort for popularisation: Besides web pages and popular accounts, we will make available games for specific applications (mathematical and industrial). These games will introduce in a playful way the combinatorial "puzzles" at the heart of the specific applications.
Overall, we aim at substantially increasing public awareness of the importance of logical methods to understand and control the ever-increasing complexity of systems.
Especially the revolution of the (intelligent) Brute-Force method, as brought by SAT technology, deserves a much wider attention.
Publications
Heule M
(2018)
Handbook of Parallel Constraint Reasoning
Kleine Büning H
(2021)
Handbook of Satisfiability - Second Edition
Kullmann O
(2021)
Handbook of Satisfiability - Second Edition
Kullmann O
(2019)
Autarkies for DQCNF
Pantekis F
(2024)
Optimized massively parallel solving of N-Queens on GPGPUs
in Concurrency and Computation: Practice and Experience
| Description | Many complex algorithms need to split a hard problem into somewhat easier problems, by considering the possible values a variable can take and making decisions on these values. We designed a general framework for such "branching algorithms", and how to guide the splitting, which can considerably influence the efficiency of the approach. Applications to hard combinatorial problems showed the need to incorporate special problem knowledge, and these special structures and their relations to the generic heuristics have been investigated. Due to various challenges, the bulk of the relatively complex software and its outcomes will be released only 2025/early 2026. |
| Exploitation Route | In various research fields, hard combinatorial problems can be attacked by the methods found. In any application field, where constraint solving is used, these methods could also find applications (especially in case the problems are harder, since the algorithms are perfectly parallelisable). A special application area is railway safety, where we could strongly boost performance, so that for example certain safety aspects of larger railway stations can now be verified, and this using less resources. |
| Sectors | Digital/Communication/Information Technologies (including Software) |
| Description | Our first preliminary findings indicate that branching heuristics for constraint satisfaction problems could possibly be improved on a large scale. This would help solving constraint satisfaction problems much quicker, and could possibly be applied to a great variety of problems. We have only data for now on very restricted benchmarks, and only using very inefficient implementations (at the moment), and thus further practical work and research work is needed. If succesful, then the methods could be picked up by any solver in the field, and thus could transform the field and its applications. There are also clear indications for strongly improved performance on certain industrial benchmarks, related to railway verification (of designs, regarding safety). |
| First Year Of Impact | 2022 |
| Sector | Digital/Communication/Information Technologies (including Software) |
| Impact Types | Economic |
| Description | Applications of SAT: collaboration with Armin Biere and his team |
| Organisation | Johannes Kepler University of Linz |
| Country | Austria |
| Sector | Academic/University |
| PI Contribution | Theory of Satisfiability, especially Cube-and-Conquer and the theory of autarkies |
| Collaborator Contribution | Expertise with implementations, experimentations, applications. |
| Impact | Chapter Cube-and-Conquer for Satisfiability. Handbook of Parallel Constraint Reasoning 2018: 31-59 Conference paper Autarkies for DQCNF. FMCAD 2019: 179-183. Conference paper Transforming Quantified Boolean Formulas Using Biclique Covers. TACAS (2) 2023: 372-390 The team of Armin Biere helped with designing and testing generators for random DQCNF; the software, which for the first time will enable reproducible creation of random DQCNF, will be released 2025. |
| Start Year | 2018 |
| Description | Applications of SAT: collaboration with Joao Marques-Silva and his team |
| Organisation | University of Toulouse |
| Country | France |
| Sector | Academic/University |
| PI Contribution | The goal here is to extend the Cube-and-Conquer framework (solving hard SAT problems) beyond SAT. A backtracking algorithm for computing the union of minimally unsatisfiable subsets of a CNF has been developed, implemented and tested. |
| Collaborator Contribution | The idea and theory for the algorithm is mine, while the partners contributed their expertise in implementations, experimentation and evaluation. |
| Impact | The conference paper On Computing the Union of MUSes. SAT 2019: 211-221. |
| Start Year | 2018 |
| Description | Collaboration with Swansea Railway Group (and Prof. Markus Roggenbach) |
| Organisation | Swansea University |
| Country | United Kingdom |
| Sector | Academic/University |
| PI Contribution | Expertise on SAT solving, applied to railway safety. |
| Collaborator Contribution | Semantics of Ladder Logic, benchmarks from Siemens, application of IC3. |
| Impact | The first paper is close to being finished. |
| Start Year | 2018 |
| Description | Solving hard combinatorial problems via SAT, with the group of Vijay Ganesh |
| Organisation | University of Waterloo |
| Country | Canada |
| Sector | Academic/University |
| PI Contribution | The general theory of Cube-and-Conquer, applied to hard combinatorial problems. |
| Collaborator Contribution | Methods for solving hard problems, especially in the realm of computer algebra. |
| Impact | Future paper and software is expected 2025/26; the specific collaboration was done by Curtis Bright, and is now being continued by Vijay Ganesh. |
| Start Year | 2019 |
| Title | OKsolver2.0: the basic cube-solver |
| Description | OKsolver was the original Cube-and-Conquer solver. With that release an easier access to its facilities will be given. The official release of version 2.0 (currently version 1.58 on Github) will be in 2025. |
| Type Of Technology | Software |
| Year Produced | 2025 |
| Open Source License? | Yes |
| Impact | Numerous hard combinatorial problems have been solved, with the OKsolver as cubing-solver. |
| URL | https://github.com/OKullmann/oklibrary/tree/master/Satisfiability/Solvers/OKsolver/SAT2002 |
| Title | The BRG random generator suite |
| Description | Three generators BRG, QBRG, DQBRG, for the reproducible and high-quality generation of random CNFs, QCNFs and DQCNFs. The official release will happen 2025. |
| Type Of Technology | Software |
| Year Produced | 2025 |
| Open Source License? | Yes |
| Impact | Various groups have already used this software. |
| URL | https://github.com/OKullmann/oklibrary/tree/master/Satisfiability/Transformers/Generators/Random |
| Title | The Latin Squares workbench |
| Description | A comprehensive approach for a vast number of Latin-square-related problems, offering many solving modes. |
| Type Of Technology | Software |
| Year Produced | 2025 |
| Open Source License? | Yes |
| Impact | Yet only internal usage. |
| URL | https://github.com/OKullmann/oklibrary/tree/master/Satisfiability/Solvers/Gecode/MOLS |
| Title | The LatinSquare generators |
| Description | A suite for the generation of various SAT-encodings of Latin-square-related problems. The official release will take place 2025. |
| Type Of Technology | Software |
| Year Produced | 2025 |
| Open Source License? | Yes |
| Impact | Yet only internal use, cited in papers to be submitted. |
| URL | https://github.com/OKullmann/oklibrary/tree/master/Satisfiability/Transformers/Generators/LatinSquar... |
| Title | tawSolver3: a SAT solver with good parallelisation and which can count |
| Description | A SAT and #SAT solver (can also enumerate etc.), efficient on special problems, and with perfect parallelisation. Currently the tawSolver3 has not been officially released (version 2.20 is on Github). |
| Type Of Technology | Software |
| Year Produced | 2024 |
| Open Source License? | Yes |
| Impact | The tawSolver is efficient on certain hard combinatorial problems (for example Ramsey-type problems, or the area of Latin squares). |
| URL | https://github.com/OKullmann/oklibrary/tree/master/Satisfiability/Solvers/TawSolver/tawSolver.cpp |
| Description | Discussions with railway experts |
| Form Of Engagement Activity | A formal working group, expert panel or dialogue |
| Part Of Official Scheme? | No |
| Geographic Reach | National |
| Primary Audience | Professional Practitioners |
| Results and Impact | I participated regularly at various meetings organised by the Swansea Railway Verification Group. I was active in numerous discussions related primarily to railway safety and its changing needs. This informed the current ongoing activities about applying SAT to railway safety, and informed the other participants about the research and potential of the field. |
| Year(s) Of Engagement Activity | 2023,2024,2025 |
