Inductive logic programming

Jump to: navigation, search

Inductive logic programming (ILP) is a subfield of machine learning which uses logic programming as a uniform representation for examples, background knowledge and hypotheses. Given an encoding of the known background knowledge and a set of examples represented as a logical database of facts, an ILP system will derive an hypothesised logic program which entails all the positive and none of the negative examples.

Schema: positive examples + negative examples + background knowledge => hypothesis.

Inductive logic programming is particularly useful in bioinformatics and natural language processing. The term Inductive Logic Programming was first introduced in a paper by Stephen Muggleton in 1991.


  • S.H. Muggleton. Inductive Logic Programming. New Generation Computing, 8(4):295-318, 1991.
  • S.H. Muggleton and L. De Raedt. Inductive logic programming: Theory and methods. Journal of Logic Programming, 19,20:629-679, 1994.
  • N. Lavrac and S. Dzeroski. Inductive Logic Programming: Techniques and Applications. Ellis Horwood, New York, 1994, ISBN 0-13-457870-8 Publicly available online version.