Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient SAT Solving Under Assumptions Alexander Nadel 1 and Vadim Ryvchin 1,2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12, Trento, Italy.

Similar presentations


Presentation on theme: "Efficient SAT Solving Under Assumptions Alexander Nadel 1 and Vadim Ryvchin 1,2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12, Trento, Italy."— Presentation transcript:

1 Efficient SAT Solving Under Assumptions Alexander Nadel 1 and Vadim Ryvchin 1,2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12, Trento, Italy

2 Motivation: Real-Life Experience at Intel  Critical non-incremental property unsolved in 48 hours by the SAT solver during FV of Intel’s latest design  The default flow: Minisat-like incremental SAT solving under assumptions The negation of the property is the only assumption in our case  Solution: model the property as a unit clause  solved in 30 minutes! Propagation of the single assumption by SatELite was extremely helpful: resulted in “chain reaction”  Our paper generalizes the case-study to incremental SAT solving under assumptions

3 Basic Definitions

4 Recall: Clause Database Simplification 1. Propagation of unit clauses 2. Elimination of satisfied clauses 3. Removal of falsified literals from clauses  Used in leading SAT solvers  Compliant with incremental solving

5 Recall: SatELite Preprocessing 1. Variable Elimination 2. Subsumption 3. Self-subsuming resolution  Used in leading SAT solvers  Non-Compliant with incremental solving

6 Approaches to Incremental SAT Solving under Assumption  Literal-based Single instance (LS): One incremental solver instance Assumptions are chosen as first decisions  Clause-based Multiple instances (CM): Multiple solver instances Assumptions are provided as temporary unit clauses LS is the current state-of-the-art

7 Literal-based Single instance (LS)

8 Clause-based Multiple instances (CM)

9 Temporary vs. Pervasive C1C1 C1C1 C2C2 C2C2 C3C3 C3C3 C4C4 C4C4 C5C5 C5C5 C6C6 C6C6 C7C7 C7C7 C8C8 C8C8 C 10 C 11 C 12 C 13 C 14 C 15 C 20 C 19 C 21 C 17 C 18 C 22 C 23 =() C9C9 C9C9 C 16 Input clauses Legend: Derived clauses Temporary input clauses

10 Temporary vs. Pervasive C1C1 C1C1 C2C2 C2C2 C3C3 C3C3 C4C4 C4C4 C5C5 C5C5 C6C6 C6C6 C7C7 C7C7 C8C8 C8C8 C 10 C 11 C 12 C 13 C 14 C 15 C 20 C 19 C 21 C 17 C 18 C 22 C 23 =() C9C9 C9C9 C 16 Input clauses Legend: Derived clauses Temporary input clauses Temporary conflict clauses

11 Temporary vs. Pervasive C1C1 C1C1 C2C2 C2C2 C3C3 C3C3 C4C4 C4C4 C5C5 C5C5 C6C6 C6C6 C7C7 C7C7 C8C8 C8C8 C 10 C 11 C 12 C 13 C 14 C 15 C 20 C 19 C 21 C 17 C 18 C 22 C 23 =() C9C9 C9C9 C 16 Input clauses Legend: Pervasive conflict clauses Temporary input clauses Temporary conflict clauses

12 LS vs. CM  LS: Efficient Learning All conflict clauses are pervasive Heuristics take advantage of incrementality  Assumptions are not propagated by simplification  CM: Efficient Assumption Propagation  Some conflict clauses are temporary  Heuristics start from zero at every invocation Assumptions are propagated by simplification

13 The problem: How to Propagate Assumptions with SatELite in Incremental SAT?  Our experience showed that propagating assumptions with SatELite is vital  SatELite could not be used to propagate assumptions for either LS or CM in incremental settings:  LS: Incremental SatELite was not well-defined (before our other paper to be presented next ) It is still unknown how to propagate assumption using SatELite, even if SatELite is applied incrementally  CM: It was undefined how to distinguish between temporary and pervasive conflict clauses after applying SatELite

14 Outline of Our Work 1. Enabling assumption propagation with SatELite for incremental SAT by making SatELite and CM compliant Much simpler than doing the same for LS 2. Mitigate the advantages of LS over CM by: Transforming temporary clauses to pervasive Solving related incremental chunks using one SAT instance (if limited look-ahead information is available)  Our algorithms outperform LS on Intel instances of incremental SAT under assumption.

15 Make SatELite Compliant with CM

16 Improve Learning Efficiency  The problem: Our algorithm propagates assumptions with SatELite, but: Conflict clause learning is still more efficient for LS, since: o All the conflict clauses are pervasive for LS o Some conflict clauses are temporary for CM  Solution: transform temporary conflict clauses to pervasive after CM’s invocation

17 Transform Temporary to Pervasive – T2P

18 α1=aα1=a α1=aα1=a Legend: α2=bα2=b α2=bα2=b α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =c v dα 8 =¬d α 9 =¬c α 10 =c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses

