ExpertSystems_img1.gif Expert Systems
What Is An Expert System? ERIC Digest.
Expert systems (ES), also known as knowledge-based systems (KBS), are computer programs designed to simulate the problem-solving behavior of human experts within very narrow domains or scientific disciplines (entomology, plant pathology, etc.)This discipline is a sub- set of artificial intelligence.
Essentially, an expert system is a computer program that uses knowledge, facts, and reasoning techniques to solve problems and make decisions (Biondo, 1990) and has evolved from research in the field of Artificial Intelligence. These knowledge-based system applications of Artificial Intelligence has made our lives more productive in many areas. While artificial intelligence is concerned lately with intelligence and building programs that reason as if entirely “human,” expert systems deal with expertise in a particular area. That is, expert systems are solely programs that have human “expert” knowledge within a certain domain—such as diagnosis of a problem, scheduling, design, etc. Expert systems are given in-depth knowledge on a specific subject and thus can provide humans with the knowledge and skill to solve a specific problem. These applications have enhanced productivity in the world of business, science, education, engineering, and the military by yielding valuable data for a particular subject or context. Evidence for options or the outcomes are considered by the expert system and there is no knowledge-based theory of decision- making. The following readings introduce expert systems and demonstrate not only their relationship to artificial intelligence but also their impact upon society.

