SlideShare uma empresa Scribd logo
1 de 99
Baixar para ler offline
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
1
THE OWLS ARE NOT WHAT THEY SEEM
OWL widely used for authoring biomedical ontologies
1
THE OWLS ARE NOT WHAT THEY SEEM
OWL widely used for authoring biomedical ontologies
Not marked for its ability to model cyclic structures
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
reactant
product
transportReaction 2-ketoglutarate-malate-antiport
2-ketoglutarate malate
2-ketoglutarate malate
mitochondrion
cytosol
1
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
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
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
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
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
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
CLASSIFICATION OF STRUCTURED OBJECTS I
C
O H
H
H
H
Methanol molecule
3
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
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
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
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
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
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
CLASSIFICATION OF STRUCTURED OBJECTS II
C
O H
Organic hydroxy group
4
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
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
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
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
INCORRECT MODELLING
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ . . . ∧
bond(z2, z3) → organicHydroxy(x)
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
5
INCORRECT MODELLING
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) ∧ . . .
∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ . . . ∧
bond(z2, z3) → organicHydroxy(x)
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
5
INCORRECT MODELLING
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
methanol organicHydroxy 
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ . . . ∧
bond(z2, z3) → organicHydroxy(x)
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
5
INCORRECT MODELLING
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
methanol hasOxygen 
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ . . . ∧
bond(z2, z3) → organicHydroxy(x)
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
5
INCORRECT MODELLING
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
h
organicHydroxy
g1(h)
g2(h) g3(h)
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ . . . ∧
bond(z2, z3) → organicHydroxy(x)
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
5
INCORRECT MODELLING
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
h
organicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
organicHydroxy hasOxygen 
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ . . . ∧
bond(z2, z3) → organicHydroxy(x)
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
5
INCORRECT MODELLING
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)g1(m)
g2(m) g3(m)
organicHydroxy
hasOxygen
h
organicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol hasOneCarbon 
methanol(x) → ∃6
i=1yi. ∧6
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y6)
∧3
i=1 hasAtom(x, zi) ∧ . . . ∧
bond(z2, z3) → organicHydroxy(x)
organicHydroxy(x) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
5
REPAIR WITH AUXILIARY PREDICATES
methanol(x) → ∃6
i=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) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3
i=1gh(yi)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)6
REPAIR WITH AUXILIARY PREDICATES
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
h
organicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol(x) → ∃6
i=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) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3
i=1gh(yi)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)6
REPAIR WITH AUXILIARY PREDICATES
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
h
organicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
methanol hasOneCarbon 
methanol(x) → ∃6
i=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) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3
i=1gh(yi)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)6
WHAT’S THE PROBLEM?
Reasoning is undecidable
(even fact entailment, even without not)
7
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
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
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
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
WHAT’S OUR PROBLEM?
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
h
organicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
Repaired program not stratified
methanol(x) → ∃6
i=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) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3
i=1gh(yi)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
8
WHAT’S OUR PROBLEM?
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
h
organicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
Repaired program not stratified
methanol(x) → ∃6
i=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) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3
i=1gh(yi)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
8
WHAT’S OUR PROBLEM?
m
methanol
f1(m)
f2(m) f3(m)
f4(m)
f5(m)
f6(m)
organicHydroxy
hasOxygen
h
organicHydroxy
g1(h)
g2(h) g3(h)
hasOxygen
Repaired program not stratified
methanol(x) → ∃6
i=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) → ∃3
i=1yi. ∧3
i=1 hasAtom(x, yi) ∧ . . .
∧ bond(y2, y3) ∧ ∧3
i=1gh(yi)
hasAtom(x, z) ∧ o(z) → hasOxygen(x)
8
RESULTS OVERVIEW
1 R-acyclicity and R-stratification conditions
R-stratification ensures stable model uniqueness
Both coNP-complete to check
9
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
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
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
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
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
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
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
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
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
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
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
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
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
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
NEGATIVE RELIANCES
Rule r2 negatively relies on r1 (written r1
−
−→ r2): there is a
situation when r1 can inhibit the application of r2
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 : ∧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
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
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
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
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
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
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
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
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
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
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
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
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
RELIANCES UNDER CONSTRAINTS
Restrict input sets of facts to relax R-acyclicity and
R-stratification using constraints
14
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
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
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
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
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
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
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
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
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
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
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
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
EMPIRICAL RESULTS
First attempt to compute the stable model of the overall
program P failed (no result after 600 secs)
16
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
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
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
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
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
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
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
CONCLUSIONS
R-acyclicity and R-stratification conditions
(coNP-complete to check)
17
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
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
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
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
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
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

