Learning higher-order logic programs

Andrew Cropper, Rolf Morel, Stephen H. Muggleton
7/25/2019
cs.LGcs.AIstat.ML

Official code: metagol/metagol (212 stars, BSD-3-Clause, last commit 2021-09-13). 1 more implementation below.

Abstract

A key feature of inductive logic programming (ILP) is its ability to learn first-order programs, which are intrinsically more expressive than propositional programs. In this paper, we introduce techniques to learn higher-order programs. Specifically, we extend meta-interpretive learning (MIL) to support learning higher-order programs by allowing for \emph{higher-order definitions} to be used as background knowledge. Our theoretical results show that learning higher-order programs, rather than first-order programs, can reduce the textual complexity required to express programs which in turn reduces the size of the hypothesis space and sample complexity. We implement our idea in two new MIL systems: the Prolog system \namea{} and the ASP system \nameb{}. Both systems support learning higher-order programs and higher-order predicate invention, such as inventing functions for \tw{map/3} and conditions for \tw{filter/3}. We conduct experiments on four domains (robot strategies, chess playing, list transformations, and string decryption) that compare learning first-order and higher-order programs. Our experimental results support our theoretical claims and show that, compared to learning first-order programs, learning higher-order programs can significantly improve predictive accuracies and reduce learning times.

View on arXivView PDF

Code Implementations(2)

metagol/metagolOfficial100%
BSD-3-Clause

Metagol - an inductive logic programming system

21228TeX, PrologDec 9, 20155 years agoBSD-3-Clause
inductive-logic-programmingprogram-inductionprogram-synthesis

A. Cropper, R. Morel, and S.H. Muggleton. Learning higher-order logic programs. Machine learning journal, 2019.

61Perl, PrologNov 26, 20196 years ago

Similar Papers

Cite this paper

@article{cropper2019learning,
  title  = {Learning higher-order logic programs},
  author = {Andrew Cropper and Rolf Morel and Stephen H. Muggleton},
  year   = {2019},
  eprint = {1907.10953},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1907.10953}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1907.10953.svg)](https://codeofpaper.com/paper/1907.10953)

Discussion