Inductive logic programming

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.

Implementations

 * PROGOL (http://www.doc.ic.ac.uk/~shm/Software/progol5.0)
 * Golem (ILP) (http://www.doc.ic.ac.uk/~shm/Software/golem)
 * Aleph (http://web.comlab.ox.ac.uk/oucl/research/areas/machlearn/Aleph/)
 * Foil (ftp://ftp.cs.su.oz.au/pub/foil6.sh)
 * Claudien (http://www.cs.kuleuven.ac.be/~ml/CWIS/claudien-E.shtml)
 * Lime (http://cs.anu.edu.au/people/Eric.McCreath/lime.html)
 * ACE (http://www.cs.kuleuven.ac.be/~dtai/ACE/)
 * DMax (http://www.pharmadm.com/dmax.asp)
 * Warmr (http://www.cs.kuleuven.ac.be/~ml/Doc/TW_User/)
 * RSD (http://labe.felk.cvut.cz/~zelezny/rsd/)
 * Mio (http://kd.cs.uni-magdeburg.de/~pena/)

การโปรแกรมตรรกะเชิงอุปนัย Programmation_logique_inductive