180 likes | 267 Vues
Explore logics for data and knowledge representation exercises in Description Logics (DL) family of languages, covering syntax, semantics, TBox reasoning, ABox reasoning, tableau calculus, proofs, Venn diagrams, and DPLL for reasoning tasks.
E N D
Logics for Data and Knowledge Representation Exercises: DL
DL family of languages AL <Atomic> ::= A | B | ... | P | Q | ... | ⊥ | ⊤ <wff> ::= <Atomic> | ¬<Atomic> |<wff> ⊓<wff> | ∀R.C | ∃R.⊤ ALU <wff> ⊔ <wff> ALE∃R.C ALN≥nR| ≤nR ALC¬ <wff> FL- is AL with the elimination of ⊤, ⊥ and FL0 is FL- with the elimination of ∃R.⊤ SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS
DL family of languages SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • Examples of formulas in each of the languages: 3
Formalization of a semantic network SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS Person ⊑ ∃Drives.Car Person ⊑ ∃HasHobby.SportCar Person ⊑ ∃HasHobby.Opera Student ⊑ Person SportCar ⊑ Car Student(Ralf) Opera(DonCarlos) instance-of instance-of
Proofs in DL semantics SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • Verify the following equivalences hold for all interpretations (∆,I). Use definitions or Venn diagrams. • I(¬(C⊓D)) = I(¬C ⊔ ¬D) • I(¬(C ⊔ D)) = I(¬C⊓¬D) • I(¬∀R.C) = I(∃R.¬C) • I(¬∃R.C) = I(∀R.¬C) Let us prove the last one: I(¬∃R.C)={a ∈ ∆ | not exists b s.t. (a,b) ∈ I(R), b ∈ I(C)} = {a ∈ ∆ | not exists ∃b. R(a,b) andC(b)} = {a ∈ ∆ | ∀b. not (R(a,b) andC(b))} = {a ∈ ∆ | ∀b. if R(a,b) then¬C(b)} = I(∀R.¬C) 5
Venn diagrams SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • Provide the Venn diagram for: A ⊑ B ⊓ ¬C C B A
Using DPLL for reasoning tasks SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • DPLL solves the CNFSAT-problem by searching a truth-assignment that satisfies all clauses θi in the input proposition P = θ1 … θn • DL sentences must to be translated in PL (via TBox and ABox elimination) • Model checking Does ν satisfy P? (ν⊨ P?) Check if ν(P) = true • Satisfiability Is there any ν such that ν⊨ P? Check that DPLL(P) succeeds and returns a ν • Unsatisfiability Is it true that there are no ν satisfying P? Check that DPLL(P) fails • Validity Is P a tautology? (true for all ν) Check that DPLL(P) fails 7
Satisfiability of a TBox (a set of formulas) SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • Say if the following TBox is satisfiable and provide a model in the case: FederalAgent ⊑ ∃Access.TopSecretDocument XFile ⊑ TopSecretDocument ⊓ Restricted ⊓ ∀Read-1.Policeman I(FederalAgent) = {A} We have that I ⊨ T I(TopSecretDocument) = {D1, D2} I(Access) = {(A, D1), (A, D2)} I(XFile) = {D1} I(Restricted) = {D2} I(Read) = {(B, D1)} I(Policeman) = {B} • Otherwise you can either draw a Venn diagram or apply the tableaux calculus and provide the ABox built
Satisfiability w.r.t. a TBox SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • Consider the TBox T: FederalAgent ⊑ ∃Access.TopSecretDocument XFile ⊑ TopSecretDocument ⊓ Restricted ⊓ ∀Read-1.Policeman and the formula P: TopSecretDocument ⊓ Restricted does T ⊨ P ? • Yes, if fact these is an interpretation I (e.g. the one of the previous exercise) such that I ⊨ T and I ⊨ P. I(TopSecretDocument) = {D1, D2} I(Restricted) = {D1} • Notice that T does not affect P at all (i.e. we cannot further expand P w.r.t. T)
Subsumption SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • Consider the TBox T: FederalAgent ⊑ ∃Access.TopSecretDocument XFile ⊑ TopSecretDocument ⊓ Restricted ⊓ ∀Read-1.Policeman does T ⊨ TopSecretDocument ⊑ Restricted? By definition, it must be I(TopSecretDocument) I(Restricted ) for every model I of T. Even if this is true for the I of the previous exercise, this is not true in general. It is enough to provide a counterexample: • I(XFile) = {D2} • I(Restricted) = {D1} • I(Read) = {(B, D2)} • I(Policeman) = {B} • I(FederalAgent) = {A} • I(TopSecretDocument) = {D2} • I(Access) = {(A, D1), (A, D2)}
Reduce to PL reasoning SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS The steps: T’ = Normalize(T); C’ = Expand(C, T’); D’ = Expand(D, T’); C’ = RewriteInPL(C’); D’ = RewriteInPL(D’); return DPLL(C’ → D’); • Consider the TBox T = {A ⊑ B ⊔ C, C ⊑ D ⊓ E}. Determine if A ⊑ E by elimination of T. T’ = {A ≡ (B ⊔ C) ⊓ X, C ≡ D ⊓ E ⊓ Y} A’ = (B ⊔ (D ⊓ E ⊓ Y)) ⊓ X E’ = E A’ = (B (D E Y)) X E’ = E Call DPLL((B (D E Y)) X → E) (Note that the formula has to be converted in CNF first)
Expansion of an ABox SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • Provide the expansion of A w.r.t. T (without normalization), where: TBox T = {Student ⊑ Faculty, Professor ⊑ Faculty ⊓ Teach} ABox A = {Professor(Bob), Faculty(Rui)} Professor(Bob), Faculty(Bob), Teach(Bob) Faculty(Rui)
ABox Reasoning services: Consistency SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • 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. T = {Parent⊑≤1hasChild} A = {hasChild(mary, bob), hasChild(mary, cate), Parent(mary)} A is consistent ALONE but is not consistent with respect T. In fact, from A mary has two children while T imposes maximum one 13
Drawing consequences (I) SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • A: • Mother(Anna) • Father(Bob) • has(Cate,Anna) • has(Cate,Bob) Given the TBox and ABox below • T: • Female⊑Human • Male⊑Human • Mother⊑Female • Father⊑Male • Child≡∃has.Mother⊓ ∃has.Father • Male⊓Female⊑⊥ • Prove: • Human(Anna) • ¬Female(Bob) • Child(Cate) 14
Drawing consequences (II) SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS Expand A w.r.t. T: • A: • Mother(Anna) Female(Anna) Human(Anna) • Father(Bob) Male(Bob) Human(Bob) , ¬Female(Bob) • has(Cate,Anna) Child(Cate) • has(Cate,Bob) Child(Cate) 15
Reasoning using Tableau calculus (a) SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • Given the ABox A = {hasParent(Speedy, Furia)}, prove with Tableau algorithm the satisfiability of the following formula: ∃Parent.Horse ⊓ (Horse ⊓ Mule) Both ∃Parent.Horse and (Horse ⊓ Mule) have to be satisfied ⊓-rule (i) ∃hasParent.Horse A’’ = A’ ∪ {Horse(Furia)} ∃-rule (ii) (Horse ⊓ Mule) Horse ⊔ Mule It is not consistent for A’ = A ∪ { Horse(Furia)} ⊔-rule (backtracking) It is consistent for A’ = A ∪ { Mule(Furia)} ⊔-rule 16
Reasoning using Tableau calculus (b) SYNTAX :: SEMANTICS :: TBOX REASONING :: ABOX REASONING :: TABLEAU CALCULUS • Using the tableau calculus, say whether the formula (∀R.A ⊓ ∃R.¬A) ⊔ ∀R.(A ⊓ B) is satisfiable given the TBox T = {A ⊑ B}. Motivate your response with a proof. By ⊔-rule we split into (i) (∀R.A ⊓ ∃R.¬A) (x) and (ii) ∀R.(A ⊓ B) (x). We need one of the two to be satisfiable. (i) By ⊓-rule we put into the ABox both ∀R.A (x) and ∃R.¬A (x) (i.1) For ∀R.A (x), by ∀-rule we add into the ABox both R(x, y) and A(y) (i.2) For ∃R.¬A (x), by ∃-rule we add into the ABox both R(x, y) and ¬A(y) i.1. and i.2 clearly contradict each other (backtracking) (ii) It is clearly in contradiction with the axiom in T. In fact A and B are disjoint Since none of the two is satisfiable, then the formula is NOT satisfiable.