Download presentation
Presentation is loading. Please wait.
1
hrinking hrinking A signment tack tack
2
Agenda Introduction Algorithm Description Heuristics Experimental Results Conclusions
3
What is Shrinking? Shrinking is an algorithm that boosts modern DPLL-based SAT solvers on difficult industrial benchmarks by dynamically filtering out irrelevant assignments
4
The History Shrinking was ◦ introduced in the Jerusat solver (Nadel’02). ◦ enhanced in the Chaff’04 solver (Mahajan&Fu&Malik’04). Jerusat and Chaff’04 are the SAT’04 competition winners in industrial categories.
5
Goals of this Work Empirically demonstrate that shrinking is critical for solving difficult industrial families in modern solvers. Provide a thorough description of the shrinking algorithm. We also discuss shrinking heuristics and introduce some new ones.
6
Explanation: a SAT Solver Run Snapshot after a Conflict Assigned variables First assigned variable Parent resolution: a resolution proof for the validity of the flip (Each rectangle is a clause) Variable to be flipped
7
Explanation: a SAT Solver Run Snapshot after a Conflict Parent resolution: a resolution proof for the validity of the flip (Each rectangle is a clause) Yellow variables are the asserting clause variables
8
Explanation: a SAT Solver Run Snapshot after a Conflict The assignments to all the blue variables were irrelevant: Unnecessary for generating the parent resolution. The blue variables might had been used for resolution proof that was subsequently pruned.
9
Explanation: a SAT Solver Run Snapshot after a Conflict Irrelevant assignments are bad: They slow down BCP. They violate the locality principle: proof should be dependent on as few assignments as possible. Shrinking: remove irrelevant assignments before flipping.
10
Example: Standard Backtracking and Flipping w/o Shrinking
11
Non-chronological backtracking will remove this assignment (if it defines a new decision level).
12
Example: Standard Backtracking and Flipping w/o Shrinking Backtrack! Non-chronological backtracking removed an assignment.
13
Example: Standard Backtracking and Flipping w/o Shrinking Flip
14
Example: Shrinking in Action Shrink on this area. Shrinking will remove all the irrelevant assignments here.
15
Example: Shrinking in Action Shrink and backtrack! Shrinking removed many irrelevant assignments.
16
Example: Shrinking in Action Flip
17
The Shrinking Algorithm After a conflict: 1.Record a conflict clause as usual! 2.If the shrinking condition holds, shrink as follows: 1.Backtrack to the shrinking backtrack level. 2.Assign the unassigned literals of the conflict clause to false. Propagate each assignment with BCP. The order of variable assignments is defined by the sorting scheme.
18
The Three Elephants that Support Clever Shrinking The shrinking condition The sorting scheme The shrinking backtrack level
19
Intuition behind Shrinking Heuristics Intuition behind the shrinking condition: ◦ Shrink when the search halts to be useful. Usefulness is estimated by looking at the asserting clause: ◦ Short means useful The most intuitive widely used measure: short clauses should prune the search space better ◦ Few decision levels means useful Variables of the same decision level are interrelated: if one is assigned, the others have good chances to be assigned soon Locality principle rules
20
Intuition behind Shrinking Heuristics Intuition behind the sorting scheme: ◦ It is advantageous to locally reshuffle the VSIDS scores from time to time. Intuition behind the shrinking backtrack level determination ◦ Quite straightforward: subject for future work
21
Shrinking in Jerusat 1. Jerusat’s shrinking condition ◦ The conflict clause contains no more than one variable from each decision level. ◦ A decision-level-based scheme 2. Jerusat’s sorting scheme ◦ Same order as before shrinking. 3. Jerusat’s shrinking backtrack level ◦ Highest possible decision level where all the literals of the conflict clause become unassigned.
22
Shrinking in Chaff’04 1. Chaff’s shrinking condition ◦ The conflict clause length exceeds x. x is initialized with 95 and is changed dynamically. The goal is to be close to the mean length of the conflict clauses. ◦ Secondary condition 2. Chaff’s sorting scheme ◦ Reverses the order. Empirically better than using the same order. Dynamic reshuffling to VSIDS scores. 3. Chaff’s shrinking backtrack level ◦ Lowest possible decision level in the conflict clause that is less than the next higher decision level by at least 2. If no such level exists, shrinking is not performed.
23
New Heuristics for Shrinking Decision-level-based shrinking condition ◦ Generalization of Jerusat’s shrinking condition in the spirit of Glucose’s clause deletion scheme (Audemard&Simon’09) ◦ The algorithm d the number of decision levels in the asserting clause. Shrink if d > x’ x’ is similar to Chaff’s threshold on clause length, but it is applied to the number of decision levels in the clauses instead of to clause length.
24
New Heuristics for Shrinking Activity ordering sorting scheme ◦ Sort the variables of the conflict clause by VSIDS’s scores, from highest to lowest. Should work well, if no corrections to VSIDS scores are required.
25
Experimental Results We implemented shrinking in Eureka and an enhanced version of Minisat. Time threshold was 3 hours. We used 8 benchmark families: ◦ 4 of Miroslav Velev’s families. ◦ 2 families from the SAT’04 competition: Goldberg; Maris ◦ 2 SAT-Race’06 families. 166 instances overall
26
Experimental Results: the Algorithms 1. No shrinking 2. Base shrinking ◦ Eureka’s version: similar to Chaff with two minor changes 3. Base with the decision-level-based shrinking condition 4. Base with the activity ordering sorting scheme
27
Eureka: Solved Instances per Family
28
Eureka: “Base“ Beats “No Shrinking”!
29
Minisat: Solved Instances per Family
30
Minisat: “Dec. Level-based“ Beats “No Shrinking”!
31
Performance Summary: Solved Instances Overall (out of 166) MinisatEureka No Shrinking117126 Base137151 Decision Level-Based140150 Activity Ordering133149
32
Impact of the Decision Level-Based Shrinking Condition Empirical recommendations: ◦ Recommended as the default for Minisat Solves more instances overall and faster for 6/8 families ◦ Very useful for particular families for both solvers. Resulting intuition: ◦ The number of decision levels in the clauses appears to be a good way of measuring usefulness. But using the clause size measure is sometimes advantageous.
33
Experimental Results: Impact of the Activity Ordering Sorting Scheme Empirical recommendations: ◦ Not recommended as the default Causes a serious deterioration of Minisat performance on two Velev families. Yet, improves the performance for SAT Race families. Not helpful for most of the families and overall for Eureka. Resulting intuition ◦ A local reshuffling of VSIDS scores is usually helpful. Reminder: the base scheme reverses the order
34
Future Work Study the interplay between restarts and shrinking. Improve the heuristics further
35
Conclusions Shrinking is a dedicated technique for filtering out irrelevant assignments in modern DPLL-based SAT solvers Shrinking is empirically critical ◦ Many families couldn’t be solved without shrinking (within Minisat and Eureka). ◦ Shrinking improves the performance for almost all the considered families for both solvers.
36
Thanks for Your Attention!
37
Backup Slides
38
Shrinking vs. Modern Techniques Consider the following three techniques: ◦ Frequent restarts ◦ A clause-based heuristic ◦ RSAT’s phase saving Is the combined effect of these techniques similar to shrinking? ◦ No! Empirically, shrinking is highly beneficial in Eureka, which applies all these techniques.
39
Why isn't the Effect of Shrinking Achieved by Other Techniques Because of the simultaneous effect of the following: 1.The shrinking condition differs from the restart conditions. 2.Shrinking restarts the search only partially. 3.Unlike clause-based heuristics, shrinking continues selecting variables from the top-most conflict clause, even if it was satisfied. 4.Shrinking uses a dedicated sorting (re-ordering) of the variables in the top-most conflict clause.
40
Calculation of the Threshold on Conflict Clause Length in Chaff x is initialized with 95 Do the following each 800 conflicts ◦ (mean, stdev) := mean and standard deviation of last 800 learned clause lengths ◦ center := mean + 0.5 * stdev; ◦ ulimit := mean + stdev ◦ if x ≥ center then x := x − 5 ◦ if x < center then x := x + 5 ◦ if x > ulimit then x := ulimit ◦ if x < 5 then x := 5 return x
41
Performance Summary MinisatEureka No Shr. Solved117126 No Shr. Time547709479498 Base Shr. Solved137151 Base Shr. Time349096207061 Dec. Level Shr. Solved140150 Dec. Level Shr. Time322304223239 Act. Order Shr. Solved133149 Act. Order Shr. Time381340220437
42
Another Type of Shrinking
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.