Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to the Boolean Satisfiability Problem

Similar presentations


Presentation on theme: "Introduction to the Boolean Satisfiability Problem"— Presentation transcript:

1 Introduction to the Boolean Satisfiability Problem
Spring 2018 CSCE 235H Introduction to Discrete Structures URL: cse.unl.edu/~cse235h All questions: Piazza

2 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

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

4 Boolean Satisfiability Problem

5 Boolean Satisfiability Problem
SATISFIABLE a=true, b=true

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

7 Applications of SAT Scheduling Resource allocation
Hardware/software verification Planning Cryptography

8 Conjunctive Normal Form
Variable Literal Clause Formula

9 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

10 Converting to CNF

11 Converting to CNF Implication

12 Converting to CNF Implication DeMorgan’s

13 Converting to CNF Implication DeMorgan’s Distributive

14 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

15 Interpretation of CNF a b C 1

16 Interpretation of CNF a b C 1

17 Interpretation of CNF a b C 1

18 Interpretation of CNF a b C 1

19 Interpretation of CNF a b C 1

20 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

21 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

22 Systematic Search with Backtracking

23 Systematic Search with Backtracking

24 Systematic Search with Backtracking

25 Systematic Search with Backtracking

26 Systematic Search with Backtracking

27 Systematic Search with Backtracking

28 Systematic Search with Backtracking
Satisfiable

29 Systematic Search with Backtracking
Satisfiable

30 Systematic Search with Backtracking
Satisfiable

31 Systematic Search with Backtracking
Satisfiable

32 Systematic Search with Backtracking
Satisfiable

33 Systematic Search with Backtracking
Satisfiable

34 Systematic Search with Backtracking
Satisfiable

35 Systematic Search with Backtracking
Satisfiable

36 Systematic Search with Backtracking
Satisfiable

37 Systematic Search with Backtracking
Satisfiable

38 Systematic Search with Backtracking
Satisfiable

39 Systematic Search with Backtracking
Satisfiable

40 Systematic Search with Backtracking
Satisfiable

41 Systematic Search with Backtracking
Satisfiable

42 Systematic Search with Backtracking
Satisfiable 3 solutions total


Download ppt "Introduction to the Boolean Satisfiability Problem"

Similar presentations


Ads by Google