SAT - PowerPoint PPT Presentation

1 / 47
About This Presentation
Title:

SAT

Description:

Assing true and false values to make the sentence true. NP-Complete. Literals: An atom or its negation. Clauses: Disjunction of Literals ... – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 48
Provided by: dcFi
Category:
Tags: sat | disjunction

less

Transcript and Presenter's Notes

Title: SAT


1
SAT
  • J. Gonzalez

2
Summary
  • Introduction
  • Algorithms for SAT
  • Splitting and Resolution
  • Local Search
  • Integer Programming Method
  • Global Optimization
  • SAT Solvers Features
  • Final Thoughts

3
SAT
  • Decission Problem
  • Assing true and false values to make the sentence
    true
  • NP-Complete

. . .
Literal
Literal
?
Clauses
Clauses
?
Sentences In CNF
  • Literals An atom or its negation
  • Clauses Disjunction of Literals
  • Sentence in CNF Conjunction of Clauses

4
CNF and DNF
  • CNF Conjunctive normal form
  • DNF Disjunctive normal form

5
CSP (Constraint Satisfaction Problems)
  • Variables WA, NT, Q, NSW, V, SA, T
  • Domains Di red,green,blue
  • Constraints
  • WA ? NT,
  • WA ? SA
  • NT ? SA
  • NT ? Q
  • SA ? Q
  • SA ? NSW
  • SA ? V
  • Q ? NSW
  • NSW ? V
  • V ? T

6
CSP (Constraint Satisfaction Problems)
  • Variables WA, NT, Q, NSW, V, SA, T
  • Domains Di red,green,blue
  • Constraints
  • WA ? NT,
  • NT ? SA
  • NT ? Q
  • SA ? Q
  • SA ? NSW
  • SA ? V
  • Q ? NSW
  • NSW ? V
  • V ? T

XWA,red ? XWA,green ? XWA,blue XNT,red ?
XNT,green ? XNT,blue XWA,red ?
XNT,red XWA,green ? XNT,green XWA,blue ?
XNT,blue
7
CSP (Constraint Satisfaction Problems)
  • Variables WA, NT, Q, NSW, V, SA, T
  • Domains Di red,green,blue
  • Constraints
  • WA ? NT,
  • NT ? SA
  • NT ? Q
  • SA ? Q
  • SA ? NSW
  • SA ? V
  • Q ? NSW
  • NSW ? V
  • V ? T

XWA,red ? XWA,green ? XWA,blue XNT,red ?
XNT,green ? XNT,blue XWA,red ?
XNT,red XWA,green ? XNT,green XWA,blue ?
XNT,blue
8
CSP (Constraint Satisfaction Problems)
  • Variables WA, NT, Q, NSW, V, SA, T
  • Domains Di red,green,blue
  • Constraints
  • WA ? NT,
  • NT ? SA
  • NT ? Q
  • SA ? Q
  • SA ? NSW
  • SA ? V
  • Q ? NSW
  • NSW ? V
  • V ? T

(XWA,red ? XWA,green ? XWA,blue) ? (XNT,red ?
XNT,green ? XNT,blue) ? (XWA,red ? XNT,red)
? (XWA,gree ? XNT,gree) ? (XWA,blue ?
XNT,blue)
9
CSP (Constraint Satisfaction Problems)
  • SAT is an special case of CSP.
  • CSP to SAT
  • CSP
  • Discrete CSP
  • N-queen problem
  • Graph coloring problem
  • Scheduling problem
  • Binary CSP
  • SAT problem
  • Max-SAT problem

10
Summary
  • Introduction
  • Algorithms for SAT
  • Splitting and Resolution
  • Local Search
  • Integer Programming Method
  • Global Optimization
  • SAT Solvers Features
  • Final Thoughts

