automated reasoning
play

AUTOMATED REASONING In this group of slides well look at some basic - PowerPoint PPT Presentation

6ai Controlling Resolution: AUTOMATED REASONING In this group of slides well look at some basic ways to control resolution. It is easy to make resolution steps, but for even a medium sized problem the number of resolvents SLIDES 6:


  1. 6ai Controlling Resolution: AUTOMATED REASONING In this group of slides we’ll look at some basic ways to control resolution. It is easy to make resolution steps, but for even a medium sized problem the number of resolvents SLIDES 6: increases rapidly, so some method is needed to control their generation. In Slides 3 we introduced saturation search and considered factoring. Here we’ll look CONTROLLING RESOLUTION in more detail at subsumption and its relation to factoring. In Slides 7 and 8 we’ll consider other ways of restricting the resolvents. Simple Restrictions revisited: Subsumption A number of “difficulties” for theorem provers have been presented by Wos and are summarised in the optional material for these slides. Larry Wos led the group at Tautology removal Argonne that produced Otter – a wonderful theorem prover that you will use soon. Factoring The successor is Prover9, but Otter is easier for beginners. This prover uses a Saturation Search improved saturation search as its basic strategy, but with many additional ways of restricting resolvents. The important thing is that the strategy is systematic. Refinements and Search Spaces You already saw that unrestricted resolution generates many redundant clauses. There are some very simple restrictions that are almost universally adopted in theorem provers, called Tautology deletion , safe factoring and subsumption . We consider these KB - AR - 13 next. Subsumption Practice (ppt) 6bii Subsumption Exercise 6bi Does first clause (strictly) θ− subsume the second? Let C and D be clauses: C θ θ θ θ− − − subsumes D if C θ ⊆ D for some θ − 1. Qxx ∨ Qxy ∨ Qyz and Qaa ∨ Qbb C subsumes D if ∀ C | = ∀ D, where ∀ C means that all variables in C 2. Qax ∨ ¬Rxa and Qab ∨ Qac are explicitly unversally quantified. Equivalently, C subsumes D if {C+¬D} has no H-models (or if C+¬D==>* [ ]). 3. Qzy and Quv C strictly θ θ θ− θ − − subsumes D if C θ− subsumes D without necessary − 4. Qxx and Quv factoring in C θ. Each literal in C θ matches a different literal in D. 5. Sf(x)x and Sug(u)) Example : Px ∨ Qx subsumes Pa ∨ Qa (and θ subsumes it) 6. Sf(x)y and Sug(u)) Pxa ∨ Pyx θ− subsumes Paa but not strictly 7. Quv and Qxx Pf(x) ∨ ¬Px subsumes Pf(f(y)) ∨ ¬ Py but does not θ− subsume it. 8. Px ∨ Py and Pa 9. Qxx ∨ Qyx and Qzb Relation between θ θ θ θ subsumption and full subsumption: Note: Identica l literals in a clause are always merged, so Pa ∨ Pa is θ− subsumption implies subsumption always Pa and Px ∨ Px is always Px. They both strictly subsume Pa ∨ Qa. (but not the converse - find a counter example involving a recursive clause). If C θ− subsumes D, but not strictly, (Usually checks are made for strict θ− subsumption only.) can first factor C to C’ where C’ strictly θ− subsumes D.

  2. Subsumption in Use An Important Property of Subsumption: 6biii 6biv There are two species of subsumption: Forward subsumption: a resolvent is subsumed (so no need to generate it). Subsumed clauses can be removed from S without affecting satisfiability: Backward subsumption : a resolvent subsumes (can remove other clauses). If C, D in S and C subsumes D, then S is unsatisfiable iff S-{D} is unsatisfiable In a saturation search Hence S ⇒ * [] iff S- {D} ⇒ * [] • forward subsumption can be applied either: (Proof is in ppt) (i) as soon as a subsumed resolvent is generated, or (ii) after each stage • backwards subsumed clauses can be removed either: Observation: t he sets of derivations using S and using S-{D} are not the same (i) when a subsuming resolvent is generated, or (ii) at the end of each stage. eg Backwards subsumption can mean some "proofs" are lost. Exercise (from slides 3): (Stage 0 and Stage 1 (no subsumption yet) Example 1. Dca ∨ Dcb 2. ¬Dxy ∨ Cxy 3. ¬Tx ∨ ¬Cxb 4. Tc 5. ¬Dcz 1. Pxy ∨ ¬Qx ∨ ¬Ry 2. ¬Puv 3. Qa 4. Rc 5. Qb 6. (1,2) Cca ∨ Dcb 7. (1,2) Dca ∨ Ccb 8. (1,5) Dcb 9. (2,3) ¬Dxb ∨ ¬Tx 10. (3,4) ¬Ccb 11. (1,5) Dca 6. (1,2) ¬Qx ∨ ¬Ry causes 1 to be removed 7. (6,3) ¬Ry causes 6 to be removed 8. (4,7) [] Compare: a) using forwards subsumption: There are no other proofs even if 8 is not used to remove all other clauses. removal of a subsumed clause immediately or at the end of a stage Without backward subsumption there is another derivation using (6) and (4). b) using backwards subsumption: removal of a subsumed clause immediately or at the end of a stage What would you recommend as a good subsumption strategy? A Constructive View of θ θ− θ θ − Subsumption Deletion − − If C θ− subsumes D, C ≠ D, and D resolves with E giving R1 then 6bvi either (i) C θ− subsumes R1, (Assume for simplicity that factoring is unnecessary for this slide and the next) or (ii) C resolves with E to give R2 that subsumes R1 Using θ− subsumed clauses leads to redundancy in proof construction in 2 ways. Let C = Px and D = Pa ∨ Q and suppose D is resolved with E = ¬Pu ∨ Du The resolvent R1 = Da ∨ Q is θ− subsumed by R2 = Du If C θ− subsumes D, C ≠ D, and D resolves with E giving R1 then either (i) C θ− subsumes R1 (the resolvent of C with ¬Pu ∨ Du) or (ii) C resolves with E to give R2 that θ− subsumes R1 D=Pa ∨ Q ¬Pu ∨ Du = E ¬Pu ∨ Du = E C=Px e.g . Let C = Px, and D=Pa ∨ Q; then C θ− subsumes D. ¬Da Da ∨ Q = R1 Suppose D is resolved with ¬Q ∨ R (ie not on the subsumed literal) R2 = Du ¬Da the resolvent (R1) is Pa ∨ R, which is θ− subsumed by Px (i.e. by C). ie a R1 is θ− subsumed by R2 smaller refutation Q C=Px θ− subsumes D = Pa ∨ Q ¬Q ∨ R ie generates a [ ] redundant clause [ ] R1 = Pa ∨ R is θ− subsumed by C=Px Using D like this yields clauses that can be θ− subsumed if C is used instead. Using D in this case simply leads to further redundant θ− subsumed clauses. This is an example of the second case – resolve on a subsumed literal in D This is an example of the first case - resolve on a non-subsumed literal 6bv If C θ θ θ− θ − − − subsumes D, then using C instead of D gives a shorter refutation.

Recommend


More recommend