2

I am trying to learn rules of puzzles and board games by observing a human using inductive logic programming. I use PROGOL which is a program for ILP written in Prolog. While for some games it is able to correctly give me the rules, for some others it doesn't due to the lack of negative examples.

For example, in the Towers of Hanoi puzzle, one of the rules is that a larger block will not be placed on top of the smaller block. This is a negative rule. But since during training this event doesn't occur there is no explicit negative example from which this rule can be learnt.

In short, how does one generate negative examples in ILP?

Guy Coder
  • 24,501
  • 8
  • 71
  • 136
web_ninja
  • 2,351
  • 3
  • 22
  • 43

1 Answers1

2

I think you can learn with positive data only in progol?

http://link.springer.com/chapter/10.1007/3-540-63494-0_65

Muggleton, Stephen. "Learning from positive data." Inductive logic programming. Springer Berlin Heidelberg, 1997. 358-376.

Set learning from positive data only mode to on by doing this in Progol:

|- set(posonly)?

web_ninja
  • 2,351
  • 3
  • 22
  • 43
user27815
  • 4,767
  • 14
  • 28
  • In Progol you can provide negative examples. http://www.doc.ic.ac.uk/~shm/progol_anim_example_in.html shows negative examples like: :- class(t_rex,bird). :- class(turtle,bird). – web_ninja Apr 14 '14 at 21:01
  • I mean it is possible to set Progol so that you can learn with just positives. – user27815 Apr 14 '14 at 21:31
  • Thanks for the tip. It is able to induce the goal in posonly mode. The induced rule is on(A,B) :- bigger(B,A) . – web_ninja Apr 16 '14 at 12:50