CPE/CSC 481-W11 Knowledge-Based Systems Syllabus


General Information


Instructor


Dr. Franz J. Kurfess, Cal Poly Computer Science Department (http://www.csc.calpoly.edu/~fkurfess/)

Office Hours

My office hours are tentatively scheduled for Tue/Thu 10:10-11:00 pm, and Wed 2:10-5:00 pm. My office is in building 14, room 218.

Class Times


  • Lab: TuTh 4:40PM - 6:00PM in 02-13
  • Lecture: TuTh 6:10PM - 7:30PM in 14-302

Course Description

"In-depth treatment of knowledge representation, utilization and acquisition in a programming environment. Emphasis on the use of domain-specific knowledge to obtain expert performance in programs." [from the Cal Poly Catalog 2007-09]. Prerequisites: CSC 480 (Artificial Intelligence)

Goals and Objectives

The goal of the course is to understand important problems, challenges, concepts and techniques from the field of Knowledge-Based Systems. In order to achieve this, students learn how to analyze, design, and implement programs and systems of varying complexities. The core aspect of these systems is their ability to deal with knowledge in various forms. This includes the acquisition of knowledge from human experts, other knowledge repositories, or via learning techniques from raw data such as delivered by sensors or data bases. Knowledge also has to be stored in an internal format that is suitable for computer-based storage and processing, while still being accessible to human inspection. Then knowledge needs to be processed, where one important activity is the generation of new knowledge from existing pieces. Based on the new and existing knowledge, decisions must be made for the system, or agents involved with or served by it, to perform some actions. For many systems, an explanation or verification of their suggestions in a format understandable by developers, domain experts or regular users can be important.

Textbooks


This year, I am restructuring the contents of the course to include more recent developments in the area of Knowledge-Based Systems, in particular the use of ontologies. The slides I’m using for the lecture will be available through this Web page; see the links from the topic entries in the schedule.
To my knowledge, there are no textbooks available that cover these topics well. In the past, I have used the textbooks listed below. There is a column in the course schedule which indicates the chapters in the books that correspond to a topic discussed in class. I will also indicate other resources that provide relevant information.
A very nice overview of the literature is at the Web site of the American Association of Artificial Intelligence (AAAI), http://www.aaai.org/AITopics/pmwiki/pmwiki.php/AITopics/ExpertSystems. It contains links to many online articles and resources on knowledge-based systems.

Protégé, Jess, and CLIPS


For some assignments, lab exercises, and the term project, we will use the Protégé ontology environment, and the CLIPS or Jess expert system shells.
Protégé (http://protege.stanford.edu/) is an ontology development environment made available by Stanford University’s Center for Biomedical Informatics Research. It is widely used in academic and real-world environments for knowledge solutions in a wide variety of domains. It is based on Java, and can be used in combination with other technologies relevant for knowledge-based systems. The Protégé Website has a nice collection of background material such as tutorials, papers and technical reports, and presentations; see http://protege.stanford.edu/doc/users.html. A Protégé tutorial intended for students in this class is at https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege.
CLIPS is a shell developed at NASA, and has been in use for quite a while. Jess was inspired by CLIPS, and uses the same rule format and inference mechanism, but it is implemented in and integrated with Java. Both are available for download via the Web, and are installed on the lab systems. Jess is subject to some licensing restrictions, and you may have to use a limited evaluation version if you want to install it on your own system. Some textbooks also contain chapters on CLIPS, e.g. Gonzalez & Dankel,or Giarratano & Riley. Ernest Friedman-Hill, the developer of Jess, is the author of "Jess in Action," with an introduction to Jess and a number of examples. CLIPS and related material is available for download from the Web sites below (some of the links unfortunately have become obsolete).
The Jess Home Page contains a lot of material, and also links to related documents.
The Institute for Information Technology of the National Research Council Canada developed Fuzyy Logic extensions for CLIPS and Jess.

Grading Policy


  • Projects: 30%
  • Assignments: 30%
  • Presentation/Term Paper, Quizzes: 30%
  • Participation: 10%
The list above gives an overview of the calculation of the grades. I reserve the right, however, to change the formula used. Please note that the project consists of several parts which will be evaluated separately. The project will also be done in teams, and the performance of the team as a whole will be graded unless there is a clear disparity in the contribution of the individual team members. Should this be the case, I may ask for additional information about individual contributions.