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