CIS 479 Assignment 3
Winter 1999
Your third assignment will be a knowledge engineering
project. In this assignment you are to develop a rule-based
system which handles some classification or diagnostic task. Your
system should have a rule-base with 30 to 50 rules. If you work
in a group your rulebase will need to be 30 to 50 rules per
person and each person is to be assigned a percentage grade (by
each group member) indicating the extent of his or her project
contribution.
Examples, might be computer system selection based on
desired component attributes or diagnosing common microcomputer
system problems (distinct from the approach taken in the M4
Hardware knowledge base on the Novell network).
You may implement your system using M1, M4, ESIE, Expert, VP
Expert, Logic Tree, ExSys, Prolog, the Lisp rule interpreter from
your text; or develop a system from scratch using Lisp (C++ or
Pascal) or some other AI development tool you have access to. The
method of implementation will affect your choices for inference
and conflict resolution strategies.
Video tapes, and other self-study materials, discussing M1
and knowledge engineering are on reserve at the UMD library.
Documentation for VP Expert, M1, Logic Tree, and ExSys should be
available in the CW lab. Documentation for ESIE and Expert should
be on the Novell network.
Regardless, of the method of implementation you choose, I
would recommend that you examine pages 15-20 of the ESIE Tutor
and pages 20-21 in the ESIE Knowledge Engineer's Manual. The
pages from the tutorial contain a discussion of two different
strategies for developing rules. One strategy involves building a
binary decision tree and then using the tree to guide your rule
construction. The second strategy involves devising rules one at
a time and checking to see that each is unique to the previously
defined rules. The pages in the KE manual, discuss the importance
of rule placement with in the system (when order is used as a
part of the conflict resolution strategy or to approximate a
better conflict resolution strategy).
You will need to turn in an annotated listing of your
rulebase (comments are not allowed by ESIE or Expert, they are
allowed in M1, M4, VP-Expert, Lisp, and Prolog), sample output,
and a memo documenting your system. You must include in this
memo, a description of your inference strategy and the means of
conflict resolution. Comments on the performance of your expert
system relative to your test cases would also be appropriate.
Prior to beginning the design of an expert system, you
should identify a domain expert or some printed source for the
knowledge encoded in your production rules. You will need to
provide some evidence that your system does in fact perform
correctly. I would suggest that you construct test cases which
seem to be representative of problems you are seeking to diagnose
or entities you are seeking to distinguish from one another.
Hopefully, your system will provide the same answer as your
expert source.
To be sure things don't get stuck in the problem selection
phase, I would like you to give me a written note (e-mail) by
March 17th describing your problem and indicating the members of
your group (if any). You are free to change problems, but you
will need to have me approve your new problem. You may not to
drop out of a group once you make the commitment to work with
other people.
Date assigned: 3/03/99
Date due: 3/24/99