foundations of artificial intelligence
play

Foundations of Artificial Intelligence 31. Propositional Logic: DPLL - PowerPoint PPT Presentation

Foundations of Artificial Intelligence 31. Propositional Logic: DPLL Algorithm Martin Wehrle Universit at Basel April 25, 2016 Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Propositional Logic: Overview Chapter


  1. Foundations of Artificial Intelligence 31. Propositional Logic: DPLL Algorithm Martin Wehrle Universit¨ at Basel April 25, 2016

  2. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Propositional Logic: Overview Chapter overview: propositional logic 29. Basics 30. Reasoning and Resolution 31. DPLL Algorithm 32. Local Search and Outlook

  3. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Motivation

  4. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Propositional Logic: Motivation Propositional logic allows for the representation of knowledge and for deriving conclusions based on this knowledge. many practical applications can be directly encoded, e.g. constraint satisfaction problems of all kinds circuit design and verification many problems contain logic as ingredient, e.g. automated planning general game playing description logic queries (semantic web)

  5. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Propositional Logic: Algorithmic Problems main problems: reasoning (Θ | = ϕ ?): Does the formula ϕ logically follow from the formulas Θ? equivalence ( ϕ ≡ ψ ): Are the formulas ϕ and ψ logically equivalent? satisfiability (SAT): Is formula ϕ satisfiable? If yes, find a model. German: Schlussfolgern, ¨ Aquivalenz, Erf¨ ullbarkeit

  6. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary The Satisfiability Problem The Satisfiability Problem (SAT) given: propositional formula in conjunctive normal form (CNF) usually represented as pair � V , ∆ � : V set of propositional variables (propositions) ∆ set of clauses over V (clause = set of literals v or ¬ v with v ∈ V ) find: satisfying interpretation (model) or proof that no model exists SAT is a famous NP-complete problem (Cook 1971; Levin 1973).

  7. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Relevance of SAT The name “SAT” is often used for the satisfiability problem for general propositional formulas (instead of restriction to CNF). General SAT can be reduced to CNF (conversion in time O ( n )). All previously mentioned problems can be reduced to SAT (conversion in time O ( n )). � SAT algorithms important and intensively studied this and next chapter: SAT algorithms

  8. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Systematic Search: DPLL

  9. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary SAT vs. CSP SAT can be considered as constraint satisfaction problem: CSP variables = propositions domains = { F , T } constraints = clauses However, we often have constraints that affect > 2 variables. Due to this relationship, all ideas for CSPs are applicable to SAT: search inference variable and value orders

  10. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary The DPLL Algorithm The DPLL algorithm (Davis/Putnam/Logemann/Loveland) corresponds to backtracking with inference for CSPs. recursive call DPLL(∆ , I ) for clause set ∆ and partial interpretation I result is consistent extension of I ; unsatisfiable if no such extension exists first call DPLL(∆ , ∅ ) inference in DPLL: simplify: after assigning value d to variable v , simplify all clauses that contain v � forward checking (for constraints of potentially higher arity) unit propagation: variables that occur in clauses without other variables (unit clauses) are assigned immediately � minimum remaining values variable order

  11. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary The DPLL Algorithm: Pseudo-Code function DPLL(∆ , I ): if � ∈ ∆: [empty clause exists � unsatisfiable] return unsatisfiable else if ∆ = ∅ : [no clauses left � interpretation I satisfies formula] return I else if there exists a unit clause { v } or {¬ v } in ∆: [unit propagation] Let v be such a variable, d the truth value that satisfies the clause. ∆ ′ := simplify(∆ , v , d ) return DPLL(∆ ′ , I ∪ { v �→ d } ) else: [splitting rule] Select some variable v which occurs in ∆. for each d ∈ { F , T } in some order: ∆ ′ := simplify(∆ , v , d ) I ′ := DPLL(∆ ′ , I ∪ { v �→ d } ) if I ′ � = unsatisfiable return I ′ return unsatisfiable

  12. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary The DPLL Algorithm: simplify function simplify(∆ , v , d ) Let ℓ be the literal for v that is satisfied by v �→ d . Let ¯ ℓ be the complementary (opposite) literal to ℓ . ∆ ′ := { C | C ∈ ∆ such that ℓ / ∈ C } ∆ ′′ := { C \ { ¯ ℓ } | C ∈ ∆ ′ } return ∆ ′′

  13. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (1) ∆ = {{ X , Y , ¬ Z } , {¬ X , ¬ Y } , { Z } , { X , ¬ Y }} 1. unit propagation: Z �→ T {{ X , Y } , {¬ X , ¬ Y } , { X , ¬ Y }} 2. splitting rule: 2a. X �→ F 2b. X �→ T {{ Y } , {¬ Y }} {{¬ Y }} 3a. unit propagation: Y �→ T 3b. unit propagation: Y �→ F { � } {}

  14. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (1) ∆ = {{ X , Y , ¬ Z } , {¬ X , ¬ Y } , { Z } , { X , ¬ Y }} 1. unit propagation: Z �→ T {{ X , Y } , {¬ X , ¬ Y } , { X , ¬ Y }} 2. splitting rule: 2a. X �→ F 2b. X �→ T {{ Y } , {¬ Y }} {{¬ Y }} 3a. unit propagation: Y �→ T 3b. unit propagation: Y �→ F { � } {}

  15. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (1) ∆ = {{ X , Y , ¬ Z } , {¬ X , ¬ Y } , { Z } , { X , ¬ Y }} 1. unit propagation: Z �→ T {{ X , Y } , {¬ X , ¬ Y } , { X , ¬ Y }} 2. splitting rule: 2a. X �→ F 2b. X �→ T {{ Y } , {¬ Y }} {{¬ Y }} 3a. unit propagation: Y �→ T 3b. unit propagation: Y �→ F { � } {}

  16. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (1) ∆ = {{ X , Y , ¬ Z } , {¬ X , ¬ Y } , { Z } , { X , ¬ Y }} 1. unit propagation: Z �→ T {{ X , Y } , {¬ X , ¬ Y } , { X , ¬ Y }} 2. splitting rule: 2a. X �→ F 2b. X �→ T {{ Y } , {¬ Y }} {{¬ Y }} 3a. unit propagation: Y �→ T 3b. unit propagation: Y �→ F { � } {}

  17. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (1) ∆ = {{ X , Y , ¬ Z } , {¬ X , ¬ Y } , { Z } , { X , ¬ Y }} 1. unit propagation: Z �→ T {{ X , Y } , {¬ X , ¬ Y } , { X , ¬ Y }} 2. splitting rule: 2a. X �→ F 2b. X �→ T {{ Y } , {¬ Y }} {{¬ Y }} 3a. unit propagation: Y �→ T 3b. unit propagation: Y �→ F { � } {}

  18. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (1) ∆ = {{ X , Y , ¬ Z } , {¬ X , ¬ Y } , { Z } , { X , ¬ Y }} 1. unit propagation: Z �→ T {{ X , Y } , {¬ X , ¬ Y } , { X , ¬ Y }} 2. splitting rule: 2a. X �→ F 2b. X �→ T {{ Y } , {¬ Y }} {{¬ Y }} 3a. unit propagation: Y �→ T 3b. unit propagation: Y �→ F { � } {}

  19. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (1) ∆ = {{ X , Y , ¬ Z } , {¬ X , ¬ Y } , { Z } , { X , ¬ Y }} 1. unit propagation: Z �→ T {{ X , Y } , {¬ X , ¬ Y } , { X , ¬ Y }} 2. splitting rule: 2a. X �→ F 2b. X �→ T {{ Y } , {¬ Y }} {{¬ Y }} 3a. unit propagation: Y �→ T 3b. unit propagation: Y �→ F { � } {}

  20. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (1) ∆ = {{ X , Y , ¬ Z } , {¬ X , ¬ Y } , { Z } , { X , ¬ Y }} 1. unit propagation: Z �→ T {{ X , Y } , {¬ X , ¬ Y } , { X , ¬ Y }} 2. splitting rule: 2a. X �→ F 2b. X �→ T {{ Y } , {¬ Y }} {{¬ Y }} 3a. unit propagation: Y �→ T 3b. unit propagation: Y �→ F { � } {}

  21. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (1) ∆ = {{ X , Y , ¬ Z } , {¬ X , ¬ Y } , { Z } , { X , ¬ Y }} 1. unit propagation: Z �→ T {{ X , Y } , {¬ X , ¬ Y } , { X , ¬ Y }} 2. splitting rule: 2a. X �→ F 2b. X �→ T {{ Y } , {¬ Y }} {{¬ Y }} 3a. unit propagation: Y �→ T 3b. unit propagation: Y �→ F { � } {}

  22. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (2) ∆ = {{ W , ¬ X , ¬ Y , ¬ Z } , { X , ¬ Z } , { Y , ¬ Z } , { Z }} 1. unit propagation: Z �→ T {{ W , ¬ X , ¬ Y } , { X } , { Y }} 2. unit propagation: X �→ T {{ W , ¬ Y } , { Y }} 3. unit propagation: Y �→ T {{ W }} 4. unit propagation: W �→ T {}

  23. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (2) ∆ = {{ W , ¬ X , ¬ Y , ¬ Z } , { X , ¬ Z } , { Y , ¬ Z } , { Z }} 1. unit propagation: Z �→ T {{ W , ¬ X , ¬ Y } , { X } , { Y }} 2. unit propagation: X �→ T {{ W , ¬ Y } , { Y }} 3. unit propagation: Y �→ T {{ W }} 4. unit propagation: W �→ T {}

  24. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (2) ∆ = {{ W , ¬ X , ¬ Y , ¬ Z } , { X , ¬ Z } , { Y , ¬ Z } , { Z }} 1. unit propagation: Z �→ T {{ W , ¬ X , ¬ Y } , { X } , { Y }} 2. unit propagation: X �→ T {{ W , ¬ Y } , { Y }} 3. unit propagation: Y �→ T {{ W }} 4. unit propagation: W �→ T {}

  25. Motivation Systematic Search: DPLL DPLL on Horn Formulas Summary Example (2) ∆ = {{ W , ¬ X , ¬ Y , ¬ Z } , { X , ¬ Z } , { Y , ¬ Z } , { Z }} 1. unit propagation: Z �→ T {{ W , ¬ X , ¬ Y } , { X } , { Y }} 2. unit propagation: X �→ T {{ W , ¬ Y } , { Y }} 3. unit propagation: Y �→ T {{ W }} 4. unit propagation: W �→ T {}

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend