FUNDAMENTALS OF EXPERT SYSTEMS - Stanford University

Transcription

1Expert SystemsFUNDAMENTALS OF EXPERT SYSTEMS#Bruce G. Buchanan & Reid Q. Smith1. INTRODUCTIONare one of the most exciting applications of computers to emerge inthe last decade. They allow a computer program to use expertise to assist in a varietyof problems, such as diagnosing equipment failures and designing new equipment. Theyhave built on many years of work in artificial intelligence (Al) on problem solving,and have become a' commercially successful demonstration of the power of Al.Correspondingly, by testing current Al methods in applied contexts, expert systemsprovide important feedback to the science on the strengths and limitations of thosemethods. In this review, we present the fundamental considerations in constructing anExpert systemsand assess the state of the art. Our discussion focuses on the computerscience issues, as opposed to the management or applications issues.expert system"1.1. Characterization and DesiderataExpert systems are distinguished from conventional programs in several importantrespects. While no single one of the following characteristics is missing entirely fromother well-designed software, all of them together provide a characterization of adistinct class of programs. Suffice it to say that there is not uniformliterature about any characterization and that few expertsystemsagreement intheexhibit all of thesecharacteristics to the same degree. However, the following five characteristics provide aset of desiderata within which we can cluster expert systems.An expert system is a computer program that:a) reasons with knowledge that is symbolic as well as mathematical,b) uses methods that are heuristic (plausible) as well as algorithmic (certain)c) performs as well as specialists in its problem area,d) makes understandable what it knows and the reasons for its answers,"c) retains flexibility.,

Expert Systems2An example of an expert system that meets these conditions very well is the Dipmeter"Advisor System [Smith & Young 84, Smith 8.4]. Its task is to assist petroleumengineers determine the "map" of geological strata through which an oil well is beingdrilled—e.g., the depth and the dip, or "tilt," of individual layers of sandstone, shale,and other rocks. It meets the above five desiderata in the following respects, (a) Theknowledge needed to do this is partly mathematical (e.g., trigonometry), but is largelynon-numeric geological knowledge (e.g., knowledge about how sand is deposited aroundriver beds), (b) Its reasoning is based on ; the same kinds of heuristics that well-loggingexperts use to interpret data from bore holes, (c) It is an aid to specialists, providinginterpretations that are better than those of novices, (d) It uses a variety of graphicaland textualdisplays to make its knowledge understandable and to justify itsinterpretations, (c) And it is flexible enough to be modified and extended frequently,without rewriting the programs that interpret the knowledge. An example of what thecomputer screen looks like is shown in Figure 1 below. Figure 1 here "Conditions (a) and (b) aboveexpert systems to-- symbolic reasoning and heuristicmethods— definebe artificial intelligence programs, i.e., they use symbolic informationand they reason heuristically. Expert systems became an identifiable part of Al in thelate 1960's and early . 1970's with the realization that applications of Al to science,engineering, and medicine cpuld provide assistance in those disciplines and could, at thesame time, uncover additional research problems for AL In the context of theDENDRAL [Lindsay et al 80] and MACSYMA [Moses 71] programs, computerscientists began to recibgnize that high performance in a subject area, such as organicchemistry, was more readily achieved, by giving a program substantial amounts ofsubject-specific knowledge than by giving it some general axioms of the subject areaplus a very powerful, but general, deductive apparatus. The DENDRAL programrepresented many specific facts about organic chemistry in a variety of ways and usedthose facts in rather simple, inferences.It represented mass and valence of chemicalatoms as values of attributes; it represented classes of unstable chemical compounds as"partial graph structures in a table; and it represented some major patterns offragmentations of molecules in a mass spectrometer as predictive rules. From this work

