iterative learning of answer set programs from context ...ml1909/ilp16presentation.pdf · 2/12...

25
1/12 Iterative Learning of Answer Set Programs from Context Dependent Examples Mark Law, Alessandra Russo and Krysia Broda September 4, 2016 Mark Law, Alessandra Russo and Krysia Broda Iterative Learning of ASP Programs from Context Dependent Examples

Upload: others

Post on 17-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

1/12

Iterative Learning of Answer Set Programsfrom Context Dependent Examples

Mark Law, Alessandra Russo and Krysia Broda

September 4, 2016

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 2: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

2/12

Context-dependent examplesI In standard ILP, we search for hypotheses H such that:

I ∀e ∈ E+ B ∪ H |= eI ∀e ∈ E− B ∪ H 6|= e

I Given context-dependent examples, it must be the case that:

I ∀〈e,C 〉 ∈ E+ B ∪ H ∪ C |= eI ∀〈e,C 〉 ∈ E− B ∪ H ∪ C 6|= e.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 3: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

2/12

Context-dependent examplesI In standard ILP, we search for hypotheses H such that:

I ∀e ∈ E+ B ∪ H |= eI ∀e ∈ E− B ∪ H 6|= e

I Given context-dependent examples, it must be the case that:

I ∀〈e,C 〉 ∈ E+ B ∪ H ∪ C |= eI ∀〈e,C 〉 ∈ E− B ∪ H ∪ C 6|= e.

For example, we may wish to learn that when it is raining a userprefers to take the bus; otherwise, they prefer to walk.

E+ =

