Knowledge Representation for the Semantic Web Lecture 5: Description - - PowerPoint PPT Presentation

knowledge representation for the semantic web lecture 5
SMART_READER_LITE
LIVE PREVIEW

Knowledge Representation for the Semantic Web Lecture 5: Description - - PowerPoint PPT Presentation

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning Knowledge Representation for the Semantic Web Lecture 5: Description Logics IV Daria Stepanova slides based on Reasoning Web 2011 tutorial


slide-1
SLIDE 1

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Knowledge Representation for the Semantic Web Lecture 5: Description Logics IV

Daria Stepanova

slides based on Reasoning Web 2011 tutorial “Foundations of Description Logics and OWL” by S. Rudolph

Max Planck Institute for Informatics D5: Databases and Information Systems group

WS 2017/18

1 / 40

slide-2
SLIDE 2

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Unit Outline

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

2 / 40

slide-3
SLIDE 3

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Satisfaction and Satisfiability

3 / 40

slide-4
SLIDE 4

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Satisfaction and Satisfiability of Knowledge Bases

Satisfaction of a KB by an interpretation An interpretation I satisfies (or is a model of) a knowledge base K = R, T , A, if I satisfies every axiom of K, i.e., I | = α for α ∈ K.

❼ ❼

4 / 40

slide-5
SLIDE 5

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Satisfaction and Satisfiability of Knowledge Bases

Satisfaction of a KB by an interpretation An interpretation I satisfies (or is a model of) a knowledge base K = R, T , A, if I satisfies every axiom of K, i.e., I | = α for α ∈ K. KB (un)satisfiability / (in)consistency A KB K is satisfiable (also: consistent), if it has some model; otherwise it is unsatisfiable (also: inconsistent or contradictory).

❼ ❼

4 / 40

slide-6
SLIDE 6

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Satisfaction and Satisfiability of Knowledge Bases

Satisfaction of a KB by an interpretation An interpretation I satisfies (or is a model of) a knowledge base K = R, T , A, if I satisfies every axiom of K, i.e., I | = α for α ∈ K. KB (un)satisfiability / (in)consistency A KB K is satisfiable (also: consistent), if it has some model; otherwise it is unsatisfiable (also: inconsistent or contradictory).

❼ unsatisfiability of a KB hints at a design bug ❼ unsatisfiable axioms carry no information:

α is unsatisfiable ⇐ ⇒ ¬α is tautologic (if negation is applicable), i.e., I | = ¬α for every interpretation I

4 / 40

slide-7
SLIDE 7

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: KB Satisfiability

RBox R

  • wns

⊑ caresFor ”If somebody owns something, s/he cares for it.” TBox T Healthy ⊑ ¬Dead ”Healthy beings are not dead.” Cat ⊑ Dead ⊔ Alive ”Every cat is dead or alive.” HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ”A happy cat owner owns a cat and all beings he cares for are healthy.” ABox A HappyCatOwner(schroedinger) ”Schr¨

  • dinger is a happy cat owner.”

Is K = R, T , A satisfiable?

5 / 40

slide-8
SLIDE 8

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: KB Satisfiability

RBox R

  • wns

⊑ caresFor ”If somebody owns something, s/he cares for it.” TBox T Healthy ⊑ ¬Dead ”Healthy beings are not dead.” Cat ⊑ Dead ⊔ Alive ”Every cat is dead or alive.” HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ”A happy cat owner owns a cat and all beings he cares for are healthy.” ABox A HappyCatOwner(schroedinger) ”Schr¨

  • dinger is a happy cat owner.”

Is K = R, T , A satisfiable? Yes!

5 / 40

slide-9
SLIDE 9

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: KB Satisfiability

TBox T Deer ⊑ Mammal ”Deers are mammals.” Mammal ⊓ Flies ⊑ Bat ”Mammals, who fly are bats.” Bat ⊑ ∀worksFor.{batman} ”Bats work only for Batman” ABox A Deer ⊓ ∃hasNose.Red(rudolph) ”Rudolph is a deer with a red nose.” ∀worksFor −.(¬Deer ⊔ Flies)(santa) ”Only non-deers or fliers work for Santa.” worksFor(rudolph, santa) ”Rudolph works for Santa.” santa ≈ batman “Santa is different from Batman.”

Is K satisfiable?

6 / 40

slide-10
SLIDE 10

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: KB Satisfiability

TBox T Deer ⊑ Mammal ”Deers are mammals.” Mammal ⊓ Flies ⊑ Bat ”Mammals, who fly are bats.” Bat ⊑ ∀worksFor.{batman} ”Bats work only for Batman” ABox A Deer ⊓ ∃hasNose.Red(rudolph) ”Rudolph is a deer with a red nose.” ∀worksFor −.(¬Deer ⊔ Flies)(santa) ”Only non-deers or fliers work for Santa.” worksFor(rudolph, santa) ”Rudolph works for Santa.” santa ≈ batman “Santa is different from Batman.”

Is K satisfiable? No!

6 / 40

slide-11
SLIDE 11

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Entailment of Axioms

Entailment checking A knowledge base K entails an axiom α (in symbols, K | = α), if every model I of K satisfies α.

models of K interpretations satisfying α

❼ Informally, K |

= α elicits implicit knowledge

❼ If α occurs in K, then trivially K |

= α

❼ If K is unsatisfiable, then K |

= α for every axiom α

7 / 40

slide-12
SLIDE 12

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Entailment

RBox R

  • wns

