We consider function-free existential
rules extended with nonmonotonic negation under
a stable model semantics. We present new acyclicity and stratification conditions that identify a large
class of rule sets having finite, unique stable models, and we show how the addition of constraints on
the input facts can further extend this class. Checking these conditions is computationally feasible,
and we provide tight complexity bounds. Finally,
we demonstrate how these new methods allowed
us to solve relevant reasoning problems over a real-world knowledge base from biochemistry using an
off-the-shelf answer set programming engine.
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Computing Stable Models for Nonmonotonic Existential Rules
1. COMPUTING STABLE MODELS FOR
NONMONOTONIC EXISTENTIAL RULES
Despoina Magka, Markus Krötzsch, Ian Horrocks
Department of Computer Science, University of Oxford
IJCAI, 2013
2. THE OWLS ARE NOT WHAT THEY SEEM
OWL widely used for authoring biomedical ontologies
1
3. THE OWLS ARE NOT WHAT THEY SEEM
OWL widely used for authoring biomedical ontologies
1
4. THE OWLS ARE NOT WHAT THEY SEEM
OWL widely used for authoring biomedical ontologies
Not marked for its ability to model cyclic structures
1
5. THE OWLS ARE NOT WHAT THEY SEEM
OWL widely used for authoring biomedical ontologies
Not marked for its ability to model cyclic structures
Such structures abound in life science (and other) domains
1
6. THE OWLS ARE NOT WHAT THEY SEEM
OWL widely used for authoring biomedical ontologies
Not marked for its ability to model cyclic structures
Such structures abound in life science (and other) domains
hasParticipant
locatedIn
reactant
product
transportReaction 2-ketoglutarate-malate-antiport
2-ketoglutarate malate
2-ketoglutarate malate
mitochondrion
cytosol
1
7. NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body and
existentials in the head
B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk
2
8. NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body and
existentials in the head
B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk
Interpreted under stable model semantics
2
9. NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body and
existentials in the head
B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk
Interpreted under stable model semantics
Good for representing non-tree-shaped structures
2
10. NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body and
existentials in the head
B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk
Interpreted under stable model semantics
Good for representing non-tree-shaped structures
Existentials allow us to infer new structures
2
11. NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body and
existentials in the head
B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk
Interpreted under stable model semantics
Good for representing non-tree-shaped structures
Existentials allow us to infer new structures
Nonmonotonicity adds extra expressivity in modelling
2
12. NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body and
existentials in the head
B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk
Interpreted under stable model semantics
Good for representing non-tree-shaped structures
Existentials allow us to infer new structures
Nonmonotonicity adds extra expressivity in modelling
Stable model semantics supported by many tools: DLV,
clasp, . . .
2
14. CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧
∧6
i=3h(yi)∧ ∧5
i=2 bond(y1, yi) ∧ bond(y2, y6)
3
15. CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtom
bond
c o
h
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧
∧6
i=3h(yi)∧ ∧5
i=2 bond(y1, yi) ∧ bond(y2, y6)
3
16. CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtom
bond
c o
h
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧
∧6
i=3h(yi)∧ ∧5
i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧
h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
3
17. CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtom
bond
c o
h
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧
∧6
i=3h(yi)∧ ∧5
i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧
h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
methanol organicHydroxy
3
18. CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtom
bond
c o
h
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧
∧6
i=3h(yi)∧ ∧5
i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧
h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
methanol organicHydroxy
3
19. CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtom
bond
c o
h
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧
∧6
i=3h(yi)∧ ∧5
i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧
h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
methanol organicHydroxy methanol hasOxygen
3
21. CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ c(y1)
∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)
∧ bond(y2, y3)
4
22. CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
hasAtom
bond
c o
h
h
organicHydroxy
g1(h)
g2(h) g3(h)
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ c(y1)
∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)
∧ bond(y2, y3)
4
23. CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
hasAtom
bond
c o
h
h
organicHydroxy
g1(h)
g2(h) g3(h)
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ c(y1)
∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
4
24. CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
hasAtom
bond
c o
h
h
organicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ c(y1)
∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
organicHydroxy hasOxygen
4
36. WHAT’S THE PROBLEM?
Reasoning is undecidable
(even fact entailment, even without not)
many known conditions for regaining decidability
acyclicity conditions ensure finite models: (super)-weak
acyclicity, joint acyclicity, aGRD, MSA, MFA, . . .
7
37. WHAT’S THE PROBLEM?
Reasoning is undecidable
(even fact entailment, even without not)
many known conditions for regaining decidability
acyclicity conditions ensure finite models: (super)-weak
acyclicity, joint acyclicity, aGRD, MSA, MFA, . . .
Reasoning is hard (even for finite models)
7
38. WHAT’S THE PROBLEM?
Reasoning is undecidable
(even fact entailment, even without not)
many known conditions for regaining decidability
acyclicity conditions ensure finite models: (super)-weak
acyclicity, joint acyclicity, aGRD, MSA, MFA, . . .
Reasoning is hard (even for finite models)
stable models lead to non-determinism
stratification conditions ensure determinism
7
39. WHAT’S THE PROBLEM?
Reasoning is undecidable
(even fact entailment, even without not)
many known conditions for regaining decidability
acyclicity conditions ensure finite models: (super)-weak
acyclicity, joint acyclicity, aGRD, MSA, MFA, . . .
Reasoning is hard (even for finite models)
stable models lead to non-determinism
stratification conditions ensure determinism
Stratification
Stable model uniqueness
Deterministic reasoning
7
43. RESULTS OVERVIEW
1 R-acyclicity and R-stratification conditions
R-stratification ensures stable model uniqueness
Both coNP-complete to check
9
44. RESULTS OVERVIEW
1 R-acyclicity and R-stratification conditions
R-stratification ensures stable model uniqueness
Both coNP-complete to check
2 Complexity of reasoning
Fact entailment Program comp. Data comp.
R-acyclic coN2ExpTime-complete coNP-complete
R-acyclic+R-stratified 2ExpTime-complete PTime-complete
9
45. RESULTS OVERVIEW
1 R-acyclicity and R-stratification conditions
R-stratification ensures stable model uniqueness
Both coNP-complete to check
2 Complexity of reasoning
Fact entailment Program comp. Data comp.
R-acyclic coN2ExpTime-complete coNP-complete
R-acyclic+R-stratified 2ExpTime-complete PTime-complete
3 Generalise R-acyclicity and R-stratification with constraints
new conditions ΠP
2 -complete to check
9
46. RESULTS OVERVIEW
1 R-acyclicity and R-stratification conditions
R-stratification ensures stable model uniqueness
Both coNP-complete to check
2 Complexity of reasoning
Fact entailment Program comp. Data comp.
R-acyclic coN2ExpTime-complete coNP-complete
R-acyclic+R-stratified 2ExpTime-complete PTime-complete
3 Generalise R-acyclicity and R-stratification with constraints
new conditions ΠP
2 -complete to check
4 Experiments over ChEBI with DLV
Performance gains in DLV using R-stratification
Missing subsumptions from ChEBI ontology
9
47. POSITIVE RELIANCES
Rule r2 positively relies on r1 (written r1
+
−→ r2): there is a
situation when r1 can trigger r2 to derive something new
10
48. POSITIVE RELIANCES
Rule r2 positively relies on r1 (written r1
+
−→ r2): there is a
situation when r1 can trigger r2 to derive something new
EXAMPLE
r1 : ∧3
i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧
bond(z1, z2) ∧ bond(z2, z3) → organicHydroxy(x)
r2 : organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧
c(y1) ∧ o(y2) ∧ h(y3) ∧
bond(y1, y2) ∧ bond(y2, y3)
10
49. POSITIVE RELIANCES
Rule r2 positively relies on r1 (written r1
+
−→ r2): there is a
situation when r1 can trigger r2 to derive something new
EXAMPLE
r1 : ∧3
i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧
bond(z1, z2) ∧ bond(z2, z3) → organicHydroxy(x)
r2 : organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧
c(y1) ∧ o(y2) ∧ h(y3) ∧
bond(y1, y2) ∧ bond(y2, y3)
r1
+
−→ r2
10
50. POSITIVE RELIANCES
Rule r2 positively relies on r1 (written r1
+
−→ r2): there is a
situation when r1 can trigger r2 to derive something new
EXAMPLE
r1 : ∧3
i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧
bond(z1, z2) ∧ bond(z2, z3) → organicHydroxy(x)
r2 : organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧
c(y1) ∧ o(y2) ∧ h(y3) ∧
bond(y1, y2) ∧ bond(y2, y3)
r1
+
−→ r2 but r2
+
−→ r1
10
51. POSITIVE RELIANCES
Rule r2 positively relies on r1 (written r1
+
−→ r2): there is a
situation when r1 can trigger r2 to derive something new
EXAMPLE
r1 : ∧3
i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧
bond(z1, z2) ∧ bond(z2, z3) → organicHydroxy(x)
r2 : organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧
c(y1) ∧ o(y2) ∧ h(y3) ∧
bond(y1, y2) ∧ bond(y2, y3)
r1
+
−→ r2 but r2
+
−→ r1
NP-complete to check
(but only w.r.t. the size of the rules)
10
52. POSITIVE RELIANCES
Rule r2 positively relies on r1 (written r1
+
−→ r2): there is a
situation when r1 can trigger r2 to derive something new
EXAMPLE
r1 : ∧3
i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧
bond(z1, z2) ∧ bond(z2, z3) → organicHydroxy(x)
r2 : organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧
c(y1) ∧ o(y2) ∧ h(y3) ∧
bond(y1, y2) ∧ bond(y2, y3)
r1
+
−→ r2 but r2
+
−→ r1
NP-complete to check
(but only w.r.t. the size of the rules)
10
53. R-ACYCLICITY
A program is R-acyclic: there is no cycle of positive
reliances that involves a rule with an existential
Checking R-acyclicity is coNP-complete
Similar to -stratification [Deutsch et al., PODS, 2008];
extension of aGRD [Baget et al., RR, 2011]
11
54. R-ACYCLICITY
A program is R-acyclic: there is no cycle of positive
reliances that involves a rule with an existential
Checking R-acyclicity is coNP-complete
Similar to -stratification [Deutsch et al., PODS, 2008];
extension of aGRD [Baget et al., RR, 2011]
Fact entailment for R-acyclic programs
Stable models bounded in size (double exp),
but many models possible
11
55. R-ACYCLICITY
A program is R-acyclic: there is no cycle of positive
reliances that involves a rule with an existential
Checking R-acyclicity is coNP-complete
Similar to -stratification [Deutsch et al., PODS, 2008];
extension of aGRD [Baget et al., RR, 2011]
Fact entailment for R-acyclic programs
Stable models bounded in size (double exp),
but many models possible
coN2ExpTime-complete w.r.t. program complexity
11
56. R-ACYCLICITY
A program is R-acyclic: there is no cycle of positive
reliances that involves a rule with an existential
Checking R-acyclicity is coNP-complete
Similar to -stratification [Deutsch et al., PODS, 2008];
extension of aGRD [Baget et al., RR, 2011]
Fact entailment for R-acyclic programs
Stable models bounded in size (double exp),
but many models possible
coN2ExpTime-complete w.r.t. program complexity
11
57. R-ACYCLICITY
A program is R-acyclic: there is no cycle of positive
reliances that involves a rule with an existential
Checking R-acyclicity is coNP-complete
Similar to -stratification [Deutsch et al., PODS, 2008];
extension of aGRD [Baget et al., RR, 2011]
Fact entailment for R-acyclic programs
Stable models bounded in size (double exp),
but many models possible
coN2ExpTime-complete w.r.t. program complexity
coNP-complete w.r.t. data complexity
11
58. NEGATIVE RELIANCES
Rule r2 negatively relies on r1 (written r1
−
−→ r2): there is a
situation when r1 can inhibit the application of r2
12
59. NEGATIVE RELIANCES
Rule r2 negatively relies on r1 (written r1
−
−→ r2): there is a
situation when r1 can inhibit the application of r2
EXAMPLE
r1 : ∧3
i=1 hasAtom(x, zi) ∧ c(z1) ∧
o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧
bond(z2, z3) ∧ not gh(z1) ∧
not gh(z2) ∧ not gh(z3) → organicHydroxy(x) ∧ rh(x)
r2 : organicHydroxy(x) ∧ not rh(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi)
∧ c(y1) ∧ o(y2) ∧ h(y3) ∧
bond(y1, y2) ∧ bond(y2, y3)
∧ gh(y1) ∧ gh(y2) ∧ gh(y3)
12
60. NEGATIVE RELIANCES
Rule r2 negatively relies on r1 (written r1
−
−→ r2): there is a
situation when r1 can inhibit the application of r2
EXAMPLE
r1 : ∧3
i=1 hasAtom(x, zi) ∧ c(z1) ∧
o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧
bond(z2, z3) ∧ not gh(z1) ∧
not gh(z2) ∧ not gh(z3) → organicHydroxy(x) ∧ rh(x)
r2 : organicHydroxy(x) ∧ not rh(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi)
∧ c(y1) ∧ o(y2) ∧ h(y3) ∧
bond(y1, y2) ∧ bond(y2, y3)
∧ gh(y1) ∧ gh(y2) ∧ gh(y3)
r1
−
−→ r2
12
61. NEGATIVE RELIANCES
Rule r2 negatively relies on r1 (written r1
−
−→ r2): there is a
situation when r1 can inhibit the application of r2
EXAMPLE
r1 : ∧3
i=1 hasAtom(x, zi) ∧ c(z1) ∧
o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧
bond(z2, z3) ∧ not gh(z1) ∧
not gh(z2) ∧ not gh(z3) → organicHydroxy(x) ∧ rh(x)
r2 : organicHydroxy(x) ∧ not rh(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi)
∧ c(y1) ∧ o(y2) ∧ h(y3) ∧
bond(y1, y2) ∧ bond(y2, y3)
∧ gh(y1) ∧ gh(y2) ∧ gh(y3)
r1
−
−→ r2 but r2
−
−→ r1
12
62. NEGATIVE RELIANCES
Rule r2 negatively relies on r1 (written r1
−
−→ r2): there is a
situation when r1 can inhibit the application of r2
EXAMPLE
r1 : ∧3
i=1 hasAtom(x, zi) ∧ c(z1) ∧
o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧
bond(z2, z3) ∧ not gh(z1) ∧
not gh(z2) ∧ not gh(z3) → organicHydroxy(x) ∧ rh(x)
r2 : organicHydroxy(x) ∧ not rh(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi)
∧ c(y1) ∧ o(y2) ∧ h(y3) ∧
bond(y1, y2) ∧ bond(y2, y3)
∧ gh(y1) ∧ gh(y2) ∧ gh(y3)
r1
−
−→ r2 but r2
−
−→ r1
Polynomial time to check
12
63. R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . , Pn of
P such that for Pi, Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:
if r1
+
−→ r2 then i ≤ j and if r1
−
−→ r2 then i j.
13
64. R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . , Pn of
P such that for Pi, Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:
if r1
+
−→ r2 then i ≤ j and if r1
−
−→ r2 then i j.
EXAMPLE
r2r1 +
+
r3 r4 r5
r6
P1
P2
P3
−
++
+
+
+
−
13
65. R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . , Pn of
P such that for Pi, Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:
if r1
+
−→ r2 then i ≤ j and if r1
−
−→ r2 then i j.
EXAMPLE
r2r1 +
+
r3 r4 r5
r6
P1
P2
P3
S1
P
= TP1
(F)
−
++
+
+
+
−
13
66. R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . , Pn of
P such that for Pi, Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:
if r1
+
−→ r2 then i ≤ j and if r1
−
−→ r2 then i j.
EXAMPLE
r2r1 +
+
r3 r4 r5
r6
P1
P2
P3
S1
P
= TP1
(F)
S2
P
= TP2
(S1
P
)−
++
+
+
+
−
13
67. R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . , Pn of
P such that for Pi, Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:
if r1
+
−→ r2 then i ≤ j and if r1
−
−→ r2 then i j.
EXAMPLE
r2r1 +
+
r3 r4 r5
r6
P1
P2
P3
S1
P
= TP1
(F)
S2
P
= TP2
(S1
P
)
S3
P
= TP3
(S2
P
)
−
++
+
+
+
−
13
68. R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . , Pn of
P such that for Pi, Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:
if r1
+
−→ r2 then i ≤ j and if r1
−
−→ r2 then i j.
Strictly extends ‘classical’ stratification
ensures stable model uniqueness
coNP-complete to check
13
69. R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . , Pn of
P such that for Pi, Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:
if r1
+
−→ r2 then i ≤ j and if r1
−
−→ r2 then i j.
Strictly extends ‘classical’ stratification
ensures stable model uniqueness
coNP-complete to check
Fact entailment for R-acyclic, R-stratified programs
Stable models bounded in size (double exp),
and at most one stable model
13
70. R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . , Pn of
P such that for Pi, Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:
if r1
+
−→ r2 then i ≤ j and if r1
−
−→ r2 then i j.
Strictly extends ‘classical’ stratification
ensures stable model uniqueness
coNP-complete to check
Fact entailment for R-acyclic, R-stratified programs
Stable models bounded in size (double exp),
and at most one stable model
2ExpTime-complete w.r.t. program complexity
13
71. R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . , Pn of
P such that for Pi, Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:
if r1
+
−→ r2 then i ≤ j and if r1
−
−→ r2 then i j.
Strictly extends ‘classical’ stratification
ensures stable model uniqueness
coNP-complete to check
Fact entailment for R-acyclic, R-stratified programs
Stable models bounded in size (double exp),
and at most one stable model
2ExpTime-complete w.r.t. program complexity
PTime-complete w.r.t. data complexity
13
73. RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity and
R-stratification using constraints
EXAMPLE
r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z) → organic(x)
r2 : mol(x) ∧ not organic(x) → inorganic(x)
r3 : inorganic(x) → mol(x) ∧ geoOrigin(x)
14
74. RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity and
R-stratification using constraints
EXAMPLE
r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z) → organic(x)
r2 : mol(x) ∧ not organic(x) → inorganic(x)
r3 : inorganic(x) → mol(x) ∧ geoOrigin(x)
r1
−
−→ r2
+
−→ r3
+
−→ r1
14
75. RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity and
R-stratification using constraints
EXAMPLE
r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z) → organic(x)
r2 : mol(x) ∧ not organic(x) → inorganic(x)
r3 : inorganic(x) → mol(x) ∧ geoOrigin(x)
C = {inorganic(x) ∧ hasAtom(x, z) ∧ c(z) → ⊥}
r1
−
−→ r2
+
−→ r3
+
−→ r1
14
76. RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity and
R-stratification using constraints
EXAMPLE
r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z) → organic(x)
r2 : mol(x) ∧ not organic(x) → inorganic(x)
r3 : inorganic(x) → mol(x) ∧ geoOrigin(x)
C = {inorganic(x) ∧ hasAtom(x, z) ∧ c(z) → ⊥}
r1
−
−→ r2
+
−→ r3
+
−→ r1 but r3
+
−→C r1
14
77. RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity and
R-stratification using constraints
EXAMPLE
r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z) → organic(x)
r2 : mol(x) ∧ not organic(x) → inorganic(x)
r3 : inorganic(x) → mol(x) ∧ geoOrigin(x)
C = {inorganic(x) ∧ hasAtom(x, z) ∧ c(z) → ⊥}
r1
−
−→ r2
+
−→ r3
+
−→ r1 but r3
+
−→C r1
Slightly more complex to check:
Positive reliance Negative reliance R-acyclicity/R-stratification
ΣP
2 -complete in ∆P
2 ΠP
2 -complete
ΣP
2 -hardness follows from satisfiability of a QBF ∃p.∀q.ϕ
14
78. EXPERIMENTAL SETUP
Chemical Entities of Biological Interest
Reference terminology adopted for chemical annotation by
major bio-ontologies
~20,000 molecule and ~8,000 chemical class descriptions
ChEBI taxonomy manually curated
15
79. EXPERIMENTAL SETUP
Chemical Entities of Biological Interest
Reference terminology adopted for chemical annotation by
major bio-ontologies
~20,000 molecule and ~8,000 chemical class descriptions
ChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBI
that represented
15
80. EXPERIMENTAL SETUP
Chemical Entities of Biological Interest
Reference terminology adopted for chemical annotation by
major bio-ontologies
~20,000 molecule and ~8,000 chemical class descriptions
ChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBI
that represented
500 molecules
EXAMPLE
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6)
15
81. EXPERIMENTAL SETUP
Chemical Entities of Biological Interest
Reference terminology adopted for chemical annotation by
major bio-ontologies
~20,000 molecule and ~8,000 chemical class descriptions
ChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBI
that represented
500 molecules
30 molecular part descriptions
EXAMPLE
∧3
i=1 hasAtom(x, zi) ∧ . . . ∧
bond(z2, z3) ∧ not gh(z1)
∧ not gh(z2) ∧ not gh(z3) → organicHydroxy(x) ∧ rh(x)
organicHydroxy(x)∧ not rh(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3
i=1gh(yi)
15
82. EXPERIMENTAL SETUP
Chemical Entities of Biological Interest
Reference terminology adopted for chemical annotation by
major bio-ontologies
~20,000 molecule and ~8,000 chemical class descriptions
ChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBI
that represented
500 molecules
30 molecular part descriptions
50 chemical class descriptions
EXAMPLE
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
15
83. EXPERIMENTAL SETUP
Chemical Entities of Biological Interest
Reference terminology adopted for chemical annotation by
major bio-ontologies
~20,000 molecule and ~8,000 chemical class descriptions
ChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBI
that represented
500 molecules
30 molecular part descriptions
50 chemical class descriptions
78,957 rules in total (R-stratified and R-acyclic)
15
84. EXPERIMENTAL SETUP
Chemical Entities of Biological Interest
Reference terminology adopted for chemical annotation by
major bio-ontologies
~20,000 molecule and ~8,000 chemical class descriptions
ChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBI
that represented
500 molecules
30 molecular part descriptions
50 chemical class descriptions
78,957 rules in total (R-stratified and R-acyclic)
Used DLV for stable model computation
15
86. EMPIRICAL RESULTS
First attempt to compute the stable model of the overall
program P failed (no result after 600 secs)
Second attempt exploited partition of the program into two
rule sets according to R-stratification
16
87. EMPIRICAL RESULTS
First attempt to compute the stable model of the overall
program P failed (no result after 600 secs)
Second attempt exploited partition of the program into two
rule sets according to R-stratification
Split into lowest R-stratum P1
and remaining four upper R-strata P5
2
16
88. EMPIRICAL RESULTS
First attempt to compute the stable model of the overall
program P failed (no result after 600 secs)
Second attempt exploited partition of the program into two
rule sets according to R-stratification
Split into lowest R-stratum P1
and remaining four upper R-strata P5
2
Computed stable model S1
P
of P1 ∪ F
16
89. EMPIRICAL RESULTS
First attempt to compute the stable model of the overall
program P failed (no result after 600 secs)
Second attempt exploited partition of the program into two
rule sets according to R-stratification
Split into lowest R-stratum P1
and remaining four upper R-strata P5
2
Computed stable model S1
P
of P1 ∪ F
Computed stable model S5
P
of P5
2 ∪ S1
P
16
90. EMPIRICAL RESULTS
First attempt to compute the stable model of the overall
program P failed (no result after 600 secs)
Second attempt exploited partition of the program into two
rule sets according to R-stratification
Computed 8,639 subclass relations in 13.5 secs
16
91. EMPIRICAL RESULTS
First attempt to compute the stable model of the overall
program P failed (no result after 600 secs)
Second attempt exploited partition of the program into two
rule sets according to R-stratification
Computed 8,639 subclass relations in 13.5 secs
Revealed missing subsumptions from the ChEBI ontology
16
92. EMPIRICAL RESULTS
First attempt to compute the stable model of the overall
program P failed (no result after 600 secs)
Second attempt exploited partition of the program into two
rule sets according to R-stratification
Computed 8,639 subclass relations in 13.5 secs
Revealed missing subsumptions from the ChEBI ontology
E.g. organicHydroxy organoOxygenCompound
16
94. CONCLUSIONS
R-acyclicity and R-stratification conditions
(coNP-complete to check)
Fact entailment Program comp. Data comp.
R-acyclic coN2ExpTime-complete coNP-complete
R-acyclic+R-stratified 2ExpTime-complete PTime-complete
17
95. CONCLUSIONS
R-acyclicity and R-stratification conditions
(coNP-complete to check)
Fact entailment Program comp. Data comp.
R-acyclic coN2ExpTime-complete coNP-complete
R-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP
2 -complete to check)
17
96. CONCLUSIONS
R-acyclicity and R-stratification conditions
(coNP-complete to check)
Fact entailment Program comp. Data comp.
R-acyclic coN2ExpTime-complete coNP-complete
R-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP
2 -complete to check)
Performance gains in DLV new subsumptions in ChEBI
17
97. CONCLUSIONS
R-acyclicity and R-stratification conditions
(coNP-complete to check)
Fact entailment Program comp. Data comp.
R-acyclic coN2ExpTime-complete coNP-complete
R-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP
2 -complete to check)
Performance gains in DLV new subsumptions in ChEBI
Future directions:
More general notions of ‘rule’ + equality in rule heads
[LPNMR’13]
17
98. CONCLUSIONS
R-acyclicity and R-stratification conditions
(coNP-complete to check)
Fact entailment Program comp. Data comp.
R-acyclic coN2ExpTime-complete coNP-complete
R-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP
2 -complete to check)
Performance gains in DLV new subsumptions in ChEBI
Future directions:
More general notions of ‘rule’ + equality in rule heads
[LPNMR’13]
Compare performance with other ASP solvers
[chemical classification problem, ASPCOMP’13]
17
99. CONCLUSIONS
R-acyclicity and R-stratification conditions
(coNP-complete to check)
Fact entailment Program comp. Data comp.
R-acyclic coN2ExpTime-complete coNP-complete
R-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP
2 -complete to check)
Performance gains in DLV new subsumptions in ChEBI
Future directions:
More general notions of ‘rule’ + equality in rule heads
[LPNMR’13]
Compare performance with other ASP solvers
[chemical classification problem, ASPCOMP’13]
Thank you! Questions?!?
17