t3Expert Systems"emerged the first principle of building expert systems, as enunciated by Feigenbaum[Feigenbaum et al 71]:"In the knowledge lies the power."Because of this, the concept of a knowledge base has become central in expert systems.In contrast, most other Al work of the day was concerned with reasoning by generalmethods such as theorem proving. Researchers were looking for power in a program inits general planning heuristics, for example, as exhibited in problem areas in whichknowledge about the objects of the domain was almost irrelevant.area was the so-called "Blocks World" of children'sA favorite problemblocks on a table.Generalknowledge of stability and support, plus general knowledge about planning andconstraint satisfaction, was sufficient to allow programs to reason, say, about thesequence of operations needed to stack blocks in a specified order.Condition (c) separates high performance programs from others.By bringing inhuman specialists as a standard of comparison, this condition also suggests using theknowledge of specialists to achieve high performance. Pre-defining the scope ofproblem solving to a narrow "slice" through a domain has become a pragmatically"necessary principle of design.As discussed below, bounding the scope of the problemin advance avoids many difficulties associated with building a generally intelligentrobot that would behave appropriately in all situations.Conditions (d) and (c)— . explaining the reasoningand flexibility—are lessfrequently cited and are less frequent!]/ achieved than (a) -(c). They may be seen asmeans to the end of achieving high , performancebut are included here to highlighttheir importance in designing and implementing any expert system.Understandability and flexibility are important both while expert systems are beingdesigned and while they are used. During design and implementation, not all therequisite knowledge is in hand, because not even specialists can say precisely what aprogram needs to know.constructed incrementally. Animportant part of understandability is to use the same terminology that specialists andThus expertsystems areUnderstanding the static knowledge base allows one to decide whatneeds to be added to improve performance. Understanding the dynamics of thereasoning is also important in deciding what to change. Flexibility is thus needed topractitioners use."allow the changes to be made easily.Explanations help designers as well as end-users

4Expert Systems"understand the reasons for a program's conclusions. This capability is especiallyimportant when end-users accept legal, moral, or financial responsibility for actionstaken on the program's recommendations.1.2. Some Examplesuse (see [Rauch-Hindin 86], [Buchanan86], [Walker and Miller 86], [Harmon & King 85] for lists of examples). Some of thebest known, such as XCON and the DIPMETER ADVISOR System, have been usedThere are many expert systems in routinecommercially for many years (by Digital and Schlumberger, respectively).Thefollowing programs are chosen because they illustrate a variety of problem types andcontexts of use.There are roughlytwoclasses of problems addressed in these severalsystems: (I) problems of interpreting data to analyzeconstructing a solution within specified constraints.a situation, and (II) problems ofWithin eachcategory arelistedseveral different examples under general task names that are somewhat descriptive butnot necessarily distinct."Class I: Problems of InterpretationDATA INTERPRETATIONSchlumberger [DIPMETER ADVISOR] interpret down-hole data fromoil well bore holes to assist in prospecting [Smith & Young 84]aid in interpreting diagnosticSt.Vincents Hospital (Sydney)—tests onthyroid function [Horn et al 85]NL Baroid [MUDMAN]— determinecauses of problems in drillingoil wells and recommend additives to the drilling fluid thatwill correct them: [Kahn and McDermott 86]EQUIPMENT DIAGNOSISGeneral Motors [VIBRATION]-- determine causes of vibration noisesand recommend repairs [Teknowledge 87]diagnose faults &Kodak [BLOW MOLDING INJECTION ADVISOR]suggest repairs for plastic injection molding machines-"[Teknowledge 87]

5Expert SystemsAT&T [ACE]"— providetroubleshooting & diagnostic reportson telephone cable problems [Miller et al 84]diagnose problems in diesel-electricGeneral Electric [CATS]locomotives [Sweet 85]—TROUBLESHOOTING PROCESSESHewlett Packard—diagnose causes of problems in photolithographysteps of wafer fabrication [Cline et al 85]Elf Aquitaine Oil Company [DRILLING ADVISOR]—demonstratereasoning in finding cause of drill bit sticking in oil well and tocorrect the problem (used for training) [Rauch-Hindin 86]MONITORING— monitorIBM [YJES/MVS]and adjust operation of MVSoperating system [Rauch-Hindin 86]—National Aeronautics And Space Administration [LOX]monitordata during liquid oxygen tanking process [Kolcum 86]"PREVENTIVE MAINTENANCENCR [ESPm]—monitor computers in the field, analyzeerror logs,and suggest preventive maintenance procedures beforea computer fails [Teknowledge 87]SCREENING—determineU.S. Environmental Protection Agency [EDDAS]which requests for information fall under the exceptionsto the Freedom of Information Act [Feinstein & Siems 85]CREDIT AUTHORIZATIONAmerican Express [AA]— assist in authorizing charges fromcard members or in determining that a requestis suspect or fraudulent [Klahr et al. 87]"FINANCIAL AUDITING

