Logics for Data and Knowledge Representation

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

description

Logics for Data and Knowledge Representation. Exercises: ClassL. Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese. SYNTAX. Symbols in ClassL. Which of the following symbols are used in ClassL? ⊓  ⊤ ∨ ≡ ⊔ ⊑ → ↔ ⊥ ∧ ⊨ Which of the following symbols are in well formed formulas? - PowerPoint PPT Presentation

Transcript of Logics for Data and Knowledge Representation

Page 1: Logics for Data and Knowledge Representation

Logics for Data and KnowledgeRepresentation

Exercises: ClassL

Fausto Giunchiglia, Rui Zhang and Vincenzo Maltese

Page 2: Logics for Data and Knowledge Representation

SYNTAX

2

Page 3: Logics for Data and Knowledge Representation

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

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

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

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

MODELING

7

Page 8: Logics for Data and Knowledge Representation

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

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

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

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

SEMANTICS

12

Page 13: Logics for Data and Knowledge Representation

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

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

TBOX REASONING

15

Page 16: Logics for Data and Knowledge Representation

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

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

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

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

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

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

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

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

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

ABOX REASONING

25

Page 26: Logics for Data and Knowledge Representation

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

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

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

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

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