Splatz SAT Solver POS 16

Similar documents
Lingeling Essentials POS 2014

Modern SAT Solvers. Part B. Vienna Winter School on Verification. 9 February TU Vienna, Austria

Circuit versus CNF Reasoning for Equivalence Checking

Translating into SAT

arxiv: v1 [cs.lo] 17 Oct 2013

Automated Testing and Debugging of SAT and QBF Solvers

ABC basics (compilation from different articles)

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

CS-E3220 Declarative Programming

CDCL SAT Solvers. Joao Marques-Silva. Theory and Practice of SAT Solving Dagstuhl Workshop. April INESC-ID, IST, ULisbon, Portugal

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

Local Two-Level And-Inverter Graph Minimization without Blowup

Experimenting with SAT solvers in Vampire?

Combinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets

Efficient satisfiability solver

Covered Clause Elimination

Practical SAT Solving

An Effective Learnt Clause Minimization Approach for CDCL SAT Solvers

Boolean Representations and Combinatorial Equivalence

DRAT-trim: Efficient Checking and Trimming Using Expressive Clausal Proofs

MegoSAT project Differential cryptanalysis with SAT solvers

Simulating Circuit-Level Simplifications on CNF

Evaluating CDCL Variable Scoring Schemes

Preprocessing in Incremental SAT

QuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University

Multi Domain Logic and its Applications to SAT

Resolve and Expand. Armin Biere

Applying Logic Synthesis for Speeding Up SAT

CS-E3200 Discrete Models and Search

SAT/SMT Solvers and Applications

MaxPre: An Extended MaxSAT Preprocessor?

ESE535: Electronic Design Automation CNF. Today CNF. 3-SAT Universal. Problem (A+B+/C)*(/B+D)*(C+/A+/E)

Efficient Circuit to CNF Conversion

MegoSAT. A concurrent SAT solver in Go. Today: Search for directions. Lukas Prokop

Preprocessing in Pseudo-Boolean Optimization: An Experimental Evaluation

Mechanically-Verified Validation of Satisfiability Solvers

Blocked Clause Elimination

Preprocessing in Pseudo-Boolean Optimization: An Experimental Evaluation

Efficient SAT Solving under Assumptions

A Propagation Rate based Splitting Heuristic for Divide-and-Conquer Solvers

arxiv: v2 [cs.lo] 19 Dec 2015

Decision Procedures and SMT

Improving Local Search for Bit-Vector Logics in SMT with Path Propagation

Boolean Satisfiability Solving Part II: DLL-based Solvers. Announcements

PicoSAT Essentials. Abstract

Using Community Structure to Detect Relevant Learnt Clauses

Compositional Propositional Proofs

Resolve and Expand. Armin Biere. Computer Systems Institute ETH Zürich, Switzerland

Turbo-Charging Lemmas on Demand with Don t Care Reasoning

On Hybrid SAT Solving Using Tree Decompositions and BDDs

Foundations of AI. 8. Satisfiability and Model Construction. Davis-Putnam, Phase Transitions, GSAT and GWSAT. Wolfram Burgard & Bernhard Nebel

SAT. ReRiSE 14 Winter School Reasoning for Rigorous System Enineering. Johannes Kepler University Linz, Austria

Practical SAT Solving

System Description: iprover An Instantiation-Based Theorem Prover for First-Order Logic

Practical SAT algorithms

Blocked Clauses in First-Order Logic

Seminar decision procedures: Certification of SAT and unsat proofs

Automated Reencoding of Boolean Formulas

Satisfiability Solvers

SAT Solver Heuristics

CDCL SAT Solvers & SAT-Based Problem Solving

A Lightweight Component Caching Scheme for Satisfiability Solvers

Problem-Sensitive Restart Heuristics for the DPLL Procedure

Mixed Integer Linear Programming

NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances

Faster SAT Solving with Better CNF Generation

Improving Glucose for Incremental SAT Solving with Assumptions: Application to MUS Extraction. Gilles Audemard Jean-Marie Lagniez and Laurent Simon

Trends in Constraint Programming. Frédéric BENHAMOU Narendra JUSSIEN Barry O SULLIVAN

Minion: Fast, Scalable Constraint Solving. Ian Gent, Chris Jefferson, Ian Miguel

ECE 3060 VLSI and Advanced Digital Design

DPLL(T ):Fast Decision Procedures

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS

Versatile SAT-based Remapping for Standard Cells

New Encodings of Pseudo-Boolean Constraints into CNF

Boolean Functions (Formulas) and Propositional Logic

Deductive Methods, Bounded Model Checking

SAT Race Faculty of Engineering and Natural Sciences Altenbergerstr. 69, 4040 Linz, Austria jku. at

Decision Procedures. An Algorithmic Point of View. Decision Procedures for Propositional Logic. D. Kroening O. Strichman.

SAT Solvers in the Context of Cryptography

Memory Hierarchy Utilization of a SAT Solver

Trimming while Checking Clausal Proofs

Lookahead Saturation with Restriction for SAT

Blocked Literals are Universal

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS

Stochastic greedy local search Chapter 7

Cryptanalysis of Symmetric-Key Primitives: Automated Techniques

LEARNING TO INSTANTIATE QUANTIFIERS

COUNTEREXAMPLE-GUIDED MODEL SYNTHESIS

Clause Sharing and Partitioning for Cloud-Based SMT Solving

Constraint Reasoning Part 2: SAT, PB, WCSP

Exploring A Two-Solver Architecture for Clause Learning CSP Solvers. Ozan Erdem

View-based Propagator Derivation

A Structure-Based Variable Ordering Heuristic for SAT. By Jinbo Huang and Adnan Darwiche Presented by Jack Pinette

