Decision heuristics based on an Abstraction/Refinement model

Slides:



Advertisements
Similar presentations
Automated abstraction refinement II Heuristic aspects Ken McMillan Cadence Berkeley Labs.
Advertisements

The behavior of SAT solvers in model checking applications K. L. McMillan Cadence Berkeley Labs.
Exploiting SAT solvers in unbounded model checking
Exploiting SAT solvers in unbounded model checking K. L. McMillan Cadence Berkeley Labs.
1 Decision heuristics based on an Abstraction/Refinement model Ofer Strichman Roman Gershman An earlier version was presented in IBMs verification conference.
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Presenting:
1 Local Restarts in SAT Solvers Vadim Ryvchin and Ofer Strichman Technion, Haifa, Israel.
Introduction to MiniSat v1.14 Presented by Yunho Kim Provable Software Lab, KAIST.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
Abstract Answer Set Solver. Todolist Print the rules of Fig 1.
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM (HRL)
Proof-based Abstraction Presented by Roman Gershman Ken McMillan, Nina Amla.
Boolean Satisfiability Solvers Wonhong Nam
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: February 4, 2009 Modern SAT Solvers ({z}Chaff, GRASP,miniSAT)
On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory.
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
Technion 1 Generating minimum transitivity constraints in P-time for deciding Equality Logic Ofer Strichman and Mirron Rozanov Technion, Haifa, Israel.
Formal Verification Group © Copyright IBM Corporation 2008 IBM Haifa Labs SAT-based unbounded model checking using interpolation Based on a paper “Interpolation.
1 A theory-based decision heuristic for DPLL(T) Dan Goldwasser Ofer Strichman Shai Fine Haifa university TechnionIBM-HRL.
1 Understanding the Power of Clause Learning Ashish Sabharwal, Paul Beame, Henry Kautz University of Washington, Seattle IJCAI ConferenceAug 14, 2003.
Pruning techniques for the SAT-based Bounded Model-Checking problem Ofer Shtrichman Weizmann Institute of Science & IBM - HRL.
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM-HRL.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 21, 2008 Modern SAT Solvers ({z}Chaff, GRASP,miniSAT)
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
Boolean Satisfiability and SAT Solvers
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
1 Agenda Modeling problems in Propositional Logic SAT basics Decision heuristics Non-chronological Backtracking Learning with Conflict Clauses SAT and.
Boolean Satisfiability Present and Future
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Maximum Density Still Life Symmetries and Lazy Clause Generation Geoffrey Chu, Maria Garcia de la Banda, Chris Mears, Peter J. Stuckey.
SAT Solver Heuristics. SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) –Able to solve variable problems Satz (Chu Min.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 A framework for eager encoding Daniel Kroening ETH, Switzerland Ofer Strichman Technion, Israel (Executive summary) (submitted to: Formal Aspects of.
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
CS137: Electronic Design Automation
Hybrid BDD and All-SAT Method for Model Checking
Inference and search for the propositional satisfiability problem
Computability and Complexity
Parallelism in SAT Solvers
A theory-based decision heuristic for DPLL(T)
Deriving small unsatisfiable cores with dominators
COSC160: Data Structures Linked Lists
Structural testing, Path Testing
Heuristics for Efficient SAT Solving
Mining backbone literals in incremental SAT
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Decision Procedures An Algorithmic Point of View
Efficient MUS Extraction with Resolution
Stronger learning and higher backjumping
Solving Non-clausal Formulas with DPLL search
SAT Based Abstraction/Refinement in Model-Checking
GRASP-an efficient SAT solver
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

Decision heuristics based on an Abstraction/Refinement model (HaifaSat) Ofer Strichman Roman Gershman Technion

SAT solving “Naïve” point of view: Searches in the decision tree, prunes subspaces. Creates “blocking clauses” that restrain the solver from choosing the same bad path again. This point of view fails to explain why We can solve many formulas with 105 variables, We cannot solve other formulas with 103 variables

A different point of view Modern solvers act as proof engines based on resolution, rather than as search engines, with structured problems. Evidence: adding the shortest conflict clauses is not the best strategy [R04]. Furthermore: certain strategies resemble a proof by abstraction-refinement.

Abstraction of models and formulas Model is an (over approximating) abstraction of M if: A degenerated case: Formula is an (over-approximation) abstraction of F if: F ! or simply:

Abstraction of formulas Now consider Binary Resolution: (AÇ x) Æ (B Ç :x) ! (A Ç B) F ! over-approximates

Resolution Graph Binary DAG with intermediate and conflict clauses. Collapsed DAG with multi-degree nodes C-1 C-3 C-2 O1 O2 O3 O4 O5 O6 O7 O1 O2 O3 O4 O6 O7 i1 c-1 i2 i3 O5 c-2 C-3 i4 Each node in the graph is an abstraction of its descendants

Refinement of models and formulas An intermediate model is a refinement of if: An intermediate formula is a refinement of if: F ! , ! or simply:

Why all this theory? … Because Conflict Clauses are derived through a process of resolution. Several modern Decision Heuristics are guided by the Conflict Clauses (e.g. Berkmin) Hence, we can analyze them with the Abstraction/Refinement model.

Berkmin’s heuristic Push conflict clauses to a stack. Find the first unsatisfied clause and choose a variable from this clause. If all conflict clauses are satisfied, choose a variable according to the VSIDS (Zchaff) heuristic.

Berkmin heuristic A new conflict clause tail- first conflict clause Berkmin satisfies all the clauses until c. This is current abstract model M of formula f. After a conflict, Berkmin retreats with a new conflict clause. When it comes back and satisfies again all clauses until c, it creates an refinement of M.

Check of abstract assignment fails Berkmin heuristic Let φ denote the original formula F abstracts φ (φ ! F ) is a refinement of F with respect to φ (φ ! , ! F ) Berkmin satisfies all the clauses until c. This is current abstract model M of formula f. After a conflict, Berkmin retreats with a new conflict clause. When it comes back and satisfies again all clauses until c, it creates an refinement of M. tail- first conflict clause F Check of abstract assignment fails

Berkmin heuristic Does not focus on a specific Abstraction/Refinement path. Generally: hundreds of clauses can be between a clause and its resolving clauses. C-3 C-2 C-1

A General Heuristic for choosing the next clause Mark all roots. Choose an unresolved marked clause V (If there are none - exit) Decide a variable from V until it is satisfied. Mark V’s children

The Clause-Move-To-Front (CMTF) heuristic Is an instantiation of the general heuristic Does not need to store the whole graph. More focused than Berkmin.

Progressing on the resolve graph Progress with “Best-First” according to some criterion. Must store the whole resolve graph in memory – this is frequently infeasible. HaifaSat’s strategy: Do not store graph Be more abstraction-focused than Berkmin

The CMTF heuristic Position conflict clauses together with their resolving clauses in the end of a list. Find the first unsatisfied clause and choose a variable from this clause. If all conflict clauses are satisfied, choose a variable according to the VMTF (Siege) heuristic. Gives us the ‘first-layer approximation’ of the graph.

CMTF C-3 C-2 C-1 C-0 When C-3 is created, C-0, C-1 are moved to the head of the list together with C-3. C-2 is left in place.

Given a clause: choose a variable. The Activity of a variable v: Activity score of a variable increases when it is a resolution variable, but… only when the clause it helped resolving is currently relevant, and… it happened recently A recursive computation embedded in the First-UIP scheme.

Activity Score work invested in refuting x=1 (some of it seems wasted) Refutation of x=1 C5 C2 Decision Level C1 C4 C3 Decision Time Conflict

Activity Score Weight is given to variables resolved-on in the process of resolving C C5 C C2 C0 C x=1 Refutation of x=1 C5 C2 Decision Level C1 C4 C3 Decision Time Conflict

Results (sec., average) Benchmark (#) Berkmin+VSIDS CMTF+RBS Hanoi (5) 530 130 IP (4) 395 203 Hanoi03 (4) 1342 426 Check-int (4) 3323 681 Bmc2 (6) 1030 1261 Fifo8 (4) 3944 1832 Fvp2 (22) 8638 1995 W08 (3) 5347 2680 Ibm02 (9) 9710 3875 01_rule (20) 33642 19171 11_rule_2 (20) 34006 22974

(CMTF + RBS) Vs. Berkmin (both implemented inside HaifaSat)

HaifaSat Vs. zChaff 2004

Results –SAT05 (Industrial)

Results –SAT05 (Industrial) Sorted by what ?

Competition... Independently, very similar principles were discovered by Dershowitz, Hana and Nadel [SAT’05] Reached very similar conclusions Their ‘black-box’ Eureka SAT solver took several first and second places in last year’s competition.

And now... Two research directions Better refinement strategies. Hints.

Recall the general framework: Mark all roots. Choose an unresolved marked clause V (If there are none - exit) Decide a variable from V until it is satisfied. Mark V’s children

But, HaifaSat does not really traverse the resolution graph. The assumption is: the graph is too large to store in memory. But, there are news: A new technique developed in IBM-Haifa allows to shrink the graph stored in memory by two orders of magnitude. The search for new refinement strategies is now open...

Refinement-driven Vs. Conflict-driven search. W(c) = ci 2 antecedents(c) W(ci) How should we balance between refinement-driven and conflict-driven strategies ? O-1 O-2 O-3 O-4 O-5 O-6 O-7 O-8

Hints An (unpublished) idea by (Kroening, Yorav, Shacham) Hints are constraints (clauses) that are conjectured to be true. A separate BCP processes the set of conjectured clauses. An implied literal becomes the next decision. A conflict is ignored.

Hints (cont.) The original use of hints: high-level knowledge. We suggest: prune ‘seemingly hopeless branches (SHB)’ Define a monotonically decreasing function f: decision-level  time-interval If time at decision level dl > f(dl) prune the branch. This branch is seemingly hopeless.

Hints: Example A hint clause: (:l1 :l2 :l3) Perhaps a better idea: SHB A hint clause: (:l1 :l2 :l3) Perhaps a better idea: Keep track on which subset S of l1 ... l3 were used in the SHB. The negation of literals in S is a better hint.

Hints vs. restarts Not entirely orthogonal techniques. A restart is effective because of randomization and/or learning. Hints are more directed: they push the solver away from seemingly hopeless branches. Also: it is activated due to local consideration, and not a global clock. Bart Selman: “You can not restart too much” Perhaps now: “You can not hint too much”