language-icon Old Web
English
Sign In

Inductive logic programming

Inductive logic programming (ILP) is a subfield of symbolic artificial intelligence 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 a hypothesised logic program which entails all the positive and none of the negative examples. Inductive logic programming (ILP) is a subfield of symbolic artificial intelligence 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 a hypothesised logic program which entails all the positive and none of the negative examples. Inductive logic programming is particularly useful in bioinformatics and natural language processing. Gordon Plotkin and Ehud Shapiro laid the initial theoretical foundation for inductive machine learning in a logical setting. Shapiro built their first implementation (Model Inference System) in 1981: a Prolog program that inductively inferred logic programs from positive and negative examples. The term Inductive Logic Programming was first introduced in a paper by Stephen Muggleton in 1991. Muggleton also founded the annual international conference on Inductive Logic Programming, introduced the theoretical ideas of Predicate Invention, Inverse resolution, and Inverse entailment. Muggleton implemented Inverse entailment first in the PROGOL system. The term 'inductive' here refers to philosophical (i.e. suggesting a theory to explain observed facts) rather than mathematical (i.e. proving a property for all members of a well-ordered set) induction. The background knowledge is given as a logic theory B, commonly in the form of Horn clauses used in logic programming.The positive and negative examples are given as a conjunction E + {displaystyle E^{+}} and E − {displaystyle E^{-}} of unnegated and negated ground literals, respectively.A correct hypothesis h is a logic proposition satisfying the following requirements. 'Necessity' does not impose a restriction on h, but forbids any generation of a hypothesis as long as the positive facts are explainable without it.'Sufficiency' requires any generated hypothesis h to explain all positive examples E + {displaystyle E^{+}} .'Weak consistency' forbids generation of any hypothesis h that contradicts the background knowledge B.'Strong consistency' also forbids generation of any hypothesis h that is inconsistent with the negative examples E − {displaystyle E^{-}} , given the background knowledge B; it implies 'Weak consistency'; if no negative examples are given, both requirements coincide. Džeroski requires only 'Sufficiency' (called 'Completeness' there) and 'Strong consistency'.

[ "Algorithm", "Machine learning", "Artificial intelligence", "Programming language", "PROGOL", "Inverse resolution", "Relational data mining" ]
Parent Topic
Child Topic
    No Parent Topic