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

SAT

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

SAT

J. Gonzalez

- Introduction
- Algorithms for SAT
- Splitting and Resolution
- Local Search
- Integer Programming Method
- Global Optimization

- SAT Solvers Features
- Final Thoughts

- 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: Conjunctive normal form
- DNF: Disjunctive normal form

- 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

- 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

- 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

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

- 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

- Discrete CSP

- Introduction
- Algorithms for SAT
- Splitting and Resolution
- Local Search
- Integer Programming Method
- Global Optimization

- SAT Solvers Features
- Final Thoughts

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

- Introduction
- Algorithms for SAT
- Splitting and Resolution
- Local Search
- Integer Programming Method
- Global Optimization

- SAT Solvers Features
- Final Thoughts

- 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

- Stop recursion:
- Any formula with no variables is True
- All subformulas are false and there is no formulas with variables

Satisfiable

Unsatisfiable

- Resolution: Using a resolvent to create new clauses.
- Resolvent: clauses transformation based on a given variable v.

Resolvent

- Resolution: Using a resolvent to create new clauses.
- Resolvent: clauses transformation based on a given variable v.

Resolvent

- Stop recursion:
- Formulas with an empty clause have no solution
- No more resolvent could be created

Unsatisfiable

Satisfiable

- First methods:
- DP (Davis-Putnam): Resolution
- DPL (Davis-Putnam-Loveland): Splitting (+ depth-first search avoids memory explosion)

- Introduction
- Algorithms for SAT
- Splitting and Resolution
- Local Search
- Integer Programming Method
- Global Optimization

- SAT Solvers Features
- Final Thoughts

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

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

F=2

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

F=2

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

F=1

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

F=2

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

F=1

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

F=1

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

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

- Introduction
- Algorithms for SAT
- Splitting and Resolution
- Local Search
- Integer Programming Method
- Global Optimization

- SAT Solvers Features
- Final Thoughts

- 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

- Introduction
- Algorithms for SAT
- Splitting and Resolution
- Local Search
- Integer Programming Method
- Global Optimization

- SAT Solvers Features
- Final Thoughts

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

- Introduction
- Algorithms for SAT
- Splitting and Resolution
- Local Search
- Integer Programming Method
- Global Optimization

- SAT Solvers Features
- Final Thoughts

- Local search:
- Faster for satisfiable CNF
- Can not prove unsatisfiability

- DP algorithm (split, resolution):
- Slower for satisfiable CNF
- Can prove unsatisfiability

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

- Experimentally

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

- 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

- Introduction
- Algorithms for SAT
- Splitting and Resolution
- Local Search
- Integer Programming Method
- Global Optimization

- SAT Solvers Features
- Final Thoughts

- 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

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

- 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