1 Decision heuristics based on an Abstraction/Refinement model Ofer Strichman Roman Gershman An earlier version was presented in IBMs verification conference.

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

Mathematical Preliminaries
Copyright © Cengage Learning. All rights reserved.
Constraint Satisfaction Problems
Feichter_DPG-SYKL03_Bild-01. Feichter_DPG-SYKL03_Bild-02.
Flexible access control policy specification with constraint logic programming Steve Barker, Peter J. Stuckey Presenter: Vijayant Dhankhar.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski, M. Nekovee, Y. T. Hou (Elsevier, December 2009) 1 Chapter 12 Cross-Layer.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
UNITED NATIONS Shipment Details Report – January 2006.
Summary of Convergence Tests for Series and Solved Problems
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Year 6 mental test 10 second questions
Evaluating Window Joins over Unbounded Streams Author: Jaewoo Kang, Jeffrey F. Naughton, Stratis D. Viglas University of Wisconsin-Madison CS Dept. Presenter:
Solve Multi-step Equations
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
Intel VTune Yukai Hong Department of Mathematics National Taiwan University July 24, 2008.
Chapter 1 Object Oriented Programming 1. OOP revolves around the concept of an objects. Objects are created using the class definition. Programming techniques.
EU market situation for eggs and poultry Management Committee 20 October 2011.
Hash Tables.
MAT 205 F08 Chapter 12 Complex Numbers.
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
Chapter 5 Plan-Space Planning.
2 |SharePoint Saturday New York City
Green Eggs and Ham.
IP Multicast Information management 2 Groep T Leuven – Information department 2/14 Agenda •Why IP Multicast ? •Multicast fundamentals •Intradomain.
VOORBLAD.
Chapter 6 The Mathematics of Diversification
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
Hypothesis Tests: Two Independent Samples
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
© 2012 National Heart Foundation of Australia. Slide 2.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Model and Relationships 6 M 1 M M M M M M M M M M M M M M M M
25 seconds left…...
1 Using one or more of your senses to gather information.
Statistical Inferences Based on Two Samples
10 -1 Chapter 10 Amortized Analysis A sequence of operations: OP 1, OP 2, … OP m OP i : several pops (from the stack) and one push (into the stack)
Analyzing Genes and Genomes
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
Techniques for proving programs with pointers A. Tikhomirov.
Chapter 5 The Mathematics of Diversification
SAT Solver CS 680 Formal Methods Jeremy Johnson. 2 Disjunctive Normal Form  A Boolean expression is a Boolean function  Any Boolean function can be.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
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.
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
1 Agenda Modeling problems in Propositional Logic SAT basics Decision heuristics Non-chronological Backtracking Learning with Conflict Clauses SAT and.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Decision Procedures An Algorithmic Point of View
Decision heuristics based on an Abstraction/Refinement model
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

1 Decision heuristics based on an Abstraction/Refinement model Ofer Strichman Roman Gershman An earlier version was presented in IBMs verification conference (Haifa, Oct. 05). Technion (HaifaSat)

Technion 2 SAT solving Naïve point of view: Searches in the decision tree, prunes subspaces. Creates blocking clauses that do not allow the solver to choose the same path again. This point of view fails to explain why We can solve many formulas with 10 5 variables, We cannot solve other formulas with 10 3 variables

Technion 3 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.

Technion 4 Abstraction of models and formulas Model is an (over approximating) abstraction of M if: A QF formula is an (over-approximating) abstraction of F if: F !F ! or simply:

Technion 5 Model refines if: Formula refines if: Refinement of models and formulas F !, ! or simply:

Technion 6 Abstraction of formulas Now consider Binary Resolution: ( A _ x ) ^ ( B _ : x ) ! ( A _ B ) Conflict Clauses are derived through a process of Binary Resolution. over-approximates F !F !

Technion 7 Resolution Graph O1O1 O2O2 O3O3 O4O4 O6O6 O7O7 i1i1 C-1 i2i2 i3i3 O5O5 C-2 C-3 i4i4 Binary DAG with intermediate and conflict clauses. Each node in the graph is an abstraction of its antecedents Collapsed DAG with multi-degree nodes C-1 C- 3 C-2 O1O1 O2O2 O3O3 O4O4 O5O5 O6O6 O7O7

Technion 8 Conflict clauses Several modern Decision Heuristics are guided by the Conflict Clauses (e.g. Berkmin) Hence, we can analyze them with the Abstraction/Refinement model.

