Title: Methods%20for%20SAT-%20a%20Survey
1Methods for SAT- a Survey
- Robert Glaubius
- CSCE 976
- May 6, 2002
2SAT Outline
- Definitions
- Solving SAT
- Testing SAT
- Attempted Contribution
- Conclusions
3SAT The Propositional Satisfiability Problem
- Given ?, a predicate in CNF, e.g.,
- ? (a1 ? a2) ? (a2 ? a3) ? (a1 ? a2 ? a3)
- Question does a model of ? exist?
4SAT Definitions
- Variable ai
- Literal ? ai or ai
- Clause (?i ? ?j ? ... ? ?n)
- ? (a1 ? a2) ? (a2 ? a3) ? (a1 ? a2 ? a3)
5SAT Outline
- Definitions
- Solving SAT
- Testing SAT
- Attempted Contribution
- Conclusions
6SAT Solution methods
- Systematic search
- SATO Zhang, 1993
- Satz Li and Ambulagan, 1997
- Chaff Moskewicz, et al., 2001
- Stochastic search
- GSAT Selman et al., 1992
- walkSAT Selman et al., 1996
7SAT Systematic Search I
- Davis-Putnam procedure
- ? Satz, Sato, Chaff
- Splitting and unit propagation
- ? ai ? ? and ? ai ? ?
8SAT Systematic Search II
- Splitting and unit propagation
- ? a2 ? (a1 ? a2) ? (a2 ? a3) ? (a1 ? a2 ?
a3) - ? unit_propagate(?) ? (a1 ? a3)
- (a1 ? a2), (a2 ? a3) subsumed by a2
- (a1 ? a2 ? a3) ? (a1 ? a3)
9SAT Systematic Search III
Heuristics and Hacks
- SATO Splitting heuristics
- Satz More Splitting heuristics
- Chaff Squeaky clean implementation
10SAT Stochastic Search
- Selection Heuristics mechanisms for variable
selection - Random restart
- Restart
- Move
- Walk
11SAT Stochastic Search - GSAT
- procedure GSAT
- begin
- for i 1 to MAX-TRIES
- T a randomly generated truth assignment
- for j 1 to MAX-FLIPS
- if T satisfies ? then return T
- p variable s.t. flip(p) maximizes
satisfied clauses - T T after flip(p)
- end for
- end for
- return fail
- end
12SAT Stochastic Search - WalkSAT
- procedure WalkSAT
- begin
- T a randomly generated truth assignment
- for i 1 to MAX-TRIES
- if T satisfies ? then return T
- k random unsatisfied clause
- p variable in k s.t. flip(p) maximizes
satisfied clauses - if flip(p) does not unsatisfy any clause
then T T after flip(p) - else j a random number in 0,1
- if j gt 0.5 then flip(p)
- else T T after flip(q), where q is
a random variable in k - end for
- end
13SAT Outline
- Definitions
- Solving SAT
- Testing SAT
- Attempted Contribution
- Conclusions
14SAT Algorithm Verification
- Benchmark problems planning, verification
- International Competition and Symposium on
Satisfiability Testing - SAT2002 Competetion
- Random problems
- naïve random generation
- structured random problems, QCP Selman and
Gomes, 1997 - QWH, Achlioptas et al., 2000
15SAT Random Generation - Naïve
- Generate n clauses with 1..l variables per clause
drawn from a pool of k variables. - Does not guarantee satisfiability
- Requires filtering of instances by slower,
systematic means
16Digression I Latin Square
Latin Square a configuration of n symbols in n
columns and n rows s.t. each symbol occurs
exactly once in each row and each column.
Rhetorical Question If we had a table that was
only partially filled, can we make it a Latin
Square?
This turns out to be an NP-complete problem
17SAT Random Generation QCP
- Quasigroup completion problem
- Fill some percentage of squares in an n?n matrix
and try to complete the quasigroup (latin
square). - Does offer a structured random problem
- Doesnt guarantee a solution
18SAT Random Generation QWH I
- Quasigroup with Holes
- Start with a randomly generated completed latin
square, then poke random holes in it. - Does offer a structured problem
- Does have at least one solution
19SAT Random Generation QWH II
- Improvement balanced QWH
- Instead of random holes, specify a set number for
each row and column
But how do we make a random latin square?
20Digression II Random Latin Squares
Jacobsen and Matthews (1996) identify a set
of moves that translate an order n Latin Square
into a new Latin square, and prove that these
moves connect the space of all order n Latin
Squares.
Iterated random application of these moves allows
us to randomly select new squares.
21Digression III Encoding the Square I
- Exactly one symbol per cell
- (aij?bij?...?nij)?(aij?bij)?(aij?cij)?...?(mi
j?nij) - Exactly one occurrence of s in row r
- (sr1?sr2?...?srn)?(sr1?sr2)?(sr1?sr3)?...?(sr
n-1?srn) - Exactly one occurrence of s in column c
- (s1c?s2c?...?snc)?(s1c?s2c)?(s1c?s3c)?...?(sn
-1c?snc)
22Digression III Encoding the Square II
- Conjoin the appropriate positive literal for each
preassigned cell - How much space does this cost us?
- n3 variables
- 1.5n4 - 1 .5n3 3n2 clauses
23SAT Outline
- Definitions
- Solving SAT
- Testing SAT
- Attempted Contribution
- Conclusions
24SAT Return to Stochastic Search
- Premise WalkSAT uses a random start
- What if we can derive us a heuristic that
- can give us a better start frequently?
- Systematic MoMs heuristic Most occurrences in
clauses of minimum length. - Another rhetorical question
- Can we adapt this to stochastic search?
25SAT ANP heuristic I
- Given
- ? (a1 ? a2) ? (a2 ? a3) ? (a1 ? a2 ? a3)
- What is the P(ai ? ?)?
- The only way to evaluate this is by finding all
models. - Is P(ai ? ?) approximable?
26SAT ANP heuristic II
- Given k (a2 ? a3), we define P(ai ? kj).
- P(a2 True k ) 0.67, since a2 is true in 2
models of k - P(a2 True k ) 0.33, since a2 is true in 1
models of k - Approximate P(ai ? ?) ? ?j P(ai ? kj )
- Normalize P(ai ? ?) P(ai ? ?) 1
27SAT ANP heuristic III
- (a1 ? a2) ? (a2 ? a3) ? (a1 ? a2 ? a3)
- P(a1 True ?) ? 0.73, P(a1 False ?) ?
0.27 - P(a2 True ?) ? 0.75, P(a2 False ?) ?
0.25 - P(a3 True ?) ? 0.40, P(a3 False ?) ?
0.60
28SAT ANP heuristic IV
- ANP heuristic choose the initial assignment with
maximum approximate normalized probability - ? ? a1 True, a2 True, and a3 False
- This assignment is in fact a model of ?
29SAT Experiment design
- Four benchmark problems from the 1996
International Competition and Symposium on
Satisfiability Testing - - hardware verification
- Three order 15 balanced QWH problems
- 3, 4, 5 holes per row, column
- WalkSat solver
30SAT Results
- 100 trial runs per problem
- 3 Initial Assignment types
- - ANP
- - Random
- - Default (all False)
We didnt do so well
31SAT Conclusions
- Based on our initial experiments, stochastic
solvers are harmed by heuristics. - Quasigroup-based problems are likely to be the
exception most variables are false in a model. - More tests are needed possible domain dependence
32SAT Outline
- Definitions
- Solving SAT
- Testing SAT
- Attempted Contribution
- Conclusions
33Questions, Comments, Insults?
www.animatedengineering.com/ animal_pages/duck.htm