State-of-the-art in SAT solvers - PowerPoint PPT Presentation

About This Presentation
Title:

State-of-the-art in SAT solvers

Description:

A set of propositional variables and clauses involving variables (x1 x2' x3) and (x2 x1' x4) ... Benchmarks. Random. Crafted. Industrial. SAT race 2006. SAT race 2006 ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 42
Provided by: Informatio367
Learn more at: https://ics.uci.edu
Category:
Tags: sat | art | crafted | solvers | state

less

Transcript and Presenter's Notes

Title: State-of-the-art in SAT solvers


1
State-of-the-art in SAT solvers
  • Vibhav Gogate

2
SAT formulas
  • A set of propositional variables and clauses
    involving variables
  • (x1x2x3) and (x2x1x4)
  • x1,x2, x3 and x4 are variables (True or false)
  • Literals Variable and its negation
  • x1 and x1
  • A clause is satisfied if one of the literals is
    true
  • x1true satisfies clause 1
  • x1false satisfies clause 2
  • Solution An assignment that satisfies all clauses

3
SAT solvers
  • Given 10 minutes of time
  • Started with DPLL (1962)
  • Able to solve 10-15 variable problems
  • Satz (Chu Min Li, 1995)
  • Able to solve some 1000 variable problems
  • Chaff (Malik et al., 2001)
  • Intelligently hacked DPLL , Won the 2004
    competition
  • Able to solve some 10000 variable problems
  • Current state-of-the-art
  • Minisat and SATELITEGTI (Chalmers university,
    2004-2006)
  • Jerusat and Haifasat (Intel Haifa, 2002)
  • Ace (UCLA, 2004-2006)

4
DPLL Example
p,r,?p,?q,r,p,?r
pT
pF
T,r,?T,?q,r,T,?r
F,r,?F,?q,r,F,?r
SIMPLIFY
SIMPLIFY
?q,r
r,?r
SIMPLIFY

5
DPLL Algorithm as seen by SAT solver
  • While (1)
  • if (decide_next_branch()) //1. Branching
  • while (deduce()conflict) //2. Deducing
  • blevelanalyze_conflicts() // 3. Learning
  • if (blevel lt 0)
  • return UNSAT
  • else backtrack(blevel) // 4. Backtracking
  • else RETURN UNSAT

6
(No Transcript)
7
(No Transcript)
8
Chaff implementation
  • While (1)
  • if (decide_next_branch()) //1. Branching
  • while (deduce()conflict) //2. Deducing
  • blevelanalyze_conflicts() // 3. Learning
  • if (blevel lt 0)
  • return UNSAT
  • else backtrack(blevel) // 4. Backtracking
  • else RETURN UNSAT

Use conflict-directed backjumping Learning
9
Learning
  • Adding information about the instance into the
    solution process without changing the
    satisfiability of the problem.
  • In CNF representation it is accomplished by
    adding clauses into the clause database
  • Knowledge of failure may help search in other
    spaces
  • Learning is very effective in pruning the search
    space for structured problems
  • It is of limited use for random instances
  • Why? Still an open question

10
Chaff implementation
  • While (1)
  • if (decide_next_branch()) //1. Branching
  • while (deduce()conflict) //2. Deducing
  • blevelanalyze_conflicts() // 3. Learning
  • if (blevel lt 0)
  • return UNSAT
  • else backtrack(blevel) // 4. Backtracking
  • else RETURN UNSAT

Boolean constraint propagation Main factor
11
Naive Implementation of Deduce or Unit propagation
  • Check every clause after an assignment is made
    and reduce it if possible
  • Repeat if a unit clause is generated
    (implication)
  • After backtrack, revert all clauses to their
    original form as they were before.
  • Very slow.
  • A solver would spend 85-90 of the time doing
    unit propagation
  • Why not speed it up?

12
(No Transcript)
13
(No Transcript)
14
(No Transcript)
15
(No Transcript)
16
(No Transcript)
17
(No Transcript)
18
(No Transcript)
19
(No Transcript)
20
(No Transcript)
21
(No Transcript)
22
(No Transcript)
23
(No Transcript)
24
(No Transcript)
25
(No Transcript)
26
(No Transcript)
27
(No Transcript)
28
Chaff implementation
  • While (1)
  • if (decide_next_branch()) //1. Branching
  • while (deduce()conflict) //2. Deducing
  • blevelanalyze_conflicts() // 3. Learning
  • if (blevel lt 0)
  • return UNSAT
  • else backtrack(blevel) // 4. Backtracking
  • else RETURN UNSAT

Variable ordering heuristics
29
(No Transcript)
30
(No Transcript)
31
(No Transcript)
32
Other issues
  • Clause Deletion
  • Learned clauses slows down the bcp and eat up
    memory
  • Delete clauses periodically
  • Various heuristics for this purpose
  • Winner of SAT competition 2004.

33
But Chaff no longer State of the Art
  • More hacking
  • Minisat (2006, winner of SAT RACE 2006)
  • Based on chaff but a better faster implementation
  • Some new things like conflict analysis and
    minimization but basically same as chaff

34
Benchmarks
  • Random
  • Crafted
  • Industrial

35
(No Transcript)
36
(No Transcript)
37
(No Transcript)
38
(No Transcript)
39
(No Transcript)
40
SAT race 2006
41
SAT race 2006
Write a Comment
User Comments (0)
About PowerShow.com