Description Logics: an Introductory Course on a Nice Family of Logics. Day 2: Tableau Algorithms. Uli Sattler

Similar documents
An Introduction to Description Logics: Techniques, Properties, and Applications. NASSLLI, Day 2, Part 2. Reasoning via Tableau Algorithms.

2. A tableau algorithm for ALC with TBoxes, number restrictions, and inverse roles. Extend ALC-tableau algorithm from first session with

Week 4. COMP62342 Sean Bechhofer, Uli Sattler

An Introduction to Description Logics: Techniques, Properties, and Applications. NASSLLI, Day 3, Part 2. Computational Complexity.

Fuzzy Description Logics

Phase 1. Phase 2. Phase 3. History. implementation of systems based on incomplete structural subsumption algorithms

Role-depth Bounded Least Common Subsumers by Completion for EL- and Prob-EL-TBoxes

Decidability of SHI with transitive closure of roles

Tableau-based Revision for Expressive Description Logics with Individuals

From Tableaux to Automata for Description Logics

Optimisation of Terminological Reasoning

Teil III: Wissensrepräsentation und Inferenz. Kap.11: Beschreibungslogiken

Algebraic Tableau Reasoning for the Description Logic SHOQ

Structured Descriptions & Tradeoff Between Expressiveness and Tractability

Description Logics: a Nice Family of Logics. Day 4: More Complexity & Undecidability ESSLLI Uli Sattler and Thomas Schneider

On the Decidability Status of Fuzzy ALC with General Concept Inclusions

A Tableaux-based Algorithm for Description Logics with Transitive Closure of Roles in Concept and Role Inclusion Axioms

Expressive number restrictions in Description Logics

Chapter 2 Background. 2.1 A Basic Description Logic

Nonmonotonic Reasoning in Description Logic by Tableaux Algorithm with Blocking

A Description Logic with Transitive and Inverse Roles and Role Hierarchies

Next. Description Logics: a Nice Family of Logics. Some

A Goal-Oriented Algorithm for Unification in EL w.r.t. Cycle-Restricted TBoxes

The Complexity of Lattice-Based Fuzzy Description Logics

A Tableaux Decision Procedure for SHOIQ

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Decidability of Description Logics with Transitive Closure of Roles in Concept and Role Inclusion Axioms

arxiv: v2 [cs.lo] 21 Jul 2014

PSpace Automata for Description Logics

ALC Concept Learning with Refinement Operators

A tableaux calculus for ALC + T min R

A Crisp Representation for Fuzzy SHOIN with Fuzzy Nominals and General Concept Inclusions

On Axiomatic Rejection for the Description Logic ALC

A Refined Tableau Calculus with Controlled Blocking for the Description Logic SHOI

A Description Logic with Concrete Domains and a Role-forming Predicate Operator

Knowledge Representation for the Semantic Web

A PSpace Algorithm for Acyclic Epistemic DL ALCS5 m

Prime Implicate Normal Form for ALC Concepts

A Tableau Algorithm for Fuzzy Description Logics over Residuated De Morgan Lattices

Decidable and Undecidable Extensions of ALC with Composition-Based Role Inclusion Axioms

High Performance Absorption Algorithms for Terminological Reasoning

LTCS Report. A finite basis for the set of EL-implications holding in a finite model

The Bayesian Ontology Language BEL

Inverting Proof Systems for Secrecy under OWA

Did I Damage my Ontology?

Reasoning in the SHOQ(D n ) Description Logic

Logics for Data and Knowledge Representation

Description Logics. Adrian Groza. Department of Computer Science Technical University of Cluj-Napoca

Conservative Extensions in Expressive Description Logics

Description Logics. an introduction into its basic ideas

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3

3 Propositional Logic

Chapter 4: Computation tree logic

Exploiting Pseudo Models for TBox and ABox Reasoning in Expressive Description Logics

Quasi-Classical Semantics for Expressive Description Logics

Finite Model Reasoning in Horn-SHIQ

LTCS Report. Decidability and Complexity of Threshold Description Logics Induced by Concept Similarity Measures. LTCS-Report 16-07

