knowledge representation for the semantic web lecture 5...
Post on 09-Aug-2019
214 Views
Preview:
TRANSCRIPT
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Knowledge Representation for the Semantic WebLecture 5: Description Logics IV
Daria Stepanovaslides based on Reasoning Web 2011 tutorial “Foundations of Description Logics and OWL” by S. Rudolph
Max Planck Institute for InformaticsD5: Databases and Information Systems group
WS 2017/18
1 / 40
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
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Satisfaction and Satisfiability
3 / 40
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 baseK = 〈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 itis 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
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 baseK = 〈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 itis 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
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 baseK = 〈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 itis 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
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: KB Satisfiability
RBox Rowns v caresFor
”If somebody owns something, s/he cares for it.”
TBox THealthy v ¬Dead
”Healthy beings are not dead.”
Cat v Dead tAlive”Every cat is dead or alive.”
HappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy”A happy cat owner owns a cat andall beings he cares for are healthy.”
ABox AHappyCatOwner(schroedinger)”Schrodinger is a happy cat owner.”
Is K = 〈R, T ,A〉 satisfiable?
5 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: KB Satisfiability
RBox Rowns v caresFor
”If somebody owns something, s/he cares for it.”
TBox THealthy v ¬Dead
”Healthy beings are not dead.”
Cat v Dead tAlive”Every cat is dead or alive.”
HappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy”A happy cat owner owns a cat andall beings he cares for are healthy.”
ABox AHappyCatOwner(schroedinger)”Schrodinger is a happy cat owner.”
Is K = 〈R, T ,A〉 satisfiable? Yes!
5 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: KB SatisfiabilityTBox T
Deer v Mammal
”Deers are mammals.”
Mammal u Flies v Bat
”Mammals, who fly are bats.”
Bat v ∀worksFor .{batman}”Bats work only for Batman”
ABox ADeer u ∃hasNose.Red(rudolph)
”Rudolph is a deer with a red nose.”
∀worksFor−.(¬Deer t Flies)(santa)
”Only non-deers or fliers work for Santa.”
worksFor(rudolph, santa)
”Rudolph works for Santa.”
santa 6≈ batman
“Santa is different from Batman.”
Is K satisfiable?6 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: KB SatisfiabilityTBox T
Deer v Mammal
”Deers are mammals.”
Mammal u Flies v Bat
”Mammals, who fly are bats.”
Bat v ∀worksFor .{batman}”Bats work only for Batman”
ABox ADeer u ∃hasNose.Red(rudolph)
”Rudolph is a deer with a red nose.”
∀worksFor−.(¬Deer t Flies)(santa)
”Only non-deers or fliers work for Santa.”
worksFor(rudolph, santa)
”Rudolph works for Santa.”
santa 6≈ batman
“Santa is different from Batman.”
Is K satisfiable? No!6 / 40
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 everymodel 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
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: EntailmentRBox Rowns v caresFor
”If somebody owns something, s/he cares for it.”
TBox THealthy v ¬Dead
”Healthy beings are not dead.”
Cat v Dead tAlive”Every cat is dead or alive.”
HappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy”A happy cat owner owns a cat andall beings he cares for are healthy.”
ABox AHappyCatOwner(schroedinger)”Schrodinger is a happy cat owner.”
� K |= ∃caresFor .(Cat uAlive)(schroedinger)
� K |= ∀owns.¬Cat v ¬HappyCatOwner
� K |= Cat v Healthy
8 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: EntailmentRBox Rowns v caresFor
”If somebody owns something, s/he cares for it.”
TBox THealthy v ¬Dead
”Healthy beings are not dead.”
Cat v Dead tAlive”Every cat is dead or alive.”
HappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy”A happy cat owner owns a cat andall beings he cares for are healthy.”
ABox AHappyCatOwner(schroedinger)”Schrodinger is a happy cat owner.”
� K |= ∃caresFor .(Cat uAlive)(schroedinger)?
� K |= ∀owns.¬Cat v ¬HappyCatOwner
� K |= Cat v Healthy
8 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: EntailmentRBox Rowns v caresFor
”If somebody owns something, s/he cares for it.”
TBox THealthy v ¬Dead
”Healthy beings are not dead.”
Cat v Dead tAlive”Every cat is dead or alive.”
HappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy”A happy cat owner owns a cat andall beings he cares for are healthy.”
ABox AHappyCatOwner(schroedinger)”Schrodinger is a happy cat owner.”
� K |= ∃caresFor .(Cat uAlive)(schroedinger)
� K |= ∀owns.¬Cat v ¬HappyCatOwner?
� K |= Cat v Healthy
8 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: EntailmentRBox Rowns v caresFor
”If somebody owns something, s/he cares for it.”
TBox THealthy v ¬Dead
”Healthy beings are not dead.”
Cat v Dead tAlive”Every cat is dead or alive.”
HappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy”A happy cat owner owns a cat andall beings he cares for are healthy.”
ABox AHappyCatOwner(schroedinger)”Schrodinger is a happy cat owner.”
� K |= ∃caresFor .(Cat uAlive)(schroedinger)
� K |= ∀owns.¬Cat v ¬HappyCatOwner
� K |= Cat v Healthy?
8 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: EntailmentRBox Rowns v caresFor
”If somebody owns something, s/he cares for it.”
TBox THealthy v ¬Dead
”Healthy beings are not dead.”
Cat v Dead tAlive”Every cat is dead or alive.”
HappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy”A happy cat owner owns a cat andall beings he cares for are healthy.”
ABox AHappyCatOwner(schroedinger)”Schrodinger is a happy cat owner.”
� K |= ∃caresFor .(Cat uAlive)(schroedinger)
� K |= ∀owns.¬Cat v ¬HappyCatOwner
� K 6|= Cat v Healthy
8 / 40
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 inputKB is satisfiable
� Just ask KB |= > v ⊥: if the answer is “yes”, then KB isunsatisfiable, otherwise it is satisfiable.
9 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Standard Reasoning Problems
10 / 40
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 axiome.g., K |= CatOwner(Schroedinger)
� Concept Satisfiability: verify whether a given concept is(un)satisfiable, e.g., K |= Dead uAlive v ⊥
� Coherence: verify whether none of the concepts in the KB isunsatisfiable
� Classification: compute the subsumption hierarchy of all atomicconcepts, e.g. K |= Healthy v ¬Dead , etc.
� Instance Retrieval: retrieve all the individuals known to beinstances of a certain concept, e.g., find all a, s.t. ∃caresFor(a)
11 / 40
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 v B iff K ∪ (A u ¬B)(a) is unsatisfiable;
5. K |= B(b) iff K ∪ ¬B(b) is unsatisfiable.
12 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Entailment Checking
� used in the KB modeling process to check, whether the specifiedknowledge 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
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Entailment Checking, cont’dAxiom sets Aα such that K |= α exactly if K ∪Aα is unsatisfiable:
α Aαr1 ◦ . . . ◦ rn v r {¬r(c0, cn), r1(c0, c1), . . . , rn(cn−1, cn)}Dis(r, r′) {r(c1, c2), r′(c1, c2)}C v D {(C u ¬D)(c)} or {> v ∃u(C u ¬D)}C(a) {¬C(a)}¬C(a) {C(a)}r(a, b) {¬r(a, b)}¬r(a, b) {r(a, b)}a ≈ b {a 6≈ b}a 6≈ 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 islogical equivalent instead of just emulating.
1Fresh individuals are those not appearing in the given KB K.14 / 40
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 knowledgebase K, if there exists a model I of K such that CI 6= ∅.
� Unsatisfiable atomic concepts normally indicate KB modeling errors.
� Concept satisfiability can be reduced to KB consistency (Th. 1) andnon-entailment resp.:
� C is satisfiable wrt. K ⇐⇒ K ∪ {C(a)} is consistent, where a is afresh individual name
� C is satisfiable wrt. K ⇐⇒ K 6|= C v ⊥
15 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Concept Satisfiability, cont’d
Entailment of general concept inclusions C v D and equivalences C ≡ Dcan be reduced to both concept (un)satisfiability and KB(un)satisfiability.
�
C v D ⇐⇒ C u ¬D is unsatisfiable
⇐⇒ KB {C(a), ¬D(a)} is unsatisfiable
�
C ≡ D ⇐⇒ (C u ¬D) t (D u ¬C) is unsatisfiable
⇐⇒ both C u ¬D and D u ¬C are unsatisfiable
⇐⇒ both KBs {C(a), ¬D(a)} and{D(a), ¬C(a)} are unsatisfiable
16 / 40
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 conceptnames A,B , whether K |= A v B holds.
� This is useful at KB design time for checking the inferred concepthierarchy. Also, computing this hierarchy once and storing it canspeed up further queries.
� Classification can be reduced to checking entailment of GCIs.
� While this requires quadratically many checks, one can often domuch better in practice by applying optimizations and exploitingthat subsumption is a preorder.
17 / 40
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 tobe in a certain concept (role).
� retrieve(C,K) = {a ∈ NI | aI ∈ CI for every model I of K }
� retrieve(r,K) = {(a, b) ∈ NI2 | (aI , bI) ∈ rI for every model I of K }
� It can be reduced to checking entailment of as many individualassertions 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 canbe done in a much more efficient way (e.g. by a transformation intoa database query, in SQL or Datalog).
18 / 40
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 informationmore expressive: union of CQAs (akin to SQL), rules
� Inconsistency Handling
repair inconsistent KB or avoid that K |= α for every α (‘knowledgeexplosion’) if K is inconsistent by introducing, e.g., new semantics
� Entailment Explanation
identify axioms in the knowledge base that support a conclusionK |= α, typically a smallest K′ ⊆ K such that K′ |= α(’axiom pinpointing’)
19 / 40
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 informationmore expressive: union of CQAs (akin to SQL), rules
� Inconsistency Handling
repair inconsistent KB or avoid that K |= α for every α (‘knowledgeexplosion’) if K is inconsistent by introducing, e.g., new semantics
� Entailment Explanation
identify axioms in the knowledge base that support a conclusionK |= α, typically a smallest K′ ⊆ K such that K′ |= α(’axiom pinpointing’)
19 / 40
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 informationmore expressive: union of CQAs (akin to SQL), rules
� Inconsistency Handling
repair inconsistent KB or avoid that K |= α for every α (‘knowledgeexplosion’) if K is inconsistent by introducing, e.g., new semantics
� Entailment Explanation
identify axioms in the knowledge base that support a conclusionK |= α, typically a smallest K′ ⊆ K such that K′ |= α(’axiom pinpointing’)
19 / 40
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 informationmore expressive: union of CQAs (akin to SQL), rules
� Inconsistency Handling
repair inconsistent KB or avoid that K |= α for every α (‘knowledgeexplosion’) if K is inconsistent by introducing, e.g., new semantics
� Entailment Explanation
identify axioms in the knowledge base that support a conclusionK |= α, typically a smallest K′ ⊆ K such that K′ |= α(’axiom pinpointing’)
19 / 40
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
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
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Algorithmic Approaches to DL Reasoning
22 / 40
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 infernew 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 particularcompleteness and termination of algorithms).
23 / 40
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 infernew 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 particularcompleteness and termination of algorithms).
23 / 40
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 rulesto construct (a representation of) a model.
� Tableau-based techniques have been used in FOL and modal logicsfor 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 implementtableau techniques or variations of them,e.g.: RACER, FaCT++, Pellet, Hermit, etc.
24 / 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 orrole 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 hasbeen 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 fullmodel is constructed but a finite representation of it (cf. “blocking”).
25 / 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 orrole 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 hasbeen 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 fullmodel is constructed but a finite representation of it (cf. “blocking”).
25 / 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 orrole 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 hasbeen 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 fullmodel is constructed but a finite representation of it (cf. “blocking”).
25 / 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 orrole 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 hasbeen 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 fullmodel is constructed but a finite representation of it (cf. “blocking”).
25 / 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 orrole 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 hasbeen 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 fullmodel is constructed but a finite representation of it (cf. “blocking”).
25 / 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 orrole 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 hasbeen 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 fullmodel is constructed but a finite representation of it (cf. “blocking”).
25 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Overview Example: Happy Cat Owner
RBox Rowns v caresFor
”If somebody owns something, s/he cares for it.”
TBox THealthy v ¬Dead
”Healthy beings are not dead.”
Cat v Dead tAlive”Every cat is dead or alive.”
HappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy”A happy cat owner owns a cat andall beings he cares for are healthy.”
ABox AHappyCatOwner(schroedinger)”Schrodinger is a happy cat owner.”
Is K satisfiable?
26 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Overview Example: Happy Cat OwnerRBox Rowns v caresFor
TBox THealthy v ¬Dead
Cat v Dead tAliveHappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy
ABox AHappyCatOwner(s)
Is K satisfiable?
s
c
L(s) = {HappyCatOwner}
L(c) = {Cat}
owns caresFor
27 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Overview Example: Happy Cat OwnerRBox Rowns v caresFor
TBox THealthy v ¬Dead
Cat v Dead tAliveHappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy
ABox AHappyCatOwner(s)
Is K satisfiable?
s
c
L(s) = {HappyCatOwner}
L(c) = {Cat}
owns caresFor
27 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Overview Example: Happy Cat OwnerRBox Rowns v caresFor
TBox THealthy v ¬Dead
Cat v Dead tAliveHappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy
ABox AHappyCatOwner(s)
Is K satisfiable?
s
c
L(s) = {HappyCatOwner}
L(c) = {Cat}
owns
caresFor
27 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Overview Example: Happy Cat OwnerRBox Rowns v caresFor
TBox THealthy v ¬Dead
Cat v Dead tAliveHappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy
ABox AHappyCatOwner(s)
Is K satisfiable?
s
c
L(s) = {HappyCatOwner}
L(c) = {Cat}
owns caresFor
27 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Overview Example: Happy Cat OwnerRBox Rowns v caresFor
TBox THealthy v ¬Dead
Cat v Dead tAliveHappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy
ABox AHappyCatOwner(s)
Is K satisfiable?
s
c
L(s) = {HappyCatOwner}
L(c) = {Cat , Healthy}
owns caresFor
27 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Overview Example: Happy Cat OwnerRBox Rowns v caresFor
TBox THealthy v ¬Dead
Cat v Dead tAliveHappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy
ABox AHappyCatOwner(s)
Is K satisfiable?
s
c
L(s) = {HappyCatOwner}
L(c) = {Cat , Healthy,¬Dead}
owns caresFor
27 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Overview Example: Happy Cat OwnerRBox Rowns v caresFor
TBox THealthy v ¬Dead
Cat v Dead tAliveHappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy
ABox AHappyCatOwner(s)
Is K satisfiable?
s
c
L(s) = {HappyCatOwner}
L(c) = {Cat , Healthy,¬Dead,Alive}
owns caresFor
27 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Overview Example: Happy Cat OwnerRBox Rowns v caresFor
TBox THealthy v ¬Dead
Cat v Dead tAliveHappyCatOwner v ∃owns.Cat u ∀caresFor .Healthy
ABox AHappyCatOwner(s)
Is K satisfiable? Yes!
s
c
L(s) = {HappyCatOwner}
L(c) = {Cat , Healthy,¬Dead,Alive}
owns caresFor
27 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Naive Tableau Algorithm for ALCGiven 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
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 uD Human uMale 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 restriction29 / 40
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 inC 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 v D and D v C;� replace every C v D by ¬C tD;� 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 uD) nnf(C) u nnf(D)nnf(C tD) nnf(C) t nnf(D)
nnf(¬(C tD)) nnf(¬C u ¬D)nnf(¬(C uD)) nnf(¬C t ¬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
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 inC 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 v D and D v C;� replace every C v D by ¬C tD;
� 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 uD) nnf(C) u nnf(D)nnf(C tD) nnf(C) t nnf(D)
nnf(¬(C tD)) nnf(¬C u ¬D)nnf(¬(C uD)) nnf(¬C t ¬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
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 inC 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 v D and D v C;� replace every C v D by ¬C tD;� 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 uD) nnf(C) u nnf(D)nnf(C tD) nnf(C) t nnf(D)
nnf(¬(C tD)) nnf(¬C u ¬D)nnf(¬(C uD)) nnf(¬C t ¬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
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 inC 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 v D and D v C;� replace every C v D by ¬C tD;� 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 uD) nnf(C) u nnf(D)nnf(C tD) nnf(C) t nnf(D)
nnf(¬(C tD)) nnf(¬C u ¬D)nnf(¬(C uD)) nnf(¬C t ¬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
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Negation Normal Form
Negation Normal Form
FilmActor v (∃actedIn uArtist) t ¬(¬∃actedIn t ∃playsIn.Theater)
1. ¬FilmActor t (∃actedIn uArtist) t ¬(¬∃actedIn t ∃playsIn.Theater)
2. ¬FilmActor t (∃actedIn uArtist) t (∃actedIn u ¬∃playsIn.Theater)
3. ¬FilmActor t (∃actedIn uArtist) t (∃actedIn u ∀playsIn.¬Theater)
31 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Negation Normal Form
Negation Normal Form
FilmActor v (∃actedIn uArtist) t ¬(¬∃actedIn t ∃playsIn.Theater)
1. ¬FilmActor t (∃actedIn uArtist) t ¬(¬∃actedIn t ∃playsIn.Theater)
2. ¬FilmActor t (∃actedIn uArtist) t (∃actedIn u ¬∃playsIn.Theater)
3. ¬FilmActor t (∃actedIn uArtist) t (∃actedIn u ∀playsIn.¬Theater)
31 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Negation Normal Form
Negation Normal Form
FilmActor v (∃actedIn uArtist) t ¬(¬∃actedIn t ∃playsIn.Theater)
1. ¬FilmActor t (∃actedIn uArtist) t ¬(¬∃actedIn t ∃playsIn.Theater)
2. ¬FilmActor t (∃actedIn uArtist) t (∃actedIn u ¬∃playsIn.Theater)
3. ¬FilmActor t (∃actedIn uArtist) t (∃actedIn u ∀playsIn.¬Theater)
31 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Negation Normal Form
Negation Normal Form
FilmActor v (∃actedIn uArtist) t ¬(¬∃actedIn t ∃playsIn.Theater)
1. ¬FilmActor t (∃actedIn uArtist) t ¬(¬∃actedIn t ∃playsIn.Theater)
2. ¬FilmActor t (∃actedIn uArtist) t (∃actedIn u ¬∃playsIn.Theater)
3. ¬FilmActor t (∃actedIn uArtist) t (∃actedIn u ∀playsIn.¬Theater)
31 / 40
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 isdefined as follows:
1. For each individual a occurring in K, create a node labeled a and setL(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
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 tB)(c),¬A t (∀s.B)}
b
a
c
L(b) = ∅
L(a) = {A, ∃r.B}
L(c) = {A tB}
r
s
s
33 / 40
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 tB)(c),¬A t (∀s.B)}
b
a
c
L(b) = ∅
L(a) = {A,
∃r.B}
L(c) = {A tB}
r
s
s
33 / 40
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 tB)(c),¬A t (∀s.B)}
b
a
c
L(b) = ∅
L(a) = {A, ∃r.B}
L(c) = {A tB}
r
s
s
33 / 40
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 tB)(c),¬A t (∀s.B)}
b
a
c
L(b) = ∅
L(a) = {A, ∃r.B}
L(c) = {A tB}
r
s
s
33 / 40
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 tB)(c),¬A t (∀s.B)}
b
a
c
L(b) = ∅
L(a) = {A, ∃r.B}
L(c) = {A tB}
r
s
s
33 / 40
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 tB)(c),¬A t (∀s.B)}
b
a
c
L(b) = ∅
L(a) = {A, ∃r.B}
L(c) = {A tB}
r
s
s
33 / 40
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 tB)(c),¬A t (∀s.B)}
b
a
c
L(b) = ∅
L(a) = {A, ∃r.B}
L(c) = {A tB}
r
s
s
33 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Expansion Rules for the Naive Tableau
� u-rule: If C uD ∈ L(x) and {C,D} 6⊆ L(x), then setL(x)← {C,D}.
� t-rule: If C tD ∈ L(x) and {C,D} ∩ L(x) = ∅, then setL(x)← C or L(x)← D.
� ∃-rule: If ∃r.C ∈ L(x) and there is no y with r ∈ L(x, y) andC ∈ 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) andC 6∈ L(y), then set L(y)← C.
� TBox-rule: If C is a (rewritten and normalized) TBox statement andC 6∈ L(x), then set L(x)← C.
34 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Expansion Rules for the Naive Tableau
� u-rule: If C uD ∈ L(x) and {C,D} 6⊆ L(x), then setL(x)← {C,D}.
� t-rule: If C tD ∈ L(x) and {C,D} ∩ L(x) = ∅, then setL(x)← C or L(x)← D.
� ∃-rule: If ∃r.C ∈ L(x) and there is no y with r ∈ L(x, y) andC ∈ 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) andC 6∈ L(y), then set L(y)← C.
� TBox-rule: If C is a (rewritten and normalized) TBox statement andC 6∈ L(x), then set L(x)← C.
34 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Expansion Rules for the Naive Tableau
� u-rule: If C uD ∈ L(x) and {C,D} 6⊆ L(x), then setL(x)← {C,D}.
� t-rule: If C tD ∈ L(x) and {C,D} ∩ L(x) = ∅, then setL(x)← C or L(x)← D.
� ∃-rule: If ∃r.C ∈ L(x) and there is no y with r ∈ L(x, y) andC ∈ 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) andC 6∈ L(y), then set L(y)← C.
� TBox-rule: If C is a (rewritten and normalized) TBox statement andC 6∈ L(x), then set L(x)← C.
34 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Expansion Rules for the Naive Tableau
� u-rule: If C uD ∈ L(x) and {C,D} 6⊆ L(x), then setL(x)← {C,D}.
� t-rule: If C tD ∈ L(x) and {C,D} ∩ L(x) = ∅, then setL(x)← C or L(x)← D.
� ∃-rule: If ∃r.C ∈ L(x) and there is no y with r ∈ L(x, y) andC ∈ 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) andC 6∈ L(y), then set L(y)← C.
� TBox-rule: If C is a (rewritten and normalized) TBox statement andC 6∈ L(x), then set L(x)← C.
34 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Expansion Rules for the Naive Tableau
� u-rule: If C uD ∈ L(x) and {C,D} 6⊆ L(x), then setL(x)← {C,D}.
� t-rule: If C tD ∈ L(x) and {C,D} ∩ L(x) = ∅, then setL(x)← C or L(x)← D.
� ∃-rule: If ∃r.C ∈ L(x) and there is no y with r ∈ L(x, y) andC ∈ 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) andC 6∈ L(y), then set L(y)← C.
� TBox-rule: If C is a (rewritten and normalized) TBox statement andC 6∈ L(x), then set L(x)← C.
34 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Naive Tableau AlgorithmInput: 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),
output “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 modelfor K was unsuccessful), or
� no expansion rule is applicable (“yes”; attempt was successful)
� K is satisfiable if some run outputs “yes”, andunsatisfiable if every run outputs “no’
� only the t-rule creates true branching regarding yes/no output
35 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a
L(a) = {C, ∀r.¬E,¬C t ∃r.D, ∃r.D}
x
r
L(x) = {D,¬D t E, E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C,
∀r.¬E,¬C t ∃r.D, ∃r.D}
x
r
L(x) = {D,¬D t E, E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C, ∀r.¬E,
¬C t ∃r.D, ∃r.D}
x
r
L(x) = {D,¬D t E, E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C, ∀r.¬E,¬C t ∃r.D,
∃r.D}
x
r
L(x) = {D,¬D t E, E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C, ∀r.¬E,¬C t ∃r.D,
∃r.D}
x
r
L(x) = {D,¬D t E, E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C, ∀r.¬E,¬C t ∃r.D, ∃r.D}
x
r
L(x) = {D,
¬D t E, E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C, ∀r.¬E,¬C t ∃r.D, ∃r.D}
x
r
L(x) = {D,¬D t E,
E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C, ∀r.¬E,¬C t ∃r.D, ∃r.D}
x
r
L(x) = {D,¬D t E,
E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C, ∀r.¬E,¬C t ∃r.D, ∃r.D}
x
r
L(x) = {D,¬D t E, E,
¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C, ∀r.¬E,¬C t ∃r.D, ∃r.D}
x
r
L(x) = {D,¬D t E, E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Expansion Rules
K = {C(a), ¬C t ∃r.D, ¬D t E, ∀r.¬E(a)}
a L(a) = {C, ∀r.¬E,¬C t ∃r.D, ∃r.D}
x
r
L(x) = {D,¬D t E, E, ¬E}
Clash is obtained, KB is unsatisfiable!
36 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Tableau Algorithm with Blocking for ALC
� Naive tableau algorithm does not always terminateExample: K = {¬Person t ∃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 itsancestors is blocked
� Expansion rules may only be applied if x is not blocked
37 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Blocking
K = {B(t), ¬H t ∃P.H, H(t)}
t
L(t) = {B,H,¬H t ∃P.H,∃P.H}
x
P
L(x) = {H} ⊆ L(t)
38 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Blocking
K = {B(t), ¬H t ∃P.H, H(t)}
t L(t) = {B,H,
¬H t ∃P.H,∃P.H}
x
P
L(x) = {H} ⊆ L(t)
38 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Blocking
K = {B(t), ¬H t ∃P.H, H(t)}
t L(t) = {B,H,¬H t ∃P.H,
∃P.H}
x
P
L(x) = {H} ⊆ L(t)
38 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Blocking
K = {B(t), ¬H t ∃P.H, H(t)}
t L(t) = {B,H,¬H t ∃P.H,
∃P.H}
x
P
L(x) = {H} ⊆ L(t)
38 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Blocking
K = {B(t), ¬H t ∃P.H, H(t)}
t L(t) = {B,H,¬H t ∃P.H,∃P.H}
x
P
L(x) = {H}
⊆ L(t)
38 / 40
Satisfaction and Entailment Other Reasoning Problems Algorithmic Approaches to DL Reasoning
Example: Blocking
K = {B(t), ¬H t ∃P.H, H(t)}
t L(t) = {B,H,¬H t ∃P.H,∃P.H}
x
P
L(x) = {H} ⊆ L(t)
38 / 40
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
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
References I
Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, andPeter Patel-Schneider, editors.
The Description Logic Handbook: Theory, Implementation andApplications.
Cambridge University Press, 2007.
Pascal Hitzler, Markus Krotzsch, 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 6848of Lecture Notes in Computer Science, pages 76–136. Springer Berlin /Heidelberg, 2011.
top related