1 / 28

Notes on DL Reasoning

Notes on DL Reasoning. Shawn Bowers April, 2004. Outline. The ALC Description Logic Running Examples Subsumption as Satisfiability testing The approach: unfold, normalize, prove Classification Some Prolog This material primarily taken from:

kael
Download Presentation

Notes on DL Reasoning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Notes on DL Reasoning Shawn Bowers April, 2004

  2. Outline • TheALCDescription Logic • Running Examples • Subsumption as Satisfiability testing • The approach: unfold, normalize, prove • Classification • Some Prolog This material primarily taken from: • I. Horrocks, Optimising Tableaux Decision Procedures for Description Logics, Ph.D. Thesis, University of Manchester, 1997. • F. Baader, D. Calvanese, D. McGuinness, D. Nardi, P. Patel-Schneider (eds.), The Description Logic Handbook: Theory, Implementation and Applications, Cambridge Press, 2003.

  3. TheALCDescription Logic (def. by [Horrocks]) Axioms: C ⊑ DC ≡ D where C and D are concept expressions Concept Expressions: CN⊤ C  C ⊓ D  C ⊔D R.C  R.C where CN is a concept name, C and D are concept expressions, and R is a role expression Role Expressions are of the form RN, where RN is a role name

  4. Running examples vegan ≡ person ⊓eats.plant vegetarian ≡ person ⊓eats.(plant ⊔ dairy)

  5. Running examples vegan ≡ person ⊓eats.plant vegetarian ≡ person ⊓eats.(plant ⊔ dairy) Based on these two definitions, is vegan subsumed by vegetarian (i.e., are all vegans vegetarians)? … why?

  6. Running examples woman ≡ person ⊓ female man ≡ person ⊓woman mother ≡ woman ⊓hasChild.person father ≡ man ⊓hasChild.person

  7. Running examples woman ≡ person ⊓ female man ≡ person ⊓woman mother ≡ woman ⊓hasChild.person father ≡ man ⊓hasChild.person Is mother equivalent to a female person that has at least one person as a child? … why? (this should be obvious)

  8. Running examples animal ⊑ organism plant ⊑ organism person ⊑ animal grass ⊑ plant cow ⊑ animal ⊓eats.grass carnivore ≡ organism ⊓eats.animal rancher ⊑ animal ⊓eats.cow

  9. Running examples animal ⊑ organism plant ⊑ organism person ⊑ animal grass ⊑ plant cow ⊑ animal ⊓eats.grass carnivore ≡ organism ⊓eats.animal rancher ⊑ animal ⊓eats.cow Is rancher subsumed by carnivore? … why?

  10. Subsumption as Satisfiability Testing Given a set of DL axioms a1, a2, …, an, representing a knowledge-base KB … Concept description D1 is subsumed by concept description D2, if the following returns true: subsumedBy(KB, D1, D2) Subsumption testing is the main operation of a DL reasoner

  11. Subsumption as Satisfiability Testing Subsumption reduces to checking satisfiability: subsumedBy(KB, D1, D2) = D1 ⊑KBD2 (isa w.r.t. KB) = KB ⊓(D1 ⊑D2) ⊨  = KB⊓(D1⊔D2) ⊨  = KB⊓D1⊓D2 ⊨  = a1 ⊓a2 ⊓ … ⊓an ⊓D1⊓D2 ⊨  We prove D1 ⊑D2 by showing D1⊓D2always leads to a contradiction

  12. The approach: unfold, normalize, prove Unfolding is a simplifying step: Instead of proving all of: KB⊓D1⊓D2 ⊨ , We “expand” D1 and D2 with their definitions in KB … i.e., we unfold D1 and D2 w.r.t. KB Thus, we end up only proving: U1⊓U2 ⊨ , where unfold(D1, U1), and unfold(D2, U2).

  13. Unfolding Example animal ⊑ organism plant ⊑ organism person ⊑ animal grass ⊑ plant cow ⊑ animal ⊓eats.grass carnivore ≡ organism ⊓eats.animal rancher ⊑ animal ⊓eats.cow Is rancher subsumed by carnivore? rancher ⊓carnivore ? rancher⊓carnivore ?

  14. Unfolding Example animal ⊑ organism plant ⊑ organism person ⊑ animal grass ⊑ plant cow ⊑ animal ⊓eats.grass carnivore ≡ organism ⊓eats.animal rancher ⊑ animal ⊓eats.cow Is rancher subsumed by carnivore? rancher ⊓carnivore ? rancher ⊓animal ⊓eats.cow⊓carnivore ?

  15. Unfolding Example animal ⊑ organism plant ⊑ organism person ⊑ animal grass ⊑ plant cow ⊑ animal ⊓eats.grass carnivore ≡ organism ⊓eats.animal rancher ⊑ animal ⊓eats.cow Is rancher subsumed by carnivore? rancher ⊓carnivore ? A trick for unfolding: rancher ⊔ rancher ≡ animal ⊓eats.cow rancher ⊓animal ⊓eats.cow⊓carnivore ?

  16. Unfolding Example animal ⊑ organism plant ⊑ organism person ⊑ animal grass ⊑ plant cow ⊑ animal ⊓eats.grass carnivore ≡ organism ⊓eats.animal rancher ⊑ animal ⊓eats.cow Is rancher subsumed by carnivore? rancher ⊓carnivore ? rancher ⊓animal ⊓eats.cow⊓carnivore

  17. Unfolding Example animal ⊑ organism plant ⊑ organism person ⊑ animal grass ⊑ plant cow ⊑ animal ⊓eats.grass carnivore ≡ organism ⊓eats.animal rancher ⊑ animal ⊓eats.cow Is rancher subsumed by carnivore? rancher ⊓carnivore ? rancher ⊓animal⊓ organism ⊓eats.cow⊓carnivore

  18. Unfolding Example animal ⊑ organism plant ⊑ organism person ⊑ animal grass ⊑ plant cow ⊑ animal ⊓eats.grass carnivore ≡ organism ⊓eats.animal rancher ⊑ animal ⊓eats.cow Is rancher subsumed by carnivore? rancher ⊓carnivore ? … And so on, until we can no longer expand the formula

  19. The approach: unfold, normalize, prove The unfolded formula is then converted to negation normal form (NNF) • In NNF, negation only applies to concept names and not to compound terms • NNF works by applying DeMorgan’s laws and the identities: R.C = R.C R.C = R.C

  20. The approach: unfold, normalize, prove Given an unfolded and normalized formula, we apply tableaux rules to ensure all branches are closed The goal of the tableaux algorithm is to try to construct a model of the formula: If a model cannot be constructed, the subsumption holds

  21. Tableaux Algorithm Tableaux rules construct a tree, where • Nodes represent individuals • Edges represent properties of individuals Each node x is labeled with a set of concept expressions it must satisfy: (x) = {C1, …, Cn} Each edge <x, y> satisfies a role, and is labeled with the role name: (<x, y>) = R

  22. Tableaux Algorithm Given an expression D, a tree T is initialized to contain a single node x0, with (x0) = {D} T is expanded by repeatedly applying tableaux rules A branch is closed when for a node x and some concept C, either  (x) or {C, C}  (x)

  23. Tableaux Rules ⊓-rule: if 1. (C1⊓C2)  (x) 2. {C1, C2} ⊈ (x) then (x) = (x)  {C1, C2} ⊔-rule: if 1. (C1⊔C2)  (x) 2. {C1, C2}  (x) =  then try: (x) = (x)  {C1} if it is closed, try: (x) = (x)  {C2}

  24. Tableaux Rules -rule: if 1. … then -rule: if 1. … then

  25. An Example … vegan/veg

  26. Classification • Computes … • Using subsumedBy, we can compute the classification by testing all pairs of named concepts … • What might an optimization be?

  27. Subsumption is transitive • Give simple example …

  28. Prolog Demo …

More Related