Inductive logic programming: Difference between revisions

Content deleted Content added
Undid revision 1110500355 by Randy.goebel (talk) External link in body of article
Tags: Undo Reverted
m Added a historial reference to implementation of inductive logic programming.
Tags: Manual revert Reverted nowiki added Visual edit
Line 5:
* Schema: ''positive examples'' + ''negative examples'' + ''background knowledge'' ⇒ ''hypothesis''.
 
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.<ref>Plotkin G.D. [https://www.era.lib.ed.ac.uk/bitstream/handle/1842/6656/Plotkin1972.pdf;sequence=1 Automatic Methods of Inductive Inference], PhD thesis, University of Edinburgh, 1970.</ref><ref>Shapiro, Ehud Y. [http://ftp.cs.yale.edu/publications/techreports/tr192.pdf Inductive inference of theories from facts], Research Report 192, Yale University, Department of Computer Science, 1981. Reprinted in J.-L. Lassez, G. Plotkin (Eds.), Computational Logic, The MIT Press, Cambridge, MA, 1991, pp. 199–254.</ref><ref>Shapiro, Ehud Y. (1983). ''Algorithmic program debugging''. Cambridge, Mass: MIT Press. {{ISBN|0-262-19218-7}}</ref> Shapiro built their first implementation (Model Inference System) in 1981:<ref>Shapiro, Ehud Y. "[http://dl.acm.org/citation.cfm?id=1623364 The model inference system]." Proceedings of the 7th international joint conference on Artificial intelligence-Volume 2. Morgan Kaufmann Publishers Inc., 1981.</ref> a [[Prolog]] program that inductively inferred logic programs from positive and negative examples. The first full first order implementation of inductive logic programming was Theorist, produced by David Poole, Randy Goebel, and Romas Aleliunas in 1986 [https://www.cs.ubc.ca/~poole/papers/Theorist-CS-86-06.pdf<nowiki>]. The term </nowiki>''Inductive Logic Programming'' was first introduced<ref>Luc De Raedt. A Perspective on Inductive Logic Programming. The Workshop on Current and Future Trends in Logic Programming, Shakertown, to appear in Springer LNCS, 1999. [[CiteSeerX]]: {{url|1=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.1790|2=10.1.1.56.1790}}</ref> in a paper by [[Stephen Muggleton]] in 1991.<ref name="muggleton1995inverse">{{Cite journal | last1 = Muggleton | first1 = S.H. | title = Inductive logic programming | doi = 10.1007/BF03037089 | journal = New Generation Computing | volume = 8 | issue = 4 | pages = 295–318 | year = 1991 | citeseerx =10.1.1.329.5312 }}</ref> Muggleton also founded the annual international conference on Inductive Logic Programming, introduced the theoretical ideas of Predicate Invention, [[Inverse resolution]],<ref>Muggleton S.H. and Buntine W. "[https://www.sciencedirect.com/science/article/pii/B9780934613644500402 Machine invention of first-order predicate by inverting resolution]","Proceedings of the 5th International Conference on Machine Learning, 1988.</ref> and Inverse entailment.<ref>{{cite journal | last1 = Muggleton | first1 = S.H. | year = 1995 | title = Inverting entailment and Progol | journal = New Generation Computing | volume = 13 | issue = 3–4| pages = 245–286 | doi=10.1007/bf03037227| citeseerx = 10.1.1.31.1630 }}</ref> Muggleton implemented Inverse entailment first in the [[PROGOL]] system. The term "''inductive''" here refers to [[Inductive reasoning|philosophical]] (i.e. suggesting a theory to explain observed facts) rather than [[mathematical induction|mathematical]] (i.e. proving a property for all members of a well-ordered set) induction.
 
==Formal definition==