LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

16
L Logics for D Data and K Knowledge R Representation Description Logics: tableaux

Transcript of LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Page 1: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

LLogics for DData and KKnowledgeRRepresentation

Description Logics: tableaux

Page 2: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Tableaux Calculus The Tableaux calculus is a decision procedure to check

satisfiability of a DL formula.

The procedure looks for a model satisfying the formula in input

The basic idea is to incrementally build the model by looking at the formula and by decomposing it into pieces in a top-down fashion.

The procedure exhaustively tries all possibilities so that it can eventually prove that no model could be found and therefore the formula is unsatisfiable.

2

Page 3: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Preview exampleC = ( R.A) ∃ ⊓ ( R.B) ∃ ⊓ ( R.∃ (A ⊔ B))

C = ( R.A) ∃ ⊓ ( R.B) ∃ ⊓ ( R.(∃ A ⊓ B)) De Morgan

In Negation Normal Form

C is safisfiable iff I(C) ≠ for some I∅

C1 = R.A∃ C2 = R.B∃ C3 = R.(∃ A ⊓ B) Decomposition

For C1 (b,c) ∃ ∈ I(R) and c ∈ I(A)

For C2 (b,d) ∃ ∈ I(R) and d ∈ I(B)

For C3 (b,e) ∃ ∈ I(R) and e ∈ I( A ⊓ B) e ∈ I( A) and I( B)

e must be a new symbol different from c and d.

The following ABox is consistent with C:

{R(b,c), A(c), R(b, d), B(d), R(b, e)}

3

Page 4: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

The Tableau Algorithm The formula C in input is translated into Negation Normal Form.

An ABox A is incrementally constructed by adding assertions according to the constraints in C (identified by decomposition) following precise transformation rules

Each time we have more than one option we split the space of the solutions as in a decision tree (i.e. in presence of ⊔)

When a contradiction is found (i.e. A is inconsistent) we need to try another path in the space of the solutions (backtracking)

The algorithm stops when either we find a consistent A satisfying all the constraints in C (the formula is satisfiable) or there is no consistent A (the formula is unsatisfiable)

4

Page 5: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

T={Mother ≡ Female ⊓ ∃hasChild.Person} A={Mother(Anna)}Is ¬∃hasChild.Person ⊓ ¬∃hasParent. Person) satisfiable?

Expand A w.r.t. TMother(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)} Both of them must be true, but the first constraint is clearly in contradiction with A’

Transformation rules ⊓-rule

Condition: A contains (C1 C2)(x), but not both C1(x) and C2(x)⊓Action: A’ = A {C1(x), C2(x)}∪

5

Page 6: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

T={Parent≡∃hasChild.Female⊔∃hasChild.Male, Person≡Male⊔Female, Mother≡Parent ⊓Female}A={Mother(Anna)}Is ¬∃hasChild.Person satisfiable?

Expand A w.r.t. TA = {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)}∪ ∪

6

Page 7: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

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)}∪

7

T={Parent≡∃hasChild.Female⊔∃hasChild.Male, Person≡Male⊔Female, Mother≡Parent⊓Female}A={Mother(Anna), hasChild(Anna,Bob), ¬Female(Bob)}Is ¬(∃hasChild.Person) satisfiable?

Expand A w.r.t. TMother(Anna) Parent(Anna) (∃hasChild.Female⊔∃hasChild.Male)(Anna)

take (∃hasChild.Male)(Anna) hasChild(Anna,Bob), Male(Bob) …

Page 8: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Transformation rules ∀-rule

Condition: A contains (∀R.C)(x) and R(x,z), but it does not C(z)

Action: A’ = A {C(z)}∪

8

T={DaughterParent≡∀hasChild.Female, Male⊓Female⊑⊥}A={hasChild(Anna,Bob), ¬Female(Bob)}Is DaughterParent satisfiable?

Expand A w.r.t. TDaughterParent(x) ∀hasChild.Female(x)

Given that hasChild(Anna,Bob) A’ = A ∪ {Female(Bob)}

