# Propositional Satisfiability (SAT) Toby Walsh Cork Constraint Computation Centre University College Cork Ireland 4c.ucc.ie/~tw/sat/

## Presentation on theme: "Propositional Satisfiability (SAT) Toby Walsh Cork Constraint Computation Centre University College Cork Ireland 4c.ucc.ie/~tw/sat/"— Presentation transcript:

Propositional Satisfiability (SAT) Toby Walsh Cork Constraint Computation Centre University College Cork Ireland 4c.ucc.ie/~tw/sat/

Every morning … I cycle across the River Lee in Cork … And see this rather drab house …

Every morning … I read the plaque on the wall of this house … Dedicated to the memory of George Boole … Professor of Mathematics at Queens College (now University College Cork)

George Boole (1815-1864) Boolean algebra The Mathematical Analysis of Logic, Cambridge, 1847 The Calculus of Logic, Cambridge and Dublin Mathematical journal, vol. 3, 1848 Reduced propositional logic to algebraic manipulations

George Boole (1815-1864) Boolean algebra The Mathematical Analysis of Logic, Cambridge, 1847 The Calculus of Logic, Cambridge and Dublin Mathematical journal, vol. 3, 1848 Reduced propositional logic to algebraic manipulations

Outline What is SAT? How do we solve SAT? Why is SAT important?

Propositional logic Long history Aristotle Leibnitz Boole Foundation for formalizing deductive reasoning Used extensively to automate such reasoning in Artificial Intelligence

A diplomatic problem As chief of staff, you are to sent out invitations to the embassy ball. The ambassador instructs you to invite Peru or exclude Qatar. The vice-ambassador wants you to invite Qatar or Romania or both. A recent diplomatic incidents means that you cannot invite both Romania and Peru Who do you invite?

A diplomatic problem As chief of staff, you are to sent out invitations to the embassy ball. The ambassador instructs you to invite Peru or exclude Qatar. The vice-ambassador wants you to invite Qatar or Romania or both. A recent diplomatic incidents means that you cannot invite both Romania and Peru Who do you invite? P v -Q Q v R -(R & P)

A diplomatic problem As chief of staff, you are to sent out invitations to the embassy ball. The ambassador instructs you to invite Peru or exclude Qatar. The vice-ambassador wants you to invite Qatar or Romania or both. A recent diplomatic incidents means that you cannot invite both Romania and Peru Who do you invite? P v -Q Q v R -(R & P) P,Q,-R or -P,-Q,R

Propositional satisfiability (SAT) Given a propositional formula, does it have a “model” (satisfying assignment)? 1st decision problem shown to be NP- complete Usually focus on formulae in clausal normal form (CNF)

Clausal Normal Form Formula is a conjunction of clauses C1 & C2 & … Each clause is a disjunction of literals L1 v L2 v L3, … Empty clause contains no literals (=False) Unit clauses contains single literal Each literal is variable or its negation P, -P, Q, -Q, …

Clausal Normal Form k-CNF Each clause has k literals 3-CNF NP-complete Best current complete methods are exponential 2-CNF Polynomial (indeed, linear time)

Converting to CNF Eliminate iff and implies P iff Q => P implies Q, Q implies P P implies Q => -P v Q Push negation down -(P & Q) => -P v -Q -(P v Q) => -P & -Q

Converting to CNF Clausify using De Morgan’s laws E.g. P v (Q & R) => (P v Q) & (P v R) In worst case, formula may grow exponentially in size Can introduce new literals to prevent this blow up

How do we solve SAT? Systematic methods Truth tables Davis Putnam procedure Local search methods GSAT WalkSAT Tabu search, SA, … Exotic methods DNA, quantum computing,

Truth tables Enumerate all possible truth assignments P Q R C1=P v Q C2=-Q v -R C1&C2 T T T T F F T T F T T T T F T T T T T F F …

Davis Putnam procedure Introduced by Davis & Putnam in 1960 Resolution rule required exponential space Modified by Davis, Logemann and Loveland in 1962 Resolution rule replaced by splitting rule Trades space for time Modified algorithm usually inaccurately called Davis Putnam procedure

Davis Putnam procedure Consider (X or Y) & (-X or Z) & (-Y or Z) & … Basic idea Try X=true

Davis Putnam procedure Consider (X or Y) & (-X or Z) & (-Y or Z) & … Basic idea Try X=true Remove clauses which must be satisfied

Davis Putnam procedure Consider (-X or Z) & (-Y or Z) & … Basic idea Try X=true Remove clauses which must be satisfied Simplify clauses containing -X

Davis Putnam procedure Consider ( Z) & (-Y or Z) & … Basic idea Try X=true Remove clauses which must be satisfied Simplify clauses containing -X Can now deduce that Z must be true

Davis Putnam procedure Consider ( Z) & (-Y or Z) & … Basic idea Try X=true Remove clauses which must be satisfied Simplify clauses containing -X Can now deduce that Z must be true At any point, may have to backtrack and try X=false instead

Procedure DPLL(C) (SAT) if C={} then SAT (Empty) if empty clause in C then UNSAT (Unit) if unit clause, {l} then DPLL(C[l/True]) (Split) if DPLL(C[l/True]) then SAT else DPLL(C[l/False])

Procedure DPLL(C) (Pure) if l is pure in C then DPLL(C[l/True]) (Taut) if l v -l in C then DPLL(C - {l v -l}) Neither rules are needed for completeness and do not tend to improve solving efficiency