11
Algorithms for SAT
  • Discrete Constrained Algorithms
  • Discrete, satisfies all clauses
  • Goal satisfy all clauses (constraints )
  • Usually uses Splitting (search) and/or Resolution
  • Discrete Unconstrained Algorithms
  • Discrete, minimize a function
  • Minimize the number of unsatisfied clauses
  • Usually uses Local Search.
  • Constrained Programming Algorithms
  • Non discrete, satisfies all clauses
  • From CNF to IP (Integer Programming).
  • Usually uses Linear Programming relaxations
  • Unconstrained Global Optimization Algorithms
  • Non discrete, minimize a function (constrains
    included in such function)
  • From a formula on Boolean Space (a decision
    problem) to an unconstrained problem on real
    Space (unconstrained global optimization
    problem).
  • Usually uses many global optimization methods.

12
(No Transcript)
13
Summary
  • Introduction
  • Algorithms for SAT
  • Splitting and Resolution
  • Local Search
  • Integer Programming Method
  • Global Optimization
  • SAT Solvers Features
  • Final Thoughts

14
Splitting and Resolution
  • Replace one formula by one or more other
    equivalent formulas.
  • Splitting
  • A variable v is replaced by True and False.
  • Two sub-formulas are generated.
  • The original formula has a satisfying truth
    assignment iff either sub-formula has one
    satisfying truth assignment .

Ptrue
PFalse
15
Splitting and Resolution
  • Stop recursion
  • Any formula with no variables is True
  • All subformulas are false and there is no
    formulas with variables

Satisfiable
Unsatisfiable
16
Splitting and Resolution
  • Resolution Using a resolvent to create new
    clauses.
  • Resolvent clauses transformation based on a
    given variable v.

Resolvent
17
Splitting and Resolution
  • Resolution Using a resolvent to create new
    clauses.
  • Resolvent clauses transformation based on a
    given variable v.

Resolvent
18
Splitting and Resolution
  • Stop recursion
  • Formulas with an empty clause have no solution
  • No more resolvent could be created

Unsatisfiable
Satisfiable
19
Splitting and Resolution
  • First methods
  • DP (Davis-Putnam) Resolution
  • DPL (Davis-Putnam-Loveland) Splitting (
    depth-first search avoids memory explosion)

20
Summary
  • Introduction
  • Algorithms for SAT
  • Splitting and Resolution
  • Local Search
  • Integer Programming Method
  • Global Optimization
  • SAT Solvers Features
  • Final Thoughts

21
Local Search
  • Begins with an initial vector y0
  • F(y0) Number of unsatisfiable formulas
  • We define neighbourhood function N(yi)
  • N(y0)y1
  • F(yi1)gtF(y0) strategies are applied to help
    escape from the local minima.

22
True(C), False(A,B,D)
F2
23
True(C), False(A,B,D)
F2
True(A,C), False(B,D)
F1
24
True(C), False(A,B,D)
F2
True(A,C), False(B,D)
F1
True(A,B,C), False(D)
F1
25
True(C), False(A,B,D)
F2
True(A,C), False(B,D)
F1
True(A,B,C), False(D)
True(A,C,D), False(B)
F1
F1
26
True(C), False(A,D,B)
F2
True(C,D), False(A,B)
F1
True(C,D,A), False(B)
True(C,D,B), False(A)
F1
F0
27
Summary
  • Introduction
  • Algorithms for SAT
  • Splitting and Resolution
  • Local Search
  • Integer Programming Method
  • Global Optimization
  • SAT Solvers Features
  • Final Thoughts

28
Integer Programming Method (IP)
29
Integer Programming Method (IP)
30
Integer Programming Method (IP)
31
Integer Programming Method (IP)
32
Integer Programming Method (IP)
33
Integer Programming Method (IP)
  • Solving
  • Linear Programs (LP) solved by the Simplex
  • Integer Programs (IP) no fast technique.
  • Integer Linear Programs (ILP) Is a LP
    constrained by integrality restrictions
  • Method
  • Solve a LP
  • If solution is integer gt end
  • If solution is non integer, round off such values
  • If it is a solution gt end
  • Else adds a new constraint and try again