Expert Systems6Arthur Young [ASQ]"— assist auditorswith planning anddeveloping approaches to field audits [Hernandez 87]SOFTWARE CONSULTANTAT&T [REX]— advisepersons on which subroutines in largestatistical package to use for their problems and how touse them [Rauch-Hindin 86]EQUIPMENT TUNINGLawrence Livermore National Laboratory [TQMSTUNE]—specifyparameter settings to bring asensitive instrumentinto alignment [Rauch-Hindin 86]INVENTORY CONTROLFederal Express [INVENTORY SETUP ADVISOR] help decidewhether or not to stock spares in inventory of 40,000parts [Teknowledge 87]"Class II: Problems of ConstructionCONFIGURATIONDigital Equipment Corp. [XCON]— translate customers' ordersfor computer systems into shipping orders [Rauch-Hindin 86]DESIGNXerox [PRIDE]— designpaper handling systems insidecopiers and duplicators [Mittal et al 85]GM Delco Products [MOTOR EXPERT]—generate informationnecessary to make production drawings for low voltage DCmotor brushes by interacting[Rauch-Hindin 86]"with designers

7Expert SystemsLOADING"—U.S. Army [AALPS]design loading plan of cargo andequipment into aircraft of different types [AALPS 85]PLANNINGHazeltine [OPGEN]assembly— plan andinstructions forprepare "operations sheets" ofprinted circuit boards[Rauch-Hindin 86]Hughes Aircraft [HI-CLASS]steps for printedSCHEDULINGWestinghouse [ISIS]——setup sequence of hand-assemblycircuit boards [Hi-Class 85]plan manufacturing steps in TurbineComponent Plant to avoid bottlenecks and delays[Fox and Smith 84]Babcock & Wilcox#—automate generationof weld scheduleinformation (e.g., weld procedure, pre-heat, post-heat, andnon -destructive examination requirements.)[Rauch-Hindin 86]THERAPY MANAGEMENTStanford Medical Center [ONCOCIN]— assistin managingmulti-step chemotherapy for cancer patients [Hickam et al 85]"

8Expert Systems1.3. Historical Note"-on (a) psychological modeling, and (b)search techniques. Expert systems synthesize some of that work, but shift the focus torepresenting and using knowledge of specific task areas. Early work used game playing,Early work in Al (1950s19605) focusedand reasoning about children's blocks, as simple task domains in which to test methodsof reasoning. Work on expert systems emphasizes problems of commercial or scientificimportance, as defined by persons outside of Al. Newell calls MYCIN "the originalexpert system" (Foreword to [Buchanan & Shortliffe 84])design considerations and emphasized the application.onbecause it crystallized theExpert systems continue to build-- and contribute to — Al research by testing the strengths of existing methods andhelping to define their limitations [Buchanan 88]. The process is a continuing one.the 19705, expertsystems work developedearly work in psychological modeling.the use of productionsystems,Inbased on theIn the 1980's, fundamental work on knowledgerepresentation has evolved into useful object-oriented substrates [Stefik & Bobrow 86].Hardware developments in the last decade have made a significant difference in thecommercialization of expert systems. Stand-alone workstations provide special hardware"to run Al programming languages efficiently, high resolution interactive graphics, andlarge address spaces in small boxes at affordable prices [Wah 87].These havesimplified development since it is no longer necessary to depend on large, time-sharedcentral mainframes for development and debugging. They also provide an acceptableanswer to questions of portability to field personnel. Development of expert systems— and thelanguages and environments (called "shells") for building them—instandard languages such as Common Lisp and C have essentially eliminated the lastbarriers to portability.2. FUNDAMENTAL PRINCIPLESAll Al programs, including expert systems, represent and use knowledge. Theconceptual paradigm of problem solving that underlies all of Al is one of search (i.e., aprogram, or person, can solve a problem by searching among alternative solutions).Although immediately clear and simple, this formulation of the paradigm does little totell us how"tosearch a solution space efficiently and accurately.The number ofpossible solutions may be astronomical, as illustrated in Table 1 below.Thus