graphic
Expert systems are computerized tools designed to enhance the quality and availability of knowledge required by decision makers in a wide range of industries. They augment conventional programs such as databases, word processors, and spreadsheet analysis. Expert systems differ from conventional applications software in the following ways:
o The expert system shell, or interpreter.
o The existence of a "knowledge base," or system of related concepts that enable the computer to approximate human judgment.
o The sophistication of the user interface.
THE EXPERT SYSTEM SHELL
While any conventional programming language can be used to build a knowledge base, the expert system shell simplifies the process of creating a knowledge base. It is the shell that actually processes the information entered by a user; relates it to the concepts contained in the knowledge base; and provides an assessment or solution for a particular problem. Thus, an expert system shell provides a layer between the user interface and computer operating system to manage the input and output of data. It also manipulates the information provided by the user in conjunction with the knowledge base to arrive at a particular conclusion. The structure of the shell is very similar to that of an interpreter or a front-end to a database program. The shell also manages the user interface, performing functions that range from the validation of numeric values entered on the screen to management of the mouse and the representation of graphical objects.
The shell is often sold as an end- product, allowing the purchaser to encode a knowledge base from scratch the same way a user would purchase a database management system. On the other hand, knowledge bases can be sold as products--where a shell or interpreter may be an incidental part of the package--in the same way a user might buy data.
THE KNOWLEDGE BASE
The main purpose of the knowledge base is to provide the guts of the expert system--the connections between ideas, concepts, and statistical probabilities that allow the reasoning part of the system to perform an accurate evaluation of a potential problem. Knowledge bases are traditionally described as large systems of "if then" statements, but this description is misleading because knowledge bases may not contain definitive rules at all, but may contain only associative relationships among different concepts, statistical information about the probability of certain solutions, or simply large databases of facts that can be compared to one another based on simple conventions intrinsic to the expert system.
THE USER INTERFACE
For the last several years, interface designs for expert systems have hinged on graphical capabilities and unconventional methods of entering data into the system. For example, many expert systems used a mouse for data entry well before the Macintosh became popular. Graphical interfaces can supply information in any number of forms: simple text "dressed up" in windows, pop-up menus, or actual graphical objects. Recently, many of those formats have been integrated into conventional applications, but they are of particular use in expert systems. An expert system may express an idea, solution, or explanation using more complex conventions than rows of numbers, pie charts, or brief messages.
THE OPERATING SYSTEM
The computer's operating system plays an important role in the implementation of an expert system. The operating system provides the basic capabilities of the machine to the expert system, including file management, some user interface support, memory management, and interfaces to other products that might be wanted to share information that is contained in the expert system. The operating system's resources and utilities may intrinsically provide needed capabilities (for example, graphic or mouse support and database management) that, therefore, ease the need for additional programming. In some cases, the operating system may even provide conventions for interfacing the expert system to other programs. The disadvantage of using the operating system's facilities is the limited control the developer has over the facilities and likely performance degradation. For example, in the PC environment, OS/2 and Presentation Manager provide much better interface support than DOS.
The purpose of the expert system is to enhance judgment on the part of the user, not to replace human judgment altogether. Expert systems can provide a relatively inexperienced user with a lucid assessment of a problem where an expert is unavailable.
Web-Based Intelligent Tutors
Overview
Many types of training can be delivered most efficiently and cost- effectively by using advanced distributed learning (ADL) technologies. ADL technologies include intelligent tutoring systems, patterned after human tutors. Human tutoring can be much more effective than other modes of instruction; several studies have found that tutored students outperform students taught in classrooms by up to two standard deviations. Intelligent tutoring systems aim to be as effective as human tutors, but more cost effective.
Intelligent tutoring systems provide adaptive instruction using specialized capabilities for analyzing learner performance. These systems compare the learner's performance to a model of expert problem solving, and then use one of several instructional strategies to select the next learning activity to try to improve the learner's behavior to match that of the expert. An intelligent tutoring system typically consists of a cognitive model of the learning task, a system for tracking data to model the learner's understanding of the task, a tutoring engine to process the data and select learning activities, and a user interface for the learner to interact with the system.
Most tutors have been developed to serve only a single learner per tutor instance, and are deployed under the assumption that the learner will be using a dedicated computer running the tutor software. Tutor systems are monolithic with content, strategies and models intertwined. The process of developing tutors is also traditionally one of craft, with few repeatable and reusable components between implementations, i.e., you cannot simply plug a new set of learning content or a new remediation strategy into a tutor engine. Interoperability standards for learning technology systems, such as SCORM, have not been applied in developing tutoring systems.
The project aims to develop a tutor that can be deployed and accessed anywhere with only a web browser, to develop a component-based tutor architecture, and to develop a repeatable process and model for the creation of tutoring content. This requires a modular tutoring system that is built from a set of clearly identified components, each of which operates on a formally defined data model that provides interoperability of the tutoring information, models and content across implementations. Tutor elements include models of learner behavior, tracking models, models of expert behavior, and tutoring or remediation strategies. Different tutor implementations based on such formal data models and behavior descriptions provide interoperability and reuse of content, components and models.
The tutoring system is being created by from an existing tutoring architecture, altering the tracking model and tutoring engine to handle multiple users simultaneously, and to uncouple the user interface from the tutor engine and replace it with a web interface. The design relies on using or extending standard data models for content structure and learner characteristics to maximize interoperability of content and data. There has been little effort in developing general approaches and models for interoperability and reuse of content and strategies between tutoring systems. This work aims to lay the groundwork for extending models such as SCORM to encompass intelligent tutoring.
ITS
Expert Systems and ITS
As could be seen from the descriptions of the various prototypes, there are a number of transitions between authoring systems and ITS, ITS and constructivist learning situations, and ITS and simulations:
Elsom-Cook and O'Malley (1990)   try to establish a bridge between CAL and Intelligent Tutoring Systems with ECAL. ECAL (extended computer-assisted learning) was developed especially for integrating ideas of artificial intelligence into a traditional CAL environment.
With BIOMEC, Giardina (1992)    describes a coach that is supposed to allow discovery learning and apprenticeship. The coach is a dynamic component which establishes relations between the expert knowledge in a particular field and the knowledge of the student.
Jonassen and Wang (1994)  try to establish a combination of an ITS with an expert system and a hypertext with Physics Tutor. Physics Tutor is a prototype ITS which is meant to explore the practicability and generalizability of the ITS concept.
An expert system is an »intelligent« program which has a certain knowledge and can make decisions with the help of inference rules and procedures, and which is thus able to solve problems or formulate hypotheses for problem- solving [ Woodhead (1991)  , 35ff.]. Expert systems consist of a knowledge base (with facts, rules and strategies), and an inference machine. The rule knowledge which an expert system needs can be divided into propositional, analogous, and procedural knowledge. Occasionally, one format can be transported into another, but this is not always the case. Therefore most expert systems can make do with one type of knowledge. The objective of expert systems is to collect the knowledge of experts in the knowledge base in order to use it to solve concrete cases like diagnosing a machine (car, aeroplane, computer), a patient, a law case. In teaching, expert systems are therefore most easily combined with methods of case analysis, the so-called »case based teaching«.
Most expert systems are logical systems that transform a knowledge base into hierarchically structured if-then rules. The experts are partly not conscious of these rules, they act without being able to express their own experience in the form of rules, or rather »experts do not need to have formalized representations« [ Winograd/Flores (1987)  ]. The experts’ performance is therefore analysed beforehand with sophisticated methods, although »it is fruitless to search for a full formalization of the pre-understanding that underlies all thought and action« (99). Because the analysis of expert knowledge is difficult, Winograd’s and Flores’ objection that transmitting experience to the knowledge base must remain an unreachable aim (98) applies. Expert systems differ in that they either follow the tree structure of rules backwards from a given aim (backward chaining), or apply them to problems from given conditions (forward chaining or inferencing). Through asking the user for further information, expert systems get the required knowledge in order to decide which premises apply, and at what point which rules can be used.
Expert systems are used as »Tools, Tutors and Tutees« [ Lippert (1989)  ]. Intelligent tutorial systems can attach an interpreter and an explanatory component to the knowledge base which are organized in the form of an expert system; they could also organize the tutorial decision about didactic strategies in the form of an expert system. Expert systems which were constructed with tutorial intent are e.g. ZEERA [  Marcoulides (1988)  ] and STAT-EXPERT [  Karake (1990)  ], both are types of programs meant to support students in understanding static analyses, and the expert system for foreign language learning by Nyns (1990)  .
Two features seriously distinguish expert systems from IT systems [ Clancey (1987)  ]:
    • In contrast to the knowledge model of tutorial systems, expert systems do not strive to simulate human reasoning or problem- solving.
    • In contrast to IT systems, one cannot learn anything from expert systems, since expert systems merely acquire the necessary data by asking the users for information, and then draw their conclusions from them independently and ‘invisibly’.
