Section 5 : Inductive logic programming (ILP)
Commentary
Section Goals
- To introduce inductive logic programming, a well-developed inductive learning method that is based on first-order logic representation and logic programming.
Learning Objectives
Learning Objective 1
- Exemplify the expressiveness of inductive logic programming compared to decision tree learning.
- Discriminate between inductive logic programming and inductive learning from observations (i.e., decision tree learning).
- Explain the following concepts or terms:
- Constructive induction
- Inverse resolution
- Linear resolution
- Inductive logic programming
Objective Readings
Required readings:
Reading topics:
Inductive Logic Programming (see Section 19.5 of AIMA3ed)
Supplemental Readings
Blockeel, H., Shavlik, J., and Tadepalli, P. (eds.). (2008). Special issue on Inductive Logic Programming (ILP 2007). Machine Learning, 73(1), 1-106.
Muggleton, S., Otero, R., and Colton, S. (eds.). (2008). Special Issue on Inductive Logic Programming (ILP). Machine Learning, 70(2-3), 119-240.
Objective Questions
- Does the first-order logic representation in ILP make the inductive learning easier or harder? Explain your reasoning based on your own experience.
Objective Activities
- Explore FOIL algorithms related to this section in the textbook (AIMA3ed). (You may need to find FOIL elsewhere if the link to the program provided on the textbook's website doesn't work.)
- Complete Exercise 19.7 of AIMA3ed.