Complexity of Subsumption in the EL Family of Description Logics: Acyclic and Cyclic TBoxes

LOGIC PROPOSITIONAL REASONING

Description logics. Description Logics. Applications. Outline. Syntax - AL. Tbox and Abox

Propositional Logic: Evaluating the Formulas

The Description Logic ABox Update Problem Revisited

Ch. 13 Tableaux systems

A Framework for Reasoning with Expressive Continuous Fuzzy Description Logics

CS 486: Applied Logic Lecture 7, February 11, Compactness. 7.1 Compactness why?

Description Logics (DLs)

Fuzzy DLs over Finite Lattices with Nominals

Towards Distributed Tableaux Reasoning Procedure for DDL with Increased Subsumption Propagation between Remote Ontologies

On the Complexity of (Restricted) ALCIr

A Zadeh-Norm Fuzzy Description Logic for Handling Uncertainty: Reasoning Algorithms and the Reasoning System

Modular Combination of Reasoners for Ontology Classification

Plan-based Axiom Absorption for Tableau-based Description. Logics Reasoning

LTCS Report. Exploring finite models in the Description Logic EL gfp. Franz Baader, Felix Distel. LTCS-Report 08-05

Efficient Reasoning with Range and Domain Constraints

Principles of AI Planning

Least Common Subsumers and Most Specific Concepts in a Description Logic with Existential Restrictions and Terminological Cycles*

Reasoning with Annotated Description Logic Ontologies

First-order resolution for CTL

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving

Axiom Pinpointing in General Tableaux

Description Logics. Deduction in Propositional Logic. franconi. Enrico Franconi

Interactive ontology debugging: two query strategies for efficient fault localization

An Introduction to Description Logics

Keys, Nominals, and Concrete Domains

LTCS Report. Blocking and Pinpointing in Forest Tableaux. LTCS-Report 08-02

Two Types of Key Constraints in Description Logics with Concrete Domains. Dũng Dinh-Khac

Knowledge Bases in Description Logics

First-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig

Clause/Term Resolution and Learning in the Evaluation of Quantified Boolean Formulas

Tractable Extensions of the Description Logic EL with Numerical Datatypes

Role Conjunctions in Expressive Description Logics

Improved Algorithms for Module Extraction and Atomic Decomposition

Outline. Complexity Theory. Example. Sketch of a log-space TM for palindromes. Log-space computations. Example VU , SS 2018

Extended Decision Procedure for a Fragment of HL with Binders

Optimal Interpolation in ALC

Technische Universität Dresden. Fakultät Informatik EMCL Master s Thesis on. Hybrid Unification in the Description Logic EL

LTCS Report. PSpace Automata with Blocking for Description Logics. Franz Baader Jan Hladik Rafael Peñaloza. LTCS-Report 06-04

Introduction to Logic in Computer Science: Autumn 2006

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Hybrid Unification in the Description Logic EL

Transcription:

Description Logics: an Introductory Course on a Nice Family of Logics Day 2: Tableau Algorithms Uli Sattler 1

