ILP: Compute Once, Reuse Often

Inductive Logic Programming (ILP) is a powerful and welldeveloped abstraction for multi-relational data mining techniques. However, ILP systems are not particularly fast, most of their execution time is spent evaluating the hypotheses they construct. The evaluation time needed to assess the quality...

Full description

Bibliographic Details
Main Author: Nuno A. Fonseca (author)
Other Authors: Ricardo Rocha (author), Rui Camacho (author), Vítor Santos Costa (author)
Format: book
Language:eng
Published: 2007
Subjects:
Online Access:https://hdl.handle.net/10216/67388
Country:Portugal
Oai:oai:repositorio-aberto.up.pt:10216/67388
Description
Summary:Inductive Logic Programming (ILP) is a powerful and welldeveloped abstraction for multi-relational data mining techniques. However, ILP systems are not particularly fast, most of their execution time is spent evaluating the hypotheses they construct. The evaluation time needed to assess the quality of each hypothesis depends mainly on the number of examples and the theorem proving effort required to determine if an example is entailed by the hypothesis. We propose a technique that reduces the theorem proving effort to a bare minimum and stores valuable information to compute the number of examples entailed by each hypothesis (using a tree data structure). The information is computed only once (pre-compiled) per example. Evaluation of hypotheses requires only basic and efficient operations on trees. This proposal avoids re-computation of hypothesis value in theory-level search and cross-validation algorithms, whenever the same data set is used with different parameters. In an empirical evaluation the technique yielded considerable speedups.