Machine Learning

Homework 6

Due: November 9, 2007 (midnight)

No late homeworks will be accepted.

Total points: 35

For this assignment you will not use Weka, because Weka does not support relational learning. However, there are several systems available for experimenting with relational learning. We will look at two: Progol and Subdue. Your assignment is to get each system to learn the concept of a four-cycle, i.e., a structure with four nodes, where each node is connected to exactly two other nodes.

  1. (15 points) Download Progol from here. After unzipping the package on a UNIX system, you will need to type 'make' in the 'source' directory to build Progol. See 'man/tutorial4.4.pdf' for help with Progol. Your goal is to construct an input file for which Progol learns a hypothesis equivalent to the following.

    fourcycle(A,B,C,D) :- connected(A,B), connected(B,C), connected(C,D), connected(A,D).

  2. (15 points) Download Subdue from here. After unzipping the package on a UNIX system, you will need to type 'make' and then 'make install' in the 'src' directory. This will put the executeable in 'bin/subdue'. See 'docs/UsersManual_1.4.pdf' for help with Subdue. Your goal is to construct an input file for which Subdue learns a hypothesis equivalent to the following.

    v 1 a
    v 2 a
    v 3 a
    v 4 a
    u 1 2 a
    u 2 3 a
    u 3 4 a
    u 1 4 a

  3. (5 points) Discuss the differences between Progol and Subdue on this problem of learning a four-cycle in terms of the number of examples needed to learn the concept.
  4. Email to me (holder@eecs.wsu.edu) a zip file containing your input and output files for Progol and Subdue and a file containing your discussion from question 3.