Warm up Which of the following subsumptions hold? r some (A and B) is subsumed by r some A r.(a B) r.a (r some A) and (r only B) is subsumed by r some B r.a r.b r.b r only (A and not A) is subsumed by r only B r.(a A) r.b r some (r only A) is subsumed by r some (r some (A or not A)) r.( r.a) r.( r.(a A) r only (A and B) is subsumed by (r only A) and (r only B) r.(a B) r.a r.b r some B is subsumed by r only B r.b r.a 2

Today relationship between standard DL reasoning problems a tableau algorithm to decide consistency of ALC ontologies and all other standard DL reasoning problems a proof of its correctness with some model properties some optimisations some extensions inverse roles (sketch) number restrictions some discussions...loads of stuff: ask if you have a question! 3

Standard DL Reasoning Problems Given an ontology O = (T, A), is O consistent? O =? is O coherent? is there concept name A with O = A? compute class hierarchy! for all concept names A, B: O = A B? classify individuals! for all concept names A, individual names b: O = b: B? Theorem 2 Let O be an ontology and a an individual name not in O. Then 1. C is satisfiable w.r.t. O iff O {a: C} is consistent 2. O is coherent iff, for each concept name A, O {a: A} is consistent 3. O = A B iff O {a: (A B)} is not consistent 4. O = b: B iff O {b: B} is not consistent a decision procedure to solve consistency decides all standard DL reasoning problems 4

Decision Procedure A problem is a set P M e.g., M is the set of all ALC ontologies, P M is the set of all consistent ALC ontologies...and the problem P is to decide whether, for a given m M, we have m P An algorithm is a decision procedure for a problem P M if it is sound for P : if it answers m P, then m P complete for P : if m P, then it answers m P terminating: it stops after finitely many steps on any input m M Why does sound and complete not suffice for being a decision procedure? 5

A tableau algorithm for ALC ontologies For now: ALC:,,, r.c, r.c an algorithm to decide consistency of an ontology The algorithm decides Is O consistent by trying to construct a model I for O: if successful, O is consistent: look, here is a (description of a) model otherwise, no model exists provably (we were not simply too lazy to find it) Algorithm works on a set of ABoxes: intialised with a singleton set S = {A} when started with O = (T, A) ABoxes are extended by rules to make constraints on models of O explicit O is consistent if, for (at least) one of the ABoxes A in S, (T, A ) is consistent 6

Negation Normal Form Technical: we say C and D are equivalent, written C D, if they mutually subsume each other. Technical: all concepts are assumed to be in Negation Normal Form transform all concepts in O into NNF(C) by pushing negation inwards, using (C D) C D (C D) C D ( R.C) ( R. C) ( R.C) ( R. C) Lemma: Let C be an ALC concept. Then C NNF(C). From now on, all concepts in GCIs and concept assertions are assumed to be in NNF, and we use C to denote the NNF( C). 7

A tableau algorithm for ALC ontologies The algorithm works on sets of ABoxes S starts with a singleton set S = {A} when started with O = (T, A) applies rules that infer constraints on models of O a rule is applied to some A S; its application replaces A with one or two ABoxes answers O is consistent if rule application leads to an ABox A that is complete, i.e., to which no more rules apply and clash-free, i.e., {a: A, a: A} A, for any a, A for optimisation, we can avoid applying rules to ABoxes containing a clash 8

Using the tableau algorithm for ALC ontologies Following Theorem 2, we can use the algorithm to test satisfiability of a concept C by starting it with {a: C} satisfiability of a concept C wr.t. O by starting it with O {a: C} (a not in O) subsumption C D by starting it with {a: (C D)} subsumption C D wr.t. O by starting it with O {a: (C D)} (a not in O) whether b is an instance of C w.r.t. O by starting it with O {b: C}...and interpreting the results according to Theorem 2. 9

Preliminary Tableau Expansion Rules for ALC -rule: if a: C 1 C 2 A and {a: C 1, a: C 2 } A then replace A with A {a: C 1, a: C 2 } -rule: if a: C 1 C 2 A and {a: C 1, a: C 2 } A = then replace A with A {a: C 1 } and A {a: C 2 } -rule: if a: s.c A and there is no b with {(a, b): s, b: C} A then create a new individual name c and replace A with A {(a, c): s, c: C} -rule: if {a: s.c, (a, b): s} A and b: C A then replace A with A {b: C} GCI-rule: if C D T and a: ( C D) A for a in A, then replace A with A {a: ( C D)} 10

Tableau Algorithm for ALC: Observations We only apply rules if their application does something new The -rule is the only one to replace an ABox with more than one other To understand the GCI-rule, convince yourself that I satisfies a GCI C D iff, for each e I, we have e C I or e D I and e C I is the case iff e ( C) I The GCI-rule adds a disjunction per individual and GCI this is bad, and stupid for GCIs with a concept name on its left hand side (why?) we add an abbreviated GCI rule: GCI-2-rule: if B is a concept name, a: F A for a: B A and B F T, then replace A with A {a: F} If A is replaced with A, then A A 11

Tableau Algorithm for ALC Example: apply the tableau algorithm to O = (T, A) with T = {A B r.g r.c, A = { a: A, b: E, E A H r.f, (a, c): r, (b, c): r, G E P, c: G} H E r. C} 12

Termination of our Tableau Algorithm for ALC As is, the tableau algorithm does not terminate: Example: apply the tableau algorithm to O = (T, A) with T = {A r.a} and A = {a: A}. To ensure termination, use blocking: each rule is only applicable to an individual a in an ABox A if there is no other individual b with {C a: C A} {C b: C A}. In case we have a freshly introduced individual (i.e., not present in input ontology) a, an individual b with {C a: C A} {C b: C A}, b is older than a (i.e., was created earlier than a) we say b blocks a and we say a is blocked. 13

Tableau Expansion Rules for ALC -rule: if a: C 1 C 2 A, a is not blocked, and {a: C 1, a: C 2 } A then replace A with A {a: C 1, a: C 2 } -rule: if a: C 1 C 2 A, a is not blocked, and {a: C 1, a: C 2 } A = then replace A with A {a: C 1 } and A {a: C 2 } -rule: if a: s.c A, a is not blocked, and there is no b with {(a, b): s, b: C} A then create a new individual c and replace A with A {(a, c): s, c: C} -rule: if {a: s.c, (a, b): s} A, a is not blocked, and b: C A GCI-rule: if then replace A with A {b: C} C D T, a is not blocked, and if C is a concept name, a: C A but a: D A, then replace A with A {a: D} else if a: ( C D) A for a in A, then replace A with A {a: ( C D)} 14

Termination of our Tableau Algorithm for ALC Convince yourself that, for the given example, the tableau algorithm terminates: Example: apply the tableau algorithm to O = (T, A) with T = {A r.a} and A = {a: A}....now for the general case! 15

Properties of our tableau algorithm Lemma 3: Let O an ALC ontology in NNF. Then 1. the algorithm terminates when applied to O 2. if the rules generate a complete & clash-free ABox, then O is consistent 3. if O is consistent, then the rules generate a clash-free & complete ABox Corollary 1: 1. Our tableau algorithm decides consistency of ALC ontologies. 2. Satisfiability (and subsumption) of ALC concepts is decidable in PSpace. 3. Consistency of ALC ontologies is decidable in ExpSpace. 4. ALC ontologies have the finite model property i.e., every consistent ontology has a finite model. 5. ALC ontologies have the tree model property i.e., every consistent ontology has a tree model. 16

Proof of Lemma 3.1: Termination Let sub(o) be the set of all subconcepts of concepts occurring in A together with all subconcepts of C D for each C D T. (1) Termination is a consequence of these observations: 1. a rule replaces one ABox with at most two ABoxes 2. the ABoxes are constructed in a monotonic way, i.e., each rule adds assertions, nothing is removed 3. concept assertions added are restricted to sub(o) and # sub(o) Σ C D O (2 + C + D ) + Σ a: C O C because, at each position in a concept, at most one sub-concept starts 4. due to blocking, there can be at most 2 # sub(o) individuals in each ABox: if {C a: C A} {C b: C A}, a is blocked and no rules are applied to a. Eventually, all ABoxes will be complete (and possibly have a clash), and the algorithm terminates. 17

Regarding Corollary 1.2 If we start the algorithm with {a: C} to test satisfiability of C, and construct ABox in non-deterministic depth-first manner rather than constructing set of ABoxes so that we only consider a single ABox and re-use space for branches already visited, mark b: R.C A with todo or done we can run tableau algorithm (even without blocking) in polynomial space: ABox is of depth bounded by C, and we keep only a single branch in memory at any time. 18

Regarding Corollary 1.3 If we start the algorithm with O to test its consistency, and construct ABox in non-deterministic depth-first manner rather than constructing set of ABoxes so that we only consider a single ABox we can run tableau algorithm in exponential space: number of individuals in ABox is bounded by 2 # sub(o) This is not optimal: we will see tomorrow that consistency of ALC ontologies is decidable in exponential time, in fact ExpTime-complete. 19

Proof of Lemma 3.2: Soundness (2) Let A f be a complete & clash-free ABox generated for O = (T, A), and let B f be A f without assertions involving blocked individuals. Define an interpretation I as follows: I := {x x is an individual in B f } A I := {x I x: A B f } for concept names A r I := {(x, y) I I (x, y): r B f or (x, y ): r A f and y blocks y in A f } and show, by induction on structure of concepts: (C1) x: D B f implies x D I (C2) C D T implies C I D I I is a model of (T, B f ) (I satisfies all role assertions by definition) I is a model of (T, A) because A B f O = (T, A) is consistent 20

Proof of Lemma 3.2: Soundness II I := {x x is an individual in B f } A I := {x I x: A B f } for concept names A r I := {(x, y) I I (x, y): r B f or (x, y ): r B f and y blocks y } Show, by induction on structure of concepts: (C1) x: D B f implies x D I for concept names D: by definition of I for negated concept names D: due to clash-freeness and induction for conjunctions/disjunctions/existential restrictions/universal restrictions D: due to completeness and by induction 21

Proof of Lemma 3.2: Soundness III I := {x x is an individual in B f } A I := {x I x: A B f } for concept names A r I := {(x, y) I I (x, y): r B f or (x, y ): r B f and y blocks y } (C2): C D T implies C I D I This is an immediate consequence of I being a set of individual names in A f, A f being complete the GCI-rule is not applicable if C D T : if C is a concept name x C I, then x: C B f, and thus x: D B f else, x: ( C D) B f (C1) 22

Proof of Lemma 3.3: Completeness (3) Let O be consistent, and let I be a model of O. Use I to identify a clash-free & complete ABox: Inductively define a total mapping π : ABox π Model of O C start with π(a) = a I, and show that each rule can be applied such that ( ) is preserved π π ( ) if x: C A, then π(x) C I if (x, y): r A, then π(x), π(y) r I easy for -, -, and the GCI-rule, for -rule, we need to extend π to the newly created r-successor for -rule, if C 1 C 2 : x A, ( ) implies that π(x) (C 1 C 2 ) I we can choose A i = A {x: C i } with π(x) C I i and thus preserve ( ) easy to see: ( ) implies that ABox is clash-free 23

Proof of Lemma 3: Harvest Consider the model I constructed for a clash-free, complete ABox in soundness proof: I is finite because ABox has finitely many individuals a tree if blocking has not occurred not a tree if blocking has occurred: but it can be unravelled into an (infinite) tree model Hence we get Corollary 1.4 and 1.5 for (almost) free from our proof: Corollary 1: 4. ALC ontologies have the finite model property i.e., every consistent ontology has a finite model. 5. ALC ontologies have the tree model property i.e., every consistent ontology has a tree model. 24

A tableau algorithm for ALC ontologies: Summary The tableau algorithm presented here decides consistency of ALC ontologies, and thus also all other standard reasoning problems uses blocking to ensure termination, and can be implemented as such or using a non-deterministic alternative for the -rule and backtracking. in the worst case, it builds ABoxes that are exponential in the size of the input. Hence it runs in (worst case) ExpSpace, can be implemented in various ways, order/priorities of rules data structure etc. is amenable to optimisations... 25

Implementing the ALC Tableau Algorithm Naive implementation of ALC tableau algorithm is doomed to failure: It constructs a set of ABoxes, each ABox being of possibly exponential size, with possibly exponentially many individuals (see binary counting example) in the presence of a GCI such as (C 1 D 1 )... (C n D n ) and exponentially many individuals, algorithm might generate double exponentially many ABoxes requires double exponential space or use non-deterministic variant and backtracking to consider one ABox at a time requires exponential space 26

Implementing the ALC Tableau Algorithm Optimisations are crucial concern every aspect of the algorithm help in many cases (which?) are implemented in various DL reasoners e.g., FaCT++, Pellet, RacerPro In the following: a selection of some vital optimisations 27

Optimising the ALC Tableau Algorithm: Classification Reasoners provides service classify all concept names T, i.e., for all concept names C, D in T, reasoner decides does T = C D? test consistency of T {a: (C D)} n 2 consistency tests! Goal: reduce number of consistency tests when classifying TBox Idea 1: trickle new concept C into hierarchy computed so far C D i w.r.t. T? NO D 1 D 2 YES E 1 E 2 C D i w.r.t. T? 28

Optimising the ALC Tableau Algorithm: Classification II Reasoners provides service classify all concept names T, i.e., for all concept names C, D in T, reasoner decides does T = C D? test consistency of T {a: (C D)} n 2 consistency tests! Goal: reduce number of consistency tests when classifying TBox Idea 1: trickle new concept C into hierarchy computed so far C D i w.r.t. T? NO D 1 D 2 YES E 1 E 2 C D i w.r.t. T? 29

Optimising the ALC Tableau Algorithm: Classification III Reasoners provides service classify all concept names T, i.e., for all concept names C, D in T, reasoner decides does T = C D? test consistency of T {a: (C D)} n 2 consistency tests! Goal: reduce number of consistency tests when classifying TBox Idea 1: trickle new concept C into hierarchy computed so far C D i w.r.t. T? NO D 1 D 2 YES E 1 E 2 C E i w.r.t. T? 30

Optimising the ALC Tableau Algorithm: Classification IV Reasoners provides service classify all concept names T, i.e., for all concept names C, D in T, reasoner decides does T = C D? test consistency of T {a: (C D)} n 2 consistency tests! Goal: reduce number of consistency tests when classifying TBox Idea 2: maintain graph with a node for each concept name edges representing subsumption, disjointness (T = A B), and non-subsumption initialise graph with all obvious information in T to avoid testing subsumption, exploit all info in ABox during tableau algorithm to update graph transitivity of subsumption and its interaction with disjointness 31

Optimising the ALC Tableau Algorithm: Absorption Remember: for T = {C i D i 1 i n}, where no C i is a concept name, each individual x will have n disjunctions x: ( C i D i ) due to GCI-rule: if C D T, a is not blocked, and if C is a concept name, a: C A but a: D A, then replace A with A {a: D} else if a: ( C D) A for a in A, then replace A with A {a: ( C D)} Problem: high degree of choice and huge search space blows up set of ABoxes Observation: many GCIs are of the form A... C for concept name A e.g., Human... C or Device... C 32

Optimising the ALC Tableau Algorithm: Absorption Idea: localise GCIs to concept names by transforming A X C into equivalent A X C e.g., Human owns.pet C becomes Human owns.pet C For absorbed T = {A i D i 1 i n 1 } {C i D i 1 i n 2 } the second, non-deterministic choice in GCI-rule is taken only n 2 times. GCI-rule: if C D T, a is not blocked, and if C is a concept name, a: C A but a: D A, then replace A with A {a: D} else if a: ( C D) A for a in A, then replace A with A {a: ( C D)} Observations: If no GCI is absorbable, nothing changes Each absorption saves 1 disjunction per individual outside A i, in the best case, this avoids almost all disjunctions from TBox axioms! 33

Optimising the ALC Tableau Algorithm: Backjumping Remember If a clash is encountered, non-deterministic algorithm backtracks i.e., returns to last non-deterministic choice and tries other possibility Example x: R.(A B) ((C 1 D 1 )... (C n D n )) R. A L(x) {C n-1} x L(x) {C 1 } L(x) { C 1, D 1 } x x L(x) { C 2, D 2 } L(x) {C n } x x L(x) { C n, D n } L(y) = {(A B), A, A, B} R y Clash R y L(y) = {(A B), A, A, B} Clash Clash... Clash 34

Optimising the ALC Tableau Algorithm: Backjumping Remember If a clash is encountered, non-deterministic algorithm backtracks i.e., returns to last non-deterministic choice and tries other possibility Example x: R.(A B) ((C 1 D 1 )... (C n D n )) R. A L(x) {C n-1} x L(x) {C 1 } L(x) { C 1, D 1 } x x L(x) { C 2, D 2 } L(x) {C n } x x L(x) { C n, D n } L(y) = {(A B), A, A, B} R y Clash 35

Optimising the ALC Tableau Algorithm: Backjumping Remember If a clash is encountered, non-deterministic algorithm backtracks i.e., returns to last non-deterministic choice and tries other possibility Example x: R.(A B) ((C 1 D 1 )... (C n D n )) R. A L(x) {C n-1} x L(x) {C 1 } L(x) { C 1, D 1 } x x L(x) { C 2, D 2 } L(x) {C n } x x L(x) { C n, D n } L(y) = {(A B), A, A, B} R y Clash y R L(y) = {(A B), A, A, B} Clash Clash... Clash 36

Optimising the ALC Tableau Algorithm: Backjumping Remember If a clash is encountered, non-deterministic algorithm backtracks i.e., returns to last non-deterministic choice and tries other possibility Example x: R.(A B) ((C 1 D 1 )... (C n D n )) R. A L(x) {C n-1} x L(x) {C 1 } L(x) { C 1, D 1 } x x L(x) { C 2, D 2 } L(x) {C n } x x L(x) { C n, D n } L(y) = {(A B), A, A, B} R y Clash y R L(y) = {(A B), A, A, B} Clash Clash... Clash 37

Optimising the ALC Tableau Algorithm: SAT Optimisations Finally: ALC extends propositional logic heuristics developed for SAT are relevant Summing up: optimisations are possible at each aspect of tableau algorithm can dramatically enhance performance do they interact? how? which combination works best for which cases? is the optimised algorithm still correct? 38

Stuff seen today so far standard reasoning problems for ALC ontologies and their relationship & reducibility tableau algorithm for ALC ontologies that requires blocking for termination is a decision procedure for all standard ALC reasoning problems works on a set of ABoxes or in a non-deterministic way with backtracking is implemented in state-of-the-art reasoners proof of soundness, completeness, and termination of tableau algorithm some optimisations Next: extension to more expressive DLs 39

A tableau algorithm for ALCI ontologies Example: Does parent. child.blond Blond w.r.t. T = { parent. }? Motivation: with inverse roles, one can use both has-child and is-child-of has-part and is-part-of...... and capture their interaction ALCI is the extension of ALC with inverse roles R in the place of role names: (r ) I := { y, x x, y r I }. Example: Does parent. parent.blond Blond w.r.t. T = { parent. }? Is r. s.a satisfiable w.r.t. T = { s. r. A}? 40

A tableau algorithm for ALCI ontologies Modifications necessary to handle inverse roles: consider role assertions in both directions 1 introduce Inv(r) = { r if r is a role name s if r = s 2 call y an r-neighbour of x if either (x, y): r A or (y, x): Inv(r) A 3 substitute (x, y): r A in the - and -rule with has an r-neighbour y... 41

Tableau Expansion Rules for ALCI -rule: if a: C 1 C 2 A, a is not blocked, and {a: C 1, a: C 2 } A then replace A with A {a: C 1, a: C 2 } -rule: if a: C 1 C 2 A, a is not blocked, and {a: C 1, a: C 2 } A = then replace A with A {a: C 1 } and A {a: C 2 } -rule: if a: s.c A, a is not blocked, and there is no s-neighbour b of a with b: C A then create a new individual c and replace A with A {(a, c): s, c: C} -rule: if a: s.c A, and a has an s-neighbour b in A that is not blocked with b: C A GCI-rule: if then replace A with A {b: C} C D T, a is not blocked, and if C is a concept name, a: C A but a: D A, then replace A with A {a: D} else if a: ( C D) A for a in A, then replace A with A {a: ( C D)} 42

A tableau algorithm for ALCI ontologies Example: Is A satisfiable w.r.t. {A R.A ( R.( A S.B))}? Is B satisfiable w.r.t. {B R.B R. R.(A A)}? 43

A tableau algorithm for ALCI ontologies Example: Is A satisfiable w.r.t. {A R.A ( R.( A S.B))}? Is B satisfiable w.r.t. {B R.B R. R.(A A)}? The algorithm is no longer sound! subset-blocking ( {C a: C A} {C b: C A}) no longer suffices: In case we have a freshly introduced individual (i.e., not present in input ontology) a, an individual b with L(a) := {C a: C A} = {C b: C A} =: L(b), b is older than a (i.e., b was introduced earlier than a) we say b blocks a and we say a is blocked. 44

A tableau algorithm for ALCI ontologies Lemma 4: Let O be an ALCI ontology in NNF. Then 1. the algorithm terminates when applied to O 2. if the rules generate a complete & clash-free ABox, then O is consistent 3. if O is consistent, then the rules generate a clash-free & complete ABox 45

A tableau algorithm for ALCI ontologies Proof: 1. (Termination): identical to the ALC case. 2. (Soundness): again, construct a finite (non-tree) model from a complete, clash-free ABox A f for O I :=... A I :=... r I := { x, y I2 y is or blocks an r-neighbour of x or } Again, prove that, for all x I : (C1) x: D B f implies x D I (C2) C D O implies C I D I I is a model of (T, B f ) (I defines all role assertions by definition) I is a model of (T, A) because A B f O = (T, A) is consistent 46

A tableau algorithm for ALCI ontologies 3. Completeness: again, use model I of O and a mapping π to find a complete & clash-free ABox. Corollary: Consistency of ALCI ontologies is decidable ALCI has the finite model property It can be shown that pure ALCI-concept satisfiability (without TBoxes) is PSpace-complete, just like ALC these algorithms can be extended to ABoxes and thus ontology consistency; rather straighforward 47

Even more expressive DLs Most reasoners support more expressive DLs, in particular with number restrictions (aka cardinality restrictions or counting quantifiers). They generalize existential restrictions r.c there is at least one r-successor that is an instance of C to at-least restrictions ( n r.c) there are n r-successors that are instances of C, for a non-neg. integer n, e.g., Bike ( 2hasPart.Wheel) universal restrictions r.c there are zero r-successor that are instances of C to at-most restrictions ( n r.d) there are at most n r-successors that are instances of D for a non-neg. integer n, e.g., Bike ( 2hasPart.Wheel) 48

The DL ALCQI ALCQI is the extension of ALCI with cardinality restrictions, i.e., concepts are built like ALCI concepts, plus ( n r.c) and ( n r.c), where C is an ALCQI concept. An interpretation I has to satisfy, in addition: ( n r.c) I = {x I {y (x, y) r I and y C I } n} ( n r.c) I = {x I {y (x, y) r I and y C I } n} TBoxes, ABoxes, and Ontologies are defined analogously. Observation: ALCQI ontologies do not enjoy the finite model property. Example: for T = {A r.a ( 1 r. )}, the concept ( A r.a) is satisfiable w.r.t. T, but only in infinite models. Question: Is ALCQI still decidable? 49

A Tableau algorithm for ALCQI ALCQI is decidable (in ExpTime), but tableau algorithm goes beyond scope of this course. Main changes to ALCI tableau required for handling cardinality restrictions: blocking: ALC: subset blocking ALCI: equality blocking ALCQI: double equality blocking (between 2 pairs of individuals) new rules: (obvious) -rule that generates n r-neighbours in C for ( n r.c) (obvious) -rule that merges r-neighbours in C for ( n r.c) in case there are more than n?-rule to determine/guess, for x: ( n r.c), which of x s r-successors are Cs (and which are Cs) 50

A Tableau algorithm for ALCQI ALCQI is decidable (in ExpTime), but tableau algorithm goes beyond scope of this course. Main changes to ALCI tableau required for handling cardinality restrictions: tableau algorithm is no longer monotonic (because -rule merges individuals) yo-yo effect might lead to non-termination use explicit inequality relation on individuals, to avoid yo-yo-ing, e.g., when x: ( 3 r. ) leads to generation of r-successors of x via -rule in case there are less than 3 of them in r x: ( 2 r. ) leads to merging of r-successors of x via -rule if there are more than 2 of them 51

Thank you for your attention! 52