9Expert Systems"exhaustive consideration of alternatives is out of the question. Most expert systems,however, use heuristics to avoid exhaustive search, much as experts do. For problemareas in which experts are acknowledged to be more efficient and accurate than non-assume that what the experts know can be codified forThis is one of the fundamental assumptions of knowledgespecialists, it is reasonable touse by a program.engineering, or the art of building expert systems [Hayes-Roth et al 83].TABLE 1. The Size Of The SolutionSpaces For Several Expert Systems."MYCIN: combinations of 1-6 organisms fromlist of 120 organisms (many of whichare equivalent) 6 x IO 6INTERNIST: combinations of 1-3 diseasesfrom list of 571 31 x 106 (500) 650 10200DIPMETER ADVISOR: combinations of 650 geologicalcategories for an arbitrary numberof depth intervals, e.g., 500 ten-footintervalsXCON: arbitrary number ofcomputer system components selectedfrom 20,000 catalog items 50-150 ata timeIn this section, we discuss several dimensions of current architectures: representationof knowledge, reasoning, knowledge acquisition, explanation, system-building tools, andvalidation. In each of these subsections, we try to elucidate the fundamental principlesthat underlie the architectural choices.Several criticisms of expert systems are restatedin the text, with brief comments, as a way of clearly separating current practice fromfuture promise. We end the section with three advantages of knowledge-based systemsover traditional software."

10Expert Systems"2.1. RepresentationOne of the hallmarks of an expert system is the use of specific knowledge of itsdomain of application, applied by a relatively simple inference engine. The phrase"knowledge programming" has been used to denote the relative emphasis of the effortof building an expert system. The single most important representational principle isthe principle of declarative knowledge enunciated by McCarthy in the formative yearsof Al [McCarthy 58]. (Also Winograd's discussion of this principle in [Winograd75].) Simply put, this principle states that knowledge must be encoded in an intelligentreason about it.Arbitrary Fortran or Lisp procedures, for example, cannot be explained or edited byother programs (although they can be compiled and executed), while stylized attributevalue pairs, record structures, or other, more complex, stylized data structures can be.program explicitly, ina manner that allows other programstoTo a certain extent, a knowledge base is a database. The essential differences betweenknowledge bases and databases are flexibility and complexity of the relations. Currentresearch on Al and Databases (sometimes called Expert Database Systems) [Kerschberg86] is reducing these differences. It requires an organizational paradigm plus data"structures for implementation. These two parts together constitute the representation ofknowledge in an Al program.Elements of knowledge needed for problem iiolving may be organized around eitherthe primary objects (or concepts) of a problem area or around the actions (includinginferential relations) among those objects.For example, in medicine one may thinkprimarily about the evidential links among manifestations and diseases, and the linksamong diseases and therapeutic actions,andsecondarily around the concepts so linked.In this paradigm, one concentrates on the knowledge tha allows inferences to be drawnand actions to be takenthe "how to" knowledge. Alternatively, one might organizemedical knowledge primarily around the taxonomy of diseases and the taxonomy oftheir manifestations and secondarily about the inference rules that relate manifestationsto diseases. In this second paradigm, one concentrates on what might be called the—"what is" knowledge.These two conceptual views are known as "action-centered" or"object-centered" paradigms for representing knowledge.They have counterparts at theimplementation level in program organization."For each type of representation, one may identify the primitive unit and theprimitive action. The primitive unit, in thecase of action-centered representations, is

Expert Systems"11the fact (e.g., the freezing temperature of water is 0 degrees C). Primitive facts arelinked in conditional sentences by rules ("If . then ." statements). Note that theselinks may reflect causal associations, based on theory, or empirical associations, basedon experience. An example from the Dipmeter Advisor, which is an abbreviated causaldescription as found in geology texts, is shown in Figure 2 below. FIGURE 2 HERE Conversely, the primitive unit of an object-centered representation is the object or"frame", with a number of attributes (called "slots") and values (e.g., a spur gear withnumber-of-teeth 24, material cast-steel, and diameter 5 cm). Objects typicallyalso encapsulate procedures (called "methods"). In addition, they may contain defaults,uncertainty, relations to other objects (e.g., generalizations, parts), and a variety of otherinformation. An object can be viewed as a structured collection of facts. Minsky[Minsky 75] popularized the use of objects (then called "frames") for Al. An example"of an object definition from the Dipmeter Advisor is shown in Figure 3. FIGURE 3 HERE Smalltalk [Goldberg & Robson 83] was one of the early languages that showed boththe power of objects as programming constructs and the power of an integratedgraphical programming environment. Many commercial expert system shells contain anobject-oriented component [Stefik & Bobrow 86].The primitive action in action-centered representations is often referred to as "firinga rule:" If the premise conditions of a conditional rule are true in a situation, thentake the actions specified in the consequent part of the rule. For example, in a medicalconclude that an organism may be streptococcus, if its gram stain is positive.This style of programming began as production systems, made popular by Newell's workin the 1960's (see Ch. 2 of [Buchanan & Shortliffe 84]).system,"Given that rule-oriented programming often involves making deductions, it has been

