Inductive Learning of Answer Set Programs

ILASP (Inductive Learning of Answer Set Programs)

Answer Set Programming (ASP) is a declarative modelling language, capable of representing complex combinatorial problems. ILASP (Inductive Learning of Answer Set Programs) is a recently developed system for machine learning of ASP programs from examples. ILASP enables learning programs containing normal rules, choice rules and both hard and weak constraints. It has been applied to learning common-sense knowledge, including choices, defaults, exceptions and preferences.


ILASP is free to use for research and education. If do use ILASP for research, we ask that you use this citation of the system, in addition to citing the relevant research papers. Anyone wishing to use ILASP for commercial purposes should contact Mark Law (


This documentation page is under construction. Some links in the table of contents are yet to be added.

Table of Contents

  1. Introduction to Logic-based Machine Learning
    1. Logic and Logic Programming
    2. Answer Set Programming
    3. Inductive Logic Programming
    4. Learning Answer Set Programs from Examples
  2. Specifying a Learning Problem
    1. Background Knowledge
    2. Hypothesis Space
      1. Explicitly Defining the Hypothesis Space
      2. Mode Declarations
      3. Meta-level ASP Definition of the Hypothesis Space
      4. Metarules
    3. (Context Dependent) Partial Interpretations
    4. Ordering Examples
    5. Noise
    6. Meta-program injection
  3. Example Learning Problems
    1. Sudoku
    2. Hamilton Graphs
    3. Scheduling
    4. Journey Preferences
    5. Sentence Chunking
    6. Agent Planning
    7. Sushi Preferences
    8. Car Preferences
  4. Running ILASP
    1. Installation
    2. Parameters to ILASP
    3. Interpreting the output from ILASP
    4. Common failures and how to “debug” ILASP tasks
  5. Improving Efficiency
    1. Choosing the “right” parameters
    2. Efficient Representation of Learning Tasks