For that reason, Clancey had to restructure the expert system MYCIN for diagnosing infections [ Shortliffe (1976)  ] when he wanted to develop the tutorial component GUIDON [   Clancey (1987)  ]: »There are two important kinds of explanations that MYCIN cannot give: it cannot explain why a particular rule is correct, and it cannot explain the strategy behind the design of its goal structure […] At a certain level, MYCIN is aphasic – able to perform, but unable to talk about what it knows« (198).
Applications
THE APPLICATIONS OF EXPERT SYSTEMS
The spectrum of applications of expert systems technology to industrial and commercial problems is so wide as to defy easy characterization. The applications find their way into most areas of knowledge work. They are as varied as helping salespersons sell modular factory-built homes to helping NASA plan the maintenance of a space shuttle in preparation for its next flight.
Applications tend to cluster into seven major classes.
Diagnosis and Troubleshooting of Devices and Systems of All Kinds
This class comprises systems that deduce faults and suggest corrective actions for a malfunctioning device or process. Medical diagnosis was one of the first knowledge areas to which ES technology was applied (for example, see Shortliffe 1976), but diagnosis of engineered systems quickly surpassed medical diagnosis. There are probably more diagnostic applications of ES than any other type. The diagnostic problem can be stated in the abstract as: given the evidence presenting itself, what is the underlying problem/reason/cause?
Planning and Scheduling
Systems that fall into this class analyze a set of one or more potentially complex and interacting goals in order to determine a set of actions to achieve those goals, and/or provide a detailed temporal ordering of those actions, taking into account personnel, materiel, and other constraints. This class has great commercial potential, which has been recognized. Examples involve airline scheduling of flights, personnel, and gates; manufacturing job-shop scheduling; and manufacturing process planning.
Configuration of Manufactured Objects from Subassemblies
Configuration, whereby a solution to a problem is synthesized from a given set of elements related by a set of constraints, is historically one of the most important of expert system applications. Configuration applications were pioneered by computer companies as a means of facilitating the manufacture of semi-custom minicomputers (McDermott 1981). The technique has found its way into use in many different industries, for example, modular home building, manufacturing, and other problems involving complex engineering design and manufacturing.
Financial Decision Making
The financial services industry has been a vigorous user of expert system techniques. Advisory programs have been created to assist bankers in determining whether to make loans to businesses and individuals. Insurance companies have used expert systems to assess the risk presented by the customer and to determine a price for the insurance. A typical application in the financial markets is in foreign exchange trading.
Knowledge Publishing
This is a relatively new, but also potentially explosive area. The primary function of the expert system is to deliver knowledge that is relevant to the user's problem, in the context of the user's problem. The two most widely distributed expert systems in the world are in this category. The first is an advisor which counsels a user on appropriate grammatical usage in a text. The second is a tax advisor that accompanies a tax preparation program and advises the user on tax strategy, tactics, and individual tax policy.
Process Monitoring and Control
Systems falling in this class analyze real- time data from physical devices with the goal of noticing anomalies, predicting trends, and controlling for both optimality and failure correction. Examples of real-time systems that actively monitor processes can be found in the steel making and oil refining industries.
Design and Manufacturing
These systems assist in the design of physical devices and processes, ranging from high-level conceptual design of abstract entities all the way to factory floor configuration of manufacturing processes.
Benefits
BENEFITS TO END USERS
Primarily, the benefits of ESs to end users include:
    • A speed-up of human professional or semi- professional work -- typically by a factor of ten and sometimes by a factor of a hundred or more.
    • Within companies, major internal cost savings. For small systems, savings are sometimes in the tens or hundreds of thousands of dollars; but for large systems, often in the tens of millions of dollars and as high as hundreds of millions of dollars. These cost savings are a result of quality improvement, a major motivation for employing expert system technology.
    • Improved quality of decision making. In some cases, the quality or correctness of decisions evaluated after the fact show a ten-fold improvement.
    • Preservation of scarce expertise. ESs are used to preserve scarce know-how in organizations, to capture the expertise of individuals who are retiring, and to preserve corporate know- how so that it can be widely distributed to other factories, offices or plants of the company.
    • Introduction of new products. A good example of a new product is a pathology advisor sold to clinical pathologists in hospitals to assist in the diagnosis of diseased tissue.
