Derivation reduction of metarules in meta-interpretive learning - - PowerPoint PPT Presentation

derivation reduction of metarules in meta interpretive
SMART_READER_LITE
LIVE PREVIEW

Derivation reduction of metarules in meta-interpretive learning - - PowerPoint PPT Presentation

Derivation reduction of metarules in meta-interpretive learning Andrew Cropper & Sophie Tourret Input Output Examples Background knowledge Logic program Bias Biases - Mode declarations (Progol, ILASP, Aleph, XHAIL, ) - Metarules


slide-1
SLIDE 1

Derivation reduction of metarules in meta-interpretive learning

Andrew Cropper & Sophie Tourret

slide-2
SLIDE 2

Input Output Examples Background knowledge Bias Logic program

slide-3
SLIDE 3
  • Mode declarations (Progol, ILASP, Aleph, XHAIL, …)
  • Metarules (Metagol, MIL-Hex, ∂ILP, ProPPR, Clint, MOBAL …)

Biases

slide-4
SLIDE 4

∃PQ∀AB P(A,B) ← Q(A,B) ∃PQR∀AB P(A,B) ← Q(A),R(A,B) ∃PQR∀ABC P(A,B) ← Q(A,C),R(C,B)

Metarules

slide-5
SLIDE 5

P(A,B) ← Q(A,B) P(A,B) ← Q(A),R(A,B) P(A,B) ← Q(A,C),R(C,B)

P,Q,R are existentially quantified second-order variables A,B,C are universally quantified first-order variables

Metarules

slide-6
SLIDE 6

Input Output

% background parent(ann,amy)← parent(amy,amelia)← % example grandparent(ann,amelia)← % metarule P(A,B)←Q(A,C),R(C,B)

slide-7
SLIDE 7

Input Output

% background parent(ann,amy)← parent(amy,amelia)← % example grandparent(ann,amelia)← % metarule P(A,B)←Q(A,C),R(C,B) grandparent(A,B)← parent(A,C), parent(C,B) { P\granparent, Q\parent, R\parent }

slide-8
SLIDE 8

Completeness cannot learn grandparent/2 with only P(X)←Q(X) Efficiency more metarules = larger hypothesis space Usability Users do not want to provide metarules

Why?

slide-9
SLIDE 9

The Horn clause C is entailment redundant in the Horn theory T ∪ {C} when T ⊨ C

Remove redundant metarules [ILP14]

slide-10
SLIDE 10

Entailment redundancy

C1 = h(A,B)←s(A,B) C2 = h(A,B)←s(A,B),u(B) C3 = h(A,B)←s(A,B),u(A,B) C4 = h(A,B)←s(A,B),u(A,B),v(A,B)

slide-11
SLIDE 11

Entailment redundancy

{C1} ⊨ {C2,C3,C4} C1 = h(A,B)←s(A,B) C2 = h(A,B)←s(A,B),u(B) C3 = h(A,B)←s(A,B),u(A,B) C4 = h(A,B)←s(A,B),u(A,B),v(A,B)

slide-12
SLIDE 12

P(A,B)←Q(A,B) P(A,B)←Q(B,A) P(A,B)←Q(A,C),R(B,C) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(B,A),R(A,B) P(A,B)←Q(B,A),R(B,A) P(A,B)←Q(B,C),R(A,C) P(A,B)←Q(B,C),R(C,A) P(A,B)←Q(C,A),R(B,C) P(A,B)←Q(C,A),R(C,B) P(A,B)←Q(C,B),R(A,C) P(A,B)←Q(C,B),R(C,A)

? Entailment reduction of metarules [ILP14]

slide-13
SLIDE 13

P(A,B)←Q(B,A) P(A,B)←Q(A,C),R(C,B)

Entailment reduction of metarules [ILP14]

P(A,B)←Q(A,B) P(A,B)←Q(B,A) P(A,B)←Q(A,C),R(B,C) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(B,A),R(A,B) P(A,B)←Q(B,A),R(B,A) P(A,B)←Q(B,C),R(A,C) P(A,B)←Q(B,C),R(C,A) P(A,B)←Q(C,A),R(B,C) P(A,B)←Q(C,A),R(C,B) P(A,B)←Q(C,B),R(A,C) P(A,B)←Q(C,B),R(C,A)

slide-14
SLIDE 14

Entailment redundancy

C1 = P(A,B)←Q(A,B) C2 = P(A,B)←Q(A,B),R(A) C3 = P(A,B)←Q(A,B),R(A,B) C4 = P(A,B)←Q(A,B),R(A,B),S(A,B)

slide-15
SLIDE 15

{C1} ⊨ {C2,C3,C4}

Entailment redundancy

C1 = P(A,B)←Q(A,B) C2 = P(A,B)←Q(A,B),R(A) C3 = P(A,B)←Q(A,B),R(A,B) C4 = P(A,B)←Q(A,B),R(A,B),S(A,B)

