
Early Intelligent Tutoring Systems incorporated an expert system and a number of systems were built around pre-existing expert systems.
Typically (Bratko 1991) an expert system aims to provide expert like solutions to problems in a specific domain. An expert system will often have to deal with uncertain and incomplete information and should be able to explain its decisions and underlying reasoning as human experts are capable of doing. Figure 1.02 shown below illustrates a simple expert system architecture.

Figure 1.02: A simple architecture of an expert system
There are three modules within an expert system. These are the user interface which caters for smooth communication between the user and the system. The second module is the inference engine which is an interpreter for the knowledge base. It produces results and explanations for problems presented to it. The inference engine and the user interface are commonly viewed as a single component known as the expert system shell. The heart of the expert system and the final component in figure 1.02 is the knowledge base which contains the problem solving knowledge of a particular application. The knowledge base itself is isolated from the expert system shell to allow reuse of the shell in other application domains.
A number of strategies for representing knowledge within the knowledge base have been explored :
Authored by Serengul Smith
E-mail to:
serengul1@mdx.ac.uk
School of Computing Science Middlesex University
Revised: September 1998