Transcript
Page 1: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A

Tableau Algorithm

Page 2: Tableau Algorithm. Presentation Outline Description Logics Reasoning Tasks Structural Subsumption Tableau Algorithm Examples Q & A

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

• 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

• 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

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

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

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

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

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

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

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

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

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

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


Recommended