Machine Learning

Homework 6

Due: November 13, 2009 (midnight)

No late homeworks will be accepted.

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 clique of size four, i.e., a graph with four nodes, where each node is connected to every other node by a single, undirected edge.

  1. You can download Progol from here. Additional examples and documentation are available here. Progol is designed for a UNIX environment, but you can get it to run on Windows with some fiddling, if you want. Your goal is to construct an input file for which Progol learns a hypothesis equivalent to the following.

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

  2. Download Subdue from here. Additional examples and papers are availabler here. Subdue is designed for a UNIX environment, but you can get it to run on Windows with some fiddling, if you want. Your goal is to construct an input file for which Subdue learns a hypothesis equivalent to the following ('a' is just an arbitrary label).

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

  3. Discuss the differences between Progol and Subdue on this problem of learning a clique in terms of the representations, inputs, outputs, number of examples, and performance.
  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.