19 Transform Temporary to Pervasive – T2P α1=aα1=a α1=aα1=a Legend: α2=bα2=b α2=bα2=b α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =c v dα 8 =¬d α 9 =¬c α 10 =c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses ¬a

20 Transform Temporary to Pervasive – T2P Legend: α2=bα2=b α2=bα2=b α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =¬a v c v d α 8 =¬d α 9 =¬c α 10 =c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses ¬b

21 Transform Temporary to Pervasive – T2P Legend: α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =¬a v c v d α 8 =¬b v ¬d α 9 =¬c α 10 =c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses ¬a¬b

22 Transform Temporary to Pervasive – T2P Legend: α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =¬a v c v d α 8 =¬b v ¬d α 9 =¬c α 10 =¬a v ¬b v c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses ¬a v ¬ b

23 Transform Temporary to Pervasive – T2P Legend: α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =¬a v c v d α 8 =¬b v ¬d α 9 =¬c α 10 =¬a v ¬b v c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses

24 Transform Temporary to Pervasive – T2P Legend: α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 9 =¬c α 10 =¬a v ¬b v c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses

25 Improve the Efficiency of Heuristics  The problem: Our algorithm propagates assumptions with SatELite, and We know how to make all the clauses pervasive, but: Heuristics are still incremental for LS, while our algorithm needs to collect information from scratch for each invocation  Solution: use a single SAT solver instance for multiple calls, if step look-ahead information is available

26 Step Look-Ahead F 1 A 1 F 2 A 2 … F k A k F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F k+1 A k+1 F k+2 A k+2 … F k+k A k+k

27 LS Using Step Look-Ahead  Adjustment of LS to take advantage of step look-ahead Proposed recently in the context of BMC by Khasidashvili&Nadel, HVC’11  Single instance Literal-based with Step look-ahead (LSS): All step (window) clauses are added at once Assumptions are chosen as first decisions Advantage over LS: has a wider view of the problem The same drawback as LS: no simplification over assumptions; no preprocessing

28 LSS – Window 2 F 1 A 1 F 2 A 2 F 3 A 3 F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F 4 A 4 F 5 A 5 F 6 A 6 F 4 A 4 F 5 A 5 F 6 A 6

29 Our Algorithm: CLMS F 1 A 1 F 2 A 2 … F k A k F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F k+1 A k+1 F k+2 A k+2 … F k+k A k+k

30 Our Algorithm: CLMS – Window 1 F 1 A 1 F 2 A 2 F 3 A 3 F 1 A 1 F 2 A 2 F 3 A 3 F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F 4 A 4 F 5 A 5 F 6 A 6

31 Our Algorithm: CLMS – Window 2 F 1 A 1 F 2 A 2 F 3 A 3 F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F 4 A 4 F 5 A 5 F 6 A 6 F 4 A 4 F 5 A 5 F 6 A 6

32 Experimental Results  Benchmark Set: Instances generated by incremental BMC under assumptions o Generated by an incremental model checker May be invoked multiple times with different assumptions and properties Essential to reduce the debug loop time for validation engineers 3 satisfiable families – 128 instances 4 unsatisfiable families – 81 instances Algorithm Implementation in Intel’s internal Eureka SAT Solver Timeout: 3600sec  Machines: Intel ® Xeon ® 4Ghz 32Gb of memory

33 Variables To Assumptions Ratio

34 Unsatisfiable Instances State-of-the-art LS

35 Unsatisfiable Instances State-of-the-art CM

36 Unsatisfiable Instances 2 nd : SatELite with temporary clauses + CLMS step 10 + T2P Thr. 100

37 Unsatisfiable Instances Winner: SatELite with temporary clauses + CLMS step 50; No T2P

38 Unsatisfiable Instances: Summary  CM outperforms LS, since: The average clause size is higher for LS by 1-2 orders of magnitude Simplification removes 1-2 orders of magnitude more clauses for CM  Unsurprisingly, both CLMS (the step) and SatELite are helpful  T2P is not helpful, since: SatELite is slowed down significantly due to T2P

39 Satisfiable Instances State-of-the-art CM

40 Satisfiable Instances SatELite with temporary clauses + CLMS step 50; No T2P

41 Satisfiable Instances 2 nd : State-of-the-art LS

42 Satisfiable Instances Winner: SatELite with temporary clauses + CLMS step 10 + T2P Thr. 100

43 Satisfiable Instances: Summary  LS is second best: Incrementality for heuristics proves to be essential for relatively easy satisfiable instances  The combination of our algorithms proves to be the best SatELite with temporary clauses CLMS with step 10 T2P with threshold 100

44 Experimental Results: Summary  The following algorithm proves to be the best overall (2 nd on unsatisfiable and 1 st on satisfiable): SatELite with temporary clauses CLMS with step 10 T2P with threshold 100  The gap between our algorithms and LS is especially significant on hard unsatisfiable instances.

45 Thank You!


Download ppt "Efficient SAT Solving Under Assumptions Alexander Nadel 1 and Vadim Ryvchin 1,2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12, Trento, Italy."

Similar presentations


Ads by Google