Supervised learning intensively relies on the so-called covering test, checking whether a hypothesis covers an example. As the covering test is intensively used during the course of learning, its implementation must be efficient.
In Relational Learning and Inductive Logic Programming, the most commonly used test is the theta-subsumption defined by Plotkin. Based on reformulating theta-subsumption as a binary constraint satisfaction problem (CSP), the Django algorithm combines well-known CSP procedures and theta-subsumption specific data structures. The computational gain is about two orders of magnitude on the previous theta-subsumption algorithms.
Django has been devised by Jérôme Maloberti during his PhD under Michele Sebag's supervision. Why this name ? Because it's fast ! and because Jérôme is a Django Reinhardt's fan
- The source code
- PhD Slides
- Fast Theta-Subumption with Constraint Satisfaction Algorithms J. Maloberti and M. Sebag, Machine Learning Journal, 2004, pp 137-174.