CS 251 Programming Project
Fall 2008
Description
Your mission is to create an interactive medical
diagnose system that is more complex than the one you did in
Assignment 3.
Minimum requirements for every student:
- You need to pick at least seven diseases from http://health.allrefer.com/health/symptoms.html
As soon as you go to the
above website, you will see two columns. The first one is ``frequently
requested symptoms by condition'', and this is the column from which
you will pick 7 diseases.
- Your
Expert System has to support all the symptoms of the diseases you choose.
- The system that you need to develop should be an interactive
system, meaning that your system should ask the user questions and
takes answers. Based on these answers, your system should respond by
asking other ``intelligent'' questions relevant to the answers of the
user.
For example, if your
system has already asked a user about his sex and the user responded
by saying ``male'', your system should never ask the user whether he
has skipped his period or not (the same old pregnant man dilemma
again).
- Your system should be flexible enough to accept ``not so sure''
as an answer. For example, if your system asks the patient: ``Do you
suffer from a loss of appetite?'' The user should be able to answer
with ``I am not so sure about that.''
- Try to
add as much common-sense knowledge to your system as you can. Explicitly
specify what common-sense knowledge you added in your readme file.
Graduate students only:
- Allow
the user to abort the interview part (history and symptoms taking part) at
any point of time. This means your system should be able to function with
an incomplete list of symptoms.
- Your
system should be able to provide the user with a list of possible
diseases. Each disease should be accompanied with a certainty factor.
Guidelines:
- You
can choose any language you prefer (Prolog, Lisp, or CLIPS).
- You
have to provide a readme file to state which diseases you choose, any
assumptions you made, and a description of your system and how to run it.