Mais conteúdo relacionado

Mais de Despoina Magka

Acyclicity Conditions and their Application to Query Answering in Description...
Acyclicity Conditions and their Application to Query Answering in Description...Acyclicity Conditions and their Application to Query Answering in Description...
Acyclicity Conditions and their Application to Query Answering in Description...
Despoina Magka
 
Modelling Structured Domains with Description Graphs and Logic Programming
Modelling Structured Domains with Description Graphs and Logic ProgrammingModelling Structured Domains with Description Graphs and Logic Programming
Modelling Structured Domains with Description Graphs and Logic Programming
Despoina Magka
 

Mais de Despoina Magka (6)

thesis-despoina
thesis-despoinathesis-despoina
thesis-despoina
 
Ontology-Based Classification of Molecules: a Logic Programming Approach
Ontology-Based Classification of Molecules: a Logic Programming ApproachOntology-Based Classification of Molecules: a Logic Programming Approach
Ontology-Based Classification of Molecules: a Logic Programming Approach
 
Classifying Chemicals with Description Graphs and Logic Programming
Classifying Chemicals with Description Graphs and Logic ProgrammingClassifying Chemicals with Description Graphs and Logic Programming
Classifying Chemicals with Description Graphs and Logic Programming
 
Tractable Extensions of the Description Logic EL with Numerical Datatypes
Tractable Extensions of the Description Logic EL with Numerical DatatypesTractable Extensions of the Description Logic EL with Numerical Datatypes
Tractable Extensions of the Description Logic EL with Numerical Datatypes
 
Acyclicity Conditions and their Application to Query Answering in Description...
Acyclicity Conditions and their Application to Query Answering in Description...Acyclicity Conditions and their Application to Query Answering in Description...
Acyclicity Conditions and their Application to Query Answering in Description...
 
