Introduction to the Boolean Satisfiability Problem

Introduction to the Boolean Satisfiability Problem

Introduction to the Boolean Satisfiability Problem Spring 2018 CSCE 235H Introduction to Discrete Structures URL: cse.unl.edu/~cse235h 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, MiniSAT 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 a ( a b) _ ¬ ^ (a a) (b b) _ ¬ ! ^ ¬ CSCE 235 Logic 4 Boolean Satisfiability Problem a ( a b) _ ¬ ^ SATISFIABLE a=true, b=true (a a) (b b) _ ¬ ! ^ ¬ CSCE 235 Logic 5 Boolean Satisfiability Problem a ( a b) _ ¬ ^ SATISFIABLE a=true, b=true (a a) (b b) _ ¬ ! ^ ¬ 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 a, b, p, q, x1,x2 • Literal a, a, q, q, x , x ¬ ¬ 1 ¬ 1 • Clause (a b c) _ ¬ _ • Formula (a b c) _ ¬ _ (b c) ^ _ ( a c) ^ ¬ _ ¬ 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 (a a) (b b) _ ¬ ! ^ ¬ ⌘ CSCE 235 Logic 10 Converting to CNF (a a) (b b) _ ¬ ! ^ ¬ ⌘ Implication (a a) (b b) ¬ _ ¬ _ ^ ¬ ⌘ CSCE 235 Logic 11 Converting to CNF (a a) (b b) _ ¬ ! ^ ¬ ⌘ Implication (a a) (b b) ¬ _ ¬ _ ^ ¬ ⌘ DeMorgan’s ( a a) (b b) ¬ ^ _ ^ ¬ ⌘ CSCE 235 Logic 12 Converting to CNF (a a) (b b) _ ¬ ! ^ ¬ ⌘ Implication (a a) (b b) ¬ _ ¬ _ ^ ¬ ⌘ DeMorgan’s ( a a) (b b) ¬ ^ _ ^ ¬ ⌘ ( a b) ( a b) (a b) (a b) ¬ _ ^ ¬ _ ¬ ^ _ ^ _ ¬ 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 (a b c) a b C _ ¬ _ ¬ 0 0 0 (b c) 0 0 1 ^ _ 0 1 0 ( a) 0 1 1 ^ ¬ 1 0 0 1 0 1 1 1 0 1 1 1 CSCE 235 Logic 15 Interpretation of CNF (a b c) a b C _ ¬ _ ¬ ( a b c) 0 0 0 (b c) ¬ ¬ ^ ^ 0 0 1 ^ _ 0 1 0 ( a) 0 1 1 ^ ¬ 1 0 0 1 0 1 1 1 0 1 1 1 CSCE 235 Logic 16 Interpretation of CNF (a b c) a b C _ ¬ _ ¬ ( b c) 0 0 0 (b c) ¬ ¬ ^ ¬ 0 0 1 ^ _ 0 1 0 ( a) 0 1 1 ^ ¬ 1 0 0 1 0 1 1 1 0 1 1 1 CSCE 235 Logic 17 Interpretation of CNF (a b c) a b C _ ¬ _ ¬ (a) 0 0 0 (b c) ¬ 0 0 1 ^ _ 0 1 0 ( a) 0 1 1 ^ ¬ 1 0 0 1 0 1 1 1 0 1 1 1 CSCE 235 Logic 18 Interpretation of CNF (a b c) a b C _ ¬ _ ¬ 0 0 0 (b c) 0 0 1 ^ _ 0 1 0 ( a) 0 1 1 ^ ¬ 1 0 0 1 0 1 1 1 0 1 1 1 CSCE 235 Logic 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 (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ CSCE 235 Logic 22 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ CSCE 235 Logic 23 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ CSCE 235 Logic 24 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ CSCE 235 Logic 25 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ CSCE 235 Logic 26 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ CSCE 235 Logic 27 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 28 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 29 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 30 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 31 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 32 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 33 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 34 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 35 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 36 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 37 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 38 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 39 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 40 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable CSCE 235 Logic 41 Systematic Search with Backtracking (a b c) _ _ ( a b) ^ ¬ _ ¬ ( b c) ^ ¬ _ ¬ ( c a) ^ ¬ _ ¬ Satisfiable 3 solutions total CSCE 235 Logic 42.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    42 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us