⊑ caresFor ”If somebody owns something, s/he cares for it.” TBox T Healthy ⊑ ¬Dead ”Healthy beings are not dead.” Cat ⊑ Dead ⊔ Alive ”Every cat is dead or alive.” HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ”A happy cat owner owns a cat and all beings he cares for are healthy.” ABox A HappyCatOwner(schroedinger) ”Schr¨

  • dinger is a happy cat owner.”

❼ ❼ ❼

8 / 40

slide-13
SLIDE 13

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Entailment

RBox R

  • wns

⊑ caresFor ”If somebody owns something, s/he cares for it.” TBox T Healthy ⊑ ¬Dead ”Healthy beings are not dead.” Cat ⊑ Dead ⊔ Alive ”Every cat is dead or alive.” HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ”A happy cat owner owns a cat and all beings he cares for are healthy.” ABox A HappyCatOwner(schroedinger) ”Schr¨

  • dinger is a happy cat owner.”

❼ K | = ∃caresFor.(Cat ⊓ Alive)(schroedinger)? ❼ ❼

8 / 40

slide-14
SLIDE 14

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Entailment

RBox R

  • wns

⊑ caresFor ”If somebody owns something, s/he cares for it.” TBox T Healthy ⊑ ¬Dead ”Healthy beings are not dead.” Cat ⊑ Dead ⊔ Alive ”Every cat is dead or alive.” HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ”A happy cat owner owns a cat and all beings he cares for are healthy.” ABox A HappyCatOwner(schroedinger) ”Schr¨

  • dinger is a happy cat owner.”

❼ K | = ∃caresFor.(Cat ⊓ Alive)(schroedinger) ❼ K | = ∀owns.¬Cat ⊑ ¬HappyCatOwner? ❼

8 / 40

slide-15
SLIDE 15

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Entailment

RBox R

  • wns

⊑ caresFor ”If somebody owns something, s/he cares for it.” TBox T Healthy ⊑ ¬Dead ”Healthy beings are not dead.” Cat ⊑ Dead ⊔ Alive ”Every cat is dead or alive.” HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ”A happy cat owner owns a cat and all beings he cares for are healthy.” ABox A HappyCatOwner(schroedinger) ”Schr¨

  • dinger is a happy cat owner.”

❼ K | = ∃caresFor.(Cat ⊓ Alive)(schroedinger) ❼ K | = ∀owns.¬Cat ⊑ ¬HappyCatOwner ❼ K | = Cat ⊑ Healthy?

8 / 40

slide-16
SLIDE 16

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Entailment

RBox R

  • wns

⊑ caresFor ”If somebody owns something, s/he cares for it.” TBox T Healthy ⊑ ¬Dead ”Healthy beings are not dead.” Cat ⊑ Dead ⊔ Alive ”Every cat is dead or alive.” HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ”A happy cat owner owns a cat and all beings he cares for are healthy.” ABox A HappyCatOwner(schroedinger) ”Schr¨

  • dinger is a happy cat owner.”

❼ K | = ∃caresFor.(Cat ⊓ Alive)(schroedinger) ❼ K | = ∀owns.¬Cat ⊑ ¬HappyCatOwner ❼ K | = Cat ⊑ Healthy

8 / 40

slide-17
SLIDE 17

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Decidability of DLs

DLs are decidable, i.e., there exists an algorithm that Given: a KB and an axiom α, Output: “yes” iff KB | = α and no otherwise.

❼ Likewise, there is a similar algorithm that decides whether an input

KB is satisfiable

❼ Just ask KB |

= ⊤ ⊑ ⊥: if the answer is “yes”, then KB is unsatisfiable, otherwise it is satisfiable.

9 / 40

slide-18
SLIDE 18

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Standard Reasoning Problems

10 / 40

slide-19
SLIDE 19

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Standard DL Reasoning Problems

❼ KB Satisfiability: verify whether the KB is satisfiable ❼ Entailment: verify whether the KB entails a certain axiom

e.g., K | = CatOwner(Schroedinger)

❼ Concept Satisfiability: verify whether a given concept is

(un)satisfiable, e.g., K | = Dead ⊓ Alive ⊑ ⊥

❼ Coherence: verify whether none of the concepts in the KB is

unsatisfiable

❼ Classification: compute the subsumption hierarchy of all atomic

concepts, e.g. K | = Healthy ⊑ ¬Dead, etc.

❼ Instance Retrieval: retrieve all the individuals known to be

instances of a certain concept, e.g., find all a, s.t. ∃caresFor(a)

11 / 40

slide-20
SLIDE 20

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Deciding KB Satisfiability

❼ deciding KB satisfiability is a basic inference task

(the “mother” of all standard reasoning tasks)

❼ directly needed in the process of KB engineering

❼ detect severe modeling errors

❼ other reasoning tasks can be reduced to checking KB

(un)satisfiability (and vice versa) Theorem 1: Reducing reasoning problems to KB satisfiability Let K be a KB and a an individual name not in K. Then

  • 2. C is satisfiable w.r.t. K iff K ∪ C(a) is satisfiable;
  • 3. K is coherent iff, for each concept name C, K ∪ C(a) is satisfiable;
  • 4. K |

= A ⊑ B iff K ∪ (A ⊓ ¬B)(a) is unsatisfiable;

  • 5. K |

= B(b) iff K ∪ ¬B(b) is unsatisfiable.

12 / 40

slide-21
SLIDE 21

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Entailment Checking

❼ used in the KB modeling process to check, whether the specified

knowledge has the intended consequences

❼ used for querying the KB if certain propositions are necessarily true

Reduction of entailment problem K | = α to checking KB inconsistency (see Th.1) follows the idea of proof by contradiction:

