C LASSIFICATION OF S TRUCTURED O BJECTS I O H H C H H Methanol - - PowerPoint PPT Presentation
C LASSIFICATION OF S TRUCTURED O BJECTS I O H H C H H Methanol - - PowerPoint PPT Presentation
C OMPUTING S TABLE M ODELS FOR N ONMONOTONIC E XISTENTIAL R ULES Despoina Magka, Markus Krtzsch, Ian Horrocks Department of Computer Science, University of Oxford IJCAI, 2013 T HE OWL S ARE NOT WHAT THEY SEEM OWL widely used for authoring
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 tr❛♥s♣♦rt❘❡❛❝t✐♦♥ ✷✲❦❡t♦❣❧✉t❛r❛t❡✲♠❛❧❛t❡✲❛♥t✐♣♦rt ✷✲❦❡t♦❣❧✉t❛r❛t❡ ♠❛❧❛t❡ ✷✲❦❡t♦❣❧✉t❛r❛t❡ ♠❛❧❛t❡ ♠✐t♦❝❤♦♥❞r✐♦♥ ❝②t♦s♦❧
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
- 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
- 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
- h
m
methanol
f1(m) f2(m) f3(m) f4(m) f5(m) f6(m)
- rganicHydroxy
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
- h
m
methanol
f1(m) f2(m) f3(m) f4(m) f5(m) f6(m)
- rganicHydroxy
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
- h
m
methanol
f1(m) f2(m) f3(m) f4(m) f5(m) f6(m)
- rganicHydroxy
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
- rganicHydroxy(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
- h
h
- rganicHydroxy
g1(h) g2(h) g3(h)
- rganicHydroxy(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
- h
h
- rganicHydroxy
g1(h) g2(h) g3(h)
- rganicHydroxy(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
- h
h
- rganicHydroxy
g1(h) g2(h) g3(h)
hasOxygen
- rganicHydroxy(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)
- rganicHydroxy ⊑ 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)
- rganicHydroxy(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)
- rganicHydroxy(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)
- rganicHydroxy
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)
- rganicHydroxy(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)
- rganicHydroxy
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)
- rganicHydroxy(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)
- rganicHydroxy
hasOxygen
h
- rganicHydroxy
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)
- rganicHydroxy(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)
- rganicHydroxy
hasOxygen
h
- rganicHydroxy
g1(h) g2(h) g3(h)
hasOxygen
- rganicHydroxy ⊑ 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)
- rganicHydroxy(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)
- rganicHydroxy
hasOxygen
h
- rganicHydroxy
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)
- rganicHydroxy(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)
- rganicHydroxy(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)
- rganicHydroxy
hasOxygen
h
- rganicHydroxy
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)
- rganicHydroxy(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)
- rganicHydroxy
hasOxygen
h
- rganicHydroxy
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)
- rganicHydroxy(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)
- rganicHydroxy
hasOxygen
h
- rganicHydroxy
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)
- rganicHydroxy(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)
- rganicHydroxy
hasOxygen
h
- rganicHydroxy
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)
- rganicHydroxy(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)
- rganicHydroxy
hasOxygen
h
- rganicHydroxy
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)
- rganicHydroxy(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 :
- rganicHydroxy(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 :
- rganicHydroxy(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 :
- rganicHydroxy(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 :
- rganicHydroxy(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 :
- rganicHydroxy(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) ∧
- (z2) ∧ h(z3) ∧ bond(z1, z2) ∧
bond(z2, z3) ∧ not gh(z1) ∧ not gh(z2) ∧ not gh(z3) → organicHydroxy(x) ∧ rh(x) r2 :
- rganicHydroxy(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) ∧
- (z2) ∧ h(z3) ∧ bond(z1, z2) ∧
bond(z2, z3) ∧ not gh(z1) ∧ not gh(z2) ∧ not gh(z3) → organicHydroxy(x) ∧ rh(x) r2 :
- rganicHydroxy(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) ∧
- (z2) ∧ h(z3) ∧ bond(z1, z2) ∧
bond(z2, z3) ∧ not gh(z1) ∧ not gh(z2) ∧ not gh(z3) → organicHydroxy(x) ∧ rh(x) r2 :
- rganicHydroxy(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) ∧
- (z2) ∧ h(z3) ∧ bond(z1, z2) ∧
bond(z2, z3) ∧ not gh(z1) ∧ not gh(z2) ∧ not gh(z3) → organicHydroxy(x) ∧ rh(x) r2 :
- rganicHydroxy(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
r2 r1 +
+
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
r2 r1 +
+
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
r2 r1 +
+
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
r2 r1 +
+
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)
- rganicHydroxy(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