Inductive Logic Programming

Inductive Logic Programming (ILP) is a method by which a computer program can learn concepts by example. The concept is represented in Horn clause logic, the same representation as a Prolog program. Thus, ILP provides a computer with the ability to learn programs instead requiring a human to write them. ILP is now used in applications such as protein folding prediction, drug design and finite element analysis.

Some of the foundational work in ILP research was done at UNSW in the late 1970's and early 1980's by Brian Cohen and Claude Sammut. Several Ph.D. students have continued to investigate the use of ILP in incremental learning systems. These are learning systems that perform experiments to learn how to behave in complex environments. The critical factor in such a learning system is that they learn with incomplete information and therefore can make mistakes. Thus an incremental learning system must be able to cope with incomplete and inconsistent theories of its environment.

iProlog is a Prolog interpreter that has been augmented with and ILP learner and propositional and statistical learning algorithms

Selected Publications

Cohen, B. L., & Sammut, C. A. (1978). Pattern Recognition and Learning with Structural Description Languages. In Fourth International Joint Conference on Pattern Recognition. (pp. 1443-1446). Tokyo.

Sammut, C. A. (1981). Concept Learning by Experiment. In Seventh International Joint Conference on Artificial Intelligence. (pp. 104-105). Vancouver.

Sammut, C. A. (1981) Learning Concepts by Performing Experiments. Ph.D. thesis, Department of Computer Science, University of New South Wales.

Cohen, B. L., & Sammut, C. A. (1982). Object Recognition and Concept Learning with CONFUCIUS. Pattern Recognition Journal, 15(4), 309-316.

Sammut, C. A. (1985). Concept Development for Expert System Knowledge Bases. Australian Computer Journal, 17(1).

Sammut, C. A., & Hume, D. V. (1985). Learning Concepts in a Complex Robot World. In Proceedings of the Third International Machine Learning Workshop, Skytop, Pennsylvania.

Sammut, C. A., & Banerji, R. B. (1986). Learning Concepts by Asking Questions. In R. S. Michalski Carbonell, J.G. and Mitchell, T.M. (Eds.), Machine Learning: An Artificial Intelligence Approach, Vol 2. (pp. 167-192). Los Altos, California: Morgan Kaufmann.

Sammut, C. A., & Hume, D. V. (1987). Observation and Generalisation in a Simulated Robot World. In P. Langley (Eds.), Proceedings of the Fourth International Machine Learning Workshop. (pp. 267-273). Los Altos, California: Morgan Kaufmann Publishers.

Sammut, C. A. (1988). Logic Programs as a Basis for Machine Learning. In P. Brazdil (Ed.), Proceedings of the International Workshop on Logic, Meta-Reasoning and Learning, Sesimbra, Portugal.

Hume, D. V. (1990). Learning Procedures by Environment-Driven Constructive Induction. In B. W. Porter & R. J. Mooney (Eds.), Proceedings of the Seventh International Conference on Machine Learning. (pp. 113-121). Austin, Texas: Morgan Kaufmann.

Sammut, C. A. (1990). Error-Tolerant Learning Systems. In D. Michie & J. Hayes-Michie (Eds.), Machine Intelligence 12. (pp. 169-185). Oxford University Press.

Hume, D., & Sammut, C. (1991). Applying Inductive Logic programming in Reactive Environments. In S. Muggleton (Ed.), Proceedings of the Inductive Logic Programming Workshop, Porto, Portugal.

Hume, D., & Sammut, C. (1991). Using Inverse Resolution to Learn Relations from Experiments. In Proceedings of the Eigth International Machine Learning Conference, Northwestern University, Illinois: Morgan Kaufmann.

Sammut, C. (1993). The Origins of Inductive Logic Programming. In S. Muggleton (Ed.), Third International Workshop on Inductive Logic Programming, Bled, Solvenia.

Sammut, C. (1994). Knowledge Representation. In D. Michie, D. J. Speigelhalter, and C. C. Taylor (Eds.), Machine Learning, Neural Nets and Statistical Classification. Ellis Horwood, pp. 228-245.

Amin, A., Sammut, C., & Sum, K. C. (1996). Learning to recognize hand-printed Chinese characters using Inductive Logic Programming. International Journal of Pattern Recognition and Artificial Intelligence, 10(7), 829-847.

Sammut, C. (1996). Inductive logic programming and multistrategy learning. In K. Furukawa (Ed.), Japanese Workshop on Inductive Logic Programming, (pp. 105-111). Sapporo, Japan.

Sammut, C. (1997). Using background knowledge to build multistrategy learners. Machine Learning, 27, 241-257.

Zrimec, T., and Sammut, C. (1997). Knowledge Acquisition for Medical Image Understanding. In Australian Knowledge Acquisition Workshop, (pp. 7-1 - 7-11). Perth.

Sammut, C., and Zrimec, T. (1998). Learning to classify X-ray images using relational learning. In C. Nedellec and C. Rouveirol (Ed.), Machine Learning: ECML-98. Chemnitz, Germany: Springer-Verlag. pp. 55-60.

Sammut, C. (1998). Prolog, Refinements and RLGG's. In D. Page (Ed.), International Conference on Inductive Logic Programming, Madison, Wisconsin: Springer-Verlag.