Aleph | |
Author: | Ashwin Srinivasan |
Developer: | Ashwin Srinivasan, Fabrizio Riguzzi |
Latest Release Version: | 5 |
Repo: | https://github.com/friguzzi/aleph |
Programming Language: | Prolog |
Genre: | Inductive logic programming system |
Aleph (A Learning Engine for Proposing Hypotheses) is an inductive logic programming system introduced by Ashwin Srinivasan in 2001. it is still one of the most widely used inductive logic programming systems. It is based on the earlier system Progol.
The input to Aleph is background knowledge, specified as a logic program, a language bias in the form of mode declarations, as well as positive and negative examples specified as ground facts.
As output it returns a logic program which, together with the background knowledge, entails all of the positive examples and none of the negative examples.
Starting with an empty hypothesis, Aleph proceeds as follows:
Aleph searches for clauses in a top-down manner, using the bottom clause constructed in the preceding step to bound the search from below. It searches the refinement graph in a breadth-first manner, with tunable parameters to bound the maximal clause size and proof depth. It scores each clause using one of 13 different evaluation metrics, as chosen in advance by the user.