slide-16
SLIDE 16

father(A,B)←parent(A,B),male(A) ✖ {C1} ⊨ {C2,C3,C4}

Entailment redundancy

C1 = P(A,B)←Q(A,B) C2 = P(A,B)←Q(A,B),R(A) C3 = P(A,B)←Q(A,B),R(A,B) C4 = P(A,B)←Q(A,B),R(A,B),S(A,B)

slide-17
SLIDE 17

The Horn clause C is derivationally redundant in the Horn theory T ∪ {C} when T ⊢ C

Derivation redundancy SLD-resolution

slide-18
SLIDE 18

Derivation redundancy

C1 = P(A,B)←Q(A,B) C2 = P(A,B)←Q(A,B),R(A) C3 = P(A,B)←Q(A,B),R(A,B) C4 = P(A,B)←Q(A,B),R(A,B),S(A,B)

slide-19
SLIDE 19

Derivation redundancy

{C1,C2,C3} ⊢ {C4} C1 = P(A,B)←Q(A,B) C2 = P(A,B)←Q(A,B),R(A) C3 = P(A,B)←Q(A,B),R(A,B) C4 = P(A,B)←Q(A,B),R(A,B),S(A,B) father(A,B)←parent(A,B),male(A) ✔

slide-20
SLIDE 20

While there is a clause in T such that T - {C} ⊢k C: Set T = T - {C}

Derivation redundancy

slide-21
SLIDE 21

P(A)←Q(A) ✔ P(A,B)←Q(A,C) ✔ P(A,B)←Q(A,B),R(B,D),S(D,B) ✔ P(A)←Q(B) ✖ P(A)←Q(A),R(B,C) ✖ P(A,B)←Q(A,B),S(C) ✖

Connected clauses

body literals are connected to the head literal

slide-22
SLIDE 22

P(A,B)←Q(A,B) ✔ P(A)←Q(A,B),R(B) ✔ P(A,B,C)←Q(A,B,C) ✖ P(A)←Q(A,B,C),R(B,C) ✖

H2m

restriction on literal arity

slide-23
SLIDE 23

P(A,B)←Q(A,B) ✔ P(A,B)←Q(A,C),R(C,B) ✔ P(A)←Q(A) ✖ P(A,B)←Q(A,B),R(B) ✖

H2=m

slide-24
SLIDE 24

P(A,B)←Q(A,B) ✔ P(A)←Q(A,B,C),R(B,C) ✔ P(A)←Q(A),R(A),S(A) ✖ P(A,B)←Q(A),R(B),S(A,B) ✖

Ha2

restriction on number of body literals

slide-25
SLIDE 25

P(A)←Q(A),R(A) ✔ P(A,B)←Q(A,B),R(A,B) ✔ P(A)←Q(A) ✖ P(A,B)←Q(A,B),R(B) ✖

Ha2=

slide-26
SLIDE 26

P(A)←Q(A) ✔ P(A,B)←Q(A,B) ✔ P(A,B)←Q(A,C),R(C,B) ✔ P(A,B)←Q(A) ✖ P(A)←Q(A,B) ✖ P(A)←Q(A),R(A) ✖

each first-order variable appears exactly twice

Exactly-two connected

slide-27
SLIDE 27

Idea

  • 1. Run derivation reduction with a SLD-resolution depth

bound of 10 on sub-fragments of an infinite fragment.

  • 2. Study the results.
slide-28
SLIDE 28

E2=5

slide-29
SLIDE 29

E-reduction D-reduction

P(A,B)←Q(B,A) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(B,A) P(A,B)←Q(A,C),R(C,B)

E2=5

slide-30
SLIDE 30

E-reduction D-reduction

P(A,B)←Q(B,A) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(B,A) P(A,B)←Q(A,C),R(C,B)

E2=5

E2=2 ⊢ E2=∞ ✔

Same as ILP14 paper

slide-31
SLIDE 31

E25

slide-32
SLIDE 32

E-reduction D-reduction

P(A)←Q(A) P(A)←Q(A,B),R(B) P(A,B)←Q(B,A) P(A,B)←Q(A),R(B) P(A,B)←Q(A,C),R(C,B) P(A)←Q(A) P(A)←Q(A,B),R(B) P(A,B)←Q(B,A) P(A,B)←Q(A),R(B) P(A,B)←Q(A,C),R(C,B)

E25

slide-33
SLIDE 33

E-reduction D-reduction

P(A)←Q(A) P(A)←Q(A,B),R(B) P(A,B)←Q(B,A) P(A,B)←Q(A),R(B) P(A,B)←Q(A,C),R(C,B) P(A)←Q(A) P(A)←Q(A,B),R(B) P(A,B)←Q(B,A) P(A,B)←Q(A),R(B) P(A,B)←Q(A,C),R(C,B)

E25

E22 ⊢ E2∞ ✔

