Department of 
Computer Science

Search our Site

Line

ON THIS PAGE:

Course Objectives

Prerequisites

Approach

Typical Text

Course Outline

  COMP 788 [275]: Expert Systems
(3 hours)

Course Objectives
Introduce research topics in Expert Systems.

Prerequisites
COMP 750.

Approach
The last offering of this course used the FLEX expert systems shell. We are switching from FLEX to CLIPS because of problems we had with FLEX. CLIPS is a forward-chaining production system written in ANSI C by NASA. CLIPS is being used by over 5,000 users throughout the public and private community. Another change in the course is that the second and third class meetings (January 12 and 17) will be devoted to viewing the video "Intelligent Systems", featuring the following lectures:

  • Mind as Society, by Marvin Minsky
  • Expert Systems, by Feigenbaum and Nii
  • Artificial Intelligence, by John McCarthy
  • Infinity and the Mind, by Rudy Rucker

This video will give a general introduction to the (sometimes controversial) field of artificial intelligence.

In the first two offerings of this course, we covered OPS5 as a sample expert system shell. OPS5, discussed in the text by Sherman and Martin, is based on production systems and is widely used, but does not have many of the features of commercial expert systems. Also, it is hard to use for large systems, as students of previous course offerings can verify. In 1992, we used the FLEX expert system, which is built on top of Quintus Prolog. This system has frames, inheritance, forward and backward chaining, and other features often found in current systems. However, it is not necessary to know Prolog to use FLEX. This time we will emphasize CLIPS instead, since it is more reliable and the production quality version is available free. We will first cover CLIPS so that students can begin their projects. This also helps to demystify the field in a hurry so that students will have some perspective for the later parts of the course. In the second part of the course, we will cover the theory of expert systems using the Patterson text, with some updates from a few more recent developments. In between, we will talk about the use of theorem provers for expert systems. We will briefly discuss some local theorem provers. Xumin Nie and I have written a theorem prover in Prolog; this prover is an extension of Prolog to full first-order logic, and will be available for experimentation in expert system implementation. Another prover (CLIN-S) has been implemented by Heng Chu, and will also be available. We may also have some guest lectures. Any suggestions or volunteers for guest lecturers will be appreciated. Finally, students will give lectures on their projects.

There will be 4-6 homework assignments, an exam somewhere near the middle of the course, and a project. The grade will be based approximately 30 % on the homework, 30 % on the exam, and 40 % on the project, which will typically be the implementation of an expert system in some area using CLIPS. This can be done by groups of 2-3 students or by individual students, according to preference. Possible areas of application will be presented.

My areas of research include theorem proving and logic programming, so there may be possible thesis topics on the relationships of these areas to expert systems. I'm really interested to see how much of an expert system can be done by a powerful general theorem prover.

Typical Text
Patterson, Introduction to AI and Expert Systems
Giarratano and Riley, Expert Systems: Principles and Programming

Texts used in 1992:
FLEX manual
Patterson, Introduction to AI and Expert Systems

Texts used in 1990:
Patterson, Introduction to AI and Expert Systems
Sherman and Martin, An OPS5 Primer

Texts used in 1986:
Waterman, D., A Guide to Expert Systems (Addison-Wesley, Reading, Massachusetts, 1986)
Brownston, L, Farrell, R., Kant, E., and Martin, N., Programming Expert Systems in OPS5 (Addison-Wesley, Reading, Massachusetts, 1985).

Course Outline
Numbers in parentheses indicate approximate number of weeks

  • Introduction (1)
  • Video "Intelligent Systems" (2)
  • CLIPS expert system shell (10)
  • Theorem provers (3)
  • Theory of expert systems (Patterson text):
  • Truth maintenance and default reasoning (1)
  • Learning (1)
  • Closed world assumption (1)
  • Circumscription (1)
  • Modal and temporal logic (1)
  • Fuzzy logic (1)
  • Bayesian inference (1)
  • Dempster-Shafer theory (2)
  • Semantic networks and frames (1)
  • Object oriented representations (1)
  • Expert systems architectures (1)
  • Neural networks (3)
  • Student projects (6)
  • Guest lectures (3)

Horizontal Line
Department of Computer Science
Campus Box 3175, Sitterson Hall
College of Arts & Sciences
The University of North Carolina at Chapel Hill
Chapel Hill, NC 27599-3175 USA
Phone: (919) 962-1700
Fax: (919) 962-1799

Content Manager: Associate Chairman for Academic Affairs
Server Manager: webmaster@cs.unc.edu
Last Content Review: 7 November 1995