tableau algorithm. presentation outline description logics reasoning tasks structural subsumption...
TRANSCRIPT
![Page 1: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/1.jpg)
Tableau Algorithm
![Page 2: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/2.jpg)
Presentation Outline
• Description Logics• Reasoning Tasks• Structural Subsumption• Tableau Algorithm• Examples• Q & A
![Page 3: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/3.jpg)
DL Basics• Concepts (unary predicates/formulae with one free variable)
– E.g., Person, Doctor, HappyParent
• Roles (binary predicates/formulae with two free variables)– E.g., hasChild, loves, hasBrother, hasDaughter
• Individuals (constants)– E.g., John, Mary, Italy
• Operators (for forming concepts and roles) restricted so that:– Satisfiability/subsumption is decidable and, if possible, of low complexity
![Page 4: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/4.jpg)
DL Semantics
Interpretation domain IInterpretation function I
Individuals iI 2 I
John
Mary
Concepts CI µ I
Lawyer
Doctor
Vehicle
Roles rI µ I £ I
hasChild
owns
(Lawyer u Doctor)
![Page 5: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/5.jpg)
• A TBox is a set of “schema” axioms (sentences), e.g.:
{Doctor v Person, HappyParent ´ Person u 8hasChild.(Doctor t 9hasChild.Doctor)}
• An ABox is a set of “data” axioms (ground facts), e.g.:
{John:HappyParent,
John hasChild Mary}
• A Knowledge Base (KB) is just a TBox plus an ABox
DL Knowledge Base
![Page 6: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/6.jpg)
Example of TBoxWoman ≡ Person Female
Man ≡ Person ¬Woman
Mother ≡ Woman hasChild.Person
Father ≡ Man hasChild.Person
Parent ≡ Father Mother
Grandmother ≡ Mother hasChild.Parent
MotherWithManyChildren ≡ Mother 3 hasChild
MotherWithoutDaughter ≡ Mother
hasChild.¬Woman
Wife ≡ Woman hasHusband.Man
![Page 7: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/7.jpg)
Example of ABoxMotherWithoutDaughter(mary)
Father(peter)
hasChild(mary, peter)
hasChild(peter, harry)
hasChild(mary, paul)
![Page 8: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/8.jpg)
Reasoning Tasks• Whether a TBox description is satisfiable (i.e., non-
contradictory)
• Whether one description subsumes another one in a TBox - organize the concepts of a terminology into a hierarchy according to their generality
• Find out whether the set of assertions in a ABox is consistent (has a model)
• Whether the assertions in the ABox entail that a particular individual is an instance of a given concept description
• A concept description can also be conceived as a query - retrieve the individuals that satisfy the query.
![Page 9: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/9.jpg)
Types of Reasoning• The simplest form of reasoning involves computing
the subsumption relation between two concept expressions, i.e., verifying whether one expression always denotes a subset of the objects denoted by another expression.
• Parent is a specialization of Person, i.e., Person subsumes Parent
• A• B
![Page 10: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/10.jpg)
Types of Reasoning• A more complex reasoning task consists in checking
whether a certain assertion is logically implied by a knowledge base.
• For example, Bill is an instance of Parent
![Page 11: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/11.jpg)
Structural Subsumption• Normalize descriptions
• Compare syntactical structure of normal forms
• Normal form of C: A1 … A⊓ ⊓ m R⊓ ∀ 1.C1 … R⊓ ⊓∀ n.Cn
• Normal form of D: B1 … B⊓ ⊓ k S⊓ ∀ 1.D1 … S⊓ ⊓∀ l.Dl
• C ⊑ D iff:
• For all i, 1 <= i <= k, there exists j, 1<=j<=m, such that Bi=Aj
• For all i, 1 <= i <= l, there exists j, 1<=j<=n, such that Si=Rj and Ci D⊑ j
![Page 12: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/12.jpg)
Structural Subsumption• C ≡ Person Person hasChild.(Lawyer Doctor
Rockstar)
• D ≡ Person hasChild.Doctor hasChild.Lawyer
• C ⊑ D? Yes
• C: Person Person hasChild.Lawyer hasChild.Doctor hasChild.Rockstar
• D: Person hasChild.Doctor hasChild.Lawyer
![Page 13: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/13.jpg)
Structural Subsumption• What if we introduce disjunction
• C: A (⊔ B ⊓ E)
• D: A ⊔ E
• C ⊑ D?
• Cannot be handled with structural subsumption
• Solution: Tableau
![Page 14: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/14.jpg)
Tableau Algorithm• Instead of directly testing subsumption of concept descriptions, these
algorithms use negation to reduce subsumption to (un)satisfiability of concept descriptions.
• Steps
– Check unsatisfiability of the concept (C D -> C ¬D)⊑ ⊓– Check whether you can construct an instance b of this concept
– Try to build a tree like model of the input concept
– Concept in Negation Normal Form
– Decomposition using Tableau rules
– Stop when clash occurs or no more rules are applicable
– If each branch in tableau contains a clash, the concept is inconsistent
![Page 15: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/15.jpg)
Negation Normal Form• Rewrite Description such that only atomic roles and
concepts are negated
• Rewrite Rules– ¬(C D) -> ¬C⊓ ¬D⊔– ¬(C D) -> ¬C⊔ ¬D⊓– ∀R.C -> ∃R.¬C
– ∃R.C -> ∀R. ¬C
Example
¬∃R.A ⊓ ∃R.B ⊓ ¬ (A B)⊓ ⊓ ¬∀R.(A ⊔ B)
∀R.¬A ⊓ ∃R.B ⊓ (¬A ¬ ⊔ B) ⊓ ∃R. ¬ (A ⊔ B) then (¬A ¬ ⊓ B)
![Page 16: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/16.jpg)
• T={Mother ≡ Female hasChild.Person} A={Mother(Anna)}⊓ ∃• Is ¬( hasChild.Person ¬ hasParent.Person)(Anna) satisfiable?∃ ⊓ ∃• Expand A w.r.t. T• Mother(Anna) (Female hasChild.Person)(Anna) ⊓ ∃ • A’ = A {Female(Anna), ( hasChild.Person)(Anna)}∪ ∃• (¬ hasChild.Person ¬ hasParent.Person)(Anna) ∃ ⊓ ∃ • A’ = A {¬ hasChild.Person)(Anna), ¬ hasParent.Person)(Anna)} ∪ ∃ ∃
Transformation rules• ⊓-rule
Condition: A contains (C1 C2)(x), but not both C1(x) and C2(x)⊓
Action: A’ = A {C1(x), C2(x)}∪
![Page 17: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/17.jpg)
• T={Parent≡ hasChild.Female hasChild.Male,∃ ⊔∃• Person≡Male Female, Mother≡Parent Female}⊔ ⊓• A={Mother(Anna)}• Is ¬ hasChild.Person(Anna) satisfiable?∃• Expand A w.r.t. T• A = {Mother(Anna)} A’ = A {Parent(Anna), Female(Anna)}∪• Parent(Anna) ( hasChild.Female hasChild.Male)(Anna) ∃ ⊔∃ • ( hasChild.Female)(Anna) or ( hasChild.Male)(Anna)∃ ∃• Both are in contradiction with ¬ hasChild.Person, not satisfiable.∃
Transformation rules• ⊔-rule
Condition: A contains (C1 ⊔ C2)(x), but neither C1(x) or C2(x)
Action: A’ = A {C1(x)} and A’’ = A {C2(x)}∪ ∪
![Page 18: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/18.jpg)
Transformation rules• ∃-rule
Condition: A contains ( R.C)(x), ∃ but there is no z such that both C(z) and R(x,z) are in AAction: A’ = A {C(z), R(x,z)}∪
• T={Parent≡ hasChild.Female hasChild.Male, ∃ ⊔∃• Person≡Male Female, Mother≡Parent Female}⊔ ⊓• A={Mother(Anna), hasChild(Anna,Bob), ¬Female(Bob)}• Is ¬ hasChild.Person(Anna) satisfiable?∃• Expand A w.r.t. T• Mother(Anna) Parent(Anna) • ( hasChild.Female hasChild.Male)(Anna) ∃ ⊔∃ • take ( hasChild.Male)(Anna) ∃ hasChild(Anna,Bob), Male(Bob) …
![Page 19: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/19.jpg)
Transformation rules• ∀-rule
Condition: A contains (∀R.C)(x) and R(x,z), but not C(z)
Action: A’ = A {C(z)}∪
• T={DaughterParent≡ hasChild.Female, Male Female }∀ ⊓ ⊑⊥• A={hasChild(Anna,Bob), ¬Female(Bob)}• Is DaughterParent(Anna) satisfiable?• Expand A w.r.t. T• DaughterParent(x) hasChild.Female(x) ∀ • Given that hasChild(Anna,Bob) A’ = A {Female(Bob)}∪• but this in contradiction with ¬Female(Bob)
![Page 20: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/20.jpg)
Examples• Example 1
– DL knowledge base
• vegan ≐ person ⊓ ∀eats.plant
• vegetarian ≐ person ⊓ ∀eats.(plants ⊔ dairy)
– Query: vegan ⊑ vegetarian
• Example 2– Query: vegetarian ⋢ vegan
![Page 21: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/21.jpg)
Example-1• DL knowledge base
– vegan ≐ person ⊓ ∀eats.plant
– vegetarian ≐ person ⊓ ∀eats.(plants ⊔ dairy)
• Query: vegan ⊑ vegetarian
• Convert to
– vegan ⊓ ¬ vegetarian is unsatisfiable
![Page 22: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/22.jpg)
Example-1• Unfold and normalise vegan ⊓ ¬ vegetarian
• A0 =( person ⊓ ∀eats.plant (⊓ ¬ person ⊔ ∃eats.(¬ plant ⊓ ¬ dairy))(x)
• Apply ⊓-rule and add to C0:
– A1 = A0 U {person(x), ∀eats.plant(x), (¬ person ⊔ ∃eats.(¬ plant ⊓ ¬ dairy))(x)}
![Page 23: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/23.jpg)
Example-1• Apply ⊔-rule to ¬ person ⊔ ∃eats.(¬ plant ⊓ ¬ dairy):
– A1 = {person(x), ∀eats.plant(x), (¬ person ⊔ ∃eats.(¬ plant ⊓ ¬ dairy))(x)}
– Add ¬ person to A1: Clash
– Go back and add ∃eats.(¬ plant ⊓ ¬ dairy) to A1
– A2= A1 U {∃eats.(¬ plant ⊓ ¬ dairy) (x)}
• Apply ∃-rule to ∃eats.(¬ plant ⊓ ¬ dairy):
– A3= A2 U {(¬ plant ⊓ ¬ dairy) (y), eats(x,y)}
• Apply ∀-rule to ∀eats.plant (x) in A1 and eats(x, y) in A3
– Add plant(y) to A3
![Page 24: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/24.jpg)
Example-1• Apply ⊓-rule to ¬ plant ⊓ ¬ dairy in A3
– Add {¬ plant(y), ¬ dairy(y)} to A3: Clash
• Conclusion
– Both applications of the -rule have lead to clashes⊔
– So vegan ⊓ ¬ vegetarian is unsatisfiable
– So vegan ⊑ vegetarian
![Page 25: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/25.jpg)
Example-2• Query: vegetarian ⋢ vegan
• Convert to
– vegetarian ¬ ⊓ vegan is satisfiable
• Unfold and normalise vegetarian ¬ ⊓ vegan
– person ⊓ ∀eats.(plant ⊔ dairy) (¬ ⊓ person ⊔ ∃eats. ¬ plant)
– A0 = {person ⊓ ∀eats.(plant ⊔ dairy) (¬ ⊓ person ⊔ ∃eats. ¬ plant)} (x)
![Page 26: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/26.jpg)
Example-2• Apply -rule and add to A0:⊓
– A1= A0 U {person(x), eats.(plant dairy)∀ ⊔ (x),(¬person eats.¬plant)⊔ ∃ (x)}
• Apply -rule to ¬person eats.¬ plant:⊔ ⊔ ∃– Add ¬person (x) to A1: Clash
– Go back and add eats.¬plant to A1∃
• Apply -rule to eats.¬ plant:∃ ∃– A2 = A1 U{¬plant(y), eats(x,y)}
![Page 27: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A](https://reader031.vdocument.in/reader031/viewer/2022020219/56649e6f5503460f94b6cd76/html5/thumbnails/27.jpg)
Example-2• Apply -rule to eats.(plant dairy) in A1∀ ∀ ⊔
A2 = A1 U {(plant dairy)(y)}⊔
• Apply -rule to plant dairy in A2⊔ ⊔– Add plant (y) to A2: Clash
– Go back and add dairy(y) to A2
• Conclusion
– No more rules are applicable
– So vegetarian ⊓ ¬ vegan is satisfiable
– So vegetarian ⋢ vegan