Presentation is loading. Please wait.

Presentation is loading. Please wait.

SAT J. Gonzalez. Summary Introduction Algorithms for SAT –Splitting and Resolution –Local Search –Integer Programming Method –Global Optimization SAT.

Similar presentations


Presentation on theme: "SAT J. Gonzalez. Summary Introduction Algorithms for SAT –Splitting and Resolution –Local Search –Integer Programming Method –Global Optimization SAT."— Presentation transcript:

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 Literals: An atom or its negation Clauses: Disjunction of Literals Sentence in CNF: Conjunction of Clauses Literal Clauses Sentences In CNF  ......

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: D i = {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: D i = {red,green,blue} Constraints: –WA ≠ NT, –NT ≠ SA –NT ≠ Q –SA ≠ Q –SA ≠ NSW –SA ≠ V –Q ≠ NSW –NSW ≠ V –V ≠ T X WA,red  X WA,green  X WA,blue X NT,red  X NT,green  X NT,blue X WA,red → ¬X NT,red X WA,green → ¬X NT,green X WA,blue → ¬X NT,blue

7 CSP (Constraint Satisfaction Problems) Variables: WA, NT, Q, NSW, V, SA, T Domains: D i = {red,green,blue} Constraints: –WA ≠ NT, –NT ≠ SA –NT ≠ Q –SA ≠ Q –SA ≠ NSW –SA ≠ V –Q ≠ NSW –NSW ≠ V –V ≠ T X WA,red  X WA,green  X WA,blue X NT,red  X NT,green  X NT,blue ¬X WA,red  ¬X NT,red ¬X WA,green  ¬X NT,green ¬X WA,blue  ¬X NT,blue

8 CSP (Constraint Satisfaction Problems) Variables: WA, NT, Q, NSW, V, SA, T Domains: D i = {red,green,blue} Constraints: –WA ≠ NT, –NT ≠ SA –NT ≠ Q –SA ≠ Q –SA ≠ NSW –SA ≠ V –Q ≠ NSW –NSW ≠ V –V ≠ T (X WA,red  X WA,green  X WA,blue )  (X NT,red  X NT,green  X NT,blue )  (¬X WA,red  ¬X NT,red )  (¬X WA,gree  ¬X NT,gree )  (¬X WA,blue  ¬X NT,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

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. P=true P=False

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 y 0 F(y 0 ): Number of unsatisfiable formulas We define neighbourhood function N(y i ) N(y 0 )=y 1 F(y i+1 )>F(y 0 ): strategies are applied to help escape from the local minima.

22 True(C), False(A,B,D) F=2

23 True(C), False(A,B,D) F=2 True(A,C), False(B,D) F=1

24 True(C), False(A,B,D) F=2 True(A,C), False(B,D) F=1 True(A,B,C), False(D) F=1

25 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(A,C,D), False(B) F=1

26 True(C), False(A,D,B) F=2 True(C,D), False(A,B) F=1 True(C,D,A), False(B) F=1 True(C,D,B), False(A) F=0

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

30

31

32

33 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

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 –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 2005 Industrial GoldSilverBronze SAT and UNSATSatELiteGTIMiniSAT 1.13 zChaff_rand and HaifaSAT SATSatELiteGTIMiniSAT 1.13 Jerusat 1.31 B and HaifaSAT UNSATSatELiteGTIZchaff_randHaifaSat 2005 Handmake GoldSilverBronze SAT and UNSATVallstSatELiteGTIMarch_dl SATVallstMarch_dlHsat1 UNSATSatELiteGTIMiniSAT 1.13 Vallst and March-dl 2005 Random GoldSilverBronze SAT and UNSATkcnf-2004March_dlDew_Satz1a SATranovg2wsatVW UNSATkcnf-2004March_dlDew_Satz1a

44 2004 IndustrialhandmadeRandom ALL (SAT+UNSAT) Zchaff 2004March-eqAdaptNovelty SATJerusatSatzooAdaptNovelty UNSATZchaff 2004March-eqKcnfs 2003 IndustrialhandmadeRandom Complete on allForkliftSatzooKcnfs ALL on SATForkliftSatzooUnitwalk 2002 IndustrialhandmadeRandom Complete on allzChaff OKSolver ALL on SATLimmatBerkminOKSolver

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 L&C Researcher Anbulagan and Nghia Duc Pham Zchaff: Boolean Satisfiability Research Group at Princeton University

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

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/http://www.satisfiability.org/SAT04/ SAT 2005: http://www.satisfiability.org/SAT05/http://www.satisfiability.org/SAT05/ SAT 2006: http://www.easychair.org/FLoC- 06/SAT.htmlhttp://www.easychair.org/FLoC- 06/SAT.html


Download ppt "SAT J. Gonzalez. Summary Introduction Algorithms for SAT –Splitting and Resolution –Local Search –Integer Programming Method –Global Optimization SAT."

Similar presentations


Ads by Google