When Does It Pay Off to Use Sophisticated Entailment Engines in ILP?
Entailment is an important problem in computational logic particularly relevant to the Inductive Logic Programming (ILP) community as it is at the core of the hypothesis coverage test which is often the bottleneck of an ILP system. Despite developments in resolution heuristics and, more recently, in subsumption engines, most ILP systems simply use Prolog’s left-to-right, depth-first search selection function for SLD-resolution to perform the hypothesis coverage test.
We implemented two alternative selection functions for SLD-resolution: smallest predicate domain (SPD) and smallest variable domain (SVD); and developed a subsumption engine, Subsumer. These entailment engines were fully integrated into the ILP system ProGolem.
The performance of these four entailment engines is compared on a representative set of ILP datasets. As expected, on determinate datasets Prolog’s built-in resolution, is unrivalled. However, in the presence of even little non-determinism, its performance quickly degrades and a sophisticated entailment engine is required.
KeywordsEntailment engines Coverage testing SLD-resolution
- 5.Kapur, D., Narendran, P.: Np-completeness of the set unification and matching problems. In: Siekmann, J.H. (ed.) CADE 1986. LNCS, vol. 230, pp. 489–495. Springer, Heidelberg (1986)Google Scholar
- 10.Markovitch, S., Scott, P.D.: Automatic ordering of subgoals - a machine learning approach. In: NACLP, pp. 224–240 (1989)Google Scholar
- 13.Santos, J., Muggleton, S.: Subsumer: A Prolog theta-subsumption engine. In: Technical communications of the 26th Int. Conference on Logic Programming, Leibniz International Proc. in Informatics, Edinburgh, Scotland (2010)Google Scholar
- 14.Sebag, M., Rouveirol, C.: Tractable induction and classification in first order logic via stochastic matching. In: IJCAI, vol. (2), pp. 888–893 (1997)Google Scholar