business
THE EXPERT SYSTEMS BUSINESS
The industry, particularly in the United States, consists of many small companies, or divisions of larger companies, which are selling both expert system development software and support services for assisting with the usage of that software or development of expert systems. Typical annual revenues for a small company or division of a larger company range from $5 million to $20 million annually. The aggregate total of such sales world-wide is in the range of several hundred million dollars per year.
Selling consulting services is a vigorous part of the expert system business. In the United States, consulting is done by major consulting firms, such as Anderson Consulting or SRI International. These major firms compete with many small firms. In Japan, the consulting is done primarily by the computer manufacturers themselves. There is no longer a specialized expert systems hardware business. Expert systems are built for mainframes and for workstations (often UNIX- based).
It's fair to say that the technology of expert systems has had a far greater impact than the expert systems business. Expert system technology is widespread and deeply imbedded.
Current Business Trends
As expert system techniques matured into a standard information technology in the 1980s, the increasing integration of expert system technology with conventional information technology -- data processing or management information systems -- grew in importance. Conventional technology is mostly the world of IBM mainframes and IBM operating systems. More recently, this world has grown to include distributed networks of engineering workstations. However, it's also the world of a wide variety of personal computers, particularly those running the MS DOS operating system.
Early in its history, commercial expert systems tools were written primarily in LISP and PROLOG, but more recently the trend has been to conventional languages such as C. Commercial companies dedicated to one language or the other (e.g., Symbolics, Lisp Machines Inc., Quintus Prolog) have gone into bankruptcy or have been bought out by other companies.1
Finally, the connection of expert systems to the databases that are managed by conventional information technology methods and groups is essential and is now a standard feature of virtually all expert systems.
Expert Systems as Cognitive Tools
Chris. Bowerman School of Computing & Information SystemsUniversity of Sunderland, SR2 7EE, UK
Tel +44 91 515 2838Fax +44 91 515 2781 Email c.bowerman@orac.sund.ac.uk Abstract This paper examines the nature of cognitive tools and discuss in what sense expert systems constitute cognitivetools. After a brief historical perspective on the development of expert systems we look at their nature. We then move on to discuss the building of expert systems as a cognitive exercise for students.
1.0 Introduction Cognitive theories of education regard the learner as being a "home-brewer" (Maley, 1983). That is, rather thanbeing simply filled with knowledge like a "pint pot", they are encouraged by their teacher to explore their environment, in order to attempt to try and make sense of it.
In such a discovery-based scenario the learner freely explores their environment (Laurillard, 1987), carries outexperiments (e.g., touching things), uses feedback from the experiments (e.g., temperature, movability) to build a model which he then tests. As the user carries out experiments he gains knowledge about his environment. Thisnew knowledge is integrated with the old knowledge (this may even mean rejecting old knowledge or modifying it in the light of new evidence) in order to build ever more complete models and gain a deeper understanding.
In essence, the discovery-centred learner is engaged in problem solving (Wilcox, 1987): defining experiments todetermine the nature of his environment and test his descriptive model. Learning is thus seen to be a process of hypothesis testing which leads to the construction of ever more sophisticated models. Indeed, cognitive tools arecommonly seen as a environments in which to build such models.
Such cognitive environments range from tutorial systems (in which the computer acts as a coach, helping thestudent, where necessary, to solve a problem), through to tutee systems (in which the computer acts as a student who is taught and then attempts to function with the model it has been given) to tool systems (in which thecomputer plays no active part but mediates the learning process, e.g., hypertext programs).
Let us examine how these systems foster model building. Tutorial systems encourage the student to build explicit,externalised computer models under system guidance. Tutee systems enable students to externalise knowledge and test it out by experimentation (with no guidance). Tool systems enable models to be represented, stored,retrieved and discussed with others but not tested.
All three types of system can be seen, to some extent, to be cognitive tools, since they encourage model building.The tutee and tool systems are probably of more immediate interest to us here since they foster explicit model building, are subject neutral (can be used for many subject areas and exercises) and are readily available. It is,indeed in this, latter, category that Expert Systems Technology falls.
Expert systems are designed to model specific types of human reasoning, e.g., a doctor's diagnostic skills, theskills of a meteorologist. The system is designed to have the same input/output behaviour as its human expert. In order to produce such systems students must capture the expert's (e.g., a doctor's) knowledge, formalise it andtest it out in a computer model. It is in the sense of modelling human reasoning that expert systems can be used
- 2 -
as cognitive tools. Students constructing such expert systems learn, not only, the knowledge gleaned from anexpert but also, in formalising this knowledge and testing it out, in order to see if it performs as does the human expert from whom it originated. Models of expertise that do not perform as anticipated are progressivelyaugmented until they perform as intended. During this discovery-based debugging process general, problemsolving and interpersonal skills are acquired and real, deep learning takes place (Hiatt, 1985).
Having outlined the nature of cognitive tools and their relationship to expert systems we now move on to examinethe nature of expert systems in more depth.
2.0 Expert Systems Technology 2.1 A Historical Perspective The notion of building computers that mimic human intelligence can be traced back to a seminal paper by AlanTuring (1950), shortly after the end of the second world war. It was at this time that scientists were working to develop the first, modern, electronic computers capable of performing complex operations under the guidance ofa series of instructions.
Turing argued that the instructions given to such machines ought to be based on logical operators, akin to humanreasoning, such as "AND", "OR" and "NOT". These operators could then be combined to handle any type of symbolic material that one might wish to work with - from mathematics to natural language.
Building such a machine would have been extremely expensive. Indeed logic programming has only recentlybecome a reality with the advent of languages such as Prolog (Kowalski, 1979). Instead, the scientists concentrated on the more restricted and more practical goal of building a machine that would only be able toperform mathematical calculations (with operators such as "+", "-" and ">"). Such ideas have been the dominant force behind most computers to date.
Some researchers did continue to investigate how the broader aspects of human behaviour. Most notable of thesewere psychologists, concerned with producing a general model of human behaviour and computer scientists, concerned with producing general problem solving programs. The common interests of these groups of peoplelead to the formation of a new discipline: artificial intelligence (AI), whose goal is to enable computers to become more useful tools by having a greater degree of human-like intelligence.
One of the first models of human behaviour produced by the fledgling AI researchers was production systems(Post, 1943). Production systems model human behaviour in two ways. Firstly, they have a set of rules which encode human behaviour and a memory into which information is placed.
The simplified example of a production system, below, emulates the behaviour of a driver who notices a parkedcar in the road ahead and swerves to avoid it. The rules that the production system might contain are:
1: IF car blocking route THEN check mirrors2: IF mirrors clear THEN overtake The driver's memory would contain:car blocking route The production system works by matching its rules (from IF to THEN) to the memory. If a rule matches then thedriver must carry out the action after the THEN. In this case rule 1 will match the memory "car blocking route" and the driver will "check mirrors". Having looked at the traffic behind the driver will note whether or not the roadis clear. If it is he will note "mirrors clear" in his memory. This new piece of information in the memory matches rule 2. The driver then performs the action indicated after the then "overtake".
The above example outlines how matching memory to rules and carrying out the actions described by the rules
- 3 -
enables complex behaviour to be simulated. Such models (Newell & Simon, 1972; Bruning, 1983) constitute theinformation processing model of human behaviour. This information processing model draws a parallel between computer and human processing. Both computers and humans receive information (e.g., via keyboard or eyes),process it (in the processor and memory or brain) and then act (e.g., turn a heater on or move an arm). The argument that humans are nothing more than sophisticated information systems which can be emulated byproduction- system-like programs constitutes the basis for research in expert systems.
2.2 Early Problem Solvers Initial attempts by computer scientists to mimic human behaviour centered around trying to find the set ofinstructions (or algorithm) that humans use in order to function. Research concentrated on building programs to mimic all of human behaviour in every situation.
One of the first of such programs was General Problem Solver (GPS) (Newell & Simon, 1972). This system wasbased on logic. It was given a description of the current situation (e.g., a large stack of chairs in a large hall) and a set of actions that it could perform (e.g., unstack_chair, place_on_floor, align_in_rows) and proceeded toestablish a sequence of such instructions that would lead to the desired situation (all chairs unstacked, in neat rows).
Like several other programs GPS did not fill its inventors' dreams. Part of the problem was the system'signorance, e.g., what is the correct way up for a chair?, in what alignment should the chairs be placed? (so that the speaker can be seen?), should gaps be left between the rows of chairs? Because of such problems research begunto move away from general systems to task specific, knowledge-based systems.
In knowledge-based (or expert) systems it is argued that the real power in problem solving comes not from thealgorithm used but from the knowledge that the system has and the extent to which it can understand that knowledge. Research has thus moved into acquiring and recording human knowledge (see e.g., Hayes-Roth,1983) in a form suitable for incorporation into expert problem solving systems. These systems were based on the marriage of formally encoded human knowledge (e.g., as rules) and production systems (outlined in 2.1).
Having now traced the history of expert systems we look in more detail at how they work and how they can beused to foster cognitive development.
3.0 Expert Systems Expert systems are a product of the discipline of Artificial Intelligence. As such they are one type of system thatseeks to emulate human behaviour. The goal of expert systems is to emulate the behaviour of an expert, e.g., a doctor, a weather forecaster, a property evaluator. Solving the problems that confront such experts requiresacademic knowledge, experience and rules of thumb (heuristics). It is not a simple matter of following a well established procedure.
As alluded to in 2.0 in order to emulate expert human behaviour we need to simulate two main things: the expert'sknowledge and the expert's reasoning process. Expert systems have two main components (see e.g., Giarratano, 1994) that perform these functions: a knowledge base (a store of the system's knowledge) and an inference engine(a program which makes use of the knowledge in a similar way to the expert - it also contains a working memory to store results and incoming information). There is also a third component, the interface, which accepts inputfrom the user and passes output back to the user in a friendly manner. The architecture of an expert system is shown below:
- 4 -
This system architecture is based heavily on that of the production system, above, which inspired it. Like theproduction system knowledge acquired from the human expert is encoded in the form of rules. For example:
1: IF hungry THEN shop_for_food2: IF shop_for_food THEN prepare_meal 3: IF prepare_meal THEN eat
The above rules constitute a knowledge base about what to do when you are hungry. Alone the rules areinsufficient to solve the problem of someone being hungry. This task is performed by the inference engine. The inference engine is a simple program that knows how to interpret the knowledge base.
The inference engine reads the rules from left to right, starting with the top rule, it looks for one whose left handside (before the THEN) matches the working memory. If a rule matches then it adds the right hand side of the rule (after THEN) to the working memory. This process continues until no more rules fire at which point the answerwill be in the working memory.
In the above example the system would start with the simple facthungry in its working memory. What happens is that rule 1 matches, adding "shop_for_food" to the working memory.This then allows rule 2 to match, adding "prepare_meal" to the working memory, which matches rule 3 (prepare_meal) and adds "eat" to the working memory. We have then used all rules once, no new rules can firehence the system stops with the answer "eat" in the working memory.
The reasoning process described above is known as "forward chaining" because the rules are read forwards (leftto right) and link up into chains (rule 1 linked to rule 2 which linked to rule 3). Such forward chaining of rules is said to constitute a model of certain types of human expert reasoning. That model is made up of a representationof the human expert's knowledge (rules) and an inference mechanism which makes use of the knowledge as does the expert.
There are several types of knowledge representation (e.g., frames and nets) which have different strengths andweaknesses and are most suited to certain types of task. Similarly, forward chaining is just one of many possible inference engines which mimic the reasoning behaviour of an expert. Sometimes backward chaining (readingrules right to left) or case-based reasoning (solving problems by modifying solutions to similar, well known problems) is more appropriate. What we have at our disosal is a whole gamut of techniques which can be used to
Expert Systems Architecture
Knowledge Base
InferenceEngine
WorkingMemory
User Interface
- 5 -
model the reasoning behaviour of a expert. The decision as to which of the many types of inference engine andknowledge representation technique is required is made during the process of interviewing the human expert in order to determine what knowledge they use and how. This process is known as knowledge acquisition.
There are three key stages to the process of knowledge acquisition (Hayes-Roth, 1983). Firstly, the domain ofexpertise itself needs to be considered. Expert systems involve building models for domains of expertise that are fuzzy, involving complex processes (the nature of which are not readily written down as a series of logical steps),non- mathematical and narrow in scope. Where a problem does not have these characteristics it is best handled by traditional information systems programming.
Presuming we have a suitable domain, we may begin our second stage of acquiring knowledge from an expert. Itis generally best to get acquainted with the basic terminology, key concepts and factors that come into play in the domain under consideration. This will ensure that the expert and the person acquiring the knowledge (knowledgeengineer), speak the same language and can communicate with each other.
The knowledge acquisition sessions themselves generally take on the format of an interview. These are often,initially, unstructured and serve to enable the knowledge engineer to familiarise himself with the domain and the key factors involved.
Later interviews are generally more structured and center around the expert working through various case studies.As the expert works through the case studies the knowledge engineer asks questions to determine what knowledge is required, why the expert is solving the problem as he is and thus the nature of the inference mechanism used.
At this point the knowledge engineer can formalise a first cut set of rules and a potential inference engine (it isoften useful to be able to refer to video or audio taped recordings of the interviews for this). Having formalised the rules gaps are often uncovered which need plugging at later sessions. Once such gaps are filled the knowledgeengineer should have a sufficiently detailed picture of the expert's knowledge and inference mechanisms to be able to implement them.
There are a wide variety of commercial packages (see Harmon & King, 1985) (called shells) available on whichexpert systems can be implemented. These require no low-level programming and are often very easy to use. It is merely a question of matching the types of knowledge representation and inference mechanisms required to a shelland then entering the information into the shell. This will create the first prototype and constitutes the end of the third major stage of knowledge acquisition.
Next the first prototype system is run and any weaknesses identified. If weaknesses exist they are remedied bycarrying out further knowledge acquisition and building a second prototype. It is quite common to build three prototypes before a good model has been built. This model is then tested on some case studies, in order to ascertainwhether or not it behaves like the expert. If it does then the process has finished otherwise we may need to refine our knowledge acquisition even further - in extreme cases it may even be necessary to adopt a different inferenceengine.
What is important during knowledge acquisition and expert system building is, not so much the final system, butthe process as a whole. Building what constitutes a model of a small, well defined, manageable aspect of human cognition offers not only insights into the process of cognition itself but encourages the student to build models,test hypotheses and acquire a general set of transferrable problem solving, notational and interpersonal skills of use in a whole variety of situations.
Such exercises have been tried out and are generally well received by students. For example, after an initialdiscussion of expert system concepts and tools the students are prepared for knowledge acquisition by means of a set of exercises in which the students act as experts in the domains of their hobbies. In groups one student actsas an expert and other students interview them in order to gain their knowledge. This is then codified and implemented in order to give an overall view of the problems likely to be encountered in a follow-up exerciseinvolving real world problem domains.
- 6 -
4.0 Summary Cognitive theories of learning emphasise the importance for students seeking to engage in deep learning andacquire general, transferrable of skills, of forming hypotheses and testing them by building models.
Expert systems - a product of research into artificial intelligence - are systems that attempt to model humanintelligence. They concentrate on capturing our intuitions about the reasoning of an expert in a given subject domain. This they do by storing the knowledge of an expert (gleaned by a process of knowledge acquisition) andemulating the reasoning mechanisms that the expert uses.
Whilst such systems are commonly used in industry to preserve rare expertise and make it more widely availablethey also enable students to build models of human reasoning and test their adequacy. By encouraging students to build and test models they not only gain an in-depth understanding of a given subject area but also acquire problemsolving skills of general applicability.
AI
EXPERT SYSTEMS AND ARTIFICIAL INTELLIGENCE
Expert Systems
are computer programs that are derived from a branch of computer science research called Artificial Intelligence (AI). AI's scientific goal is to understand intelligence by building computer programs that exhibit intelligent behavior. It is concerned with the concepts and methods of symbolic inference, or reasoning, by a computer, and how the knowledge used to make those inferences will be represented inside the machine.
Of course, the term intelligence covers many cognitive skills, including the ability to solve problems, learn, and understand language; AI addresses all of those. But most progress to date in AI has been made in the area of problem solving -- concepts and methods for building programs that reason about problems rather than calculate a solution.
AI programs that achieve expert-level competence in solving problems in task areas by bringing to bear a body of knowledge about specific tasks are called knowledge-based or expert systems. Often, the term expert systems is reserved for programs whose knowledge base contains the knowledge used by human experts, in contrast to knowledge gathered from textbooks or non-experts. More often than not, the two terms, expert systems (ES) and knowledge-based systems (KBS), are used synonymously. Taken together, they represent the most widespread type of AI application. The area of human intellectual endeavor to be captured in an expert system is called the task domain. Task refers to some goal- oriented, problem-solving activity. Domain refers to the area within which the task is being performed. Typical tasks are diagnosis, planning, scheduling, configuration and design. An example of a task domain is aircraft crew scheduling, discussed in Chapter 2  .
Building an expert system is known as knowledge engineering and its practitioners are called knowledge engineers. The knowledge engineer must make sure that the computer has all the knowledge needed to solve a problem. The knowledge engineer must choose one or more forms in which to represent the required knowledge as symbol patterns in the memory of the computer -- that is, he (or she) must choose a knowledge representation. He must also ensure that the computer can use the knowledge efficiently by selecting from a handful of reasoning methods. The practice of knowledge engineering is described later. We first describe the components of expert systems.
The Building Blocks of Expert Systems
Every expert system consists of two principal parts: the knowledge base; and the reasoning, or inference, engine.
The knowledge base of expert systems contains both factual and heuristic knowledge. Factual knowledge is that knowledge of the task domain that is widely shared, typically found in textbooks or journals, and commonly agreed upon by those knowledgeable in the particular field.
Heuristic knowledge is the less rigorous, more experiential, more judgmental knowledge of performance. In contrast to factual knowledge, heuristic knowledge is rarely discussed, and is largely individualistic. It is the knowledge of good practice, good judgment, and plausible reasoning in the field. It is the knowledge that underlies the "art of good guessing."
Knowledge representation formalizes and organizes the knowledge. One widely used representation is the production rule, or simply rule. A rule consists of an IF part and a THEN part (also called a condition and an action). The IF part lists a set of conditions in some logical combination. The piece of knowledge represented by the production rule is relevant to the line of reasoning being developed if the IF part of the rule is satisfied; consequently, the THEN part can be concluded, or its problem-solving action taken. Expert systems whose knowledge is represented in rule form are called rule- based systems.
Another widely used representation, called the unit (also known as frame, schema, or list structure) is based upon a more passive view of knowledge. The unit is an assemblage of associated symbolic knowledge about an entity to be represented. Typically, a unit consists of a list of properties of the entity and associated values for those properties.
Since every task domain consists of many entities that stand in various relations, the properties can also be used to specify relations, and the values of these properties are the names of other units that are linked according to the relations. One unit can also represent knowledge that is a "special case" of another unit, or some units can be "parts of" another unit.
The problem-solving model, or paradigm, organizes and controls the steps taken to solve the problem. One common but powerful paradigm involves chaining of IF-THEN rules to form a line of reasoning. If the chaining starts from a set of conditions and moves toward some conclusion, the method is called forward chaining. If the conclusion is known (for example, a goal to be achieved) but the path to that conclusion is not known, then reasoning backwards is called for, and the method is backward chaining. These problem- solving methods are built into program modules called inference engines or inference procedures that manipulate and use knowledge in the knowledge base to form a line of reasoning.
The knowledge base an expert uses is what he learned at school, from colleagues, and from years of experience. Presumably the more experience he has, the larger his store of knowledge. Knowledge allows him to interpret the information in his databases to advantage in diagnosis, design, and analysis.
Though an expert system consists primarily of a knowledge base and an inference engine, a couple of other features are worth mentioning: reasoning with uncertainty, and explanation of the line of reasoning.
Knowledge is almost always incomplete and uncertain. To deal with uncertain knowledge, a rule may have associated with it a confidence factor or a weight. The set of methods for using uncertain knowledge in combination with uncertain data in the reasoning process is called reasoning with uncertainty. An important subclass of methods for reasoning with uncertainty is called "fuzzy logic," and the systems that use them are known as "fuzzy systems."
Because an expert system uses uncertain or heuristic knowledge (as we humans do) its credibility is often in question (as is the case with humans). When an answer to a problem is questionable, we tend to want to know the rationale. If the rationale seems plausible, we tend to believe the answer. So it is with expert systems. Most expert systems have the ability to answer questions of the form: "Why is the answer X?" Explanations can be generated by tracing the line of reasoning used by the inference engine (Feigenbaum, McCorduck et al. 1988).
The most important ingredient in any expert system is knowledge. The power of expert systems resides in the specific, high-quality knowledge they contain about task domains. AI researchers will continue to explore and add to the current repertoire of knowledge representation and reasoning methods. But in knowledge resides the power. Because of the importance of knowledge in expert systems and because the current knowledge acquisition method is slow and tedious, much of the future of expert systems depends on breaking the knowledge acquisition bottleneck and in codifying and representing a large knowledge infrastructure.
Knowledge engineering
is the art of designing and building expert systems, and knowledge engineers are its practitioners. Gerald M. Weinberg said of programming in The Psychology of Programming: "'Programming,' -- like 'loving,' -- is a single word that encompasses an infinitude of activities" (Weinberg 1971). Knowledge engineering is the same, perhaps more so. We stated earlier that knowledge engineering is an applied part of the science of artificial intelligence which, in turn, is a part of computer science. Theoretically, then, a knowledge engineer is a computer scientist who knows how to design and implement programs that incorporate artificial intelligence techniques. The nature of knowledge engineering is changing, however, and a new breed of knowledge engineers is emerging. We'll discuss the evolving nature of knowledge engineering later.
Today there are two ways to build an expert system. They can be built from scratch, or built using a piece of development software known as a "tool" or a "shell." Before we discuss these tools, let's briefly discuss what knowledge engineers do. Though different styles and methods of knowledge engineering exist, the basic approach is the same: a knowledge engineer interviews and observes a human expert or a group of experts and learns what the experts know, and how they reason with their knowledge. The engineer then translates the knowledge into a computer-usable language, and designs an inference engine, a reasoning structure, that uses the knowledge appropriately. He also determines how to integrate the use of uncertain knowledge in the reasoning process, and what kinds of explanation would be useful to the end user.
Next, the inference engine and facilities for representing knowledge and for explaining are programmed, and the domain knowledge is entered into the program piece by piece. It may be that the inference engine is not just right; the form of knowledge representation is awkward for the kind of knowledge needed for the task; and the expert might decide the pieces of knowledge are wrong. All these are discovered and modified as the expert system gradually gains competence.
The discovery and cumulation of techniques of machine reasoning and knowledge representation is generally the work of artificial intelligence research. The discovery and cumulation of knowledge of a task domain is the province of domain experts. Domain knowledge consists of both formal, textbook knowledge, and experiential knowledge -- the expertise of the experts.
Tools, Shells, and Skeletons
Compared to the wide variation in domain knowledge, only a small number of AI methods are known that are useful in expert systems. That is, currently there are only a handful of ways in which to represent knowledge, or to make inferences, or to generate explanations. Thus, systems can be built that contain these useful methods without any domain-specific knowledge. Such systems are known as skeletal systems, shells, or simply AI tools.
Building expert systems by using shells offers significant advantages. A system can be built to perform a unique task by entering into a shell all the necessary knowledge about a task domain. The inference engine that applies the knowledge to the task at hand is built into the shell. If the program is not very complicated and if an expert has had some training in the use of a shell, the expert can enter the knowledge himself.
Many commercial shells are available today, ranging in size from shells on PCs, to shells on workstations, to shells on large mainframe computers. They range in price from hundreds to tens of thousands of dollars, and range in complexity from simple, forward- chained, rule-based systems requiring two days of training to those so complex that only highly trained knowledge engineers can use them to advantage. They range from general-purpose shells to shells custom- tailored to a class of tasks, such as financial planning or real- time process control.
Although shells simplify programming, in general they don't help with knowledge acquisition. Knowledge acquisition refers to the task of endowing expert systems with knowledge, a task currently performed by knowledge engineers. The choice of reasoning method, or a shell, is important, but it isn't as important as the accumulation of high-quality knowledge. The power of an expert system lies in its store of knowledge about the task domain -- the more knowledge a system is given, the more competent it becomes.
Bricks and Mortar
The fundamental working hypothesis of AI is that intelligent behavior can be precisely described as symbol manipulation and can be modeled with the symbol processing capabilities of the computer.
In the late 1950s, special programming languages were invented that facilitate symbol manipulation. The most prominent is called LISP (LISt Processing). Because of its simple elegance and flexibility, most AI research programs are written in LISP, but commercial applications have moved away from LISP.
In the early 1970s another AI programming language was invented in France. It is called PROLOG (PROgramming in LOGic). LISP has its roots in one area of mathematics (lambda calculus), PROLOG in another (first-order predicate calculus).
PROLOG consists of English-like statements which are facts (assertions), rules (of inference), and questions. Here is an inference rule: "If object-x is part- of object-y then a component-of object- y is object-x."
Programs written in PROLOG have behavior similar to rule-based systems written in LISP. PROLOG, however, did not immediately become a language of choice for AI programmers. In the early 1980s it was given impetus with the announcement by the Japanese that they would use a logic programming language for the Fifth Generation Computing Systems (FGCS) Project. A variety of logic-based programming languages have since arisen, and the term prolog has become generic.
Advanced Research
ADVANCED RESEARCH IN KNOWLEDGE-BASED SYSTEMS: INVENTING THE NEXT GENERATION
The basic categories of research in knowledge-based systems include: knowledge representation, knowledge use (or problem-solving), and knowledge acquisition (i.e., machine learning and discovery).
Knowledge Representation
In knowledge representation, the key topics are concepts, languages, and standards for knowledge representation. There are many issues involved in scaling up expert systems: defining the problems encountered in the pursuit of large knowledge bases; developing the infrastructure for building and sharing large knowledge bases; and actually accumulating a large body of knowledge, for example, common sense knowledge or engineering and technical knowledge.
Knowledge Use
Knowledge use, or problem-solving, research efforts involve the development of new methods for different kinds of reasoning, such as analogical reasoning, reasoning based on probability theory and decision theory, and reasoning from case examples.
The first generation of expert systems was characterized by knowledge bases that were narrow and, hence, performance that was brittle. When the boundary of a system's knowledge was traversed, the system's behavior went from extremely competent to incompetent very quickly. To overcome such brittleness, researchers are now focusing on reasoning from models, principles and causes. Thus, the knowledge-based system will not have to know everything about an area, as it were, but can reason with a broader base of knowledge by using the models, the principles, and the causation.
Knowledge Acquisition
The quest for a large knowledge base boils down to the problem of access to distributed knowledge bases involving multiple expert systems and developers. The effort to develop the infrastructure needed to obtain access is a research area called knowledge sharing. The goal of the knowledge sharing research is to overcome the isolation of first-generation expert systems, which rarely interchanged any knowledge. Hence, the knowledge bases that were built for expert systems in the 1980s did not accumulate.
Other Areas of Investigation
A major issue of expert systems research involves methods for reasoning with uncertain data and uncertain knowledge. One of the most widely adopted methods is called "fuzzy logic" or "fuzzy reasoning," especially in Japan, where fuzzy reasoning is the object of much research attention and much scrutiny on the part of American researchers.
Very lately, there has come on the scene the research topic of neural networks -- networks of distributed components operating in parallel to make classification decisions. The links between neural networks technology and expert system technology are being explored.
Finally, research is underway to explore the use of new parallel computing methods in the implementation of expert systems and advanced knowledge- based systems. The new wave of computing is multi-processor technology. The question is, what will be the impact of such high- performance parallel computing activities on expert system techniques?
TOOLS AND INFRASTRUCTURE
In this chapter we focus on tools for building expert systems, and on the associated R&D infrastructure. The types of tools currently on the market are indicative of the current technology available to the end user community, while tools under development can provide clues about the kinds of applications one can expect in the future. The level of activity of tool development also indicates the value being placed on the future of this technology. We get at this, in part, by profiling some key ES development tools and leading-edge players in the market.
See related topics and documents
Expert Links
Today's expert systems deal with domains of narrow specialization. For expert systems to perform competently over a broad range of tasks, they will have to be given very much more knowledge. ... The next generation of expert systems ... will require large knowledge bases. How will we get them?
-Edward Feigenbaum, Pamela McCorduck, H. Penny Nii, from The Rise of the Expert Company
The primary goal of expert systems research is to make expertise available to decision makers and technicians who need answers quickly. There is never enough expertise to go around -- certainly it is not always available at the right place and the right time. Portable with computers loaded with in- depth knowledge of specific subjects can bring decades worth of knowledge to a problem. The same systems can assist supervisors and managers with situation assessment and long- range planning. Many small systems now exist that bring a narrow slice of in- depth knowledge to a specific problem, and these provide evidence that the broader goal is achievable.
These knowledge-based applications of artificial intelligence have enhanced productivity in business, science, engineering, and the military. With advances in the last decade, today's expert systems clients can choose from dozens of commercial software packages with easy-to-use interfaces.
Each new deployment of an expert system yields valuable data for what works in what context, thus fueling the AI research that provides even better applications.
See related topics and documents
Class Home Page