论文标题
通过组合程序来学习逻辑程序
Learning logic programs by combining programs
论文作者
论文摘要
归纳逻辑编程的目的是诱导逻辑程序(一组逻辑规则),该程序将训练示例概括。具有许多规则和文字的计划是一个重大挑战。为了应对这一挑战,我们介绍了一种方法,其中我们学习了小型不可分割的程序并将它们结合在一起。我们在约束驱动的ILP系统中实施我们的方法。我们的方法可以学习最佳和递归程序并执行谓词发明。我们在多个领域的实验,包括游戏玩法和程序合成,表明我们的方法可以在预测精度和学习时间方面大大优于现有的方法,有时将学习时间从一个小时的时间减少到几秒钟。
The goal of inductive logic programming is to induce a logic program (a set of logical rules) that generalises training examples. Inducing programs with many rules and literals is a major challenge. To tackle this challenge, we introduce an approach where we learn small non-separable programs and combine them. We implement our approach in a constraint-driven ILP system. Our approach can learn optimal and recursive programs and perform predicate invention. Our experiments on multiple domains, including game playing and program synthesis, show that our approach can drastically outperform existing approaches in terms of predictive accuracies and learning times, sometimes reducing learning times from over an hour to a few seconds.