WPI Worcester Polytechnic Institute

Computer Science Department

CS 538 - Knowledge Based Systems

Spring Semester 2009-10

Wednesday, 6:00-8:50 p.m., WPI, Fuller Labs 232

*** Note: It appears that this course will not be running this semester
and will be postponed until Spring 2011-12.
Please contact the instructor if you have questions. ***

Version: Sat Jan 16 18:03:58 EST 2010


Prof. David C. Brown, FL131 -- (508) 831-5618 -- dcb at cs.wpi.edu

The course will be divided into two sections. In the first we study some selected, "classic" expert knowledge-based problem-solving systems. It will concentrate on an analysis of the architecture, knowledge and problem-solving style of each system in order to classify and compare them. For each system an attempt will be made to evaluate its contribution to our understanding of problems that expert systems can tackle.

In the second section we will read some of the recent literature on the development of Problem-Solving Methods. Other work on Reasoning in the Semantic Web, Ontologies, Knowledge Acquisition, Functional Reasoning, or deeper reasoning in ITS can be incorporated if there is time and demand.

Note: The format of the class will vary depending on class size. (see schedule for details)

CS 534 or equivalent is required, or get permission of the instructor.

Note that reasonable knowledge of basic AI (chapters 1-9 in R&N for example) is assumed.
Best to read it as soon as possible!

Peter Jackson, Introduction to Expert Systems, 3rd edition, Addison-Wesley, 1999, ISBN: 0201876868.
{Reviews available at Amazon}
{Out of print now, but still the best general text, and available used for $9-$30. Get the right edition!}

Supplementary Texts:
  • Joseph C. Giarratano, Gary D. Riley, Expert Systems: Principles and Programming, Fourth Edition, Course Technology, 2004, ISBN: 0534384471.
    {For CLIPS. $29-$42}
  • Ernest Friedman-Hill, Jess in Action: Java Rule-Based Systems, Manning Publications, July 2003, ISBN: 1930110898.
    {For JESS. $32-$49}

    General Information

    Implement a simple selection problem in CLIPS or JESS. The selection must be done by explicit classification: i.e., classify the situation to find what type it is and then associate that type with a choice.

    Sample applications would be to prescribe treatment based on the type and severity of a medical condition, or to prescribe a hint or scaffolding message in an Intelligent Tutoring System based on details of the current tutoring state.

    Proposal: Give me a half page project proposal at the third class, just to make sure that you're on the right track. Keep the domain to something very familiar to you. i.e., you're supposed to be an "expert"!

    Documentation: You must document the system to describe the problem being solved, as well as the problem-solving method and inference structure used. You must also structure the system so that this method and structure is clearly visible.

    System output must describe the action of the system as well as provide a view of the particular problem being solved, as well as the solution. i.e., the system "describes" its action as it runs.

    See the appendix in the text for a description of CLIPS. The web resources listed below provide more information and a downloadable PC version. CLIPS is also available on cs.wpi.edu. Type "clips" to get a prompt. Type "(exit)" to return to the UNIX prompt.

    Useful resources: See the CLIPS & JESS links given below. The appendix in the text, the Giarratano and Riley, Expert Systems book, and the JESS book could be useful.

    A "profile" consists of a set of logically grouped questions that if asked of an expert system would reveal enough information about it to allow it to be compared with all other expert systems.

    From the answers you provide to the questions asked, you should be able to make it clear what your view is of how to characterize some particular expert system.

    You will write a profile for every system you present. It should be submitted in pdf or plain text. Also submit your presentation slides, in ppt or pdf.

    Here is an example of such a profile for Expert Systems in general. (postscript), (pdf), (text).

    A Critique is a short description of the key contributions and weaknesses of a paper, and why you think so. It might also relate it to another paper. You will write a critique for every paper you read. I want your opinions and thoughts about what's interesting and notable about the paper, or what you found confusing (and why). A critique must be no more than a page long, and may be in bulleted form.

    Grading Scheme:
    While the scheme may vary depending on circumstances, it will be something like:
      Project 25%
      Class participation   10%
      Profile 25%
      Presentation 10%
      Critiques 30% (lowest 5 critiques ignored)

    Additional Information:
  • WPI AIRG AI Webliography
  • CommonKADS web page
  • The Generic Task Approach
  • AutoMech: a CSRL example
  • The Generic Task Toolset
  • DSPL
  • The IBROW3 project
  • UPML
  • Protégé
  • AI in the News: Expert Systems

  • CLIPS slides and examples.
  • CLIPS: A Tool for Building Expert Systems.
  • Search CLIPS Questions.
  • JESS: the rule engine for Java platform (also here).
  • Jess programming language

    Related Courses:
    CS 534 -- Artificial Intelligence
    CS 539 -- Machine Learning
    CS 540 -- AI in Design
    CS 549 -- Computer Vision

    Research Groups:
  • WPI AI Research Group
    {Students in this course are urged to attend AIRG meetings}
  • WPI AI in Design Research Group
  • WPI Image Science Research Group

  • dcb@cs.wpi.edu