❼ negate the axiom α ❼ add the negated axiom ¬α to K ❼ check for inconsistency of the resulting KB K ∪ {¬α}

If an axiom cannot be negated directly, its negation can be emulated ({¬α} Aα).

13 / 40

slide-22
SLIDE 22

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Entailment Checking, cont’d

Axiom sets Aα such that K | = α exactly if K ∪ Aα is unsatisfiable: α Aα r1 ◦ . . . ◦ rn ⊑ r {¬r(c0, cn), r1(c0, c1), . . . , rn(cn−1, cn)} Dis(r, r′) {r(c1, c2), r′(c1, c2)} C ⊑ D {(C ⊓ ¬D)(c)} or {⊤ ⊑ ∃u(C ⊓ ¬D)} C(a) {¬C(a)} ¬C(a) {C(a)} r(a, b) {¬r(a, b)} ¬r(a, b) {r(a, b)} a ≈ b {a ≈ b} a ≈ b {a ≈ b}

❼ Individual names c with possible subscripts are supposed to be fresh1. ❼ For GCIs (third line), the first variant is normally employed; the second is logical equivalent instead of just emulating.

1Fresh individuals are those not appearing in the given KB K. 14 / 40

slide-23
SLIDE 23

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Concept Satisfiability

Concept Satisfiability A concept expression C is called satisfiable with respect to a knowledge base K, if there exists a model I of K such that CI = ∅.

❼ Unsatisfiable atomic concepts normally indicate KB modeling errors. ❼ Concept satisfiability can be reduced to KB consistency (Th. 1) and

non-entailment resp.:

❼ C is satisfiable wrt. K ⇐

⇒ K ∪ {C(a)} is consistent, where a is a fresh individual name

❼ C is satisfiable wrt. K ⇐

⇒ K | = C ⊑ ⊥

15 / 40

slide-24
SLIDE 24

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Concept Satisfiability, cont’d

Entailment of general concept inclusions C ⊑ D and equivalences C ≡ D can be reduced to both concept (un)satisfiability and KB (un)satisfiability.

C ⊑ D ⇐ ⇒ C ⊓ ¬D is unsatisfiable ⇐ ⇒ KB {C(a), ¬D(a)} is unsatisfiable

C ≡ D ⇐ ⇒ (C ⊓ ¬D) ⊔ (D ⊓ ¬C) is unsatisfiable ⇐ ⇒ both C ⊓ ¬D and D ⊓ ¬C are unsatisfiable ⇐ ⇒ both KBs {C(a), ¬D(a)} and {D(a), ¬C(a)} are unsatisfiable

16 / 40

slide-25
SLIDE 25

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Classification

KB Classification Classification of a knowledge base K is to determine for any two concept names A, B, whether K | = A ⊑ B holds.

❼ This is useful at KB design time for checking the inferred concept

  • hierarchy. Also, computing this hierarchy once and storing it can

speed up further queries.

❼ Classification can be reduced to checking entailment of GCIs. ❼ While this requires quadratically many checks, one can often do

much better in practice by applying optimizations and exploiting that subsumption is a preorder.

17 / 40

slide-26
SLIDE 26

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Instance Retrieval

Instance Retrieval Instance retrieval task is to find all named individuals that are known to be in a certain concept (role).

❼ retrieve(C,K) = {a ∈ NI | aI ∈ CI for every model I of K } ❼ retrieve(r,K) = {(a, b) ∈ NI

2 | (aI, bI) ∈ rI for every model I of K }

❼ It can be reduced to checking entailment of as many individual

assertions as there are named individuals in K i.e., test K | = C(a) for each a occurring in K (excluding pathologic cases).

❼ Depending on the system used and the inference algorithm, this can

be done in a much more efficient way (e.g. by a transformation into a database query, in SQL or Datalog).

18 / 40

slide-27
SLIDE 27

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Novel Reasoning Problems

In recent years, other reasoning tasks have been gaining attention

❼ ❼ ❼

19 / 40

slide-28
SLIDE 28

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Novel Reasoning Problems

In recent years, other reasoning tasks have been gaining attention

❼ Conjunctive Query Answering

conjunctive queries allow to join pieces of information more expressive: union of CQAs (akin to SQL), rules

❼ ❼

19 / 40

slide-29
SLIDE 29

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Novel Reasoning Problems

In recent years, other reasoning tasks have been gaining attention

❼ Conjunctive Query Answering

conjunctive queries allow to join pieces of information more expressive: union of CQAs (akin to SQL), rules

❼ Inconsistency Handling

repair inconsistent KB or avoid that K | = α for every α (‘knowledge explosion’) if K is inconsistent by introducing, e.g., new semantics

19 / 40

slide-30
SLIDE 30

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Novel Reasoning Problems

In recent years, other reasoning tasks have been gaining attention

❼ Conjunctive Query Answering

conjunctive queries allow to join pieces of information more expressive: union of CQAs (akin to SQL), rules

❼ Inconsistency Handling

repair inconsistent KB or avoid that K | = α for every α (‘knowledge explosion’) if K is inconsistent by introducing, e.g., new semantics

❼ Entailment Explanation

identify axioms in the knowledge base that support a conclusion K | = α, typically a smallest K′ ⊆ K such that K′ | = α (’axiom pinpointing’)

19 / 40

slide-31
SLIDE 31

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Conjunctive Query Answering

Generalize Instance Retrieval by allowing joins and projections:

q(Z) = ∃Y ∃X.childOf (Z, Y ) ∧ childOf (Z, X) ∧ marriedWith(Y, X) ❼ In databases:

❼ just one model (the DB itself) by Closed World Assumption

