Progol
Progol is an implementation of inductive logic programming that combines inverse entailment[definition needed] with general-to-specific search through a refinement graph.[definition needed][1][2][3] It was developed by Stephen Muggleton.
Inverse entailment is used with mode declarations to derive the most-specific clause within the mode language[definition needed] which entails a given example. This clause is used to guide a refinement-graph search.
Unlike the searches of Ehud Shapiro's model inference system[4] (MIS) and J. Ross Quinlan's FOIL, Progol's search is efficient and has a provable guarantee of returning a solution having the maximum compression[definition needed] in the search-space. To do so it performs an admissible A*-like search, guided by compression, over clauses which subsume the most specific clause.
Progol deals with noisy data by using a compression measure to trade off the description of errors against the hypothesis description length. Progol allows arbitrary Prolog programs as background knowledge and arbitrary definite clauses as examples. Despite this, benchmarking shows that the efficiency of Progol compares favourably with FOIL.[citation needed]
References
- ^ Muggleton, S. (1995). "Inverse entailment and progol". New Generation Computing. 13 (3–4): 245–286. CiteSeerX 10.1.1.31.1630. doi:10.1007/BF03037227.
- ^ Progol page at Imperial College
- ^ Muggleton, S. (1997). "Learning from positive data". Inductive Logic Programming. Lecture Notes in Computer Science. Vol. 1314. pp. 358–376. doi:10.1007/3-540-63494-0_65. ISBN 978-3-540-63494-2.
- ^ https://dl.acm.org/doi/10.5555/1623264.1623364 The model inference system, 1981
- Use dmy dates from September 2017
- Justapedia articles needing clarification from April 2021
- Articles with invalid date parameter in template
- All articles with unsourced statements
- Articles with unsourced statements from April 2021
- All stub articles
- Artificial intelligence stubs
- Robotics stubs
- Inductive logic programming
- Logic programming languages