Code:Quintus Prolog
References:Dzeroski 1993

MFOIL is a descendant of FOIL which aims at improving its noise handling capacities. These are of crucial importance when processing imperfect real-world datasets. MFOIL integrates several noise-handling techniques adapted from attribute-value learning approaches into FOIL. In particular, it offers two alternative accuracy-based search heuristics replacing FOIL's entropy-based information gain criterion, namely the Laplace-estimate and the more sophisticated m -estimate. The m -estimate takes into account the prior probabilities of examples, leading to a more reliable criterion for small example sets. The user-settable parameter m allows to control the influence of the prior probabilities. In MFOIL, FOIL's encoding-length based stopping criteria are replaced by criteria relying on statistical significance testing. Further differences between FOIL and MFOIL concern the search strategy and the background knowledge. As FOIL, MFOIL adopts a covering strategy, but, unlike FOIL, it conducts beam search in order to overcome at least partially some of the disadvantages of FOIL's greedy hill-climbing search. On the other hand, some of FOIL's more advanced features, such as number handling, are not realised in MFOIL. Whereas FOIL is restricted to ground background knowledge, MFOIL is able to process intensionally defined background predicates as well. Furthermore, MFOIL allows the user to declare additional informations on the background predicates which reduce the number of candidate body literals that are constructed during induction and thus help to gain efficiency.


  1. S. Dzeroski. Handling imperfect data in inductive logic programming. In Proceedings of the 4th Scandinavian Conference on Artificial Intelligence, pages 111-125. IOS Press, 1993.
  2. N. Lavrac and S. Dzeroski. Inductive Logic Programming: Techniques and Applications. Ellis Horwood, 1994.

back to index