Presentation is loading. Please wait.

Presentation is loading. Please wait.

Boolean Satisfiability Present and Future

Similar presentations


Presentation on theme: "Boolean Satisfiability Present and Future"— Presentation transcript:

1 Boolean Satisfiability Present and Future
Lintao Zhang Microsoft Research SVC

2 SAT: Introduction Deciding the satisfiability of Boolean formulas
SAT: Propositional ( usually in Conjunctive Normal Form (CNF) ) QBF: With quantifiers Many driving forces Verification Electronic Design Automation (EDA) Artificial Intelligence Operational Research Physics ??? Where is SAT used in our context? A basic building block for the reasoning engine Reasoning on Boolean domain Driving branching and backtracking for search Model Checking Decision Procedures Etc.

3 SAT Solvers: Current State-of-the-Art
Tremendous performance improvements on Propositional SAT solvers in the last decade Speed increased by at least 3 orders of magnitude We regularly solve SAT instances with tens of thousands variables and clauses Example: Microprocessor verification, Bounded Model Checking, 14 Cycles 1 million variables, 10 million literals initially 200 million literals in added clauses 30 million literals finally 4 million clauses initially 200k clauses added 1.5 million decisions 3 hours run time

4 SAT Solvers: Current State-of-the-Art
Non performance related improvements of SAT solvers: Explanatory SAT solver UNSAT: Unsatisfiable core extraction SAT: Minimal model extraction Interpolation using SAT solver Checkable proof of unsatisfiability On line progress report In the last several years, SAT solver changed from a toy with only academic interest to become a powerful and feature rich deduction method capable of industrial strength applications.

5 Can we increase the SAT solver speed even more?
Yes. Better heuristics and better implementations are proposed everyday But the improvements are incremental DPLL is the dominating algorithm for SAT solving for more than 40 years Basic DPLL algorithm is proposed in 1962 Learning and non-chronological backtracking (1996) Careful implementation and tuning (2001) 2-Literal Watching BCP, VSIDS decision heuristic, 1-UIP learning, etc. What’s going on? Better decision/branching heuristics Better learning and garbage collection schemes Leverage the structure of the Boolean formula What’s next? We cannot bet on any breakthrough without fundamentally change the way the algorithm works i.e. Don’t bet on another 3 orders of magnitude speed up in the next 10 years.

6 SAT Solver as a White Box
Traditional usage of SAT as a Black Box Translate the problem into a monolithic CNF instance Throw it to the SAT solver and pray Used to work well To squeeze the last bit of performance out of a SAT solver, current applications need to treat SAT as a White Box We need to use the knowledge about the application to help the SAT solver Input to the SAT solver may be a Boolean formula combined with: Branching suggestions Domain specific implications Continuous interaction because of abstract and refinement …… SAT engines need to be expandable, with cleanly defined interfaces. What can the applications offer?

7 QBF: Quantified Boolean Formulas
Many applications stress SAT solver because of quantifications Eliminate quantification by expansion: the formula becomes exponentially large Eliminate quantification by solution enumeration: SAT solver is bad at this Unlike SAT, QBF just started to attract interests from researchers in the last couple of years No predominant algorithm DPLL search Resolution BDD And many other approaches… Quantification elimination is hard (exponential in space), while deciding the satisfiability of a QBF may not be. Will there be a breakthrough in the near future? Much more probable than a breakthrough in SAT


Download ppt "Boolean Satisfiability Present and Future"

Similar presentations


Ads by Google