Reasoning about Plans using Description Logics

Due: October 18, 2000

 

In this assignment you will use LOOM to reason about plan descriptions.

IMPORTANT NOTE: The purpose of this homework is NOT that you learn LOOM (this can take a few weeks). So do not worry about reading the manual and other documentation. Instead, we provide a high level API to LOOM that should be sufficient to do the homework. If you cannot find a way to use this API to ask something from LOOM, let me know (gil@isi.edu).

  1. Running LOOM
    • Getting a hold of the software and running it.
      • You can download LOOM directly from the LOOM project page, where you can find the code and the manual.
      • It is already downloaded to aludra. There is a Lisp image with LOOM loaded in it that is available in the course account csci541 (courtesy of Andrew Schooler and Tom Russ). The image is in loom4.0/loom.
    • Switch to the LOOM package by saying "(in-package 'loom)". This will make things simpler, but if you prefer to play with LISP packages you can do so at your own risk...
    • Define a new concept by typing (defconcept car). Print LOOM's definition of this concept by typing (pc car).
    • If you have any problems with any of the steps above, please send me mail (gil@isi.edu).
    • Load this functional API to LOOM. Here is some documentation for it. This API allows you to use these functions to ask queries from LOOM. If you use it, you do not need to understand a lot about how LOOM works, or read its manual, etc.
  2. Load a small domain and learn to use the API.
    • Load this file with a small domain, defining projects and researchers.
    • Formulate simple questions:
      • Show me what you know about researchers: (kb-print 'researcher). This is how you print a concept.
      • Show me what you know about Paul: (kb-print 'Paul). This is how you print an instance.
      • Show me the members of the project Beatle-Planet (kb-get-values 'r-member 'Beatle-Planet). This is how you get the fillers or values of a relation r-member for an instance.
      • What kinds of things can be members of a project: (kb-get-range 'r-member 'research-project). This is how you get the range (type of possible values) of a relation for a concept.
  3. Homework

Yolanda Gil
Last modified: Tues Oct 10 2000