如何在归纳逻辑编程中生成负面例子?

时间:2014-04-14 15:58:33

标签: prolog artificial-intelligence logic-programming progol inductive-logic-programming

我正在尝试通过使用归纳逻辑编程来观察人类来学习谜题和棋盘游戏的规则。我使用PROGOL这是一个用Prolog编写的ILP程序。虽然对于某些游戏,它能够正确地给我规则,对于其他一些游戏,由于缺乏负面的例子,它并没有。

例如,在“河内之塔”拼图中,其中一条规则是较大的块不会放在较小的块顶部。这是一个消极的规则。但是因为在训练期间这个事件没有发生,所以没有明确的负面例子可以从中学习这个规则。

简而言之,如何在ILP中产生负面例子?

1 个答案:

答案 0 :(得分:1)

我认为你只能在progol中学习积极的数据吗?

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

Muggleton,斯蒂芬。 “从积极的数据中学习。”归纳逻辑编程。 Springer Berlin Heidelberg,1997。358-376。

在Progol中将学习从正数据模式设置为开启:

  

| - set(posonly)?