Post on 14-Jan-2016
Outline Overview
Syntax
Semantics
Terminology
Reasoning with Terminologies
World Description
Reasoning with World Descriptions
Tableau Algorithm
2
Overview Description Logics (DLs) is a family of KR
formalisms that represent the knowledge of an application domain (“the world”) by
defining the relevant concepts of the domain (i.e., its terminology), and then
using these concepts to specify the properties of objects in the domain (i.e., the world’s description).
3
Some History on DLs Descended from the “structured inheritance networks”
(Brachman, 1977). Introduced to overcome the ambiguities of early
semantic networks and frames. First realized in the system Kl-One by Brachman and
Schmolze (1985).First DL presented in the B & S’s paper.
Some ‘nicknames’ for DLs: Terminological knowledge representation languages, Concept languages, Term subsumption languages, Kl-One-based knowledge representation languages.
4
Three Basic Features
1.The basic syntactic building blocks are atomic concepts, atomic roles, individuals.
2.The expressive power of DLs is restricted to a rather small set of constructors for building complex concepts and relations.
3.Implicit knowledge about concepts and individuals can be inferred automatically with the help of specific reasoning services.
5
Syntax
Logical
Extended from ClassL
Extended from ClassL to Complest Role
Architecture of a KR system on DL
6
TBox
ABox
Description Language
Reasoning
Application
Programs
Rules
Language (Syntax) The first step in setting up a formal language (viz. a
descriptive language) is to list the symbols, that is, the alphabet of symbols.
We denote a generic alphabet of a descriptive (or ‘description’) language: dΣ.
Similarly to any logical language we can divide symbols in dΣ in ‘descriptive’ (nonlogical) and ‘non-descriptive’ (logical).
7
Outline Overview
Syntax
Semantics
Terminology
Reasoning with Terminologies
World Description
Reasoning with World Descriptions
Tableau Algorithm
8
Syntax of DL Descriptive dΣ consists of concept names (set C),
which denote sets of individuals, role names (set R), which denote binary relations between individuals, and individual names, (set I), which denote individuals.
e.g.:concept names: Room, Person, Fruitrole names: likeSkiing, hasChild, partOf, isA,..individual names: I, you, apple, Fido, ...
9
DL Language and Previous Languages concept names are propositional variables
(PL/ClassL)
role names are binary predicate symbols (FOL)
individual names are constants (FOL)
10
Language (Syntax) Non-descriptive dΣ provides concept constructors to
build complex formulas, called concept descriptions and role descriptions, from atomic formulas.
e.g.:
(negation),
⊓(conjunction),∀(for all),
∃(there exists)
11
AL-family Languages We shall now discuss various descriptive languages
from the family of AL-languages. An AL-language (= Attributive Languages) is a
minimal DL language of practical interest. More expressive descriptive languages are usually
extensions of some AL-language. AL-languages do not deal with individuals.
12
AL Logical Symbols
1. Universal concept symbol: ⊤.
2. Bottom concept symbol: ⊥.
3. Parentheses (auxiliary symbols): (, )
4. Logical constants (concept constructors): (atomic negation), ⊓ (conjunction)
∀R (for all atomic roles)R (there exists an ∃ atomic role)
13
The SAME as in
ClassL
New!
AL Non-logical Symbols
5. Atomic concept names: A, B, ...
6. Concept names: C, D, ...
7. Atomic role names: R (generic)
NOTE: There is no logical symbol in AL for logical implication (as ‘→’ in PL and in FOL). For this, we will use the subsumption symbol ‘ ’ ⊑ instead (as in classL).
14
The SAME as in
ClassLNew!
Defined Symbols
Similarly to ClassL, ⊤ and ⊥ can be defined: For all concept names C,
⊥ =df C ⊓ C ⊤ =df or also ⊥ ⊤ =df U
for U be a special coincept name denoting the Universal Concept.
We prefer to consider ⊤ and ⊥ AL’ symbols.
15
Formation Rules for AL Atomic Concepts:
1. A, B,..., ⊥, ⊤. Concepts (concept descriptions):
2. All the atomic concepts3. A for A (atomic concept negation)4. C⊓D (intersection) 5. R.C (∀ value restriction)6. ∃R.⊤(limited existential quantification)
Resulting language: attributive language (AL).
16
Examples Atomic concepts: Person, Female, Room, ...
Atomic roles: hasChild, partOf, isIn, isA,...
Concepts: Person Female,⊓Person hasChild.⊓ ∃ ⊤ ( hasChild∃ )Person hasChild.⊓ ∀ ⊥ (Not:¬ hasChild.∃ ⊤) Person hasChild.¬Female ⊓ ∀
Question: What is the intended meaning?
17
Solution Person Female ⊓
“persons that are female”
Person hasChild.⊓ ∃ ⊤ “(all those) persons that have a child”
Person hasChild.⊓ ∀ ⊥ “(all those) persons without a child”
Person hasChild.Female ⊓ ∀“persons all of whose children are female”
18
AL’s Extensions - ALU Extended Alphabet:
Logical constants (concept constructors): ⊔ (disjunction).
Extended concepts (descriptions): C ⊔ D (union)
The resulting new language (i.e. AL plus the new set of concepts) usually denoted ALU.
E.g.: Mother⊔Father describes the extension of ‘parent’.
19
AL’s Extensions - ALE Extended Alphabet:
Logical constants (concept constructors):R (there exists an ∃ arbitrary role)
Extended concepts (descriptions): R.C ∃ (full existential quantification)
The resulting new language (i.e. AL plus the new set of concepts) usually denoted ALE.
E.g.: hasChild.Female describes the extension of ∃‘those parents who has at least a daughter’.
20
AL’s Extensions - ALN Extended Alphabet:
Logical constants (concept constructors):≥n, ≤n for all n N (at-least/at∈ -most n)
Extended concepts (descriptions): ≥nR (at-least number restriction)≤nR (at-most number restriction)
The resulting new language (i.e. AL plus the new set of concepts) usually denoted ALN.
E.g.: ≥2 hasChild describes the extension ‘those parents who has at least 2 children’.
21
AL’s Extensions - ALC Extended Alphabet:
Logical constants (concept constructors): (general negation)
Extended concepts (descriptions): C (full concept negation)
The resulting new language (i.e. AL plus the new set of concepts) usually denoted ALC. (C stands for “Complement”).
E.g.: (≥2 hasChild ) describes the extension ‘those parents who has at most 1 children’.
22
AL’s Extensions (Summary) Extending AL by any subsets of the above
constructors yields a particular DL language.
Each language is denoted by a string of the form AL[U][E][N][C], where a letter in the name stands for the presence of the corresponding constructor. Notation: AL*.
ALC as the most important in many aspects.(We’ll see that ALU ⊆ ALC and ALE ⊆ ALC.)
23
AL’s Sub-languages By eliminating some of the syntactical symbols, we
get some sub-languages of AL.
The most important sub-language obtained by elimination in the AL family is ClassL.
Historically, another important sub-language is named as the Frame Language FL0.
24
From AL to ClassL Elimination (w.r.t. ALUEC!):
1. Name Symbols: atomic role names R
2. Concept constructors: ∀R, R∃3. Descriptions: R.C∀ , R.∃ C
The new language is a description language without roles which is ClassL.
NOTE: So far, we are considering DL without individuals and ABox.
25
AL’s Contractions: FL- Elimination (w.r.t AL’s alphabet):
1. Symbols: Universal and bottom symbols ,⊤ ⊥2. Concept constructors: ¬ (atomic negation)
3. Descriptions: , ⊤ ⊥ , A (atomic negation)
The resulting new language (i.e. AL without negation) is denoted: FL-.
26
AL’s Contractions: FL0 Elimination(w.r.t FL-’s alphabet):
1. Concept constructors:R (there exists an ∃ atomic role)
2. Descriptions: R.∃ ⊤(limited existential quantification)
The resulting new language (i.e. FL- without the limited existential quantification) is denoted: FL0.
FL = Frame Language (for historical reasons)
27
Summary DLs are a family of logic-based KR formalisms to
describe a domain in terms of - concepts - roles - individuals (“grounding”).
Strictly speaking we do not need DLs to represent concepts and roles, but the variable-free syntax of DLs is much more concise! (That’s good for automation!)
ClassL is ALC without Role.
28
This will be discussed later.
Outline Overview
Syntax
Semantics
Terminology
Reasoning with Terminologies
World Description
Reasoning with World Descriptions
Tableau Algorithm
29
Semantics The elements of the description languages in AL-
family (AL*) are plain strings of symbols
The meaning which is intended to be attached to concept, role, and individual names form an informal interpretation of the given AL* language’s expressions.
30
No (formal) meaning.
Recall: Interpretation (∆, I)
Def. An interpretation of a language L is a pair I = (∆,I), where:- ∆ (domain) is a non-empty set of objects - I(interpretation function) is a mapping from L to ∆.
NOTE: sometimes, the mapping ‘I’ is written as ‘⋅I’ but of the same function.
E.g.: I(Person) ={p|p is a person} is written as
PersonI ={p|p is a person}.
31
AL* Interpretation (∆,I) I( ) =⊥ ∅ and I(⊤) = ∆ (full domain, “Universe”) For every concept name A of L, I(A) ∆.⊆ I(¬C) = ∆ \ I(C). I(C D) = I(C) ∩ I(D); I(C ⊓ ⊔ D) = I(C) ∪ I(D). For every role name R of L, I(R) ∆ × ∆.⊆ I( R.C) = {a ∆ | for all b, if (a,b) I(R) then b I(C)}. ∀ ∈ ∈ ∈ I( R.∃ ⊤) = {a ∆ | exists b s.t. (a,b) I(R)}.∈ ∈ I( R.∃ C) = {a ∆ | exists b s.t. (a,b) I(R), b I(C)}. ∈ ∈ ∈ I(≥nR) = {a ∆ | |{b | (a, b) I(R)}| ≥ n}. ∈ ∈ I(≤nR) = {a ∆ | |{b | (a, b) I(R)}| ≤ n}.∈ ∈
32
The SAME as in
ClassL
Interpretation of Existential Quantifier I( R.C)∃ = {a ∆ | exists b s.t. (a,b) I(R), b I(C)} ∈ ∈ ∈
Those that have some value in C with role R. Remark: a ∆∈
33
b I(C)
a (a,b)∈I(R)
Example “Those who have a daughter.” I( R.C)∃ = I( hasChild.Female) ∃ = {a ∆ | exists b s.t. ∈
(a,b) I(hasChild), b I(Female)} ∈ ∈
34
betty
I(Female)
anna
Anna has a child betty and betty is a female, then Anna is an individual of the concept ∃hasChild.Female.
hasChild
I( R.C) = {a ∆ | for all b, if (a,b) I(R) then b I(C)}∀ ∈ ∈ ∈
Those that have only value in C with role R. Remark: a ∆∈
Interpretation of Value Restriction
35
b I(C)
aif (a,b) ∈I(R)
b' b''
if (a,b') ∈I(R) if (a,b'') ∈I(R)
Example “Those who have only daughter(s)” I( R.C)∀ = I( hasChild.Female)∀ = {a ∆ | for all b, if ∈
(a,b) I(R) then b I(C)}∈ ∈
36
bettyI(Female)
anna
bianca babara
if anna has a child betty, then betty is a female. if anna has a child bianca, then bianca is a female.
if anna has a child babara, then babara is a female. if ...
hasChild
Interpretation of Number Restriction I(≥nR) = {a ∆ | ∈ |{b | (a, b) I(R)}|≥ n} ∈
Those that have relation R to at least n individuals.37
∆
a
b b' …
|{b | (a, b) ∈ I(R)}| ≥ n
Example “Those who has at least 2 children” I(≥nR) = I(≥2hasChild)={a ∆ |∈ |{ b | (a, b) I(R)}|∈
≥n }
38
∆
Anna’s children {betty, bianca, babara,...} are ≥ 2. Anna is one individual of those who has at least 2
children.
betty
anna
bianca babara
hasChild
Interpretation of Number Restriction Cont. I(≤nR) = {a ∆ | ∈ |{b | (a, b) I(R)}| ≤n } ∈
Those that have relation R to at most n individuals.39
∆
a
|{b | (a,b) ∈ I(R)}| ≤n
b b' …
Example “Those who as at most 2 children” I(≤nR) = I(≤2hasChild)={a ∆ | ∈ |{b | (a, b) I(R)}|∈
≤n }
40
∆
Anna has only one child Betty, so Anna belongs to the concept of those who has at most 2 children.
betty
annahasChild
Simple Exercises Verify the following equivalences hold
for all interpretations (∆,I): I(¬(C ⊓ D)) = I(¬C ⊔ ¬D) I(¬(C ⊔ D)) = I(¬C ⊓ ¬D) I(¬ R.C∀ ) = I( R.¬C∃ ) I(¬ R.C∃ ) = I( R.¬C∀ )
E.g.:
I(¬ R.C∃ )= {a ∆ | not exists b s.t. (a,b) I(R), b ∈ ∈ ∈I(C)} = {a ∆ | ¬ b. R(a,b)∈ ∃ ∧C(b)}
= {a ∆ | ∈ ∀b. ¬ (R(a,b)∧C(b))}
= {a ∆ | ∈ ∀b. R(a,b)→¬C(b)}
= I( R.¬C∀ ) 41
Outline Overview
Syntax
Semantics
Terminology
Reasoning with Terminologies
World Description
Reasoning with World Descriptions
Tableau Algorithm
42
Terminological AxiomsInclusion Axiom
C⊑D
e.g.:Master ⊑ ≥18Pass.Exam⊓≥1Finish.Project,
Professor⊑∃Give.Lecture⊓∃Organize.(Exam⊔Experiment)
Equivalence (Equality) Axiom
C≡D
e.g.:PhD ≡ Postgraduate⊓≥3Publish.Paper,
Parent ≡ Man⊓∃hasChild.⊤
Is the TBox definition the SAME here as in ClassL?43
R⊑S
R≡S
Terminology (TBox)
A terminology (or TBox) is a set of a (terminological) axioms.
e.g.: T is
{
PhD≡ Postgraduate ≥3Publish.Paper,⊓Parent ≡ Person hasChild.Person,⊓∃
hasGrandChild hasChild⊑}
NOTE: the punctuations mean logical conjunctions..
44
Outline Overview
Syntax
Semantics
Terminology
Reasoning with Terminologies
World Description
Reasoning with World Descriptions
Tableau Algorithm
45
TBox ReasoningLet T be a TBox
Satisfiability:(with respect to T):
T satisfies P?
Subsumption (with respect to T):
T |= P Q?⊑Equivalence (with respect to T): :
(T|= P ≡ Q) T|= P Q and ⊑ T |= P Q⊑ ?
Disjointness: (with respect to T):
T|= P Q ⊓ ⊑ ⊥?
NOTE: they are the SAME as in ClassL with more concepts built by the role constructors.
46
Outline Overview
Syntax
Semantics
Terminology
Reasoning with Terminologies
World Description
Reasoning with World Descriptions
Tableau Algorithm
47
ABox In a ABox, one introduces individuals, by giving
them names, and one asserts properties about
these individuals. We denote individual names as a, b, c,… An assertion with Role R is called Role assertion (in
contrast to Concept assertion C(a) in ClassL) as:
R(a, b), R(b, c), …
e.g.
Study(Tin, ldkr)
NOTE: the other part of the ABox is the Concept assertions the SAME as in Ground ClassL.
48
The SAME as in Class
L
Semantics of the ABox We give a semantics to ABox by extending
interpretations to individual names. An interpretation I =(∆, ⋅I) not only maps atomic
concepts to sets, but in addition maps each individual name a to an element aI ∈∆., namely
I (C(a)) = aI ∈CI,
I(R(a, b))=(aI, bI)∈RI
We still assume unique name assumption as in ClassL.
‘set’ constructor is the SAME as in ClassL, which allows individual description in TBox.
49
The SAME as in
ClassL
Outline Overview
Syntax
Semantics
Terminology
Reasoning with Terminologies
World Description
Reasoning with World Descriptions
Tableau Algorithm
50
Consistency
Consistency: An ABox A is consistent with respect to a TBox T if there is an interpretation I which is a model of both A and T.
e.g. : T={Parent⊑≤1hasChild.Person}
A={hasChild(mary, bob), hasChild(mary, cate)}
is consistent but Not consistent with respect the above TBox.
NOTE: it is the SAME as in ClassL, with respect to more complex TBox (Role axioms).
51
Other ABox ReasoningInstance Checking: Checking whether an assertion C(a) or
R(a, b) is entailed by an ABox A (and TBox via expansion)
A ⊨ C(a) or A ⊨ R(a, b)Instance retrieval: Given an ABox A and a concept C
retrieve all instance ai which satisfies C.
A ⊨ C(ai)
Concept Realization: Given an ABox A, a set of concepts and an individual a find the most specific concepts C in the set such that A ⊨ C(a)
NOTE: the last two services are the SAME as in ClassL, with respect to more complex TBox (Role axioms).
52
Outline Overview
Syntax
Semantics
Terminology
Reasoning with Terminologies
World Description
Reasoning with World Descriptions
Tableau Algorithm
53
Tableaux Calculus The Tableaux calculus is a decision procedure solving
the problem of satisfiability.
If a formula is satisfiable, the procedure will constructively exhibit a model of the formula.
The basic idea is to incrementally build the model by looking at the formula, by decomposing it in a top-down fashion. The procedure exhaustively tries all the possibilities so that it can prove eventually that no model could be found for an unsatisfiable formula.
54
The Tableau Algorithm• Construct a model for the input concept description
C0.
• Model is represented by tree form.• The formula has been translated into Negation
Normal Form (NNM).• To decide satisfiability of the concept C0 , start with
the initial tree (root node).• Repeatedly apply expansion rules until find
contradiction or expansion completed.• Satisfiable iff a complete and contradiction-free tree
is found
55
When there are not both C1(x) and C2(x) in the ABox.
Add to the ABox C1(x) and C2(x) .
ABox’=ABox⋃{C1(x), C2(x) }
⊓
57
⊓ cont. TBox={Mother ≡Female ⊓∃hasChild.Person} ABox={Mother(Anna)}
Is ¬(∃hasChild.Person⊔∃ hasParent.Person) satisfiable?
Mother(Anna)
(Female ⊓∃hasChild.Person)(Anna)
Female(Anna)
(∃hasChild.Person)(Anna)
¬(∃hasChild.Person⊔∃ hasParent.Person)(Anna)
(¬∃hasChild.Person)(Anna)
(¬ ∃ hasParent.Person)(Anna)58
When there are neither C1(x) nor C2(x) in the ABox.
Split into multiple branches Add in branch 1 to the ABox C1(x)
and add in branch 2 to the Abox C2(x) .
ABox’=ABox⋃{C1(x)}
ABox’’=ABox⋃{C2(x)}
⊔
59
⊔ cont. TBox={Parent≡∃hasChild.Female⊔∃hasChild.Male,
Person≡Male⊔Female,
Mother≡Parent ⊓Female} ABox={Mother(Anna)}
Is ¬(∃hasChild.Person) satisfiable?
Mother(Anna)
Parent(Anna)
(∃hasChild.Female⊔∃hasChild.Male)(Anna)
(∃hasChild.Female)(Anna) (∃hasChild.Male)(Anna)
… …
60
When there are no individual name z such that both C(z) and R(x,z) in the ABox.
Add to the ABox C(z) and R(x,z) .
ABox’=ABox⋃{C(z), R(x,z) }
∃
61
∃ cont. TBox={Parent≡∃hasChild.Female⊔∃hasChild.Male,
Person≡Male⊔Female,
Mother≡Parent ⊓Female} ABox={Mother(Anna), hasChild(Anna,Bob),
¬Female(Bob)}
Is ¬(∃hasChild.Person) satisfiable?
Mother(Anna)
Parent(Anna)
(∃hasChild.Female⊔∃hasChild.Male)(Anna)
… (∃hasChild.Male)(Anna)
hasChild(Anna,Bob)
Male(Bob)62
∀ cont. TBox={DaughterParent≡∀hasChild.Female,
Male⊓Female⊑⊥} ABox={hasSibling(Anna,Bob), ¬Female(Bob)}
Is DaughterMather satisfiable?
DaughterMather(x)
∀hasChild.Female(x)
hasSibling(Anna,Bob)
Female(Bob)
¬Female(Bob)
64
∀
Example of Tableau Reasoning Is ∀hasChild.Male⊓∃hasChild.¬Male satisfiable?
(∀hasChild.Male⊓∃hasChild.¬Male)(x)
(∀hasChild.Male)(x)
(∃hasChild.¬Male)(x)
hasChild(x,y)
¬Male(y)
Male(y)
65
⊓
∃
∀
Exercise Suppose we have the following knowledge base: TBox:
Female⊔Male⊑Human Mother⊑Female Father⊑Male Child≡∃has.Mother⊓ ∃has.Father Male⊓Female⊑⊥
ABox: Mother(Anna) Father(Bob) has (Cate,Anna) has (Cate,Bob)
67
Prove:Human(Anna)¬Female(Bob)Child(Cate)Father⊓Mother⊑⊥
Complexity of Tableau Algorithms The satisifiability algorithm of ALC may need
exponential time and space. It is PSPACE-complete. A modified algorithm needs only polynomial space as it
assumes a depth-first search and store only the ‘correct’ path.
The consistency and instance checking problem for ALC are also PSPACE-complete.
The complexity results for other Description Logics varies according to corresponding constructors.
69