12Expert Systemsargued that various forms of logic are well-suited for use in expert systems."Simplehave used propositional logic, more complex systems have used first orderpredicate logic, and there is ongoing research in use of higher order logics to expresssystemsrelations among beliefs, temporal relations, necessity, and uncertain information— boththe uncertainty with which data must be regarded in many real systems and uncertaintyin the strength of heuristic rules which reflects a lack of detailed understanding of adomain.Criticism: The domain models are not "deep" models. [Davis 87] Expertcase formulations of relations than on "firstprinciples." Although a set of general principles such as Maxwell's equationsgovern the behavior of a large class of devices, designers of expert systemsprefer to codify special cases, exceptions, and empirical associations, as wellas some causal associations, in order to put the general principles in formsthat are more quickly applied.systems rely more on specialThe search for new logical formalisms that are more powerful than predicate calculusreflects the tension between simple, well-understood formalisms and expressive power.In brief, logic indicates an approach but does not provide a complete solution.Numerous extensions must be made to express some of the concepts that are frequently#used in applications: uncertainty, strategy knowledge, and temporal relations.Criticism: The reasoning is not formal. [Nilsson 82] Some logicians areuncomfortable with reasoning that is not theorem proving and knowledgebases that are not axiomatic systems which allow proofs of consistency. It isnot clear that formal reasoning, per se, is desirable in expert systems, but itwould be desirable to validate knowledge bases analytically.In object-centered representations, the primitive action is called "sending a message":If an action needstobe taken (e.g., a value of an attribute is needed), send a request toor conclude, the value). For example,in a geology system, send the Analyze- Sedimentary-Environment message to an instanceof the Borehole-Interval object. The effect is to perform an arbitrary action whichthe object that can take the action (e.g., compute,could include drawing inferences; in our example, the action performed is to drawconclusions about the geological "story" of sedimentation at a specific depth intervalpenetrated by the oil rig's drill.This style of object-oriented programming owes itsdefinition to Hewitt [Hewitt 77].In terms of data structures, objects are much like record structures. Each object has anumber of fixed fields.#Unlike record structures, however, newobjects during a computation.fields can be addedtoObjects divide into two types: instances and classes.

13Expert Systems"Instances are individuals in a domain (e.g., a specific depth interval from 1200 to 1225feet in a specific borehole). Classes represent sets of individuals (e.g., any depthinterval). They define the characteristics of the individuals which are their instances.Classes are usually organized into hierarchies according to different relations. The most;common relations are the specialization, subclass, or "is-a" relation (e.g., a reversegeological fault is a kind of geological fault) and the "part-of" relation (e.g., a faultplane is part of a geological fault). Object-oriented systems allow arbitrary relations tobe encoded, but often provide efficientsupport for one or two specificrelations.In order to support the characteristics of expert systems listed in the Introduction,representation mechanisms must have sufficient expressive power to state, clearly andsuccinctly, both "what is" knowledge and "how to" knowledge. (This is sometimes calledthe "epistemological adequacy" of a representation [McCarthy & Hayes 69].) ExpressiveOne of the key problems fordesigners of expert systems is management of complexity. Impoverished representationmechanisms force designers to encode information in obscure ways x which leads todifficulty in extending and explaining the behavior of expert systems. Representationpower has both design-time and run-time implications.-"mechanisms that permit efficient compilation and structuring of knowledge reduce runtime requirements of both time and memory.some information to be statedonce, in an abstract class, and accessed (by inheritance) in a large number of subclasses.A representational mechanism that does not allow this forces designers to confront thecomplexity of stating essentially the same information many times. This may lead toinconsistency and difficulty in updating the information. It also has an obviousAs an example, an object-oriented language allowsmemory cost. At run time, each Of the separate encodings of the information may haveto be considered individually, resulting in an obvious performance penalty. An exampleof a taxonomic hierarchy is shown in Figure 4. FIGURE 4 HERE "Action-centered and object-centered paradigms are in fact two ends of a spectrum ofrepresentational possibilities. The two emphasize different aspects of modeling.Contemporary Al programs often use heterogeneous representational paradigms (e.g.,