Technion 9 Berkmins heuristic Push conflict clauses to a stack. Find the first unsatisfied clause and choose a variable from this clause. Secondary heuristic: VSIDS (Zchaff).

Technion 10 Berkmin heuristic tail- first conflict clause A new conflict clause

Technion 11 Let F denote the original formula abstracts F ( F ! ) refines ( F !, ! ) Berkmin heuristic tail- first conflict clause Check of abstract assignment fails

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

Technion 13 Choosing the next clause by traversing the resolution graph: a general scheme 1. Mark all sinks. 2. Choose an unresolved marked clause C (If there are none - exit) 3. process C // attempt to satisfy C. 4. Mark C s antecedents. Berkmin chooses a clause only if all its descendents are already satisfied.

Technion 14 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. HaifaSats strategy: Do not store graph Be more abstraction-focused than Berkmin

Technion 15 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. secondary strategy: the VMTF (Siege) heuristic. Gives us the first-layer approximation of the graph.

Technion 16 CMTF 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. C-1 C-3 C-2 C-0

Technion 17 News A new technique developed in IBM-Haifa allows to shrink the graph stored in memory by ~ an order of magnitude. So, assuming the graph is in memory, the search for new strategies is now open… A contention between conflict-driven and abstraction-driven.

Technion 18 Decision Conflict Decision Level Time Activity Score C x =1 C1C1 C5C5 C4C4 C3C3 C2C2 time dedicated for refuting x =1 time dedicated for creating C T1(C) Time C is asserting T2(C)

Technion 19 Given a clause: choose a variable. The activity score. The Activity of a variable v : Let V be the set of variables that were resolved on in T1(C) on the resolution path of C. Add +1 for each v 2 V in the interval T2(C) Occasionally, divide all scores. A cheap recursive computation embedded in the First-UIP scheme.

Technion 20 Results 165 industrial hard benchmarks from previous SAT competitions. All heuristics (Berkmin, VSIDS) implemented inside HaifaSat for fair comparison. Comparing…TimeFails CMTFBerkmin10%12-25% RBSVSIDS23%20-30% Berkmin a little better than zChaff 2004

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

Technion 22 HaifaSat Vs. zChaff 2004

Technion 23 Results –SAT05 (Industrial)

Technion 24 Results –SAT05 (Industrial)

Technion 25 Competition... Independently, very similar principles were discovered by Dershowitz, Hanna and Nadel [SAT05] Reached very similar conclusions Their black-box Eureka SAT solver took several first and second places in last years competition.

Technion 26 What we explore now We are currently investigating the possibility to use Hints for dealing with hard instances Hints: a yet-unpublished work by Kroening, Yorav, Shacham. The original use of hints: using presumed high- level knowledge to speed SAT.

Technion 27 Hints 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 only used for deriving more hints.

Technion 28 Hints (cont.) Use hints to prune seemingly hopeless branches (SHB) Define a monotonically decreasing function f : decision-level time-interval If time at decision level dl > f ( dl ) move to another branch. It is seemingly hopeless. Actively: force backtracking Passively: wait for a restart

Technion 29 Hints: Example A hint clause: ( : l 1 : l 2 : l 3 ). Option #1: hint = negation of partial assignment Option #2: hint = projection of #1 to literals that were used in the SHB. l1l1 l2l2 l3l3 : l 3 SHB

Technion 30 Combining Hints and restarts Some heuristics to be tried: Change restart policy, using f. Local restarts: only from a certain decision level …

Technion 31 Hints and restarts A restart is effective because of randomization and/or learning. Hints will add new conjectures. Bart Selman: You can not restart too much Perhaps now: You can not hint too much

Technion 32 Decision Conflict Decision Level Time work invested in refuting x =1 (some of it seems wasted) C x =1 Refutation of x =1 C1C1 C5C5 C4C4 C3C3 C2C2 Activity Score

Technion 33 Conflict Decision C1C1 Level Time x =1 Refutation of x =1 C5C5 C4C4 C3C3 C2C2 C C5C5 C2C2 C4C4 Weight is given to variables resolved-on in the process of resolving C C Activity Score C0C0

Technion 34 Results (sec., average) Benchmark(#)Berkmin+VSIDSCMTF+RBS Hanoi(5) IP(4) Hanoi03(4) Check-int(4) Bmc2(6) Fifo8(4) Fvp2(22) W08(3) Ibm02(9) _rule(20) _rule_2(20)

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