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.
- Rajendra A. Akerkar and Priti S. Sajja, Knowledge-Based Systems; Jones & Bartlett Publishers, 1st Edition, 2009. You can also check http://isbn.nu/http://isbn.nu/9780763776473 for prices of new and used copies at online bookstores like Amazon, Abebooks.com, Half.com and a few others.
- J. Giarratano and G. Riley, `` Expert Systems -- Principles and Programming, 4th Edition,Thomson/PWS Publishing Company, 2004.
- Ernest Friedman-Hill, "Jess in Action" Manning Publications, 2003. [This is the reference book for Jess, a CLIPS-compatible, rule-based programming environment in Java.]
- A. Gonzalez and D. Dankel, ``The Engineering of Knowledge-Based Systems''; Second Edition, Prentice Hall, 2004.
- Introduction to Expert Systems. by Peter Jackson. Addison Wesley Longman, 1999. ISBN 0-201-87686-8.
- C. Nikolopoulos, "Expert Systems" Marcel Dekker Inc. 1997. ISBN 0 8247 9927 5.
- the CPE/CSC 480 textbook, Artificial Intelligence: A Modern Approach (2nd ed.) by Stuart Russell and Peter Norvig.
Prentice Hall, 2003. ISBN 0-13-790395-2. (The first edition of this book is also sufficient, and the 3rd edition is now available as well).
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).
- CLIPS Home Page (http://www.siliconvalleyone.com/clips.htm) CLIPS on Sourceforge (http://clipsrules.sourceforge.net()
- CLIPS Tutorial (http://iweb.tntech.edu/bhuguenard/ds6530/ClipsTutorial/tableOfContents.htm) developed by Peter Robinson at the University of Hull in Great Britain
- Jess Home Page (http://herzberg.ca.sandia.gov/jess/)
- There have been several Jess tutorials available online, but their URLs don't seem to be stable. If the links below don't work, try a Google search to find a different source, or an archived copy. Jess Tutorial, Trinity College, CSCI 3344 - Artificial Intelligence, Spring 2008, (Prof. Yu Zhang) (http://www.cs.trinity.edu/~yzhang/teaching/spring2009/CSCI3344/projects/instruction/JESSTutorial.htm)
- Jess Tutorial
- Jess Tutorial (http://www.doc.gold.ac.uk/~mas01rk/Teaching/CIS341/Labs/Lab2.html) very brief intro to Jess
Grading Policy
- Projects: 30%
- Assignments: 30%
- Presentation/Term Paper, Quizzes: 30%
- Participation: 10%