(R. Reiter, 1978: if atom A is not provable from DB, ¬A is true).

❼ this is rather easy

20 / 40

slide-32
SLIDE 32

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Conjunctive Query Answering, cont’d

Generalize Instance Retrieval by allowing joins and projections:

q(Z) = ∃Y ∃X.childOf (Z, Y ) ∧ childOf (Z, X) ∧ marriedWith(Y, X) ❼ In Description Logics:

❼ one knowledge base, many models (Open World Assumption) ❼ not so easy ❼ the ∃-variables must be suitably mapped in every model

21 / 40

slide-33
SLIDE 33

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Algorithmic Approaches to DL Reasoning

22 / 40

slide-34
SLIDE 34

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Types of Reasoning Procedures

❼ Roughly, DL inference algorithms can be separated into two groups:

model-based algorithms: show satisfiability by constructing a model (or a representation of it). Examples: tableau, automata, type elimination algorithms proof-based algorithms: apply deduction rules to the KB to infer new axioms. Examples: resolution, consequence-based algorithms Note:

❼ both strategies are known from first-order logic theorem proving ❼ additional care is needed to ensure decidability (in particular

completeness and termination of algorithms).

23 / 40

slide-35
SLIDE 35

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Types of Reasoning Procedures

❼ Roughly, DL inference algorithms can be separated into two groups:

model-based algorithms: show satisfiability by constructing a model (or a representation of it). Examples: tableau, automata, type elimination algorithms proof-based algorithms: apply deduction rules to the KB to infer new axioms. Examples: resolution, consequence-based algorithms Note:

❼ both strategies are known from first-order logic theorem proving ❼ additional care is needed to ensure decidability (in particular

completeness and termination of algorithms).

23 / 40

slide-36
SLIDE 36

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Algorithm for DLs

Tableau-based techniques They try to decide the satisfiability of a formula (or theory) by using rules to construct (a representation of) a model.

❼ Tableau-based techniques have been used in FOL and modal logics

for many years.

❼ For DLs, they have been extensively explored since the late 1990s

[Smolka, 1990], [Baader and Sattler, 2001].

❼ They are considered well-suited for implementation. ❼ In fact, many of the most successful DL reasoners implement

tableau techniques or variations of them, e.g.: RACER, FaCT++, Pellet, Hermit, etc.

24 / 40

slide-37
SLIDE 37

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Algorithm for Deciding KB Satisfiability

❼ Perform a ”bottom-up” construction of a model:

❼ ❼ ❼ ❼ ❼

25 / 40

slide-38
SLIDE 38

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Algorithm for Deciding KB Satisfiability

❼ Perform a ”bottom-up” construction of a model:

❼ Initialize an interpretation by all explicitly known (i.e., named)

individuals and their known properties.

❼ ❼ ❼ ❼

25 / 40

slide-39
SLIDE 39

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Algorithm for Deciding KB Satisfiability

❼ Perform a ”bottom-up” construction of a model:

❼ Initialize an interpretation by all explicitly known (i.e., named)

individuals and their known properties.

❼ Most probably, this ”model draft” will violate some of the axioms. ❼ ❼ ❼

25 / 40

slide-40
SLIDE 40

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Algorithm for Deciding KB Satisfiability

❼ Perform a ”bottom-up” construction of a model:

❼ Initialize an interpretation by all explicitly known (i.e., named)

individuals and their known properties.

❼ Most probably, this ”model draft” will violate some of the axioms. ❼ Iteratively ”repair” it by adding new information about concept or

role memberships and/or introducing new (i.e., anonymous) individuals, this may require case distinction and backtracking.

❼ ❼

25 / 40

slide-41
SLIDE 41

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Algorithm for Deciding KB Satisfiability

❼ Perform a ”bottom-up” construction of a model:

❼ Initialize an interpretation by all explicitly known (i.e., named)

individuals and their known properties.

❼ Most probably, this ”model draft” will violate some of the axioms. ❼ Iteratively ”repair” it by adding new information about concept or

role memberships and/or introducing new (i.e., anonymous) individuals, this may require case distinction and backtracking.

❼ If we arrive at an interpretation satisfying all axioms, satisfiability has

been shown.

25 / 40

slide-42
SLIDE 42

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Algorithm for Deciding KB Satisfiability

❼ Perform a ”bottom-up” construction of a model:

❼ Initialize an interpretation by all explicitly known (i.e., named)

individuals and their known properties.

❼ Most probably, this ”model draft” will violate some of the axioms. ❼ Iteratively ”repair” it by adding new information about concept or

role memberships and/or introducing new (i.e., anonymous) individuals, this may require case distinction and backtracking.

❼ If we arrive at an interpretation satisfying all axioms, satisfiability has

been shown.

❼ If every repairing attempt eventually results in an overt inconsistency,

unsatisfiability has been shown.

Note: as the finite model property does not hold in general, not a full model is constructed but a finite representation of it (cf. “blocking”).

25 / 40

slide-43
SLIDE 43

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Overview Example: Happy Cat Owner

RBox R

  • wns

⊑ caresFor ”If somebody owns something, s/he cares for it.” TBox T Healthy ⊑ ¬Dead ”Healthy beings are not dead.” Cat ⊑ Dead ⊔ Alive ”Every cat is dead or alive.” HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ”A happy cat owner owns a cat and all beings he cares for are healthy.” ABox A HappyCatOwner(schroedinger) ”Schr¨

  • dinger is a happy cat owner.”

Is K satisfiable?

26 / 40

slide-44
SLIDE 44

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Overview Example: Happy Cat Owner

