Aleph (A Learning Engine for Proposing Hypotheses)[1] is an inductive logic programming system introduced by Ashwin Srinivasan in 2001. As of 2022 it is still one of the most widely used inductive logic programming systems. It is based on the earlier system Progol.[2]

Aleph
Original author(s)Ashwin Srinivasan
Developer(s)Ashwin Srinivasan, Fabrizio Riguzzi
Stable release
5 / May 16, 2007; 17 years ago (2007-05-16)
Repositoryhttps://github.com/friguzzi/aleph
Written inProlog
TypeInductive logic programming system
Websitewww.cs.ox.ac.uk/activities/programinduction/Aleph/

Learning task

edit

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

edit

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.

Search algorithm

edit

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.[3]

Notes

edit

References

edit
  • Burnside, Elizabeth S.; Davis, Jesse; Costa, Vítor Santos; de Castro Dutra, Inês; Kahn, Charles E.; Fine, Jason; Page, David (2005). "Knowledge Discovery from Structured Mammography Reports Using Inductive Logic Programming". AMIA Annual Symposium Proceedings. 2005: 96–100. ISSN 1942-597X. PMC 1560852. PMID 16779009.
  • Cropper, Andrew; Dumančić, Sebastijan (2022-06-15). "Inductive Logic Programming At 30: A New Introduction". Journal of Artificial Intelligence Research. 74: 766–850. arXiv:2008.07912. doi:10.1613/jair.1.13507. ISSN 1076-9757.