Post on 29-Jan-2016
transcript
Logics for Data and KnowledgeRepresentation
Exercises: ClassL
Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese
SYNTAX
2
Symbols in ClassL
1. Which of the following symbols are used in ClassL?
⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨
2. Which of the following symbols are in well formed formulas?
⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨
3
Symbols in ClassL (solution)
1. Which of the following symbols are used in ClassL?
⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨
2. Which of the following symbols are in well formed formulas?
⊓ ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨
4
Extended formation rulesThe basic BNF grammar: <Atomic Formula> ::= A | B | ... | P | Q | ... | | ⊥ ⊤
<wff> ::= <Atomic Formula> | ¬<wff> | <wff> ⊓ <wff> | <wff> ⊔ <wff>
TBox: <definition> ::= <Atomic Formula> ≡ <wff>
<specialization> ::= <Atomic Formula> ⊑ <wff>
ABox: <individual> ::= a | b | ... |
<assertion> ::= <Atomic Formula> (<individual>)
5
Formation rules Which of the following is not a wff in ClassL?
1. MonkeyLow ⊔ BananaHigh
2. MonkeyLow ⊓ BananaHigh ⊑ GetBanana
3. MonkeyLow ⊓ BananaHigh
4. MonkeyLow GetBanana
NUM 2, 3, 4 !
6
MODELING
7
Formalization of simple sentencesPropositional DL (ClassL) has pretty poor expressiveness. For instance, we cannot represent attributes and relations effectively.
8
The set of games which are not legal Game ⊓ Legal
Lakes are locations Lake Location⊑
Lakes are locations made of water Lake Location MadeofWater⊑ ⊓
Persons can be distinguished into male and female
Male Person⊑Female Person⊑
Male and Female are disjoint Male Female ⊓ ⊑ ⊥
Persons have a birthplace Person hasBirthDate⊑
The set of documents about “programming in Java” are a subset of the documents about “programming languages” and “computer science”
JavaProgramming ⊑ProgrammingLanguage ⊓ComputerScience
Formalization of a problem in ClassLUnicorns are mythical horses having a horn. Pegasus is a unicorn while Mike is not.Unicorn mythical horse hasHorn⊑ ⊓ ⊓
Unicorn(Pegasus), Unicorn(Mike)
There are two kinds of students: master students and PhD students. All PhD students do research. Ronald is a master student that does research.MasterStudent Student⊑
PhDStudent Student doResearch⊑ ⊓
MasterStudent(Ronald)
doResearch(Ronald)
9
Formalization of a semantic network
T = {BodyOfWater ⊑ Location, PopulatedPlace ⊑ Location, Lake ⊑ BodyOfWater, City ⊑ PopulatedPlace, Country ⊑ PopulatedPlace}
A = {Person(GiorgioNapolitano), Lake(GardaLake), City(Trento), Country(Italy), Part(GardaLake,Trento), Part(Trento, Italy), PresidentOf(GiorgioNapolitano, Italy)}
10
Defining the TBox and ABox: the LDKR Class
Name Nationality Hair
Fausto Italian White
Enzo Italian Black
Rui Chinese Black
Bisu Indian Black
11
ABox ={Italian(Fausto), Italian(Enzo), Chinese(Rui), Indian(Bisu), BlackHair(Enzo), BlackHair(Rui), BlackHair(Bisu),WhiteHair(Fausto)}
TBox ={Italian ⊑ LDKR, Indian ⊑ LDKR,Chinese ⊑ LDKR, BlackHair ⊑ LDKR,WhiteHair ⊑ LDKR}
Define a TBox and ABox for the following database:
LDKR
NOTE: ClassL is not expressive enough to represent database constrains such as keys involving two fields.
SEMANTICS
12
Proprieties of the and (I)∧ ⊓ Suppose that A and B are satisfiable.
Is A ∧ B always satisfiable in PL?
We can observe that the fact that A and B are satisfiable (alone) does not necessarily imply that A ∧ B is also satisfiable. It is instead the case when they are satisfiable by the same model.
Think for instance to the case B = A.
13
A B A∧B
T T T
T F F
F T F
F F F
MODEL for A
MODEL for A
MODEL for B
MODEL for B
Proprieties of the and (II)∧ ⊓ Suppose that A and B are satisfiable.
Is A ⊓ B always satisfiable in ClassL?
We can easily observe that the fact that A and B are satisfiable does not imply that A ⊓ B is also satisfiable. Think to the case in which their extensions are disjoint. Differently from PL, this might not be the case even when they are satisfiable by the same model.
14
A BA
B A B
TBOX REASONING
15
Satisfiability with respect to a TBox T
RECALL:
Satisfiability in one model
A concept P is satisfiable w.r.t. a terminology T, if there exists an interpretation I with I ⊨ θ for all θ ∈ T, and such that I ⊨ P, namely I(P) is not empty
Satisfiability in all models (validity)
A concept P is satisfiable w.r.t. a terminology T, if for all interpretations I with I ⊨ θ for all θ ∈ T, and such that I ⊨ P, namely I(P) is not empty
16
Satisfiability with respect to a TBox (I) Given the TBox T={A⊑B, B⊑A}, is (A⊓B) satisfiable in ClassL?
This corresponds to the problem: T ⊨ (A⊓B)
17
AB
To prove satisfiability in all models we need to prove validity; this can be proved with DPLL:
DPLL(RewriteInPL(A⊑B) RewriteInPL(B⊑A) RewriteInPL((A⊓B) ))
DPLL(((A B) (B A)) (A B))
To prove satisfiability in one model it is enough to find one model; we can use Venn Diagrams.
Satisfiability with respect to a TBox (II) Given the TBox T={C⊑A, C⊑B} is (A⊓B) satisfiable in one
model?
18
A BC
Satisfiability with respect to a TBox (III) Suppose we model the Monkey-Banana problem as follows:
“If the monkey is low in position then it cannot get the banana. If the monkey gets the banana it survives”.
TBox TMonkeyLow ⊑ GetBananaGetBanana ⊑ Survive
Is T satisfiable?
Survive
GetBanana MonkeyLow
19
YES! Look at the Venn diagram
Satisfiability with respect to a TBox (IV) Suppose we model the Monkey-Banana problem as follows:
TBox TMonkeyLow ⊑ GetBananaGetBanana ⊑ Survive
Is it possible for a monkey to survive even if it does not get the banana?
We can restate the problem as follow: does T ⊨ GetBanana Survive⊓ ?
20
Survive
GetBanana MonkeyLow
YES! Look at the Venn diagram
Subsumption
21
Suppose we describe the students/attendees in a course:
Are assistants undergraduates?
T ⊨ Assistant ⊑ Undergraduate
Assistant ≡ PhD ⊓ Teach ≡ Master ⊓ Research ⊓ Teach ≡
Student ⊓ Undergraduate ⊓ Research ⊓ Teach
Assistants are actually students who are not undergraduate.
Undergraduate ⊑ TeachBachelor ≡ Student ⊓ UndergraduateMaster ≡ Student ⊓ UndergraduatePhD ≡ Master ⊓ ResearchAssistant ≡ PhD ⊓ Teach TBox T
Disjointness
22
Suppose we describe the students/attendees in a course:
Are Bachelor and master disjoint?
T ⊨ Bachelor ⊓ Master ⊑ ⊥
(Student ⊓ Undergraduate) ⊓ (Student ⊓ Undergraduate)
Student ⊓ (Undergraduate ⊓ Undergraduate) ≡ ⊥
Undergraduate ⊑ TeachBachelor ≡ Student ⊓ UndergraduateMaster ≡ Student ⊓ UndergraduatePhD ≡ Master ⊓ ResearchAssistant ≡ PhD ⊓ Teach TBox T
Normalization of a TBox
Normalize the TBox below:MonkeyLow ⊑ GetBanana
GetBanana ≡ Survive
Possible solution:MonkeyLow ≡ GetBanana ⊓ ClimbBox
GetBanana ≡ Survive
Note that, with this theory, the monkey necessarily needs to get the banana to survive.
23
Expansion of a TBox
Expand the TBox below:MonkeyLow ≡ GetBanana ⊓ ClimbBox
GetBanana ≡ Survive
T’, expansion of T (The Venn diagram gives a possible model):MonkeyLow ≡ Survive ⊓ ClimbBox
GetBanana ≡ Survive
Survive
GetBanana MonkeyLow
ClimbBoxNotice that the fact that a monkey climbs the box does not necessarily mean that it survives.
24
ABOX REASONING
25
ABox: Consistency Check the consistency of A w.r.t. T via expansion.
TMonkeyLow ≡ GetBanana ⊓ ClimbBoxGetBanana ≡ Survive
AMonkeyLow(Cita)Survive(Cita)
Expansion of A is consistent:MonkeyLow(Cita) GetBanana(Cita) ClimbBox(Cita)
Survive(Cita) GetBanana(Cita)
26
ABox: Instance checking Given T and A below
Is Cita an instance of MonkeyLow?
YES Is Cita an instance of ClimbBox?
NO Is Cita an instance of GetBanana?
NO
TMonkeyLow ≡ GetBanana ⊓ ClimbBoxGetBanana ≡ Survive
AMonkeyLow(Cita)Survive(Cita)
27
Expansion of A MonkeyLow(Cita) GetBanana(Cita)ClimbBox(Cita)
Survive(Cita)GetBanana(Cita)
Instance Retrieval. Consider the following expansion…
28
TUndergraduate ⊑ TeachBachelor ≡ Student ⊓ UndergraduateMaster ≡ Student ⊓ UndergraduatePhD ≡ Master ⊓ ResearchAssistant ≡ PhD ⊓ Teach
Assistant(Rui) PhD(Rui)Teach(Rui) Master(Rui) Research(Rui)Student(Rui)Undergraduate(Rui)
AMaster(Chen)PhD(Enzo)Assistant(Rui)
Master(Chen) Student(Chen) Undergraduate(Chen)
PhD(Enzo)Master(Enzo)Research(Enzo)Student(Enzo)Undergraduate(Enzo)
The expansion of A
Instance Retrieval. … find the instances of Master
29
TUndergraduate ⊑ TeachBachelor ≡ Student ⊓ UndergraduateMaster ≡ Student ⊓ UndergraduatePhD ≡ Master ⊓ ResearchAssistant ≡ PhD ⊓ Teach
Assistant(Rui) PhD(Rui)Teach(Rui) Master(Rui) Research(Rui)Student(Rui)Undergraduate(Rui)
AMaster(Chen)PhD(Enzo)Assistant(Rui)
Master(Chen) Student(Chen) Undergraduate(Chen)
PhD(Enzo)Master(Enzo)Research(Enzo)Student(Enzo)Undergraduate(Enzo)
The expansion of A
ABox: Concept realization Find the most specific concept C such that A ⊨ C(Cita)
Notice that MonkeyLow directly uses GetBanana and ClimbBox, and it uses Survive. The most specific concept is therefore MonkeyLow.
TMonkeyLow ≡ GetBanana ⊓ ClimbBoxGetBanana ≡ Survive
AMonkeyLow(Cita)Survive(Cita)
30