Non-classical logics Lecture 18: Description Logics (Part 2) Viorica Sofronie-Stokkermans sofronie@uni-koblenz.de 1
Until now Description logics ALC : Syntax, Semantics Knowledge Base (KB): TBOX, ABOX Reasoning problems; reduction to concept satisfiability/satisfiability of KB Decidability �→ express ALC as multi-modal logic. 2
ALC as a multi-modal logic Lemma C 1 ⊑ C 2 iff F C 1 ⊓¬ C 2 is unsatisfiable in the multi-modal logic. Proof. C 1 ⊑ C 2 iff for all I and all d ∈ ∆ I we have: d �∈ ( C 1 ⊓ ¬ C 2 ) I From the first lemma, this happens iff ( K , d ) �| = F C 1 ∧ ¬ F C 2 for all I and all d ∈ ∆ I . This is the same as saying that F C 1 ⊓¬ C 2 is unsatisfiable. 3
Reasoning procedures • Terminating, efficient and complete algorithms for deciding satisfiability – and all the other reasoning services – are available. • Algorithms are based on tableaux-calculi techniques or resolution. 4
Description logics Two directions of research: • Extensions in order to increase expressivity • Restrict language in order to identify “tractable” description logics 5
Description logics Two directions of research: • Extensions in order to increase expressivity SHIQ • Restrict language in order to identify “tractable” description logics EL 6
Some extensions of ALC SHIQ: Syntax: N C primitive concept symbols N 0 R set of atomic role symbols N 0 t ⊆ N 0 R set of transitive role symbols The set N R of role symbols contains all atomic roles and for every role R ∈ N 0 R also its inverse role R − . 7
Some extensions of ALC SHIQ: Role hierarchy: A role hierarchy is a finite set H of formulae of the form R 1 ⊑ R 2 for R 1 , R 2 ∈ N R . All following definitions assume that a role hierarchy is given (and fixed) 8
SHIQ concept descriptions: Syntax := if A is a primitive concept C A |⊤ |¬ C | C 1 ⊓ C 2 | C 2 ⊔ C 2 |∃ R . C |∀ R . C | ≤ nR . C where n ∈ N , R simple role | ≥ nR . C where n ∈ N , R simple role R is a simple role if R �∈ N 0 t and R does not contain any transitive sub-role. 9
SHIQ concept descriptions: Syntax := if A is a primitive concept C A |⊤ |¬ C | C 1 ⊓ C 2 | C 2 ⊔ C 2 |∃ R . C |∀ R . C | ≤ nR . C where n ∈ N , R simple role | ≥ nR . C where n ∈ N , R simple role R is a simple role if R �∈ N 0 t and R does not contain any transitive sub-role. Abbreviations: ≥ nR := ≥ nR . ⊤ ≤ nR := ≥ nR . ⊤ 10
Cardinality Restriction Role quantification cannot express that a woman has at least 3 (or at most 5 ) children. Cardinality restrictions can express conditions on the number of fillers: • Busy − Woman . = Woman ⊓ ( ≥ 3 CHILD ) • Woman − with − at − most5children . = Woman ⊓ ( ≤ 5 CHILD ) ( ≥ 1 R ) ⇐ ⇒ ( ∃ R ) 11
Interpretations for SHIQ • C ∈ N C �→ C I ⊆ D I Interpretations: I = ( D I , · I ) • R ∈ N R �→ R I ⊆ D I × D I such that: t , R I is a transitive relation • for all R ∈ N 0 R , ( R − 1 ) I is the inverse of R I • for all R ∈ N 0 • for all R 1 ⊑ R 2 ∈ H we have R I 1 ⊆ R I 2 12
SHIQ constructors: Semantics Constructor Syntax Semantics A I ⊆ D I concept name A D I top ⊤ bottom ⊥ ∅ C I ∩ D I conjunction C ⊓ D C I ∪ D I disjunction C ⊔ D D I \ C I negation ¬ C { x | ∀ y ( R I ( x , y ) → y ∈ C I ) } universal ∀ R . C { x | ∃ y ( R I ( x , y ) ∧ y ∈ C I } existential ∃ R . C { x | # { y | R I ( x , y ) } ≥ n } ≥ nR cardinality { x | # { y | R I ( x , y ) } ≤ n } ≤ nR { x | # { y | R I ( x , y ) ∧ y ∈ C I } ≥ n } ≥ nR . C qual. cardinality { x | # { y | R I ( x , y ) ∧ y ∈ C I } ≤ n } ≤ nR . C 13
Decidability The satisfiability and subsumption problem for SHIQ are Theorem. decidable Proof: cf. Horrocks et al. 14
Undecidability Theorem. If in the definition of SHIQ we do not impose the restriction about simple roles, the satisfiability problem becomes undecidable (even if we only allow for cardinality restrictions of the form ≤ nR . ⊤ and ≥ nR . ⊤ ). Proof: cf. Horrocks et al. 15
Reasoning procedures • For decidable description logic it is important to have efficient reasoning procedures which are sound, complete and termination. • Literature: tableau calculi Goals: • Completeness is important for the usability of description logics in real applications. • Efficiency: Algorithms need to be efficient for both average and real knowledge bases, even if the problem in the corresponding logic is in PSPACE or EXPTIME. 16
A tractable DL Tractable description logic: EL , EL + and extensions [Baader’03–] used e.g. in medical ontologies (SNOMED) 17
EL : Generalities • primitive concepts N C Concepts: • complex concepts (built using concept constructors ⊓ , ∃ r ) Roles: N R • C ∈ N C �→ C I ⊆ D I Interpretations: I = ( D I , · I ) • r ∈ N R �→ r I ⊆ D I × D I Constructor name Syntax Semantics C I 1 ∩ C I conjunction C 1 ⊓ C 2 2 { x | ∃ y (( x , y ) ∈ r I and y ∈ C I ) } existential restriction ∃ r . C 18
EL : Generalities • primitive concepts N C Concepts: • complex concepts (built using concept constructors ⊓ , ∃ r ) Roles: N R • C ∈ N C �→ C I ⊆ D I Interpretations: I = ( D I , · I ) • r ∈ N R �→ r I ⊆ D I × D I Problem: Given: TBox (set T of concept inclusions C i ⊑ D i ) concepts C , D Task: test whether C ⊑ T D , i.e. whether for all I = ( D I , · I ) ∀ C i ⊑ D i ∈ T then C I ⊆ D I if C I ⊆ D I i i 19
EL : Example Primitive concepts: protein, process, substance Roles: catalyzes, produces enzyme = protein ⊓ ∃ catalyzes.reaction Terminology: (TBox) catalyzer = ∃ catalyzes.process reaction = process ⊓ ∃ produces.substance Query: enzyme ⊑ catalyzer? 20
EL + : generalities • primitive concepts N C Concepts: • complex concepts (built using concept constructors ⊓ , ∃ r ) Roles: N R • C ∈ N C �→ C I ⊆ D I Interpretations: I = ( D I , · I ) • r ∈ N R �→ r I ⊆ D I × D I Problem: Given: CBox C = ( T , RI ), where T set of concept inclusions C i ⊑ D i ; RI set of role inclusions r ◦ s ⊑ t or r ⊑ t concepts C , D Task: test whether C ⊑ C D , i.e. whether for all I = ( D I , · I ) if C I ⊆ D I ∀ C i ⊑ D i ∈ T and i i ∀ r ◦ s ⊑ t ∈ RI then C I ⊆ D I r I ◦ s I ⊆ t I 21
EL + : Example Primitive concepts: protein, process, substance Roles: catalyzes, produces, helps-producing enzyme = protein ⊓ ∃ catalyzes.reaction Terminology: (TBox) reaction = process ⊓ ∃ produces.substance Role inclusions: catalyzes ◦ produces ⊑ helps-producing Query: enzyme ⊑ protein ⊓ ∃ helps-producing.substance ? 22
Complexity T -Box subsumption for EL decidable in PTIME C -Box subsumption for EL + decidable in PTIME Methods: Reductions to checking satisfiability of clauses in propositional logic. 23
EL : Hierarchical reasoning Primitive concepts: protein, process, substance Roles: catalyzes, produces enzyme = protein ⊓ ∃ catalyzes.reaction Terminology: catalyzer = ∃ catalyzes.process (TBox) reaction = process ⊓ ∃ produces.substance Query: enzyme ⊑ catalyzer? SLat ∪ Mon | =enzyme = protein ⊓ catalyzes-some(reaction) ∧ ∧ catalyzer = catalyze-some(process) reaction = process ⊓ produces-some(substance) ⇒ enzyme ⊑ catalyzer Mon : ∀ C , D ( C ⊑ D → catalyze-some( C ) ⊑ catalyze-some( D )) ∀ C , D ( C ⊑ D → produces-some( C ) ⊑ produces-some( D )) 24
EL : Hierarchical reasoning enzyme = protein ⊓ catalyzes-some(reaction) ∧ catalyzer = catalyze-some(process) ∧ SLat ∪ Mon ∧ | = ⊥ reaction = process ⊓ produces-some(substance) ∧ enzyme �⊑ catalyzer � �� � G G ∧ Mon enzyme = protein ⊓ catalyzes-some(reaction) ∧ catalyzer = catalyze-some(process) ∧ reaction = process ⊓ produces-some(substance) ∧ enzyme �⊑ catalyzer ∀ C , D ( C ⊑ D → catalyze-some( C ) ⊑ catalyze-some( D )) ∀ C , D ( C ⊑ D → produces-some( C ) ⊑ produces-some( D )) 25
EL : Hierarchical reasoning enzyme = protein ⊓ catalyzes-some(reaction) ∧ catalyzer = catalyze-some(process) ∧ SLat ∪ Mon ∧ | = ⊥ reaction = process ⊓ produces-some(substance) ∧ enzyme �≤ catalyzer � �� � G Solution 1: Use DPLL (SLat + UIF ) G ∧ Mon[ G ] enzyme = protein ⊓ catalyzes-some(reaction) catalyzer = catalyzes-some(process) reaction = process ⊓ produces-some(substance) enzyme �≤ catalyzer reaction ⊲ process → catalyzes-some(reaction) ⊲ catalyzes-some(process), ⊲ ∈ {≤ , ≥ , = } 26
EL : Hierarchical reasoning enzyme = protein ⊓ catalyzes-some(reaction) ∧ catalyzer = catalyze-some(process) ∧ SLat ∪ Mon ∧ | = ⊥ reaction = process ⊓ produces-some(substance) ∧ enzyme �≤ catalyzer � �� � G Solution 2: Hierarchical reasoning Base theory (SLat) Extension enzyme = protein ⊓ c 1 c 1 = catalyzes-some(reaction) catalyzer = c 2 c 2 = catalyzes-some(process) reaction = process ⊓ c 3 c 3 = produces-some(substance) enzyme �≤ catalyzer reaction ⊲ process → c 1 ⊲ c 2 ⊲ ∈ {≤ , ≥ , = } Test satisfiability using any prover for SLat (e.g. reduction to SAT) 27
Recommend
More recommend