"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."
Prerequisites:
CSC 480 (Artificial Intelligence)
Students should be familiar with programming at a level
consistent with CSC 345 and be able to work with
elementary logic in propositional and predicate
calculus environments.
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 analyse, design, and
program 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. 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 accessible to
humans is important.
Textbooks
The following textbooks will be used in this course.
There is a column in the
course schedule which indicates the chapters in the books that
correspond to a topic discussed in class.
Students are expected to read the respective chapters before
the topic is covered in class.
For some assignments, lab exercises, and the term project, we will use
the CLIPS or Jess expert system shells. 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 counties system.
A printout of the CLIPS documentation is in a binder on the
bookshelf in the lab (14-232), and I'll add more material
to it.
CLIPS Material
CLIPS comes on a CD-ROM with the text book. Most likely this is not
the latest version, but CLIPS has been stable enough for a while
so this shouldn't matter.
Jess Tutorial from Free University Amsterdam (Maarten Menken);
there may be problems accessing this site, you can also try a Google
search to find an archived copy
Jess Tutorial from FIPA on the integration of Jess with intelligent agents
The table 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 might ask for additional
documentation like work sheets, email messages,
or draft copies of documentation to evaluate
individual contributions.