Functional extension of structural logic optimization techniques

2 Decision Procedures for Propositional Logic

versat: A Verified Modern SAT Solver

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability

The Gurobi Optimizer. Bob Bixby

Bounded Model Checking with Parametric Data Structures

SAT Solvers: A Condensed History. Sharad Malik Princeton University COS 598d 3/1/2010

Transcription:

Splatz SAT Solver Armin Biere Johannes Kepler Universität Linz Pragmatics of SAT 2016 POS 16 Université de Bordeaux Bordeaux, France Monday, 4th July, 2016

Motivation 1 What do you really want to have in a SAT solver? Niklas asked in Austin... common impression: Lingeling has too many stuff implemented tuned to existing benchmarks, reached local minimum implementing / tuning / debugging takes time and is error prone hard to figure what is really important and hard to evaluate new ideas Restart to figure out... painful, since Lingeling is good on current benchmarks taking away features (moving away from local minimum) solves less instances but chance for simplifying design based on new insights Glucose style restarts with exponential smoothing averages [POS 15] using variable move to front (VMTF) instead of VSIDS [SAT 15] experimenting with certain ideas is very hard to implement within Lingeling inprocessing of SAT sweeping + blocked clause decomposition (BCD) [LPAR 13] new subsumption algorithm (on learned clauses too) Splatz @ POS 15

SAT'14 Competition Application Track Instances Time (in seconds) 0 200 400 600 800 1000 Splatz Lingeling 0 50 100 150 200 Benchmarks

Lingeling versus Splatz Splatz 0 200 400 600 800 1000 0 200 400 600 800 1000 2d strip packing argumentation bio crypto aes crypto des crypto gos crypto md5 crypto sha crypto vpmc diagnosis fpga routing hardware bmc hardware bmc ibm hardware cec hardware manolios hardware velev planning scheduling scheduling pesp software bit verif software bmc symbolic simulation termination Lingeling

Simplifications / Inprocessing SAT'14 Application Track Benchmarks Benchmarks 0 50 100 150 200 250 300 Lingeling Splatz 0 5 10 15 20 25 30 35 Inprocessing Round

Time spent in BCD and SAT Sweeping Time (in seconds) 0 100 200 300 400 Inprocessing Subsume Sweeping BCD BVE 0 50 100 150 200 250 300 Benchmarks

SAT Sweeping and Blocked Clause Decomposition 6 Simulate structural SAT sweeping in CNF [LPAR 13] uses blocked clause decomposition (BCD) instead of structural knowledge blocked part of BCD acts as circuit (e.g., can be simulated) goal is to find backbone variables and equivalences relies on effectiveness of BCD (goal is highly unbalanced BCD) Inprocessing version interleaved with CDCL search original experiments in preprocessing mode inprocessing can take learned facts into account Inprocessing Results mixed does not allow to effectively simulate simple probing in Lingeling 17,339 backbones and 39,696 equivalences through sweeping while 3,897,113 ELS and 425,098 Failed Literals difficult to find and tune good decomposition algorithms: linear (70% / 54%), pure-linear (72% / 69%), pure-inverse (71% / 70%) circuit structure for effective BCD is partially lost (in inprocessing) Splatz @ POS 15

Issues with Subsumption 7 SATeLite style subsumption: interleave bounded variable style elimination (BVE)...... with backward subsumption: go over all clauses C try to find clause D with C D full occurrences, walk occurrence list of literal in with smallest entries also tries to strengthen clauses quite expensive if not bounded (number of occurrences checked) particularly full occurrence lists prohibit use for learned clauses Glucose keeps low glue learned clauses forever (even if subsumed) MiniSAT just automatically discards them due to low activity small learned clauses might subsume or strengthen even irredundant clauses would be good to include subsumption checking on and with learned clauses too new subsumption algorithm inspired by [BayardoPanda 11] Splatz @ POS 15

New Subsumption Algorithm 8 as in SATeLite, MiniSAT, Glucose with BVE in phases considers learned clauses as subsumed and subsuming clauses too forward subsumption checking only needs one watch per clause smallest clauses are checked for being subsumed first literals in clauses sorted by number of occurrences go over all other clauses in watch lists of literals in candidate subsumed clause mark literals in candidate subsumed clause first case: other clause same size second case: other clause smaller then check all literals in it marked third case: other clause larger then use merge sort style check still can become costly and has to be limited comparable in speed to the actual BVE phase fast enough to be called once in a geometric schedule on learned clauses Splatz @ POS 15

Subsumed Irredundant and Redundant Clauses SAT'14 Application Track Subsumed Clauses 1e+00 1e+02 1e+04 1e+06 0 50 100 150 200 250 300 Benchmarks Redundant Irredundant

Features (I) 10 arena based memory allocation for clauses and watchers Thank you, Norbert & Mate! blocking literals (BLIT) special handling of binary clause watches literal-move-to-front watch replacement (LMTF) learned clause minimization with poison on-the-fly hyper-binary resolution (HBR) learning additional units and binary clauses (multiple UIPs) on-the-fly self-subsuming resolution (OTFS) decision only clauses (DECO) failed literal probing on binary implication graph roots eager recent learned clause subsumption Splatz @ POS 15

Features (II) 11 stamping based VMTF instead of VSIDS subsumption for both irredundant and learned clauses inprocessing blocked clause decomposition (BCD) enabling...... inprocessing SAT sweeping for backbones and equivalences equivalent literal substitution (ELS) bounded variable elimination (BVE) blocked clause elimination (BCE) dynamic sticky clause reduction exponential moving average based restart scheduling delaying restarts trail reuse Splatz @ POS 15