computing stable models for nonmonotonic existential rules

Post on 30-Jun-2015

916 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

We consider function-free existential rules extended with nonmonotonic negation under a stable model semantics. We present new acyclicity and stratification conditions that identify a large class of rule sets having finite, unique stable models, and we show how the addition of constraints on the input facts can further extend this class. Checking these conditions is computationally feasible, and we provide tight complexity bounds. Finally, we demonstrate how these new methods allowed us to solve relevant reasoning problems over a real-world knowledge base from biochemistry using an off-the-shelf answer set programming engine.

TRANSCRIPT

COMPUTING STABLE MODELS FOR

NONMONOTONIC EXISTENTIAL RULES

Despoina Magka, Markus Krötzsch, Ian Horrocks

Department of Computer Science, University of Oxford

IJCAI, 2013

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

1

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

1

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

1

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

1

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

hasParticipant

locatedIn

reactantproduct

transportReaction 2-ketoglutarate-malate-antiport

2-ketoglutarate malate

2-ketoglutarate malate

mitochondrion

cytosol

1

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3

methanol v hasOxygen 3

3

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3

methanol v hasOxygen 3

3

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v organicHydroxy 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOxygen 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy v hasOxygen 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOneCarbon 8

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

REPAIR WITH AUXILIARY PREDICATES

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOneCarbon 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)6

REPAIR WITH AUXILIARY PREDICATES

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOneCarbon 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)6

REPAIR WITH AUXILIARY PREDICATES

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOneCarbon 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)6

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)

stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)

stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)

stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

WHAT’S OUR PROBLEM?

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

Repaired program not stratified

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)8

WHAT’S OUR PROBLEM?

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

Repaired program not stratified

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)8

WHAT’S OUR PROBLEM?

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

Repaired program not stratified

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)8

RESULTS OVERVIEW

1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check

2 Complexity of reasoning

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP

2 -complete to check4 Experiments over ChEBI with DLV

Performance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology

9

RESULTS OVERVIEW

1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check

2 Complexity of reasoning

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP

2 -complete to check4 Experiments over ChEBI with DLV

Performance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology

9

RESULTS OVERVIEW

1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check

2 Complexity of reasoning

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP

2 -complete to check

4 Experiments over ChEBI with DLVPerformance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology

9

RESULTS OVERVIEW

1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check

2 Complexity of reasoning

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP

2 -complete to check4 Experiments over ChEBI with DLV

Performance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology

9

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2

but r2 6+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2 but r2 6

−−→ r1

Polynomial time to check

12

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2 but r2 6

−−→ r1

Polynomial time to check

12

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2

but r2 6−−→ r1

Polynomial time to check

12

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2 but r2 6

−−→ r1

Polynomial time to check

12

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2 but r2 6

−−→ r1

Polynomial time to check12

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

EXAMPLE

r2r1 ++

r3 r4 r5

r6

P1

P2

P3

S1~P= TP1(F)

S2~P= TP2(S

1~P)

S3~P= TP3(S

2~P)

++

+

+

+

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

EXAMPLE

r2r1 ++

r3 r4 r5

r6

P1

P2

P3

S1~P= TP1(F)

S2~P= TP2(S

1~P)

S3~P= TP3(S

2~P)

++

+

+

+

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

EXAMPLE

r2r1 ++

r3 r4 r5

r6

P1

P2

P3

S1~P= TP1(F)

S2~P= TP2(S

1~P)

S3~P= TP3(S

2~P)

++

+

+

+

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

EXAMPLE

r2r1 ++

r3 r4 r5

r6

P1

P2

P3

S1~P= TP1(F)

S2~P= TP2(S

1~P)

S3~P= TP3(S

2~P)

++

+

+

+

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programsStable models bounded in size (double exp),and at most one stable model

2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programsStable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexity

PTime-complete w.r.t. data complexity

13

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programsStable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z)

∧ c(z)

→ ⊥}r1−−→ r2

+−→ r3+−→ r1 but r3 6

+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z)

∧ c(z)

→ ⊥}r1−−→ r2

+−→ r3+−→ r1 but r3 6

+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z)

∧ c(z)

→ ⊥}

r1−−→ r2

+−→ r3+−→ r1

but r3 6+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z) ∧ c(z)→ ⊥}r1−−→ r2

+−→ r3+−→ r1

but r3 6+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z) ∧ c(z)→ ⊥}r1−−→ r2

+−→ r3+−→ r1 but r3 6

+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z) ∧ c(z)→ ⊥}r1−−→ r2

+−→ r3+−→ r1 but r3 6

+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules

EXAMPLE

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6)

30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions

EXAMPLE

∧3i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

EXAMPLE

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)

Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification

Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification

Split into lowest R-stratum P1and remaining four upper R-strata P5

2

Computed stable model S1~P

of P1 ∪ F

Computed stable model S5~P

of P52 ∪ S1

~P

Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification

Split into lowest R-stratum P1and remaining four upper R-strata P5

2

Computed stable model S1~P

of P1 ∪ F

Computed stable model S5~P

of P52 ∪ S1

~P

Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification

Split into lowest R-stratum P1and remaining four upper R-strata P5

2

Computed stable model S1~P

of P1 ∪ F

Computed stable model S5~P

of P52 ∪ S1

~P

Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secs

Revealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]

Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

top related