We investigate using the Mercury language to implement and design ILP algorithms, presenting our own ILP system IMP. Mercury provides faster execution than Prolog. Since Mercury is a purely declarative language, run-time assertion of induced clauses is prohibited. Instead IMP uses a problem-specific interpreter of ground representations of induced clauses. The interpreter is used both for cover testing and bottom clause generation. The Mercury source for this interpreter is generated automatically from the user’s background knowledge using Moose, a Mercury parser generator. Our results include some encouraging results on IMP’s cover testing speed, but overall IMP is still generally a little slower than ALEPH.
|Publication status||Published - 2006|