Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and...

30
Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese

Transcript of Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and...

Page 1: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

Logics for Data and KnowledgeRepresentation

Exercises: ClassL

Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese

Page 2: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

SYNTAX

2

Page 3: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 4: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 5: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 6: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 7: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

MODELING

7

Page 8: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 9: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 10: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 11: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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.

Page 12: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

SEMANTICS

12

Page 13: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 14: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 15: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

TBOX REASONING

15

Page 16: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 17: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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.

Page 18: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 19: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 20: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 21: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 22: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 23: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 24: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 25: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

ABOX REASONING

25

Page 26: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 27: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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)

Page 28: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 29: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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

Page 30: Logics for Data and Knowledge Representation Exercises: ClassL Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese.

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