Upload
despoina-magka
View
916
Download
0
Embed Size (px)
DESCRIPTION
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.
Citation preview
COMPUTING STABLE MODELS FOR
NONMONOTONIC EXISTENTIAL RULES
Despoina Magka, Markus Krötzsch, Ian Horrocks
Department of Computer Science, University of Oxford
IJCAI, 2013
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
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
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
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
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
reactantproduct
transportReaction 2-ketoglutarate-malate-antiport
2-ketoglutarate malate
2-ketoglutarate malate
mitochondrion
cytosol
1
NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body andexistentials 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
NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body andexistentials 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
NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body andexistentials 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
NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body andexistentials 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
NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body andexistentials 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
NONMONOTONIC EXISTENTIAL RULES
Rules with nonmonotonic negation in the body andexistentials 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
CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtombond
c oh
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6
i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3i=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 v organicHydroxy 3 methanol v hasOxygen 3
3
CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtombond
c oh
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6
i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3i=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 v organicHydroxy 3 methanol v hasOxygen 3
3
CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtombond
c oh
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6
i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3i=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 v organicHydroxy 3 methanol v hasOxygen 3
3
CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtombond
c oh
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6
i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3i=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 v organicHydroxy 3 methanol v hasOxygen 3
3
CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtombond
c oh
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6
i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3i=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 v organicHydroxy 3
methanol v hasOxygen 3
3
CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtombond
c oh
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6
i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3i=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 v organicHydroxy 3
methanol v hasOxygen 3
3
CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
hasAtombond
c oh
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6
i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)
∧3i=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 v organicHydroxy 3 methanol v hasOxygen 3
3
CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
hasAtombond
c oh
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
organicHydroxy(x)→ ∃3i=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 v hasOxygen 3
4
CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
hasAtombond
c oh
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
organicHydroxy(x)→ ∃3i=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 v hasOxygen 3
4
CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
hasAtombond
c oh
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
organicHydroxy(x)→ ∃3i=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 v hasOxygen 3
4
CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
hasAtombond
c oh
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
organicHydroxy(x)→ ∃3i=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 v hasOxygen 3
4
CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
hasAtombond
c oh
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
organicHydroxy(x)→ ∃3i=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 v hasOxygen 3
4
INCORRECT MODELLING
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
g1(m)
g2(m) g3(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧3
i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)
organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)
5
INCORRECT MODELLING
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
g1(m)
g2(m) g3(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧3
i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)
organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)
5
INCORRECT MODELLING
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
g1(m)
g2(m) g3(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol v organicHydroxy 3
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧3
i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)
organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)
5
INCORRECT MODELLING
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
g1(m)
g2(m) g3(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol v hasOxygen 3
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧3
i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)
organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)
5
INCORRECT MODELLING
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
g1(m)
g2(m) g3(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧3
i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)
organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)
5
INCORRECT MODELLING
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
g1(m)
g2(m) g3(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
organicHydroxy v hasOxygen 3
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧3
i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)
organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)
5
INCORRECT MODELLING
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)g1(m)
g2(m) g3(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol v hasOneCarbon 8
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧3
i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)
organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)
5
REPAIR WITH AUXILIARY PREDICATES
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol v hasOneCarbon 3
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧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)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3i=1gh(yi)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)6
REPAIR WITH AUXILIARY PREDICATES
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol v hasOneCarbon 3
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧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)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3i=1gh(yi)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)6
REPAIR WITH AUXILIARY PREDICATES
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol v hasOneCarbon 3
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧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)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3i=1gh(yi)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)6
WHAT’S THE PROBLEM?
Reasoning is undecidable(even fact entailment, even without not )
many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .
Reasoning is hard (even for finite models)
stable models lead to non-determinismstratification conditions ensure determinism
Stratification
Stable model uniqueness
Deterministic reasoning
7
WHAT’S THE PROBLEM?
Reasoning is undecidable(even fact entailment, even without not )
many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .
Reasoning is hard (even for finite models)
stable models lead to non-determinismstratification conditions ensure determinism
Stratification
Stable model uniqueness
Deterministic reasoning
7
WHAT’S THE PROBLEM?
Reasoning is undecidable(even fact entailment, even without not )
many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .
Reasoning is hard (even for finite models)
stable models lead to non-determinismstratification conditions ensure determinism
Stratification
Stable model uniqueness
Deterministic reasoning
7
WHAT’S THE PROBLEM?
Reasoning is undecidable(even fact entailment, even without not )
many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .
Reasoning is hard (even for finite models)stable models lead to non-determinismstratification conditions ensure determinism
Stratification
Stable model uniqueness
Deterministic reasoning
7
WHAT’S THE PROBLEM?
Reasoning is undecidable(even fact entailment, even without not )
many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .
Reasoning is hard (even for finite models)stable models lead to non-determinismstratification conditions ensure determinism
Stratification
Stable model uniqueness
Deterministic reasoning
7
WHAT’S OUR PROBLEM?
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
Repaired program not stratified
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧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)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3i=1gh(yi)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)8
WHAT’S OUR PROBLEM?
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
Repaired program not stratified
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧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)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3i=1gh(yi)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)8
WHAT’S OUR PROBLEM?
mmethanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
horganicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
Repaired program not stratified
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)∧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)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3i=1gh(yi)
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)8
RESULTS OVERVIEW
1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check
2 Complexity of reasoning
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP
2 -complete to check4 Experiments over ChEBI with DLV
Performance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology
9
RESULTS OVERVIEW
1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check
2 Complexity of reasoning
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP
2 -complete to check4 Experiments over ChEBI with DLV
Performance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology
9
RESULTS OVERVIEW
1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check
2 Complexity of reasoning
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-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 DLVPerformance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology
9
RESULTS OVERVIEW
1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check
2 Complexity of reasoning
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP
2 -complete to check4 Experiments over ChEBI with DLV
Performance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology
9
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 : ∧3i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)
r1+−→ r2 but r2 6
+−→ r1
NP-complete to check(but only w.r.t. the size of the rules)
10
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 : ∧3i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)
r1+−→ r2 but r2 6
+−→ r1
NP-complete to check(but only w.r.t. the size of the rules)
10
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 : ∧3i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)
r1+−→ r2
but r2 6+−→ r1
NP-complete to check(but only w.r.t. the size of the rules)
10
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 : ∧3i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)
r1+−→ r2 but r2 6
+−→ r1
NP-complete to check(but only w.r.t. the size of the rules)
10
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 : ∧3i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)
r1+−→ r2 but r2 6
+−→ r1
NP-complete to check(but only w.r.t. the size of the rules)
10
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 : ∧3i=1 hasAtom(x, zi) ∧
c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)
r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)
r1+−→ r2 but r2 6
+−→ r1
NP-complete to check(but only w.r.t. the size of the rules)
10
R-ACYCLICITY
A program is R-acyclic: there is no cycle of positivereliances 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
R-ACYCLICITY
A program is R-acyclic: there is no cycle of positivereliances 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
R-ACYCLICITY
A program is R-acyclic: there is no cycle of positivereliances 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
R-ACYCLICITY
A program is R-acyclic: there is no cycle of positivereliances 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
R-ACYCLICITY
A program is R-acyclic: there is no cycle of positivereliances 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
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 : ∧3i=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)→ ∃3i=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 6
−−→ r1
Polynomial time to check
12
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 : ∧3i=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)→ ∃3i=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 6
−−→ r1
Polynomial time to check
12
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 : ∧3i=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)→ ∃3i=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 6−−→ r1
Polynomial time to check
12
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 : ∧3i=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)→ ∃3i=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 6
−−→ r1
Polynomial time to check
12
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 : ∧3i=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)→ ∃3i=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 6
−−→ r1
Polynomial time to check12
R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . ,Pn ofP 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 uniquenesscoNP-complete to check
Fact entailment for R-acyclic, R-stratified programs
Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity
13
R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . ,Pn ofP 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(S
1~P)
S3~P= TP3(S
2~P)
−
++
+
+
+
−
Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check
Fact entailment for R-acyclic, R-stratified programs
Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity
13
R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . ,Pn ofP 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(S
1~P)
S3~P= TP3(S
2~P)
−
++
+
+
+
−
Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check
Fact entailment for R-acyclic, R-stratified programs
Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity
13
R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . ,Pn ofP 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(S
1~P)
S3~P= TP3(S
2~P)
−
++
+
+
+
−
Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check
Fact entailment for R-acyclic, R-stratified programs
Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity
13
R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . ,Pn ofP 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(S
1~P)
S3~P= TP3(S
2~P)
−
++
+
+
+
−
Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check
Fact entailment for R-acyclic, R-stratified programs
Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity
13
R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . ,Pn ofP 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 uniquenesscoNP-complete to check
Fact entailment for R-acyclic, R-stratified programs
Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity
13
R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . ,Pn ofP 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 uniquenesscoNP-complete to check
Fact entailment for R-acyclic, R-stratified programsStable models bounded in size (double exp),and at most one stable model
2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity
13
R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . ,Pn ofP 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 uniquenesscoNP-complete to check
Fact entailment for R-acyclic, R-stratified programsStable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexity
PTime-complete w.r.t. data complexity
13
R-STRATIFICATION
A program P is R-stratified if there is a partition P1, . . . ,Pn ofP 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 uniquenesscoNP-complete to check
Fact entailment for R-acyclic, R-stratified programsStable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity
13
RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity andR-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 6
+−→C r1
Slightly more complex to check:
Positive reliance Negative reliance R-acyclicity/R-stratificationΣP
2 -complete in ∆P2 ΠP
2 -complete
ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ
14
RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity andR-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 6
+−→C r1
Slightly more complex to check:
Positive reliance Negative reliance R-acyclicity/R-stratificationΣP
2 -complete in ∆P2 ΠP
2 -complete
ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ
14
RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity andR-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 6+−→C r1
Slightly more complex to check:
Positive reliance Negative reliance R-acyclicity/R-stratificationΣP
2 -complete in ∆P2 ΠP
2 -complete
ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ
14
RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity andR-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 6+−→C r1
Slightly more complex to check:
Positive reliance Negative reliance R-acyclicity/R-stratificationΣP
2 -complete in ∆P2 ΠP
2 -complete
ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ
14
RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity andR-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 6
+−→C r1
Slightly more complex to check:
Positive reliance Negative reliance R-acyclicity/R-stratificationΣP
2 -complete in ∆P2 ΠP
2 -complete
ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ
14
RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity andR-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 6
+−→C r1
Slightly more complex to check:
Positive reliance Negative reliance R-acyclicity/R-stratificationΣP
2 -complete in ∆P2 ΠP
2 -complete
ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ
14
EXPERIMENTAL SETUP
Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBIthat represented
500 molecules30 molecular part descriptions50 chemical class descriptions
78,957 rules in total (R-stratified and R-acyclic)
Used DLV for stable model computation
15
EXPERIMENTAL SETUP
Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBIthat represented
500 molecules30 molecular part descriptions50 chemical class descriptions
78,957 rules in total (R-stratified and R-acyclic)
Used DLV for stable model computation
15
EXPERIMENTAL SETUP
Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBIthat represented
500 molecules
EXAMPLE
methanol(x)→ ∃6i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6)
30 molecular part descriptions50 chemical class descriptions
78,957 rules in total (R-stratified and R-acyclic)
Used DLV for stable model computation
15
EXPERIMENTAL SETUP
Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBIthat represented
500 molecules30 molecular part descriptions
EXAMPLE
∧3i=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)→ ∃3i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3i=1gh(yi)
50 chemical class descriptions
78,957 rules in total (R-stratified and R-acyclic)
Used DLV for stable model computation
15
EXPERIMENTAL SETUP
Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBIthat represented
500 molecules30 molecular part descriptions50 chemical class descriptions
EXAMPLE
hasAtom(x, z) ∧ o(z)→ hasOxygen(x)
78,957 rules in total (R-stratified and R-acyclic)
Used DLV for stable model computation
15
EXPERIMENTAL SETUP
Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBIthat represented
500 molecules30 molecular part descriptions50 chemical class descriptions
78,957 rules in total (R-stratified and R-acyclic)
Used DLV for stable model computation
15
EXPERIMENTAL SETUP
Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated
Our knowledge base consisted of rules derived from ChEBIthat represented
500 molecules30 molecular part descriptions50 chemical class descriptions
78,957 rules in total (R-stratified and R-acyclic)
Used DLV for stable model computation
15
EMPIRICAL RESULTS
First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)
Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology
E.g. organicHydroxy v organoOxygenCompound 3
8
16
EMPIRICAL RESULTS
First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification
Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology
E.g. organicHydroxy v organoOxygenCompound 3
8
16
EMPIRICAL RESULTS
First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification
Split into lowest R-stratum P1and remaining four upper R-strata P5
2
Computed stable model S1~P
of P1 ∪ F
Computed stable model S5~P
of P52 ∪ S1
~P
Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology
E.g. organicHydroxy v organoOxygenCompound 3
8
16
EMPIRICAL RESULTS
First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification
Split into lowest R-stratum P1and remaining four upper R-strata P5
2
Computed stable model S1~P
of P1 ∪ F
Computed stable model S5~P
of P52 ∪ S1
~P
Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology
E.g. organicHydroxy v organoOxygenCompound 3
8
16
EMPIRICAL RESULTS
First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification
Split into lowest R-stratum P1and remaining four upper R-strata P5
2
Computed stable model S1~P
of P1 ∪ F
Computed stable model S5~P
of P52 ∪ S1
~P
Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology
E.g. organicHydroxy v organoOxygenCompound 3
8
16
EMPIRICAL RESULTS
First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secs
Revealed missing subsumptions from the ChEBI ontology
E.g. organicHydroxy v organoOxygenCompound 3
8
16
EMPIRICAL RESULTS
First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology
E.g. organicHydroxy v organoOxygenCompound 3
8
16
EMPIRICAL RESULTS
First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology
E.g. organicHydroxy v organoOxygenCompound 3
8
16
CONCLUSIONS
R-acyclicity and R-stratification conditions(coNP-complete to check)
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP2 -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
CONCLUSIONS
R-acyclicity and R-stratification conditions(coNP-complete to check)
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP2 -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
CONCLUSIONS
R-acyclicity and R-stratification conditions(coNP-complete to check)
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP2 -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
CONCLUSIONS
R-acyclicity and R-stratification conditions(coNP-complete to check)
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP2 -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
CONCLUSIONS
R-acyclicity and R-stratification conditions(coNP-complete to check)
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP2 -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
CONCLUSIONS
R-acyclicity and R-stratification conditions(coNP-complete to check)
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP2 -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
CONCLUSIONS
R-acyclicity and R-stratification conditions(coNP-complete to check)
Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete
Generalise with constraints (ΠP2 -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