SAT
This presentation is the property of its rightful owner.
Sponsored Links
1 / 47

SAT PowerPoint PPT Presentation


  • 64 Views
  • Uploaded on
  • Presentation posted in: General

SAT. J. Gonzalez. Summary. Introduction Algorithms for SAT Splitting and Resolution Local Search Integer Programming Method Global Optimization SAT Solvers Features Final Thoughts. SAT. Decission Problem Assing true and false values to make the sentence true NP-Complete. Literal.

Download Presentation

SAT

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Sat

SAT

J. Gonzalez


Summary

Summary

  • Introduction

  • Algorithms for SAT

    • Splitting and Resolution

    • Local Search

    • Integer Programming Method

    • Global Optimization

  • SAT Solvers Features

  • Final Thoughts


Sat

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


Cnf and dnf

CNF and DNF

  • CNF: Conjunctive normal form

  • DNF: Disjunctive normal form


Csp constraint satisfaction problems

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


Csp constraint satisfaction problems1

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


Csp constraint satisfaction problems2

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


Csp constraint satisfaction problems3

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) …


Csp constraint satisfaction problems4

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


Summary1

Summary

  • Introduction

  • Algorithms for SAT

    • Splitting and Resolution

    • Local Search

    • Integer Programming Method

    • Global Optimization

  • SAT Solvers Features

  • Final Thoughts


Algorithms for sat

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.


Summary2

Summary

  • Introduction

  • Algorithms for SAT

    • Splitting and Resolution

    • Local Search

    • Integer Programming Method

    • Global Optimization

  • SAT Solvers Features

  • Final Thoughts


Splitting and resolution

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 .

P=true

P=False


Splitting and resolution1

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


Splitting and resolution2

Splitting and Resolution

  • Resolution: Using a resolvent to create new clauses.

  • Resolvent: clauses transformation based on a given variable v.

Resolvent


Splitting and resolution3

Splitting and Resolution

  • Resolution: Using a resolvent to create new clauses.

  • Resolvent: clauses transformation based on a given variable v.

Resolvent


Splitting and resolution4

Splitting and Resolution

  • Stop recursion:

    • Formulas with an empty clause have no solution

    • No more resolvent could be created

Unsatisfiable

Satisfiable


Splitting and resolution5

Splitting and Resolution

  • First methods:

    • DP (Davis-Putnam): Resolution

    • DPL (Davis-Putnam-Loveland): Splitting (+ depth-first search avoids memory explosion)


Summary3

Summary

  • Introduction

  • Algorithms for SAT

    • Splitting and Resolution

    • Local Search

    • Integer Programming Method

    • Global Optimization

  • SAT Solvers Features

  • Final Thoughts


Local search

Local Search

  • Begins with an initial vector y0

  • F(y0): Number of unsatisfiable formulas

  • We define neighbourhood function N(yi)

  • N(y0)=y1

  • F(yi+1)>F(y0): strategies are applied to help escape from the local minima.


Sat

True(C), False(A,B,D)

F=2


Sat

True(C), False(A,B,D)

F=2

True(A,C), False(B,D)

F=1


Sat

True(C), False(A,B,D)

F=2

True(A,C), False(B,D)

F=1

True(A,B,C), False(D)

F=1


Sat

True(C), False(A,B,D)

F=2

True(A,C), False(B,D)

F=1

True(A,B,C), False(D)

True(A,C,D), False(B)

F=1

F=1


Sat

True(C), False(A,D,B)

F=2

True(C,D), False(A,B)

F=1

True(C,D,A), False(B)

True(C,D,B), False(A)

F=1

F=0


Summary4

Summary

  • Introduction

  • Algorithms for SAT

    • Splitting and Resolution

    • Local Search

    • Integer Programming Method

    • Global Optimization

  • SAT Solvers Features

  • Final Thoughts


Integer programming method ip

Integer Programming Method (IP)


Integer programming method ip1

Integer Programming Method (IP)


Integer programming method ip2

Integer Programming Method (IP)


Integer programming method ip3

Integer Programming Method (IP)


Integer programming method ip4

Integer Programming Method (IP)


Integer programming method ip5

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 => end

    • If solution is non integer, round off such values

      • If it is a solution => end

      • Else adds a new constraint and try again


Summary5

Summary

  • Introduction

  • Algorithms for SAT

    • Splitting and Resolution

    • Local Search

    • Integer Programming Method

    • Global Optimization

  • SAT Solvers Features

  • Final Thoughts


Global optimization

Global optimization

  • Continuous Unconstrained Formulation

  • From discrete to continuous (UniSAT)

  • Try to minimize a function instead of trying to verify concrete restrictions.


Summary6

Summary

  • Introduction

  • Algorithms for SAT

    • Splitting and Resolution

    • Local Search

    • Integer Programming Method

    • Global Optimization

  • SAT Solvers Features

  • Final Thoughts


Which is the best method

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


Algorithm categories

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


Performance evaluation

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


P subclasses of sat

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.


Applications

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


Summary7

Summary

  • Introduction

  • Algorithms for SAT

    • Splitting and Resolution

    • Local Search

    • Integer Programming Method

    • Global Optimization

  • SAT Solvers Features

  • Final Thoughts


A few names

A few names

  • SatELite: CNF minimizer (+MiniSAT)

  • MiniSAT: the SAT solver properly

  • Authors: Niklas Eén and Niklas Sörensson

  • Vallst byDaniel Vallstrom

  • Kcnfs: is a generalization of cnfs. Olivier Dubois and Gilles Dequen

  • Ranov by by L&C Researcher Anbulagan and Nghia Duc Pham

  • Zchaff: Boolean Satisfiability Research Group at Princeton University


Some last ideas

Some last ideas

  • Produce each solution => exponential in the worst case (whether or not P=NP)

    • 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.


Bibliography

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.html


  • Login