I encounter a question while reading Quinlan's 1990 paper "Learning Logical Definitions from Relations". He described that (section 5.2) for learning the recursive relations on lists, the following is "a simple set of examples that are somehow sufficient to discover the relations" and is not randomly generated.


  • list: {<()>, <(a)>, <(b(a)d)>, <((a)d)>, <(d)>}
  • null: {<()>}
  • components: {<(a), a, ()>, <(b(a)b), b, ((a)d)>, <((a)d), ((a)), (d)>, <(d), d, ()>, <(e.f), e, f>}

    with negative tuples provided by closed-world assumption.

The induced theories are

  • list(A) <- components(A, B, C), list(C)
  • list(A) <- null(A)

I don't understand why the provided examples serves as simple and sufficient. Besides, I wonder is there any general principles for selecting good examples in ILP?

I'm not from this area hence I'm not sure if partial answers have been provided in any other related literature.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.