34
Summary
  • Introduction
  • Algorithms for SAT
  • Splitting and Resolution
  • Local Search
  • Integer Programming Method
  • Global Optimization
  • SAT Solvers Features
  • Final Thoughts

35
Global optimization
  • Continuous Unconstrained Formulation
  • From discrete to continuous (UniSAT)
  • Try to minimize a function instead of trying to
    verify concrete restrictions.

36
Summary
  • Introduction
  • Algorithms for SAT
  • Splitting and Resolution
  • Local Search
  • Integer Programming Method
  • Global Optimization
  • SAT Solvers Features
  • Final Thoughts

37
Which is the best method?
  • Local search
  • Faster for satisfiable CNF
  • Can not prove unsatisfiability
  • DP algorithm (split, resolution)
  • Slower for satisfiable CNF
  • Can prove unsatisfiability

38
Algorithm categories
  • Complete
  • Find the unique hard solution
  • Determine whether or not a solution exits
  • Give the variable settings for one solution
  • Find all solutions or an optimal solution
  • Prove that there is no solution
  • Incomplete
  • Verify that there is no solution but could not
    find one.
  • Can not optimize solution quality

39
Performance evaluation
  • Performance evaluation
  • Experimentally
  • Works for random formulas
  • Does not work for worst-case formulas (too many
    formulas for every given size)
  • Sometimes inconclusive
  • Analytically
  • Works for random formulas
  • Works for worst-case formulas
  • Does not work for typical formulas (which is his
    mathematical structure)
  • Need simplified algorithms

40
P-Subclasses of SAT
  • Solved in polynomial time
  • Determine if a formula (or a portion) is
    polynomial-time solvable
  • The study of this subclasses reveals the nature
    of these easy SAT formulas
  • Subclasses
  • 2-SAT CNF formula with clauses of one or two
    literals only
  • Horn Formulas CNF formula where every formula
    has at most one positive literal.
  • Extended Horn Formulas Rounding the results of a
    Linear Programming method we obtain the real
    solutions.
  • Balanced formulas When a Linear Programming
    method can be used to obtain integer solutions.

41
Applications
  • Mathematics
  • Computer Science and AI
  • Machine Vision
  • Robotics
  • Computer-aided manufacturing
  • Database systems
  • Text processing
  • Computer graphics
  • Integrated circuit design automation
  • Computer architecture design
  • High-speed networking
  • Communications
  • Security

42
Summary
  • Introduction
  • Algorithms for SAT
  • Splitting and Resolution
  • Local Search
  • Integer Programming Method
  • Global Optimization
  • SAT Solvers Features
  • Final Thoughts

43
(No Transcript)
44
(No Transcript)
45
A few names
  • SatELite CNF minimizer (MiniSAT)
  • MiniSAT the SAT solver properly
  • Authors Niklas Eén and Niklas Sörensson
  • Vallst by Daniel Vallstrom
  • Kcnfs is a generalization of cnfs. Olivier
    Dubois and Gilles Dequen
  • Ranov by by LC Researcher Anbulagan and Nghia
    Duc Pham
  • Zchaff Boolean Satisfiability Research Group at
    Princeton University

46
Some last ideas
  • Produce each solution gt exponential in the worst
    case (whether or not PNP)
  • List an exponential number of solutions
  • Solutions in compressed form
  • Cylinders of solutions variables not listed
    could have any value.
  • BDD Binary Decision Diagrams
  • SAT solvers can be faster than other non-NP
    systems under some circumstances.

47
Bibliography
  • Algorithms for the Satisfiability (SAT) Problem
    A Survey.
  • Jun Gu, Paul W. Purdom, John Franco, Benjamin W.
    Wah
  • SAT 2004 http//www.satisfiability.org/SAT04/
  • SAT 2005 http//www.satisfiability.org/SAT05/
  • SAT 2006 http//www.easychair.org/FLoC-06/SAT.htm
    l
Write a Comment
User Comments (0)
About PowerShow.com