but this in contradiction with ¬Female(Bob)

Page 9: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Example of Tableau Reasoning (1) Is ∀hasChild.Male ⊓ ∃hasChild.¬Male satisfiable?

NOTE: we do not have an initial T or A

⊓-rule

A = {(∀hasChild.Male)(x), (∃hasChild.¬Male)(x)}

∃-rule

A = {(∀hasChild.Male)(x), hasChild(x,y), ¬Male(y)}

∀-rule

A = {(∀hasChild.Male)(x), hasChild(x,y), ¬Male(y), Male(y)}

A is clearly inconsistent and therefore the formula is not satisfiable.

9

Page 10: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Example of Tableau Reasoning (2) Suppose T = {A ⊑B} and A = {}

Is ∃R.(A ⊓ C) ⊓ ∀R.(¬B ⊓ C) satisfiable?

⊓-rule A = {∃R.(A ⊓ C)(x), ∀R.(¬B ⊓ C)(x)}

∃-rule A = {R(x, y), (A ⊓ C)(y), ∀R.(¬B ⊓ C)(x)}

⊓-rule A = {R(x, y), A(y), C(y), ∀R.(¬B ⊓ C)(x)}

∀-rule A = {R(x, y), A(y), C(y), (¬B ⊓ C)(y)}

⊓-rule A = {R(x, y), A(y), C(y), ¬B(y)}

By expanding A w.r.t. T we discover that it is inconsistent. Therefore the formula is not satisfiable.

10

Page 11: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Example of Tableau Reasoning (3.a) Is ∃S.C ⊓ ∀S.(¬C ⊔ ¬D) ⊓ ∃R.C ⊓ ∀R.(∃R.C) satisfiable?

NOTE: we do not have an initial T or A

⊓-rule A = {∃S.C(x), ∀S.(¬C ⊔ ¬D)(x), ∃R.C(x), ∀R.(∃R.C)(x)}

∃-rule A = {S(x, y), C(y), ∀S.(¬C ⊔ ¬D)(x), ∃R.C(x), ∀R.(∃R.C)(x)}

∀-rule A = {S(x, y), C(y), (¬C ⊔ ¬D)(y), ∃R.C(x), ∀R.(∃R.C)(x)}

⊔-rule

A’ = {S(x, y), C(y), ¬C(y), ∃R.C(x), ∀R.(∃R.C)(x)} (clash!) or

A’’ = {S(x, y), C(y), ¬D(y), ∃R.C(x), ∀R.(∃R.C)(x)}

11

Page 12: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Example of Tableau Reasoning (3.b) A’’ = {S(x, y), C(y), ¬D(y), ∃R.C(x), ∀R.(∃R.C)(x)}

∃-rule A’’ = {S(x, y), C(y), ¬D(y), R(x, z), C(z), ∀R.(∃R.C)(x)}

∀-rule A’’ = {S(x, y), C(y), ¬D(y), R(x, z), C(z), ∃R.C(z)}

∃-rule A’’ = {S(x, y), C(y), ¬D(y), R(x, z), C(z), R(z, w), C(w)}

A’’ is clearly inconsistent

12

Page 13: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Additional Rules

13

Page 14: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Homework

14

1. Check with the tableaux calculus the validity of the following:

2. Given the ABox A below, check whether the formula is consistent with A:

3. Check with the tableaux calculus the validity of the following:

Page 15: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Homework (II)

15

4. Check with the tableaux calculus the validity of the following:

5. Given the ABox A below:

By applying the rules from the tableaux calculus, check if a is an instance of the following concept (instance checking) :

Page 16: LDK R Logics for Data and Knowledge Representation Description Logics: tableaux.

Complexity of Tableau Algorithms The satisfiability algorithm of ALCN may need exponential time

and space. It is PSPACE-complete.

An optimized algorithm needs only polynomial space as it assumes a depth-first search and stores only the ‘correct’ path.

The consistency and instance checking problem for ALCN are also PSPACE-complete.

The complexity results for other Description Logics varies according to corresponding constructors.

16