2. A tableau algorithm for ALC with TBoxes, number restrictions, and inverse roles Extend ALC -tableau algorithm from first session with ① general TBoxes ② inverse roles ③ number restrictions Goal: Design sound and complete desicion procedures for satisfiability (and subsumption) of DLs which are well-suited for implementation purposes TU Dresden 1 Germany
A tableau algorithm for ALC with general TBoxes Remember: • A concept equation is of the form C . = D for C , D (complex) concepts • A (general) TBox is a finite set of concept equations • I satisfies C . = D iff C I = D I • I is a model of TBox T = { C i . = D i | 1 ≤ i ≤ n } iff I satisfies each concept equation in T Extend ALC tableau algorithm to TBox � transform a TBox T = { C i . = D i | 1 ≤ i ≤ n } , into a single, equivalent concept equation ⊤ . 1 ≤ i ≤ n ( ¬ C i ⊔ D i ) ⊓ ( C i ⊔ ¬ D i ) = ⊓ =: C T , 1 ≤ i ≤ n ( C i ⇔ D i ) ⊓ TU Dresden 2 Germany
A tableau algorithm for ALC with general TBoxes Extend ALC -tableau algorithm with the following rule: → CE : If C T �∈ L ( x ) Then L ( x ) → L ( x ) ∪ { C T } Example: Consider TBox { C . = ∃ R.C } . Is C satisfiable w.r.t. this TBox? Tableau algorithm no longer terminates! Reason: The role depth of concepts no longer decreases along paths in a completion tree TU Dresden 3 Germany
A tableau algorithm for ALC with general TBoxes Regain termination with cycle-detection Blocking: if x and one of its ancestors y are very similar, only extend y : • x is directly blocked if it has an ancestor y with L ( x ) ⊆ L ( y ) • In this case and if y is the “closest” such node to x , we say that x is blocked by y • A node is blocked if it is directly blocked or one of its ancestors is blocked ⊕ restrict the application of all rules to nodes which are not blocked � Tableau algorithm for ALC w.r.t. TBoxes TU Dresden 4 Germany
A tableau algorithm for ALC with general TBoxes Lemma: Let T be a general ALC -Tbox and C 0 an ALC -concept. Then 1. the algorithm terminates when applied to T and C 0 and 2. the rules can be applied such that they generate a clash-free and complete completion tree iff C 0 is satisfiable w.r.t. T . Corollary: Satisfiability of ALC -concept w.r.t. general TBoxes is decidable and ALC has the finite model property. TU Dresden 5 Germany
A tableau algorithm for ALC with general TBoxes Proof: 1.(Termination): blackboard 2. ⇒ Soundness: for T a complete, clash-free completion tree for C 0 and T , construct a finite (non-tree) model as follows: ∆ I := { x | x is a node in T , x is not blocked } A I := { x ∈ ∆ I | A ∈ L ( x ) } for concept names A R I := {� x, y � ∈ ∆ I 2 | � x, y � ∈ E ( R ) or for role names R � x, y ′ � ∈ E ( R ) and y blocks y ′ } Prove (by induction on the structure of concepts) that, for all x ∈ ∆ I , C ∈ sub ( C 0 , T ) : C ∈ L ( x ) implies x ∈ C I . Then, since C 0 is in the label of the root node and C T in the label of all nodes, I is indeed a model of C 0 and T . TU Dresden 6 Germany
A tableau algorithm for ALC with general TBoxes 3. ⇐ (Completeness): use model I of C 0 and T to steer the application of the → ⊔ -rule. Inductively define a mapping π : nodes of completion tree → ∆ I and show that L ( x ) ⊆ { C | π ( x ) ∈ C I } ( ∗ ) if � x, y � ∈ E ( R ) , then � π ( x ) , π ( y ) � ∈ R I TU Dresden 7 Germany
A tableau algorithm for ALCI with general TBoxes ALCI is the extension of ALC with inverse roles R − in the place of role names: ( R − ) I := {� y, x � | � x, y � ∈ R I } . Motivation: with inverse roles, one can use both has-child and is-child-of has-part and is-part-of and their interaction Example: w.r.t. T = {⊤ . = ∃ parent . ⊤} , does ∀ parent . ∀ child . Blond ⊑ Blond? . Example: T = { C = ∃ R.C ⊤ . = ∀ T − . ∀ S − . ∀ R − .C } and C 0 = ∃ R. ∃ S. ∃ T.A TU Dresden 8 Germany
A tableau algorithm for ALCI with general TBoxes Modifications necessary to handle inverse roles: ① extend edges E ( . ) in c-trees to inverse roles, ② call y an R - neighbour of x if either y is an R -successor of x or x is an R − successor of y , ③ substitute “ R -successor” in the → ∀ - and → ∃ -rule with “ R -neighbour” (still create an R - successor in case no R -neighbour exists for an ∃ R.C R − - successor in case no R − -neighbour exists for an ∃ R − .C ). Example: Is A satisfiable w.r.t. { A . = ∃ R − .A ⊓ ( ∀ R. ( ¬ A ⊔ ∃ S.B )) } ? Does this suffice? No! Example: A ⊓ ∀ R − . ¬ A ⊓ ∃ R.A and T = { A . = X } TU Dresden 9 Germany
A tableau algorithm for ALCI with general TBoxes “subset-blocking” (with L ( x ) ⊆ L ( x ′ ) ) no longer suffices: ④ A node x is called directly blocked if it has an ancestor y with L ( x ) = L ( y ) . Lemma: Let T be a general ALCI -Tbox and C 0 an ALCI -concept. Then 1. the algorithm terminates when applied to T and C 0 , 2. the rules can be applied such that they generate a clash-free and complete completion tree iff C 0 is satisfiable w.r.t. T . TU Dresden 10 Germany
A tableau algorithm for ALCI with general TBoxes Proof: 1.(Termination): identical to the ALC case. 2. ⇒ (Soundness): again, construct a finite (non-tree) model from a complete, clash-free c-tree T for C 0 and T (take into account edges labelled with inverse roles): ∆ I := { x | x is a node in T , x is not blocked } A I := { x ∈ ∆ I | A ∈ L ( x ) } for concept names A R I := {� x, y � ∈ ∆ I 2 | � x, y � ∈ E ( R ) , � y, x � ∈ E ( R − ) or for role names R � x, y ′ � ∈ E ( R ) and y blocks y ′ or � y, x ′ � ∈ E ( R − ) and x blocks x ′ } Again, prove that, for all x ∈ ∆ I : C ∈ L ( x ) implies x ∈ C I . TU Dresden 11 Germany
A tableau algorithm for ALCI with general TBoxes 3. ⇐ (Completeness): again, use model I of C 0 and T and mapping π to steer the application of the → ⊔ -rule. Corollary: Satisfiability of ALCI -concept w.r.t. general TBoxes is decidable and ALCI has the finite model property. It can be shown that pure ALCI -concept satisfiability is PSpace-complete , just like ALC . TU Dresden 12 Germany
A tableau algorithm for ALCQI with general TBoxes Further add qualifying number restrictions ( � nr.C ) and ( � nr.C ) : ( � nr.C ) I := { x ∈ ∆ I | # { y | � x, y � ∈ r I and y ∈ C I } ≥ n } ( � nr.C ) I := { x ∈ ∆ I | # { y | � x, y � ∈ r I and y ∈ C I } ≤ n } ALCQI is ALCI extended with qualifying number restrictions. Observation: ALCQI with general TBoxes looses finite model property: T := {⊤ . = ∃ R.A ⊓ ( � 1 R − . ⊤ ) } C 0 := ¬ A, C 0 is satisfiable w.r.t. T , but only in infinite models TU Dresden 13 Germany
A tableau algorithm for ALCQI with general TBoxes Obvious: 2 new rules for tableau algorithm → ≥ : If ( � nr.C ) ∈ L ( x ) , x is not blocked, and x has less than n R -neighbours y i with C ∈ L ( y i ) Then create n new R -successor y 1 , . . . , y n of x with L ( y i ) := { C } for each 1 ≤ i ≤ n → ≤ : If ( � nr.C ) ∈ L ( x ) , x is not indirectly blocked, x has n + 1 R -neighbours y 0 , . . . , y n with C ∈ L ( y i ) , and there are i, j with y j is not an ancestor of y i Then L ( y i ) → L ( y i ) ∪ L ( y j ) , make y j ’s successors to successors of y i , remove y j from the tree TU Dresden 14 Germany
A tableau algorithm for ALCQI with general TBoxes Use explicit inequality � . = to prevent “yoyo” effect → ≥ : If ( � nr.C ) ∈ L ( x ) , x is not blocked, and x has less than n R -neighbours y i with C ∈ L ( y i ) Then create n new R -successor y 1 , . . . , y n of x with L ( y i ) := { C } for each 1 ≤ i ≤ n and y i � . = y j for all i � = j → ≤ : If ( � nr.C ) ∈ L ( x ) , x is not indirectly blocked, x has n + 1 R -neighbours y 0 , . . . , y n with C ∈ L ( y i ) , and there are i, j with not y i � . = y j and y j is not an ancestor of y i Then L ( y i ) → L ( y i ) ∪ L ( y j ) , make y j ’s successors to successors of y i , add y i � . = z for each z with y j � . = z , remove y j from the tree TU Dresden 15 Germany
A tableau algorithm for ALCQI with general TBoxes Extend definition of a clash to NRs: Additionally, x contains a clash if • ( � nr.C ) ∈ L ( x ) and • x has more than n R -neighbours y 0 , . . . , y n with y i � . = y j for all i � = j . Does this suffice? No: ( � 1 R.A ) ⊓ ( � 1 R. ¬ A ) ⊓ ( � 3 R.B ) is unsatisfiable , but the algorithm would answer “satisfiable” Reason: if ( � nR.C ) ∈ L ( x ) and x has an R -neighbour y , we need to know whether x is a C or x is a ¬ C . TU Dresden 16 Germany
A tableau algorithm for ALCQI with general TBoxes Solution: ① use ˙ ¬ C as an abbreviation for the NNF of ¬ C , ② extend the node labels to cl ( C 0 , T ) := sub ( C 0 , T ) ∪ { ˙ ¬ C | C ∈ sub ( C 0 , T ) } ② add a third new rule: → choice : If ( � nR.C ) ∈ L ( x ) , x is not indirectly blocked, x has an R -neighbour y with { C, ˙ ¬ C } ∩ L ( y ) = ∅ Then L ( y ) → L ( y ) ∪ { D } for some D ∈ { C, ˙ ¬ C } Does this suffice? No . . . TU Dresden 17 Germany
Recommend
More recommend