Introduction to the Boolean Satisfiability Problem Spring 2020
Introduction to the Boolean Satisfiability Problem Spring 2020 CSCE 235 H Introduction to Discrete Structures URL: cse. unl. edu/~cse 235 h All questions: Piazza
Satisfiability Study • • 7 weeks 30 min lectures in recitation ~2 hours of homework per week Goals: – Exposure to fundamental research in CS – Understand how to model problems – Learn to use SAT solver, Mini. SAT CSCE 235 Logic 2
Boolean Satisfiability Problem • Given: – A Boolean formula • Question: – Is there an assignment of truth values to the Boolean variables such that the formula holds true? CSCE 235 Logic 3
Boolean Satisfiability Problem CSCE 235 Logic 4
Boolean Satisfiability Problem SATISFIABLE a=true, b=true CSCE 235 Logic 5
Boolean Satisfiability Problem SATISFIABLE a=true, b=true UNSATISFIABLE Left side of implication is a tautology. Right side of implication is a contradiction. True cannot imply false. CSCE 235 Logic 6
Applications of SAT • • • Scheduling Resource allocation Hardware/software verification Planning Cryptography CSCE 235 Logic 7
Conjunctive Normal Form • Variable • Literal • Clause • Formula CSCE 235 Logic 8
Converting to CNF • All Boolean formulas can be converted to CNF • The operators can be rewritten in terms of • can be rearranged using – De Morgan’s Laws – Distributive Laws – Double Negative • May result in exponential size increase of the formula CSCE 235 Logic 9
Converting to CNF CSCE 235 Logic 10
Converting to CNF Implication CSCE 235 Logic 11
Converting to CNF Implication De. Morgan’s CSCE 235 Logic 12
Converting to CNF Implication De. Morgan’s Distributive CSCE 235 Logic 13
Interpretation of CNF • Every clause must be satisfied by at least one true literal • Total possible number of solutions increases as number of variables increases • Clauses constrain the possible solutions • Smaller clauses are more constraining CSCE 235 Logic 14
Interpretation of CNF CSCE 235 Logic a b C 0 0 0 1 1 1 0 0 1 1 1 0 1 15
Interpretation of CNF CSCE 235 Logic a b C 0 0 0 1 1 1 0 0 1 1 1 0 1 16
Interpretation of CNF CSCE 235 Logic a b C 0 0 0 1 1 1 0 0 1 1 1 0 1 17
Interpretation of CNF CSCE 235 Logic a b C 0 0 0 1 1 1 0 0 1 1 1 0 1 18
Interpretation of CNF CSCE 235 Logic a b C 0 0 0 1 1 1 0 0 1 1 1 0 1 19
Determining SAT/UNSAT • All that is required to show satisfiability is to find a valid solution • Many techniques available: – Guessing and checking – Systematic search – Inference CSCE 235 Logic 20
Systematic Search with Backtracking Construct a binary tree of all combinations Proceeds in a depth first manner Each level corresponds to a variable Each branch corresponds to a truth assignment • Branches of the tree are ‘pruned’ when the assignment cannot be extended in a satisfiable manner • • CSCE 235 Logic 21
Systematic Search with Backtracking CSCE 235 Logic 22
Systematic Search with Backtracking CSCE 235 Logic 23
Systematic Search with Backtracking CSCE 235 Logic 24
Systematic Search with Backtracking CSCE 235 Logic 25
Systematic Search with Backtracking CSCE 235 Logic 26
Systematic Search with Backtracking CSCE 235 Logic 27
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 28
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 29
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 30
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 31
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 32
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 33
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 34
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 35
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 36
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 37
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 38
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 39
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 40
Systematic Search with Backtracking Satisfiable CSCE 235 Logic 41
Systematic Search with Backtracking Satisfiable 3 solutions total CSCE 235 Logic 42
- Slides: 42