Procedure DPLL(C) (SAT) if C={} then SAT (Empty) if empty clause in C then UNSAT (Unit) if unit clause, {l} then DPLL(C[l/True]) (Split) if DPLL(C[l/True]) then SAT else DPLL(C[l/False]) Unit rule not needed for completeness but improves efficiency greatly

Procedure DPLL(C) Non-deterministic Which literal do we branch upon? Good choice can reduce solving time significantly Popular heuristics include: MOM’s (most occurrences in minimal size clauses) Literal that gives “most” unit propagation

Procedure DPLL(C) Other refinements Non-chronological backtracking (conflict directed backjumping, …) Clause learning (at end of branch, identify cause for failure and add this as an additional clause) Fast data structures (two literal watching for fast unit propagation)

Procedure DPLL(C) Space complexity O(n) Time complexity O(1.618^n) Average and best case often much better than this worst case (see next lecture)

Brief History of DP 1st generation (1960s) DP, DLL 2nd generation (1980s/90s) POSIT, Tableau, … 3rd generation (mid 1990s) SATO, satz, grasp, … 4th generation (2000s) Chaff, BerkMin, … 5th generation? Actual Japanese 5th Generation Computer (from FGC Museum archive)

Brief History of DP 1st generation (1960s) DP, DLL 2nd generation (1980s/90s) POSIT, Tableau, … 3rd generation (mid 1990s) SATO, satz, grasp, … 4th generation (2000s) Chaff, BerkMin, … 5th generation? Will it need a paradigm shift? Actual Japanese 5th Generation Computer (from FGC Museum archive)

Moore’s Law Are we keeping up with Moore’s law? Number of transistors doubles every 18 months Number of variables reported in random 3SAT experiments doubles every 3 or 4 years  We’re falling behind each year!  Even though we’re getting better performance due to Moore’s law!

Local search for SAT Repair based methods Instead of building up a solution, take complete assignment and flip variable to satisfy “more” clauses Cannot prove UNSATisfiability Often will solve MAX-SAT problem

Papadimitrou’s procedure T:= random truth assignment Repeat until T satisfies all clauses v := variable in UNSAT clause T := T with v’s value flipped Semi-decision procedure Solves 2-SAT in expected O(n^2) time

GSAT [Selman, Levesque, Mitchell AAAI 92] Repeat MAX-TRIES times or until clauses satisfied T:= random truth assignment Repeat MAX-FLIPS times or until clauses satisfied v := variable which flipping maximizes number of SAT clauses T := T with v’s value flipped Adds restarts and greediness Sideways flips important (large plateaus to explore)

WalkSAT [Selman, Kautz, Cohen AAAI 94] Repeat MAX-TRIES times or until clauses satisfied T:= random truth assignment Repeat MAX-FLIPS times or until clauses satisfied c := unsat clause chosen at random v:= var in c chosen either greedily or at random T := T with v’s value flipped Focuses on UNSAT clauses

Novelty [McAllester, Selman, Kautz AAAI 97] Repeat MAX-TRIES times or until clauses satisfied T:= random truth assignment Repeat MAX-FLIPS times or until clauses satisfied c := unsat clause chosen at random v:= var in c chosen greedily If v was last var in clause flipped and rand(1)

{ "@context": "http://schema.org", "@type": "ImageObject", "contentUrl": "http://images.slideplayer.com/9/2555463/slides/slide_37.jpg", "name": "Novelty [McAllester, Selman, Kautz AAAI 97] Repeat MAX-TRIES times or until clauses satisfied T:= random truth assignment Repeat MAX-FLIPS times or until clauses satisfied c := unsat clause chosen at random v:= var in c chosen greedily If v was last var in clause flipped and rand(1)

Other local search methods Simulated annealing Tabu search Genetic algorithms Hybrid methods Combine best features of systematic methods (eg unit propagation) and local search (eg quick recovery from failure)

Exotic methods Quantum computing DNA computing Ant computing …

Beyond the propositional Linear 0/1 inequalities Quantified Boolean satisfiability Stochastic satisfiability Modal satisfiability …

Linear 0/1 inequalities Constraints of the form: Sum ai. Xi >= c SAT can easily be expressed as linear 0/1 problem X v -Y v Z => X + (1-Y) + Z >= 1 …

Linear 0/1 inequalities Often good for describing problems involving arithmetic Counting constraints Objective functions Solution methods Complete Davis-Putnam like methods Local search methods like WalkSAT(PB)

Quantified Boolean formulae Propositional SAT can be expressed as: Exists P, Q, R. (P v Q) & (-Q v R) & … Can add universal quantifiers: Forall P. Exists Q, R. (P v Q) & (-Q v R) &.. Useful in formal methods, conditional planning …

Quantified Boolean formulae SAT of QBF is PSPACE complete Can be seen as game Existential quantifiers trying to make it SAT Universal quantifiers trying to make it UNSAT Solution methods Extensions of the DPLL procedure Local search methods just starting to appear

Stochastic satisfiability Randomized quantifier in addition to the existential With prob p, Q is True With prob (1-p), Q is False Can we satisfy formula in some fraction of possible worlds? Useful for modelling uncertainty present in real world (eg planning under uncertainty)

Conclusions Defined propositional SAT Complete methods Davis Putnam, DPLL, … Local search procedures GSAT, WalkSAT, Novelty, … Extensions

Download ppt "Propositional Satisfiability (SAT) Toby Walsh Cork Constraint Computation Centre University College Cork Ireland 4c.ucc.ie/~tw/sat/"

Similar presentations