Parallel Execution for Speeding Up Inductive Logic Programming Systems
This paper describes a parallel algorithm and its implementation for a hypothesis space search in Inductive Logic Programming (ILP). A typical ILP system, Progol, regards induction as a search problem for finding a hypothesis, and an efficient search algorithm is used to find the optimal hypothesis. In this paper, we formalize the ILP task as a generalized branch-and-bound search and propose three methods of parallel executions for the optimal search. These methods are implemented in KL1, a parallel logic programming language, and are analyzed for execution speed and load balancing. An experiment on a benchmark test set was conducted using a shared memory parallel machine to evaluate the performance of the hypothesis search according to the number of processors. The result demonstrates that the statistics obtained coincide with the expected degree of parallelism.
KeywordsParallel Algorithm Logic Programming Parallel Execution Inductive Logic Inductive Logic Programming
Unable to display preview. Download preview PDF.
- 2.Takashi Chikayama, KLIC User’s Manual, Institute for New Generation Computer Technology, 1997.Google Scholar
- 3.Fujita, H., Yagi, N., Ozaki, T., and Furukawa, K., A new design and implementation of Progol by bottom-up computation, Proc. of the 6th International Workshop on ILP, pp. 163–174, 1996.Google Scholar
- 4.Matsui, T., Inuzuka, N., Seki, H. and Itoh, H., Parallel Induction Algorithms for Large Samples, Discovery Science, pp. 397–398, 1998.Google Scholar
- 5.Mizoguchi, F. and Ohwada H., Personalized Mail Agent Using Inductive Learning, Machine Intelligence, Vol. 15, pp. 154–175, 1999.Google Scholar