Methods%20for%20SAT-%20a%20Survey - PowerPoint PPT Presentation

About This Presentation
Title:

Methods%20for%20SAT-%20a%20Survey

Description:

Digression II: Random Latin Squares. Jacobsen and Matthews (1996) identify a set of ... Digression III: Encoding the Square II ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 34
Provided by: robertg45
Learn more at: http://cse.unl.edu
Category:

less

Transcript and Presenter's Notes

Title: Methods%20for%20SAT-%20a%20Survey


1
Methods for SAT- a Survey
  • Robert Glaubius
  • CSCE 976
  • May 6, 2002

2
SAT Outline
  • Definitions
  • Solving SAT
  • Testing SAT
  • Attempted Contribution
  • Conclusions

3
SAT The Propositional Satisfiability Problem
  • Given ?, a predicate in CNF, e.g.,
  • ? (a1 ? a2) ? (a2 ? a3) ? (a1 ? a2 ? a3)
  • Question does a model of ? exist?

4
SAT Definitions
  • Variable ai
  • Literal ? ai or ai
  • Clause (?i ? ?j ? ... ? ?n)
  • ? (a1 ? a2) ? (a2 ? a3) ? (a1 ? a2 ? a3)

5
SAT Outline
  • Definitions
  • Solving SAT
  • Testing SAT
  • Attempted Contribution
  • Conclusions

6
SAT 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

7
SAT Systematic Search I
  • Davis-Putnam procedure
  • ? Satz, Sato, Chaff
  • Splitting and unit propagation
  • ? ai ? ? and ? ai ? ?

8
SAT 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)

9
SAT Systematic Search III
Heuristics and Hacks
  • SATO Splitting heuristics
  • Satz More Splitting heuristics
  • Chaff Squeaky clean implementation

10
SAT Stochastic Search
  • Selection Heuristics mechanisms for variable
    selection
  • Random restart
  • Restart
  • Move
  • Walk

11
SAT 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

12
SAT 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

13
SAT Outline
  • Definitions
  • Solving SAT
  • Testing SAT
  • Attempted Contribution
  • Conclusions

14
SAT 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

15
SAT 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

16
Digression 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
17
SAT 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

18
SAT 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

19
SAT 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?
20
Digression 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.
21
Digression 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)

22
Digression 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

23
SAT Outline
  • Definitions
  • Solving SAT
  • Testing SAT
  • Attempted Contribution
  • Conclusions

24
SAT 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?

25
SAT 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?

26
SAT 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

27
SAT 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

28
SAT 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 ?

29
SAT 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

30
SAT Results
  • 100 trial runs per problem
  • 3 Initial Assignment types
  • - ANP
  • - Random
  • - Default (all False)

We didnt do so well
31
SAT 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

32
SAT Outline
  • Definitions
  • Solving SAT
  • Testing SAT
  • Attempted Contribution
  • Conclusions

33
Questions, Comments, Insults?
www.animatedengineering.com/ animal_pages/duck.htm
Write a Comment
User Comments (0)
About PowerShow.com