{〈“take bus”, {rain.}〉,〈“walk”, {}〉 E− =

{〈“walk”, {rain.}〉,〈“take bus”, {}〉

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 4: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

3/12

Learning from Answer Sets (ILPLAS)I In ILPLAS (Law et al. 2014), examples are partial

interpretations.

I A partial interpretation e is a set of pairs of atoms 〈e inc , eexc〉.

1 2

3 4

⟨size(4)edge(1, 2)edge(2, 3)edge(3, 4)edge(4, 1)

,

edge(1, 1)edge(1, 3)edge(1, 4)

. . .

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 5: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

3/12

Learning from Answer Sets (ILPLAS)I In ILPLAS (Law et al. 2014), examples are partial

interpretations.

I A partial interpretation e is a set of pairs of atoms 〈e inc , eexc〉.

1 2

3 4

⟨size(4)edge(1, 2)edge(2, 3)edge(3, 4)edge(4, 1)

,

edge(1, 1)edge(1, 3)edge(1, 4)

. . .

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 6: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

3/12

Learning from Answer Sets (ILPLAS)I In ILPLAS (Law et al. 2014), examples are partial

interpretations.

I A partial interpretation e is a set of pairs of atoms 〈e inc , eexc〉.

1 2

3 4

⟨size(4)edge(1, 2)edge(2, 3)edge(3, 4)edge(4, 1)

,

edge(1, 1)edge(1, 3)edge(1, 4)

. . .

I An answer set A extends e iff e inc ⊆ A and eexc ∩ A = ∅.I A positive (resp. negative) example e is covered if at least one

(resp. no) answer set of B ∪ H extends e.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 7: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

4/12

ILPLAS Encoding of the Hamiltonian Example

1 2

3 4

⟨size(4)edge(1, 2)edge(2, 3)edge(3, 4)edge(4, 1)

,

edge(1, 1)edge(1, 3)edge(1, 4)

. . .

B :1{size(1..4)}1.node(1..N):-size(N).0{edge(V0, V1)}1:-node(V0),

node(V1).

H :reach(V0):-in(1, V0).reach(V1):-in(V0, V1), reach(V0).0{in(V0, V1)}1:-edge(V0, V1).:-node(V0), not reach(V0).:-in(V0, V1), in(V0, V2), V1 6= V2.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 8: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

5/12

Context-dependent Hamiltonian Example

1 2

3 4

⟨〈∅, ∅〉 ,

node(1..4).edge(1, 2).edge(2, 3).edge(3, 4).edge(4, 1).

B :None!

H :reach(V0):-in(1, V0).reach(V1):-in(V0, V1), reach(V0).0{in(V0, V1)}1:-edge(V0, V1).:-node(V0), not reach(V0).:-in(V0, V1), in(V0, V2), V1 6= V2.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 9: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

6/12

Journey Preferences in ASP

H =

:∼ mode(L, walk), crime rating(L, R), R > 3.[1@3, L, R]:∼ mode(L, bus).[1@2, L]:∼ mode(L, walk), distance(L, D).[D@1, L, D]

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 10: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

6/12

Journey Preferences in ASP

H =

:∼ mode(L, walk), crime rating(L, R), R > 3.[1@3, L, R]:∼ mode(L, bus).[1@2, L]:∼ mode(L, walk), distance(L, D).[D@1, L, D]

ILPLOAS (Law et al. 2015) is an extension of ILPLAS with orderingexamples of the form 〈e1, e2〉.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 11: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

6/12

Journey Preferences in ASP

H =

:∼ mode(L, walk), crime rating(L, R), R > 3.[1@3, L, R]:∼ mode(L, bus).[1@2, L]:∼ mode(L, walk), distance(L, D).[D@1, L, D]

B =

1{choose(j1), . . . , choose(jn)}1.mode(leg1, walk):-choose(j1).crime rating(leg1, 2):-choose(j1).distance(leg1, 1000):-choose(j1).

. . .

e1 = 〈{choose(j1)}, ∅〉, e2 = 〈{choose(j2)}, ∅〉, . . .

Ob =

{〈e1, e2〉. . .

}

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 12: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

7/12

Journey Preferences in ASP

H =

:∼ mode(L, walk), crime rating(L, R), R > 3.[1@3, L, R]:∼ mode(L, bus).[1@2, L]:∼ mode(L, walk), distance(L, D).[D@1, L, D]

B ={

None!

e1 = 〈〈∅, ∅〉,

{mode(leg1, walk).crime rating(leg1, 2).distance(leg1, 1000).

}〉 . . .

Ob =

{〈e1, e2〉. . .

}

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 13: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

8/12

Complexity

I In the paper, we present a mapping TLOAS from any ILPcontextLOAS

task to an ILPLOAS task.

Theorem 1

For any ILPcontextLOAS task T , ILPLOAS(TLOAS(T )) = ILPcontext

LOAS (T ).

Theorem 2

The complexity of deciding whether an ILPcontextLOAS task is satisfiable

is ΣP2 -complete.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 14: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

9/12

ILASP2iI The mapping TLOAS means that we can use ILASP2 to

compute solutions for any context dependent task:I This would be by calling ILASP2(TLOAS(〈B,SM ,E 〉)).I However, ILASP2 is known to scale poorly wrt the number of

examples.

I Our new algorithm, ILASP2i, iteratively computes a subset ofthe examples Rel , called relevant examples.

I In each iteration, we call ILASP2(TLOAS(〈B,SM ,Rel〉)).

Theorem 4

ILASP2i is sound for any well defined ILPcontextLOAS task, and returns

an optimal solution if one exists.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 15: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

10/12

Benchmarks

Learning #examples time/s Memory/kB

task E+ E− Ob Oc 2 2i 2 2i

Hamilton A 100 100 0 0 10.3 4.3 9.7×104 1.2×104

(no context)

Hamilton B 100 100 0 0 32.0 3.6 3.6×105 1.4×104

(context dep.)

Journeys 386 0 200 0 1031.4 5.0 1.4×107 3.4×104

(context dep.)

I ILASP2 runs the automatic translation (TLOAS) of contextdependent tasks.

I TLOAS(Hamilton B) is less efficient than Hamilton A.

I TLOAS(Journeys) is the same as the non-context dependentJourney task.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 16: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

11/12

Related work under the answer set semantics

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 17: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

12/12

Current Work

I Improve the scalability of ILASP for tasks with:

I Noisy examplesI Large hypothesis spaces

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 18: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

12/12

Current Work

I Improve the scalability of ILASP for tasks with:

I Noisy examplesI Large hypothesis spaces

I ILASP2 and ILASP2i are available to download fromhttps://www.doc.ic.ac.uk/~ml1909/ILASP

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 19: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

13/12

Context-dependent examplesI In standard ILP, we search for hypotheses H such that:

I ∀e ∈ E+ B ∪ H |= eI ∀e ∈ E− B ∪ H 6|= e

I Given context-dependent examples, it must be the case that:

I ∀〈e,C 〉 ∈ E+ B ∪ H ∪ C |= eI ∀〈e,C 〉 ∈ E− B ∪ H ∪ C 6|= e.

For example, we may wish to learn that when it is raining a userprefers to take the bus; otherwise, they prefer to walk.

E+ =

{〈“take bus”, {1{rain, snow}1.}〉,〈“walk”, {}〉

E− =

{〈“walk”, {rain.}〉,〈“take bus”, {}〉

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 20: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

14/12

ILASP2i1: procedure ILASP2i(〈B,SM ,E 〉)2: Relevant = 〈∅, ∅, ∅, ∅〉; H = ∅;3: re = findRelevantExample(〈B,SM ,E 〉,H);4: while re 6= nil do5: Relevant << re;6: H = ILASP2(TLOAS(〈B,SM ,Relevant〉));7: if(H == nil) return UNSATISFIABLE;8: else re = findRelevantExample(〈B,SM ,E 〉,H);9: end while

10: returnH;

Theorem 4

ILASP2i is sound for any well defined ILPcontextLOAS task, and returns

an optimal solution if one exists.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 21: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

15/12

Journey Preference Experiments

Figure : average accuracy of ILASP2i

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 22: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

16/12

Journey Preference Experiments

Figure : (a) the average computation time and (b) the memory usage ofILASP2, ILASP2i and ILASP2i pt for learning journey preferences.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 23: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

17/12

Hamilton Experiment

Figure : (a) the average computation time and (b) the memory usage ofILASP2, ILASP2i and ILASP2i pt for Hamilton A and B.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 24: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

12/12

Corapi, D., Russo, A., and Lupu, E. 2012.Inductive logic programming in answer set programming.In Inductive Logic Programming. Springer, 91–97.

Law, M., Russo, A., and Broda, K. 2014.Inductive learning of answer set programs.In Logics in Artificial Intelligence (JELIA 2014). Springer.

Law, M., Russo, A., and Broda, K. 2015.Learning weak constraints in answer set programming.Theory and Practice of Logic Programming 15, 4-5, 511–525.

Otero, R. P. 2001.Induction of stable models.In Inductive Logic Programming. Springer, 193–205.

Ray, O. 2009.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples

Page 25: Iterative Learning of Answer Set Programs from Context ...ml1909/ILP16Presentation.pdf · 2/12 Context-dependent examples I In standard ILP, we search for hypotheses H such that:

12/12

Nonmonotonic abductive inductive learning.Journal of Applied Logic 7, 3, 329–340.

Sakama, C. and Inoue, K. 2009.Brave induction: a logical framework for learning fromincomplete information.Machine Learning 76, 1, 3–35.

Mark Law, Alessandra Russo and Krysia BrodaIterative Learning of ASP Programs from Context Dependent Examples