Aleph (ILP)
From Wikipedia, the free encyclopedia
Original author(s)Ashwin Srinivasan
Developer(s)Ashwin Srinivasan, Fabrizio Riguzzi
Stable release
5
/ May 16, 2007
| Original author(s) | Ashwin Srinivasan |
|---|---|
| Developer(s) | Ashwin Srinivasan, Fabrizio Riguzzi |
| Stable release | 5
/ May 16, 2007 |
| Repository | https://github.com/friguzzi/aleph |
| Written in | Prolog |
| Type | Inductive logic programming system |
| Website | www |
Aleph (A Learning Engine for Proposing Hypotheses)[1] is an inductive logic programming system introduced by Ashwin Srinivasan in 2001. As of 2022[update] it is still one of the most widely used inductive logic programming systems. It is based on the earlier system Progol.[2]
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.[2]
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.[2]
Basic algorithm
Starting with an empty hypothesis, Aleph proceeds as follows:[2]
- It chooses a positive example to generalise; if none are left, it aborts and outputs the current hypothesis.
- Then it constructs the bottom clause, that is, the most specific clause that is allowed by the mode declarations and covers the example.
- It then searches for a generalisation of the bottom clause that scores better on the chosen metric.
- It then adds the new clause to the hypothesis program and removes all examples that are covered by the new clause.