14Expert Systemscoupling the simplicity of rules with the expressive power of objects)."Extensible representation schemes facilitate the incremental development of expertsystems, which is necessary when there is no complete specification of either theproblem or of the knowledge required to solve it.When new concepts, attributes, andrelations are added incrementally, a designer must not be forced to recode substantialportions of the knowledge already encoded.Criticism: Knowledge bases are not reusable. [Lenat 86] Since the cost ofbuilding a knowledge base is substantial, it would be desirable to amortize itover several related expert systems, with unique extensions to cover uniquecircumstances. For example, many medical systems use facts about anatomyand physiology, yet often each encodes those facts specifically for use in aunique way.Experience has shown that declarative, modular representations are useful for expertsystems.Some information is more difficult to encode in the action-centered paradigm,other information more difficult in the object-centered paradigm. For example,sequencing of actions is difficult to encode in an action-centered paradigm. The sameis true of information that is essentially, static, such as causal or structural descriptions."On the other hand, object-centered representations have no built-in inferencemechanism beyond inheritance (although they support them, and many commercialshells have an integrated rule-oriented component). In addition, in some domains,subclasses arc "soft" and it may be inappropriate fo wire in hard distinctions betweenclasses (e.g., in geology, classification of rocks according to lithology [sandstone, shale,carbonate] is not firm because the end-members are mixed to varying degrees).answer to the question "Which representation method isbest?" Contemporary expert systems use a variety of methods, but attempt to integratethem into a uniform framework. As systems become more complex, it will be moreConsequently, there is no singleand more difficult to maintain a uniform view.Criticism: Expert systems are "brittle". [Davis 87, Lenat 86] Withoutknowledge of first principles or common sense, current expert systems mayfail precipitously on a new , ease that is at the boundary of the system'scompetence. The performance of humans is more robust: as we reach theextent of what we know about a problem area, we often can give appropriateanswers that are approximately correct, although not very preciseand weknow the difference. The standard solution today is to codify rules thatscreen out cases that are outside the intended scope in order to further ensurethat the system is being used in an appropriate way. --"

15Expert Systems#2.2. ReasoningInference methods are required to make appropriate and efficient use of the items ina knowledge base to achieve some purpose, such as diagnosing a disease. Logicallyspeaking, the two rules of inference most used in problem . solving are modus ponens"If Aand modus tollens"If A implies B and you know A, then infer B"implies B and you know not-B, then infer not-A". The former is sometimes called the———"chain rule" because inferences can be chained together in a sequence of deductions:AA-- 3B— CC— DTherefore,DIn addition to these two simple rules, rules of quantification are sometimes used e.g.,"If all A's are B's and x is an A, then x is a B". With a few simple rules of inferencesuch as these driving the problem solving, a knowledge base full Of many special facts#and relations about the problem area provides the expertise on which high performanceis based.Criticism: Expert systems have little common sense. [McCarthy 83] While itis true that there is no general "common sense reasoning" component inexpert systems, it is not at all clear what is required that: would be generalenough to avoid errors that "any fool" would avoid and specific enough toDesigners of current expert systems resolve this by (a)reason reliably.assuming that users can exercise some common sense, and (b) specifyingcommon facts explicitly when needed. The INTERNIST system, for example,contains about 100,000 common sense medical facts such as "males do not getpregnant" and "aspirin obscures the results of thyroid tests" (personalcommunication from R. Miller).Some expert systems use a, theorem prover to determine the truth or falsity ofpropositions and to bind variables so as to make propositions true.Others use their--mostown interpreters in order to incorporate more than a theorem prover providesimportantly, capabilities for controlling the order of inferences, strategic reasoning, andreasoning under uncertainty.Most fielded rule-based expert systems have usedspecialized rul

Expert Systems 4 understand the reasons for a program's conclusions. This capability is especially important when end-users accept legal, moral, or financial responsibility for actions taken on the program'srecommendations. 1.2. Some Examples There are many expert systems in routine use (see[Rauch-Hindin 86],[Buchanan 86],[Walker and Miller 86],[Harmon &King85]forlists ofexamples).