slide-34
SLIDE 34

P(A)←Q(A) ✔ P(A)←Q(A),R(A) ✔ P(A,B)←Q(A,B),R(B) ✔ P(A,B)←Q(A,C),R(C,B) ✔ P(A,B)←Q(A) ✖ P(A)←Q(A,B) ✖ P(A)←Q(A),R(A,B) ✖

each first-order variable appears at least twice (i.e. prevents singleton variables) Two connected

slide-35
SLIDE 35

K2=5 two connected

slide-36
SLIDE 36

E-reduction D-reduction

P(A,B)←Q(B,A) P(A,B)←Q(B,A) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,B),R(A,B) P(A,B)←Q(A,B),R(A,C),S(C,D),T(C,D) P(A,B)←Q(A,C),R(A,C),S(B,D),T(B,D) P(A,B)←Q(A,C),R(A,D),S(B,C),T(B,D),U(C,D)

K2=5 two connected

slide-37
SLIDE 37

E-reduction D-reduction

P(A,B)←Q(B,A) P(A,B)←Q(B,A) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,B),R(A,B) P(A,B)←Q(A,B),R(A,C),S(C,D),T(C,D) P(A,B)←Q(A,C),R(A,C),S(B,D),T(B,D) P(A,B)←Q(A,C),R(A,D),S(B,C),T(B,D),U(C,D)

K2=5 two connected

K2=2 ⊬ K2=∞ ✖

slide-38
SLIDE 38

K25 two connected

slide-39
SLIDE 39

E-reduction D-reduction

P(A)←Q(A) P(A)←Q(A) P(A)←R(A,B),Q(A,B) P(A)←R(A,B),Q(A,B) P(A)←Q(A),R(A) P(A)←Q(B),R(A,B) P(A,B)←Q(B,A) P(A,B)←Q(B,A) P(A,B)←Q(A),R(B) P(A,B)←Q(A),R(B) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,B),R(A,B) P(A,B)←Q(A),R(A,B) P(A,B)←Q(A,C),R(A,D),S(C,B),T(B,D),U(C,D)

K25 two connected

slide-40
SLIDE 40

E-reduction D-reduction

P(A)←Q(A) P(A)←Q(A) P(A)←R(A,B),Q(A,B) P(A)←R(A,B),Q(A,B) P(A)←Q(A),R(A) P(A)←Q(B),R(A,B) P(A,B)←Q(B,A) P(A,B)←Q(B,A) P(A,B)←Q(A),R(B) P(A,B)←Q(A),R(B) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,B),R(A,B) P(A,B)←Q(A),R(A,B) P(A,B)←Q(A,C),R(A,D),S(C,B),T(B,D),U(C,D)

K25 two connected

K2=2 ⊬ K2=5 ✖

slide-41
SLIDE 41

E-reduction D-reduction

P(A)←Q(A) P(A)←Q(A) P(A)←R(A,B),Q(A,B) P(A)←R(A,B),Q(A,B) P(A)←Q(A),R(A) P(A)←Q(B),R(A,B) P(A,B)←Q(B,A) P(A,B)←Q(B,A) P(A,B)←Q(A),R(B) P(A,B)←Q(A),R(B) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,C),R(C,B) P(A,B)←Q(A,B),R(A,B) P(A,B)←Q(A),R(A,B) P(A,B)←Q(A,C),R(A,D),S(C,B),T(B,D),U(C,D)

K25 two connected

K2=∞ cannot be reduced ✖

slide-42
SLIDE 42

Why not?

slide-43
SLIDE 43

Does it matter?

slide-44
SLIDE 44

Accuracies

slide-45
SLIDE 45

Learning times

slide-46
SLIDE 46

% target program f(X):-has_car(X,C1), long(C1), two_wheels(C1), has_car(X,C2), long(C2), three_wheels(C2).

slide-47
SLIDE 47

% E-reduction f(A):-has_car(A,B),f1(A,B). f1(A,B):-has_car(A,C),f2(C,B). f2(A,B):-long(A),three_wheels(B).

slide-48
SLIDE 48

% D-reduction f(A):-f1(A),f2(A). f1(A):-has_car(A,B),three_wheels(B). f2(A):-has_car(A,B),roof_open(B).

slide-49
SLIDE 49

% D*-reduction f(A):-f1(A),f2(A). f1(A):-has_car(A,B),three_wheels(B). f2(A):-has_car(A,B),f3(B). f3(A):-long(A),two_wheels(A).

slide-50
SLIDE 50

% D*-reduction f(A):- has_car(A,B), three_wheels(B), has_car(A,C), long(C), two_wheels(C). % target program f(X):- has_car(X,C1), long(C1), two_wheels(C1), has_car(X,C2), long(C2), three_wheels(C2).

slide-51
SLIDE 51
  • Study derivation reduction problem
  • Other fragments
  • Triadics
  • Connected
  • Unconstrained resolution

Todo