Chapter 1b Propositional Logic II (SAT Solving and Application) Discrete Mathematics II BK TPHCM

25 2.5K 0
Chapter 1b Propositional Logic II (SAT Solving and Application) Discrete Mathematics II BK TPHCM

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

(Materials drawn from Chapter 1 in: “Michael Huth and Mark Ryan. Logic in Computer Science: Modelling and Reasoning about Systems, 2nd Ed., Cambridge University Press, 2006” and some other sources) Nguyen An Khuong, Huynh Tuong Nguyen Faculty of Computer Science and Engineering University of Technology, VNUHCM Contents 1 Introduction Quick review Boolean Satisfiability (SAT) 2 SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver 3 An Application of SAT Solving: Sudoku

Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Chapter 1b Propositional Logic II (SAT Solving and Application) Contents Discrete Mathematics II Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver (Materials drawn from Chapter in: “Michael Huth and Mark Ryan Logic in Computer Science: Modelling and Reasoning about Systems, 2nd Ed., Cambridge University Press, 2006” and some other sources) A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? Nguyen An Khuong, Huynh Tuong Nguyen Faculty of Computer Science and Engineering University of Technology, VNU-HCM 1b.1 Contents Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Introduction Quick review Boolean Satisfiability (SAT) Contents Introduction Quick review SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? An Application of SAT Solving: Sudoku 1b.2 Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Introduction Quick review Boolean Satisfiability (SAT) Contents Introduction SAT Solvers Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea An Application of SAT Solving: Sudoku DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.3 Motivated Example – A Logic Puzzle Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen • If the unicorn is mythical, then it is immortal;and • If the unicorn is not mythical, then it is a mortal mammal;and Contents Introduction Quick review • If the unicorn is either immortal or a mammal, then it is horned;and • The unicorn is magical if it is horned Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving • Q: Is the unicorn mythical? Is it magical? Is it horned? Homeworks and Next Week Plan? 1b.4 Propositional Logic II CNF Nguyen An Khuong, Huynh Tuong Nguyen • Boolean formula φ is defined over a set of propositional variables p1 , , pn , using the standard propositional connectives ¬, ∧, ∨, −→, ←→, and parenthesis • The domain of propositional variables is {0, 1} • Example: φ(p1 , p2 , p3 ) = ((¬p1 ∧ p2 ) ∨ p3 ) ∧ (¬p2 ∨ p3 ) • A formula φ in conjunctive normal form (CNF) is a conjunction of disjunctions (clauses) of literals, where a literal is a variable or its complement • Example: φ(p1 , p2 , p3 ) = (¬p1 ∨ p2 ) ∧ (¬p2 ∨ p3 ) Contents Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Proposition (see [2, Subsection 1.5.1]) There is an algorithm to translate any Boolean formula into CNF Application of SAT Solving Homeworks and Next Week Plan? Proposition 1.45, p 57 φ-satisfiable iff ¬φ-not valid 1b.5 Propositional Logic II SAT Nguyen An Khuong, Huynh Tuong Nguyen Problem Find an assignment to the variables p1 , , pn such that φ(p1 , , pn ) = 1, or prove that no such assignment exists Contents Introduction Quick review Facts: SAT is an NP-complete decision problem [Cook’71] Boolean Satisfiability (SAT) SAT Solvers • SAT was the first problem to be shown NP-complete • There are no known polynomial time algorithms for SAT • 36-year old conjecture: “Any algorithm that solves SAT is exponential in the number of variables, in the worst-case.” WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.6 Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Introduction SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Contents Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver An Application of SAT Solving: Sudoku A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.7 WalkSAT: An Incomplete Solver Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen • Idea: Start with a random truth assignment, and then iteratively improve the assignment until model is found • Details: In each step, choose an unsatisfied clause (clause selection), and “flip” one of its variables (variable selection) Contents WalkSAT: Details Introduction Quick review Boolean Satisfiability (SAT) • Termination criterion: No unsatisfied clauses are left • Clause selection: Choose a random unsatisfied clause • Variable selection: • If there are variables that when flipped make no currently satisfied clause unsatisfied, flip one which makes the most unsatisfied clauses satisfied • Otherwise, make a choice with a certain probability between: SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? • picking a random variable, and • picking a variable that when flipped minimizes the number of unsatisfied clauses 1b.8 DPLL: Idea Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Contents Introduction • Simplify formula based on pure literal elimination and unit propagation • If not done, pick an atom p and split: φ ∧ p or φ ∧ ¬p Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.9 A Linear Solver: Idea Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen • Transform formula to tree of conjunctions and negations • Transform tree into graph • Mark the top of the tree as T Contents Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers • Propagate constraints using obvious rules WalkSAT: Idea • If all leaves are marked, check that corresponding assignment A Linear Solver makes the formula true DPLL: Idea A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.10 Propositional Logic II Transformation Nguyen An Khuong, Huynh Tuong Nguyen T (p) = p T (φ1 ∧ φ2 ) = T (φ1 ) ∧ T (φ2 ) T (¬φ) = ¬φ(T ) T (φ1 → φ2 ) = ¬(T (φ1 ) ∧ ¬T (φ2 )) T (φ1 ∨ φ2 ) = ¬(¬T (φ1 ) ∧ ¬T (φ2 )) Contents Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Example Application of SAT Solving φ = p ∧ ¬(q ∨ ¬p) Homeworks and Next Week Plan? T (φ) = p ∧ ¬¬(¬q ∧ ¬¬p) 1b.11 Binary Decision Tree: Example Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Contents Introduction Quick review See Example 1.48 and Figure 1.12 on page 70 Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.12 Problem Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Contents Introduction Quick review What happens to formulas of the kind ¬(φ1 ∧ φ2 )? Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.13 A Cubic Solver: Idea Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Improve the linear solver as follows: • Run linear solver • For every node n that is still unmarked: • Mark n with T and run linear solver, possibly resulting in temporary marks • Mark n with F and run linear solver, possibly resulting in temporary marks • Combine temporary marks, resulting in possibly new permanent marks Contents Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.14 Propositional Logic II A Sudoku Grid and Variables Nguyen An Khuong, Huynh Tuong Nguyen Sudoku Variables http://upload.wikimedia.org/wikipedia/commons/f/ff/Sudoku-by-L2G-20050714.svg 1 5 9 Introduction Quick review • Xijk true iff cell at row i column j equals k Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea • |V | = 93 = 729 Contents 11/3/09 11:40 AM V = {Xijk | ≤ i, j, k ≤ 9} • X726 is true • X72k is false for k = DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.15 Constraining exactly one variable to be true Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Variables = {p, q, r, s} • At least one is true: α=p∨q∨r∨s Contents Introduction Quick review Boolean Satisfiability (SAT) • No more than one is true: SAT Solvers WalkSAT: Idea β = (¯ p ∨ q¯) ∧ (¯ p ∨ r¯) ∧ (¯ p ∨ s¯) ∧ (¯ q ∨ r¯) ∧ (¯ q ∨ s¯) ∧ (¯ r ∨ s¯) DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? • Exactly one is true ψ =α∧β 1b.16 Propositional Logic II Sudoku row contains exactly one Nguyen An Khuong, Huynh Tuong Nguyen • Row must contain at least one α2,8 = X2j8 1≤j≤9 Contents Introduction Quick review • Row has at most one Boolean Satisfiability (SAT) SAT Solvers ¯ 2j8 ∨ X ¯ 2m8 X β2,8 = WalkSAT: Idea DPLL: Idea A Linear Solver 1≤j,m≤9 j=m A Cubic Solver Application of SAT Solving • Row has exactly one Homeworks and Next Week Plan? ψ2,8 = α2,8 ∧ β2,8 1b.17 Propositional Logic II Sudoku row constraints Nguyen An Khuong, Huynh Tuong Nguyen • Row contains all values exactly once γ2 = ψ2,k 1≤k≤9 Contents Introduction Quick review • All rows contain all values exactly once Boolean Satisfiability (SAT) SAT Solvers R = γi = 1≤i≤9 ψi,k WalkSAT: Idea DPLL: Idea 1≤i≤9 1≤k≤9 A Linear Solver A Cubic Solver (αi,k ∧ βi,k ) = Application of SAT Solving 1≤i≤9 1≤k≤9 = 1≤i≤9 1≤k≤9       1≤j≤9    Xijk  ∧   ¯ ijk ∨ X ¯ imk X 1≤j,m≤9 Homeworks and Next Week Plan?    j=m 1b.18 Propositional Logic II Column constraints Nguyen An Khuong, Huynh Tuong Nguyen • All columns contain all values exactly once       ¯ ijk ∨ X ¯ mjk  C = Xijk  ∧  X   1≤j≤9 1≤k≤9 1≤i≤9 1≤i,m≤9 i=m Contents Introduction     Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.19 Propositional Logic II × box constraints Nguyen An Khuong, Huynh Tuong Nguyen • × box containing cell (4, 7) has at least one ξ475 = Xij5 Contents i = 4, 5, j = 7, 8, Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers • × box containing cell (4, 7) has at most one WalkSAT: Idea DPLL: Idea A Linear Solver ¯ ij5 ∨ X ¯ mn5 ) (X ζ475 = i, m = 4, 5, j, n = 7, 8, i=m∨j =n A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.20 Propositional Logic II × box constraints, cont Nguyen An Khuong, Huynh Tuong Nguyen • × box containing cell (4, 7) has exactly one θ475 = ξ475 ∧ ζ475 Contents Introduction Quick review Boolean Satisfiability (SAT) • All × boxes contains exactly one SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver µ5 = θij5 i = 1, 4, j = 1, 4, A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.21 Propositional Logic II × box constraints, cont Nguyen An Khuong, Huynh Tuong Nguyen Contents • All × boxes contain all values Introduction Quick review B µk = = 1≤k≤9 θijk 1≤k≤9 i = 1, 4, j = 1, 4, Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.22 Propositional Logic II Initial predefined values Nguyen An Khuong, Huynh Tuong Nguyen I = X115 ∧ X123 ∧ · · · ∧ X999 http://upload.wikimedia.org/wikipedia/commons/f/ff/Sudoku-by-L2G-20050714.svg 1 11/3/09 11:40 AM Contents Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea A Linear Solver DPLL: Idea A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.23 Sudoku Boolean Formula Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Contents φ=I ∧R∧C ∧B Introduction Quick review Boolean Satisfiability (SAT) • Note that φ is in CNF • φ can be altered so that it contains exactly literals per clause (can be fed to 3-SAT solver) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.24 Homeworks and Next Week Plan? Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Homeworks • Do ALL marked questions of Exercises 1.6 • Read carefully Subsections 1.6.1 and 1.6.2 Contents Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea Next Week? Predicate Logic A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b.25 [...]... Homeworks and Next Week Plan? T (φ) = p ∧ ¬¬(¬q ∧ ¬¬p) 1b. 11 Binary Decision Tree: Example Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Contents Introduction Quick review See Example 1.48 and Figure 1.12 on page 70 Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b. 12 Problem Propositional. .. Solver Application of SAT Solving Homeworks and Next Week Plan? 1b. 24 Homeworks and Next Week Plan? Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Homeworks • Do ALL marked questions of Exercises 1.6 • Read carefully Subsections 1.6.1 and 1.6.2 Contents Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea Next Week? Predicate Logic A Linear Solver A... SAT Solving Homeworks and Next Week Plan? 1b. 21 Propositional Logic II 3 × 3 box constraints, cont Nguyen An Khuong, Huynh Tuong Nguyen Contents • All 9 3 × 3 boxes contain all 9 values Introduction Quick review B µk = = 1≤k≤9 θijk 1≤k≤9 i = 1, 4, 7 j = 1, 4, 7 Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and. .. Plan? 1b. 12 Problem Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Contents Introduction Quick review What happens to formulas of the kind ¬(φ1 ∧ φ2 )? Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b. 13 A Cubic Solver: Idea Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen... Boolean Satisfiability (SAT) SAT Solvers WalkSAT: Idea DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b. 19 Propositional Logic II 3 × 3 box constraints Nguyen An Khuong, Huynh Tuong Nguyen • 3 × 3 box containing cell (4, 7) has at least one 5 ξ475 = Xij5 Contents i = 4, 5, 6 j = 7, 8, 9 Introduction Quick review Boolean Satisfiability (SAT) SAT Solvers... k = 6 DPLL: Idea A Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b. 15 Constraining exactly one variable to be true Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Variables = {p, q, r, s} • At least one is true: α=p∨q∨r∨s Contents Introduction Quick review Boolean Satisfiability (SAT) • No more than one is true: SAT Solvers WalkSAT: Idea β = (¯ p... = 4, 5, 6 j, n = 7, 8, 9 i=m∨j =n A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? 1b. 20 Propositional Logic II 3 × 3 box constraints, cont Nguyen An Khuong, Huynh Tuong Nguyen • 3 × 3 box containing cell (4, 7) has exactly one 5 θ475 = ξ475 ∧ ζ475 Contents Introduction Quick review Boolean Satisfiability (SAT) • All 9 3 × 3 boxes contains exactly one 5 SAT Solvers WalkSAT:... Linear Solver A Cubic Solver Application of SAT Solving Homeworks and Next Week Plan? • Exactly one is true ψ =α∧β 1b. 16 Propositional Logic II Sudoku row 2 contains exactly one 8 Nguyen An Khuong, Huynh Tuong Nguyen • Row 2 must contain at least one 8 α2,8 = X2j8 1≤j≤9 Contents Introduction Quick review • Row 2 has at most one 8 Boolean Satisfiability (SAT) SAT Solvers ¯ 2j8 ∨ X ¯ 2m8 X β2,8 = WalkSAT:... (SAT) 3 SAT Solvers 4 WalkSAT: Idea 5 A Linear Solver DPLL: Idea A Cubic Solver 6 7 8 Application of SAT Solving Homeworks and Next Week Plan? 9 1b. 23 Sudoku Boolean Formula Propositional Logic II Nguyen An Khuong, Huynh Tuong Nguyen Contents φ=I ∧R∧C ∧B Introduction Quick review Boolean Satisfiability (SAT) • Note that φ is in CNF • φ can be altered so that it contains exactly 3 literals per clause (can... Cubic Solver Application of SAT Solving • Row 2 has exactly one 8 Homeworks and Next Week Plan? ψ2,8 = α2,8 ∧ β2,8 1b. 17 Propositional Logic II Sudoku row constraints Nguyen An Khuong, Huynh Tuong Nguyen • Row 2 contains all 9 values exactly once γ2 = ψ2,k 1≤k≤9 Contents Introduction Quick review • All 9 rows contain all 9 values exactly once Boolean Satisfiability (SAT) SAT Solvers R = γi = 1≤i≤9

Ngày đăng: 19/06/2016, 17:50

Từ khóa liên quan

Mục lục

  • Introduction

    • Quick review

    • Boolean Satisfiability (SAT)

    • SAT Solvers

      • WalkSAT: Idea

      • DPLL: Idea

      • A Linear Solver

      • A Cubic Solver

      • An Application of SAT Solving: Sudoku

Tài liệu cùng người dùng

Tài liệu liên quan