RBox R

  • wns

⊑ caresFor TBox T Healthy ⊑ ¬Dead Cat ⊑ Dead ⊔ Alive HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ABox A HappyCatOwner(s)

Is K satisfiable?

27 / 40

slide-45
SLIDE 45

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Overview Example: Happy Cat Owner

RBox R

  • wns

⊑ caresFor TBox T Healthy ⊑ ¬Dead Cat ⊑ Dead ⊔ Alive HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ABox A HappyCatOwner(s)

Is K satisfiable? s

L(s) = {HappyCatOwner}

27 / 40

slide-46
SLIDE 46

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Overview Example: Happy Cat Owner

RBox R

  • wns

⊑ caresFor TBox T Healthy ⊑ ¬Dead Cat ⊑ Dead ⊔ Alive HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ABox A HappyCatOwner(s)

Is K satisfiable? s c

L(s) = {HappyCatOwner} L(c) = {Cat}

  • wns

27 / 40

slide-47
SLIDE 47

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Overview Example: Happy Cat Owner

RBox R

  • wns

⊑ caresFor TBox T Healthy ⊑ ¬Dead Cat ⊑ Dead ⊔ Alive HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ABox A HappyCatOwner(s)

Is K satisfiable? s c

L(s) = {HappyCatOwner} L(c) = {Cat}

  • wns

caresFor

27 / 40

slide-48
SLIDE 48

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Overview Example: Happy Cat Owner

RBox R

  • wns

⊑ caresFor TBox T Healthy ⊑ ¬Dead Cat ⊑ Dead ⊔ Alive HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ABox A HappyCatOwner(s)

Is K satisfiable? s c

L(s) = {HappyCatOwner} L(c) = {Cat, Healthy}

  • wns

caresFor

27 / 40

slide-49
SLIDE 49

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Overview Example: Happy Cat Owner

RBox R

  • wns

⊑ caresFor TBox T Healthy ⊑ ¬Dead Cat ⊑ Dead ⊔ Alive HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ABox A HappyCatOwner(s)

Is K satisfiable? s c

L(s) = {HappyCatOwner} L(c) = {Cat, Healthy, ¬Dead}

  • wns

caresFor

27 / 40

slide-50
SLIDE 50

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Overview Example: Happy Cat Owner

RBox R

  • wns

⊑ caresFor TBox T Healthy ⊑ ¬Dead Cat ⊑ Dead ⊔ Alive HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ABox A HappyCatOwner(s)

Is K satisfiable? s c

L(s) = {HappyCatOwner} L(c) = {Cat, Healthy, ¬Dead, Alive}

  • wns

caresFor

27 / 40

slide-51
SLIDE 51

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Overview Example: Happy Cat Owner

RBox R

  • wns

⊑ caresFor TBox T Healthy ⊑ ¬Dead Cat ⊑ Dead ⊔ Alive HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ABox A HappyCatOwner(s)

Is K satisfiable? Yes! s c

L(s) = {HappyCatOwner} L(c) = {Cat, Healthy, ¬Dead, Alive}

  • wns

caresFor

27 / 40

slide-52
SLIDE 52

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Naive Tableau Algorithm for ALC

Given a KB in NNF we construct a tableau, which for ALC KBs consists of ❼ a set of nodes, labeled with individual names or variable names ❼ directed edges between some pairs of nodes ❼ for each node labeled x, a set L(x) of class expressions and ❼ for each pair of nodes x and y, a set L(x, y) of role names. Provisos: ❼ omit edges which are labeled with the empty set ❼ assume ⊤ is contained in L(x) for any x. ❼ concept expressions should be in negation normal form

28 / 40

slide-53
SLIDE 53

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Recall ALC Syntax

Construct Syntax Example Semantics atomic concept A Doctor AI ⊆ ∆I atomic role r hasChild rI ⊆ ∆I × ∆I conjunction C ⊓ D Human ⊓ Male CI ∩ DI

  • unqual. exist. res.2

∃r ∃hasChild {o | ∃o′.(o, o′) ∈ rI} value res. ∀r.C ∀hasChild.Male {o | ∀o′.(o, o′) ∈ rI → o′ ∈ CI} full negation ¬C ¬∀hasChild.Male ∆I\CI

2Unqualified existential restriction 29 / 40

slide-54
SLIDE 54

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Negation Normal Form

Negation normal form (NNF) A concept expression C is in negation normal form, if negation occurs in C only in front of atomic concepts, nominal concepts and self-restrictions.

❼ ❼ ❼

30 / 40

slide-55
SLIDE 55

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Negation Normal Form

Negation normal form (NNF) A concept expression C is in negation normal form, if negation occurs in C only in front of atomic concepts, nominal concepts and self-restrictions. Given a KB K to construct nnf (K) we need to

❼ replace every C ≡ D by C ⊑ D and D ⊑ C; ❼ replace every C ⊑ D by ¬C ⊔ D; ❼

30 / 40

slide-56
SLIDE 56

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Negation Normal Form

Negation normal form (NNF) A concept expression C is in negation normal form, if negation occurs in C only in front of atomic concepts, nominal concepts and self-restrictions. Given a KB K to construct nnf (K) we need to

❼ replace every C ≡ D by C ⊑ D and D ⊑ C; ❼ replace every C ⊑ D by ¬C ⊔ D; ❼ recursively translate every C into nnf (C): nnf(C) C if C ∈ {A, ¬A, {a1 . . . an}, ¬{a1 . . . an}, ∃r.Self, ¬∃r.Self, ⊤, ⊥}

