By the same authors

Further Inductive Mercury Programming and IMP0.5

Research output: Working paper



Publication details

DatePublished - 1 Mar 2009
Original languageEnglish


We explore the use of Mercury for Inductive Logic Programming and present IMP0.5, the product of our research. Mercury is a compiled logic programming language with modern features, which requires the user to write type, mode and determinism declarations for each of their predicates. This information is used by the Mercury compiler to optimise generated code, which, amongst other things, enables Mercury to provide faster execution than Prolog. IMP0.5 is an ILP system, and an ILP software library, which contains re-usable modules of ILP related code. Our aim in creating IMP0.5 as a software library was to significantly reduce the effort required to implement new ILP algorithms. We feel this has been achieved and provide implementations of some typical ILP algorithms, the most notable being the Aleph default algorithm. Since Mercury is a purely declarative language run-time assertion of induced hypotheses is prohibited. Therefore, hypotheses are represented as ground terms, and, to enable fast cover testing, interpreted with a problem specific interpreter, which is generated at compile-time. We also use a cover set representation based on RL-Trees, which is very space efficient and thus beneficial for large searches. Empirical results are generally good, especially for complex background knowledge, and in one case shows a 56 times speed-up compared with Aleph.

Discover related content

Find related publications, people, projects, datasets and more using interactive charts.

View graph of relations