CIS
479/579 Assignment 3
Summer 2008
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 rule-base 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).
You may implement your system using M1, M4, Prolog, the Lisp rule interpreter from your text; or develop a system from scratch using Lisp, C++, 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. M4 is available in the CIS labs.
One strategy for designing an expert system involves building a binary decision tree and then using the tree to guide your rule construction. A second strategy involves devising rules one at a time and checking to see that each is unique to the previously defined rules. Rule placement within the system is very important (when order is used as a part of the conflict resolution strategy or to approximate a better conflict resolution strategy).
Prior to beginning the design of an expert system, you must 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.
You will need to turn in an annotated listing of your rule-base (comments are allowed in M1, M4, Lisp, and Prolog), sample output, and a memo documenting your system. You must include in this memo, a description of your inference strategy and your means of conflict resolution. Comments on the performance of your expert system relative to your test cases would also be appropriate.
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 June 9th 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 drop out of a group once you make the commitment to work with other people.
Assigned: 6-02-08
Due date: 6-16-08