nnf(¬¬C) nnf(C) nnf(C ⊓ D) nnf(C) ⊓ nnf(D) nnf(C ⊔ D) nnf(C) ⊔ nnf(D) nnf(¬(C ⊔ D)) nnf(¬C ⊓ ¬D) nnf(¬(C ⊓ D)) nnf(¬C ⊔ ¬D) nnf(∀r.C) ∀r.nnf(C) nnf(∃r.C) ∃r.nnf(C) nnf(¬∀r.C) ∃r.nnf(¬C) nnf(¬∃r.C) ∀r.nnf(¬C) nnf(≤ k r.C) ≤ k r.nnf(C) nnf(≥ k r.C) ≥ k r.nnf(C) nnf(¬ ≤ k r.C) ≥ (k + 1) r.nnf(C) nnf(¬ ≥ k r.C) ≤ (k − 1) r.nnf(C) nnf(¬⊤) ⊥

30 / 40

slide-57
SLIDE 57

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Negation Normal Form

Negation normal form (NNF) A concept expression C is in negation normal form, if negation occurs in C only in front of atomic concepts, nominal concepts and self-restrictions. Given a KB K to construct nnf (K) we need to

❼ replace every C ≡ D by C ⊑ D and D ⊑ C; ❼ replace every C ⊑ D by ¬C ⊔ D; ❼ recursively translate every C into nnf (C): nnf(C) C if C ∈ {A, ¬A, {a1 . . . an}, ¬{a1 . . . an}, ∃r.Self, ¬∃r.Self, ⊤, ⊥}

nnf(¬¬C) nnf(C) nnf(C ⊓ D) nnf(C) ⊓ nnf(D) nnf(C ⊔ D) nnf(C) ⊔ nnf(D) nnf(¬(C ⊔ D)) nnf(¬C ⊓ ¬D) nnf(¬(C ⊓ D)) nnf(¬C ⊔ ¬D) nnf(∀r.C) ∀r.nnf(C) nnf(∃r.C) ∃r.nnf(C) nnf(¬∀r.C) ∃r.nnf(¬C) nnf(¬∃r.C) ∀r.nnf(¬C) nnf(≤ k r.C) ≤ k r.nnf(C) nnf(≥ k r.C) ≥ k r.nnf(C) nnf(¬ ≤ k r.C) ≥ (k + 1) r.nnf(C) nnf(¬ ≥ k r.C) ≤ (k − 1) r.nnf(C) nnf(¬⊤) ⊥

C and nnf(C) are logically equivalent, i.e., CI = nnf(C)I, for every interpre- tation I, and the translation process terminates in linear time.

30 / 40

slide-58
SLIDE 58

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Negation Normal Form

Negation Normal Form

FilmActor ⊑ (∃actedIn ⊓ Artist) ⊔ ¬(¬∃actedIn ⊔ ∃playsIn.Theater)

31 / 40

slide-59
SLIDE 59

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Negation Normal Form

Negation Normal Form

FilmActor ⊑ (∃actedIn ⊓ Artist) ⊔ ¬(¬∃actedIn ⊔ ∃playsIn.Theater)

  • 1. ¬FilmActor ⊔ (∃actedIn ⊓ Artist) ⊔ ¬(¬∃actedIn ⊔ ∃playsIn.Theater)

31 / 40

slide-60
SLIDE 60

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Negation Normal Form

Negation Normal Form

FilmActor ⊑ (∃actedIn ⊓ Artist) ⊔ ¬(¬∃actedIn ⊔ ∃playsIn.Theater)

  • 1. ¬FilmActor ⊔ (∃actedIn ⊓ Artist) ⊔ ¬(¬∃actedIn ⊔ ∃playsIn.Theater)
  • 2. ¬FilmActor ⊔ (∃actedIn ⊓ Artist) ⊔ (∃actedIn ⊓ ¬∃playsIn.Theater)

31 / 40

slide-61
SLIDE 61

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Negation Normal Form

Negation Normal Form

FilmActor ⊑ (∃actedIn ⊓ Artist) ⊔ ¬(¬∃actedIn ⊔ ∃playsIn.Theater)

  • 1. ¬FilmActor ⊔ (∃actedIn ⊓ Artist) ⊔ ¬(¬∃actedIn ⊔ ∃playsIn.Theater)
  • 2. ¬FilmActor ⊔ (∃actedIn ⊓ Artist) ⊔ (∃actedIn ⊓ ¬∃playsIn.Theater)
  • 3. ¬FilmActor ⊔ (∃actedIn ⊓ Artist) ⊔ (∃actedIn ⊓ ∀playsIn.¬Theater)

31 / 40

slide-62
SLIDE 62

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Initial Tableau

For an ALC knowledge base K in negation normal form, the initial tableau is defined as follows:

  • 1. For each individual a occurring in K, create a node labeled a and set

L(a) = ∅.

  • 2. For all pairs a, b of individuals, set L(a, b) = ∅.
  • 3. For each ABox statement C(a) in K, set L(a) ← C.
  • 4. For each ABox statement r(a, b) in K set L(a, b) ← r.

Note: “←” means “update with”, “add to”

32 / 40

slide-63
SLIDE 63

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Initial Tableau

K = {A(a), (∃r.B)(a), r(a, b), r(a, c), s(b, b), (A ⊔ B)(c), ¬A ⊔ (∀s.B)} b a c

33 / 40

slide-64
SLIDE 64

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Initial Tableau