Modelling Structured Domains with Description Graphs and Logic Programming
Modelling Structured Domains with Description Graphs and Logic ProgrammingModelling Structured Domains with Description Graphs and Logic Programming
Modelling Structured Domains with Description Graphs and Logic Programming
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
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
  • 13. CLASSIFICATION OF STRUCTURED OBJECTS I C O H H H H Methanol molecule 3
  • 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
  • 20. CLASSIFICATION OF STRUCTURED OBJECTS II C O H Organic hydroxy group 4
  • 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
  • 25. INCORRECT MODELLING methanol(x) → ∃6 i=1yi. ∧6 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6) ∧3 i=1 hasAtom(x, zi) ∧ . . . ∧ bond(z2, z3) → organicHydroxy(x) organicHydroxy(x) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 5
  • 26. INCORRECT MODELLING 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) ∧ . . . ∧ bond(y2, y6) ∧3 i=1 hasAtom(x, zi) ∧ . . . ∧ bond(z2, z3) → organicHydroxy(x) organicHydroxy(x) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 5
  • 27. INCORRECT MODELLING m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m) organicHydroxy methanol organicHydroxy methanol(x) → ∃6 i=1yi. ∧6 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6) ∧3 i=1 hasAtom(x, zi) ∧ . . . ∧ bond(z2, z3) → organicHydroxy(x) organicHydroxy(x) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 5
  • 28. INCORRECT MODELLING m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m) organicHydroxy hasOxygen methanol hasOxygen methanol(x) → ∃6 i=1yi. ∧6 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6) ∧3 i=1 hasAtom(x, zi) ∧ . . . ∧ bond(z2, z3) → organicHydroxy(x) organicHydroxy(x) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 5
  • 29. INCORRECT MODELLING m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m) organicHydroxy hasOxygen h organicHydroxy g1(h) g2(h) g3(h) methanol(x) → ∃6 i=1yi. ∧6 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6) ∧3 i=1 hasAtom(x, zi) ∧ . . . ∧ bond(z2, z3) → organicHydroxy(x) organicHydroxy(x) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 5
  • 30. INCORRECT MODELLING m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m) organicHydroxy hasOxygen h organicHydroxy g1(h) g2(h) g3(h) hasOxygen organicHydroxy hasOxygen methanol(x) → ∃6 i=1yi. ∧6 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6) ∧3 i=1 hasAtom(x, zi) ∧ . . . ∧ bond(z2, z3) → organicHydroxy(x) organicHydroxy(x) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 5
  • 31. INCORRECT MODELLING m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m)g1(m) g2(m) g3(m) organicHydroxy hasOxygen h organicHydroxy g1(h) g2(h) g3(h) hasOxygen methanol hasOneCarbon methanol(x) → ∃6 i=1yi. ∧6 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6) ∧3 i=1 hasAtom(x, zi) ∧ . . . ∧ bond(z2, z3) → organicHydroxy(x) organicHydroxy(x) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 5
  • 32. REPAIR WITH AUXILIARY PREDICATES methanol(x) → ∃6 i=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) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) ∧ ∧3 i=1gh(yi) hasAtom(x, z) ∧ o(z) → hasOxygen(x)6
  • 33. REPAIR WITH AUXILIARY PREDICATES m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m) organicHydroxy hasOxygen h organicHydroxy g1(h) g2(h) g3(h) hasOxygen methanol(x) → ∃6 i=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) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) ∧ ∧3 i=1gh(yi) hasAtom(x, z) ∧ o(z) → hasOxygen(x)6
  • 34. REPAIR WITH AUXILIARY PREDICATES m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m) organicHydroxy hasOxygen h organicHydroxy g1(h) g2(h) g3(h) hasOxygen methanol hasOneCarbon methanol(x) → ∃6 i=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) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) ∧ ∧3 i=1gh(yi) hasAtom(x, z) ∧ o(z) → hasOxygen(x)6
  • 35. WHAT’S THE PROBLEM? Reasoning is undecidable (even fact entailment, even without not) 7
  • 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
  • 40. WHAT’S OUR PROBLEM? m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m) organicHydroxy hasOxygen h organicHydroxy g1(h) g2(h) g3(h) hasOxygen Repaired program not stratified methanol(x) → ∃6 i=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) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) ∧ ∧3 i=1gh(yi) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 8
  • 41. WHAT’S OUR PROBLEM? m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m) organicHydroxy hasOxygen h organicHydroxy g1(h) g2(h) g3(h) hasOxygen Repaired program not stratified methanol(x) → ∃6 i=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) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) ∧ ∧3 i=1gh(yi) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 8
  • 42. WHAT’S OUR PROBLEM? m methanol f1(m) f2(m) f3(m) f4(m) f5(m) f6(m) organicHydroxy hasOxygen h organicHydroxy g1(h) g2(h) g3(h) hasOxygen Repaired program not stratified methanol(x) → ∃6 i=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) → ∃3 i=1yi. ∧3 i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y3) ∧ ∧3 i=1gh(yi) hasAtom(x, z) ∧ o(z) → hasOxygen(x) 8
  • 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
  • 72. RELIANCES UNDER CONSTRAINTS Restrict input sets of facts to relax R-acyclicity and R-stratification using constraints 14
  • 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
  • 85. EMPIRICAL RESULTS First attempt to compute the stable model of the overall program P failed (no result after 600 secs) 16
  • 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
  • 93. CONCLUSIONS R-acyclicity and R-stratification conditions (coNP-complete to check) 17
  • 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