Multi-level Stochastic Local Search for SAT
Camilo Rostoker and Chris Dabrowski {rostokec,kdabrows}@cs.ubc.ca Department of Computer Science University of British Columbia
Multi-level Stochastic Local Search for SAT Camilo Rostoker and - - PowerPoint PPT Presentation
Multi-level Stochastic Local Search for SAT Camilo Rostoker and Chris Dabrowski {rostokec,kdabrows}@cs.ubc.ca Department of Computer Science University of British Columbia Outline Introduction to SAT 1. Systematic vs. Stochastic Local
Camilo Rostoker and Chris Dabrowski {rostokec,kdabrows}@cs.ubc.ca Department of Computer Science University of British Columbia
1.
2.
3.
4.
5.
6.
7.
SAT problems are a fundamental problem in
Applications in planning, scheduling, circuit
Two approaches to solving problems
Systematic (Complete) Stochastic Local Search (Incomplete)
Systematic, exhaustive methods guaranteed to find a
Most state-of-the-art complete methods based on
Good for smaller SAT problems, mission-critical
Proven to be extremely effective for structured
Incomplete, approximate search methods
Trades guarantee of finding optimal solution for
General approach: Explore search space by
Proven to be extremely effective for large, random,
Combine systematic with SLS to get the best of both
Benefit from systematic handling of structured
Problem: How to determine how much relative
corresponds to assigning a subset of variables
underlying SLS procedure take control
systematic search or more time focusing in on a specific sub- region (SLS)?
systematic & SLS searches
search guided by Satz look-ahead heuristic followed by a Novelty+ SLS procedure
referred to as the “level”
tree
structure and variable dependencies, as well as reduce search space
ahead procedure, a variation of MOM’s heuristic
construction heuristic to get initial candidate solution
steps
variables must be excluded
PROPz heuristic selects a set of variables
Occurrence of Minimum Size
failed literals as early as possible in the search tree
Satz uses a look-ahead technique to order the
clauses
branching
Total number of variables: n Number of variables to assign: a Total number of variables assigned: t
Backtracking – Flip the most recently set
Backjumping – Flip the most recently set
MLSLS uses backtracking
backjumping is more complex Satz look-ahead claims to choose variables in
Random Construction
“Averaging In” Heuristic
corresponding variable from past 2 incumbent solutions
time, and approximately 1% of those cases a frozen variable was picked.
Tested on both random and structured
Problem domains include blocks world
Compared against satz, zChaff, saps, and
Improving the SLS component
Detailed analysis of frozen variables that the SLS
Data structure to hold non-frozen variables
Use a different underlying SLS procedure
Improving the systematic component:
Efficient Unit Propagation algorithm Detailed empirical analysis of Level Selection
Parameter estimation techniques for the PROPz
Backtracking vs. backjumping
Improving the overall design
Parameter optimization Algorithm profiling Runtime balance between systematic and SLS
Original goal: develop an algorithm that would
Based on empirical results obtained thus far, we
Future work discussed previously outlines many
With a more efficient systematic procedure, we