K = {A(a), (∃r.B)(a), r(a, b), r(a, c), s(b, b), (A ⊔ B)(c), ¬A ⊔ (∀s.B)} b a c L(a) = {A,

33 / 40

slide-65
SLIDE 65

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Initial Tableau

K = {A(a), (∃r.B)(a), r(a, b), r(a, c), s(b, b), (A ⊔ B)(c), ¬A ⊔ (∀s.B)} b a c L(a) = {A, ∃r.B}

33 / 40

slide-66
SLIDE 66

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Initial Tableau

K = {A(a), (∃r.B)(a), r(a, b), r(a, c), s(b, b), (A ⊔ B)(c), ¬A ⊔ (∀s.B)} b a c L(a) = {A, ∃r.B} r s

33 / 40

slide-67
SLIDE 67

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Initial Tableau

K = {A(a), (∃r.B)(a), r(a, b), r(a, c), s(b, b), (A ⊔ B)(c), ¬A ⊔ (∀s.B)} b a c L(a) = {A, ∃r.B} r s s

33 / 40

slide-68
SLIDE 68

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Initial Tableau

K = {A(a), (∃r.B)(a), r(a, b), r(a, c), s(b, b), (A ⊔ B)(c), ¬A ⊔ (∀s.B)} b a c L(a) = {A, ∃r.B} L(c) = {A ⊔ B} r s s

33 / 40

slide-69
SLIDE 69

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Initial Tableau

K = {A(a), (∃r.B)(a), r(a, b), r(a, c), s(b, b), (A ⊔ B)(c), ¬A ⊔ (∀s.B)} b a c L(b) = ∅ L(a) = {A, ∃r.B} L(c) = {A ⊔ B} r s s

33 / 40

slide-70
SLIDE 70

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Expansion Rules for the Naive Tableau

❼ ⊓-rule: If C ⊓ D ∈ L(x) and {C, D} ⊆ L(x), then set

L(x) ← {C, D}.

❼ ❼ ❼ ❼

34 / 40

slide-71
SLIDE 71

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Expansion Rules for the Naive Tableau

❼ ⊓-rule: If C ⊓ D ∈ L(x) and {C, D} ⊆ L(x), then set

L(x) ← {C, D}.

❼ ⊔-rule: If C ⊔ D ∈ L(x) and {C, D} ∩ L(x) = ∅, then set

L(x) ← C or L(x) ← D.

❼ ❼ ❼

34 / 40

slide-72
SLIDE 72

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Expansion Rules for the Naive Tableau

❼ ⊓-rule: If C ⊓ D ∈ L(x) and {C, D} ⊆ L(x), then set

L(x) ← {C, D}.

❼ ⊔-rule: If C ⊔ D ∈ L(x) and {C, D} ∩ L(x) = ∅, then set

L(x) ← C or L(x) ← D.

❼ ∃-rule: If ∃r.C ∈ L(x) and there is no y with r ∈ L(x, y) and

C ∈ L(y), then

  • 1. add a new node with label y (where y is a new node label),
  • 2. set L(x, y) = {r}, and
  • 3. set L(y) = {C}.

❼ ❼

34 / 40

slide-73
SLIDE 73

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Expansion Rules for the Naive Tableau

❼ ⊓-rule: If C ⊓ D ∈ L(x) and {C, D} ⊆ L(x), then set

L(x) ← {C, D}.

❼ ⊔-rule: If C ⊔ D ∈ L(x) and {C, D} ∩ L(x) = ∅, then set

L(x) ← C or L(x) ← D.

❼ ∃-rule: If ∃r.C ∈ L(x) and there is no y with r ∈ L(x, y) and

C ∈ L(y), then

  • 1. add a new node with label y (where y is a new node label),
  • 2. set L(x, y) = {r}, and
  • 3. set L(y) = {C}.

❼ ∀-rule: If ∀r.C ∈ L(x) and there is a node y with r ∈ L(x, y) and

C ∈ L(y), then set L(y) ← C.

34 / 40

slide-74
SLIDE 74

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Expansion Rules for the Naive Tableau

❼ ⊓-rule: If C ⊓ D ∈ L(x) and {C, D} ⊆ L(x), then set

L(x) ← {C, D}.

❼ ⊔-rule: If C ⊔ D ∈ L(x) and {C, D} ∩ L(x) = ∅, then set

L(x) ← C or L(x) ← D.

❼ ∃-rule: If ∃r.C ∈ L(x) and there is no y with r ∈ L(x, y) and

C ∈ L(y), then

  • 1. add a new node with label y (where y is a new node label),
  • 2. set L(x, y) = {r}, and
  • 3. set L(y) = {C}.

❼ ∀-rule: If ∀r.C ∈ L(x) and there is a node y with r ∈ L(x, y) and

C ∈ L(y), then set L(y) ← C.

❼ TBox-rule: If C is a (rewritten and normalized) TBox statement and

C ∈ L(x), then set L(x) ← C.

34 / 40

slide-75
SLIDE 75

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Naive Tableau Algorithm

Input: ALC knowledge base K in negation normal form Output: “yes” if K is satisfiable

  • 1. Initialize the tableau;
  • 2. While some expansion rule is applicable:

2.1. nondeterministically apply an applicable rule; 2.2. if for some node x, there exists some C ∈ L(x) such that ¬C ∈ L(x),

  • utput “no” and terminate;
  • 3. Output “yes”.

A nondeterministic run of the algorithm terminates, if either

❼ for some node x, L(x) contains a contradiction (“no”; attempt to find a model

for K was unsuccessful), or

❼ no expansion rule is applicable (“yes”; attempt was successful) ❼ K is satisfiable if some run outputs “yes”, and

unsatisfiable if every run outputs “no’

❼ only the ⊔-rule creates true branching regarding yes/no output

35 / 40

slide-76
SLIDE 76

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a

36 / 40

slide-77
SLIDE 77

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C,

36 / 40

slide-78
SLIDE 78

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C, ∀r.¬E,

36 / 40

slide-79
SLIDE 79

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C, ∀r.¬E, ¬C ⊔ ∃r.D,

36 / 40

slide-80
SLIDE 80

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C, ∀r.¬E, ¬C ⊔ ∃r.D,

36 / 40

slide-81
SLIDE 81

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C, ∀r.¬E, ¬C ⊔ ∃r.D, ∃r.D} x r L(x) = {D,

36 / 40

slide-82
SLIDE 82

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C, ∀r.¬E, ¬C ⊔ ∃r.D, ∃r.D} x r L(x) = {D,¬D ⊔ E,

36 / 40

slide-83
SLIDE 83

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C, ∀r.¬E, ¬C ⊔ ∃r.D, ∃r.D} x r L(x) = {D,¬D ⊔ E,

36 / 40

slide-84
SLIDE 84

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C, ∀r.¬E, ¬C ⊔ ∃r.D, ∃r.D} x r L(x) = {D,¬D ⊔ E, E,

36 / 40

slide-85
SLIDE 85

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C, ∀r.¬E, ¬C ⊔ ∃r.D, ∃r.D} x r L(x) = {D,¬D ⊔ E, E, ¬E}

