Inductive logic programming is a machine learning method that combines inductive learning with the representation of hypotheses as logic programs. There exist methods that given a template find unification of variables in the template to obtain a hypothesis that subsumes all positive examples and does not subsume any negative example.
In this paper we deal with the problem how to obtain the template. In particular, we suggest a method how to efficiently generate the template by remembering the history of generated templates and exploiting this history when adding predicates to a new candidate template.
This method significantly outperforms the existing method based on brute-force incremental extension of the template. We demonstrate the efficiency experimentally using randomly generated structured problems.