Next: A Simple Example Up: Expert Systems Previous: Exam-like questions

Rules and Expert Systems

In this section we will show how expert systems based on IF-THEN rules work, and present a very simple expert system shell in Prolog.

Rule-based systems can be either goal driven using backward chaining to test whether some hypothesis is true, or data driven, using forward chaining to draw new conclusions from existing data. Expert systems may use either or both strategies, but the most common is probably the goal driven/backward chaining strategy. One reason for this is that normally an expert system will have to collect information about the problem from the user by asking them questions - by using a goal driven strategy we can just ask questions that are relevant to a hypothesised solution.

Anyway, in a simple goal-driven rule-based expert system there are often a set of possible solutions to the problem - maybe these are a set of illnesses that the patient might have. The expert system will consider each hypothesised solution (e.g., has_cold(fred)) and try to prove whether or not it might be the case. Sometimes it won't be able to prove or disprove something from the data initially supplied by the user, so it will ask the user some questions (e.g., ``have you got a headache?''). Using any initial data plus answers to these questions it should be able to conclude which of the possible solutions to the problem is the right one.



alison@
Fri Aug 19 10:42:17 BST 1994