36 / 40

slide-86
SLIDE 86

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Expansion Rules

K = {C(a), ¬C ⊔ ∃r.D, ¬D ⊔ E, ∀r.¬E(a)} a L(a) = {C, ∀r.¬E, ¬C ⊔ ∃r.D, ∃r.D} x r L(x) = {D,¬D ⊔ E, E, ¬E} Clash is obtained, KB is unsatisfiable!

36 / 40

slide-87
SLIDE 87

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Tableau Algorithm with Blocking for ALC

❼ Naive tableau algorithm does not always terminate

Example: K = {¬Person ⊔ ∃hasParent, Person(a1)}.

❼ Modify the naive tableau algorithm to ensure termination ❼ Use blocking ❼ A node with label x is directly blocked by a node with label y if

❼ x is a variable (i.e., not an individual), ❼ y is an ancestor of x, and ❼ L(x) ⊆ L(y)

❼ A node with label x is blocked, if it is directly blocked or one of its

ancestors is blocked

❼ Expansion rules may only be applied if x is not blocked

37 / 40

slide-88
SLIDE 88

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Blocking

K = {B(t), ¬H ⊔ ∃P.H, H(t)} t

38 / 40

slide-89
SLIDE 89

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Blocking

K = {B(t), ¬H ⊔ ∃P.H, H(t)} t L(t) = {B, H,

38 / 40

slide-90
SLIDE 90

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Blocking

K = {B(t), ¬H ⊔ ∃P.H, H(t)} t L(t) = {B, H,¬H ⊔ ∃P.H,

38 / 40

slide-91
SLIDE 91

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Blocking

K = {B(t), ¬H ⊔ ∃P.H, H(t)} t L(t) = {B, H,¬H ⊔ ∃P.H,

38 / 40

slide-92
SLIDE 92

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Blocking

K = {B(t), ¬H ⊔ ∃P.H, H(t)} t L(t) = {B, H,¬H ⊔ ∃P.H,∃P.H} x P L(x) = {H}

38 / 40

slide-93
SLIDE 93

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Example: Blocking

K = {B(t), ¬H ⊔ ∃P.H, H(t)} t L(t) = {B, H,¬H ⊔ ∃P.H,∃P.H} x P L(x) = {H} ⊆ L(t)

38 / 40

slide-94
SLIDE 94

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Computational Properties

❼ The simple tableau algorithm is expensive in general (worst case):

❼ the worst case complexity is double exponential ❼ testing KB consistency in ALC is EXPTIME-complete ❼ testing concept satisfiability in ALC is PSPACE-complete

❼ Still in practice, (optimized) tableaux algorithms work well

❼ other notions of blocking might be used, e.g. “cross-path blocking”

(blocking node need not be an ancestor)

❼ single exponential time tableaux algorithms are available

❼ For many other description logics, also tableaux algorithms exist

(e.g. SHIQ, SHOIQ, ...) Some algorithms are quite involved!

39 / 40

slide-95
SLIDE 95

Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning

Summary

  • 1. Satisfaction and Entailment

❼ Notions ❼ Decidability

  • 2. Reasoning Problems

❼ Knowledge base consistency ❼ Entailment checking ❼ Concept satisfiability ❼ Classification ❼ Instance retrieval

  • 3. Algorithmic Approaches to DL Reasoning

❼ Types of reasoning procedures ❼ Tableaux

  • 4. Novel reasoning problems

❼ Conjunctive query answering

40 / 40

slide-96
SLIDE 96

References I

Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, and Peter Patel-Schneider, editors. The Description Logic Handbook: Theory, Implementation and Applications. Cambridge University Press, 2007. Pascal Hitzler, Markus Kr¨

  • tzsch, and Sebastian Rudolph.

Foundations of Semantic Web Technologies. Chapman and Hall, 2010. Sebastian Rudolph. Foundations of description logics. In Axel Polleres, Claudia d’Amato, Marcelo Arenas, Siegfried Handschuh, Paula Kroner, Sascha Ossowski, and Peter Patel-Schneider, editors, Reasoning Web. Semantic Technologies for the Web of Data, volume 6848

  • f Lecture Notes in Computer Science, pages 76–136. Springer Berlin /

Heidelberg, 2011.