First Order Inductive Learner - Algorithm

Algorithm

The FOIL algorithm is as follows:

Input List of examples
Output Rule in first-order predicate logic
FOIL(Examples)
Let Pos be the positive examples
Let Pred be the predicate to be learned
Until Pos is empty do:
Let Neg be the negative examples
Set Body to empty
Call LearnClauseBody
Add PredBody to the rule
Remove from Pos all examples which satisfy Body
Procedure LearnClauseBody
Until Neg is empty do:
Choose a literal L
Conjoin L to Body
Remove from Neg examples that do not satisfy L

Read more about this topic:  First Order Inductive Learner