throbber
COhlPUTiNG PRACTICES
`
`Edgar H. Sibley
`Panel Editor
`
`Based on a review of some actual expert-system projects, guidelines are
`proposed for choosing appropriate applications and managing the
`development process.
`
`EXPERT SYSTEMS: PERILS AUD PROMISE
`
`DANIEL G. BOBROW, SANJAY MITTAL, and MARK J. STEFIK
`
`the expres-
`By virtue of their flamboyant quality,
`sions artificial
`intelligence (Al) and expert systems have
`helped contribute
`to an expanding wave of activity
`and unrealistic expectations about the state of the
`art. Taking a long, hard look at those expectations,
`this article contrasts them with
`the results of some
`actual case studies and proposes both a more realis-
`tic view of the practice of building expert systems
`and some guidelines
`for choosing appropriate appli-
`cations.
`The term expert system refers to computer pro-
`grams that apply substantial knowledge of specific
`areas of expertise
`to the problem-solving process.
`The term expert is intended
`to imply both narrow
`specialization and competence, where success of the
`system is often due to this narrow
`focus. Just as
`human experts have varying
`levels of expertise, so
`too do computer systems. Although,
`in general, ex-
`pert systems have less breadth of scope and flexibil-
`ity than human experts, and for this reason are
`sometimes criticized
`for creating unrealistic expecta-
`tions, we find it more productive
`to ask about the
`level and range of expertise of a given program (i.e.,
`how well does it do on a specific set of tasks), rather
`than struggling with
`the imprecise boundary of what
`constitutes
`“expert.”
`
`01966 ACM OOOl-0782/86/0900-0880
`
`759
`
`In some circles, the terms knowledge-based systems
`or knowledge systems are used instead of expert system
`[lo]
`to focus attention on the knowledge
`the systems
`carry, rather than the question of whether or not
`such knowledge constitutes expertise. These terms
`also imply
`the use of technology
`for explicit
`repre-
`sentation of knowledge. But, once again, the bound-
`ary between explicit and implicit
`representation
`is
`imprecise
`in that knowledge can be represented ex-
`plicitly
`to different degrees and can take different
`forms.
`High-level performance can be achieved without
`explicit
`representation of knowledge as in an auto-
`pilot [%I; one might even ask whether a C-Compiler
`or a payroll program constitutes an expert system.
`Clearly
`they both embody knowledge:
`in the one
`case, of a language and computer and, in the other,
`of accounting and taxes. When constructed with
`conventional programming
`techniques, both would
`have a very limited
`range of capabilities. However,
`is also possible to build either as a knowledge-based
`system. One might then ask the AI payroll system
`hypothetical questions, such as the net difference
`taxes if you added two more deductions.
`In their
`usual embodiments, systems like these are generally
`designed with built-in commitments as to how the
`knowledge embedded in them is to be used, that is,
`to have “compiled out” [built
`into the programs) lim-
`
`in
`
`it
`
`000
`
`Communications of the ACM
`
`September 1986 Volume 29 Number 9
`
`IBM-1015
`Page 1 of 15
`
`

`
`Computing Practices
`
`behavior. To use this same knowl-
`ited input/output
`edge to generate tax advice, in the case of the pay-
`roll system, would require recoding the system for
`that purpose. For this reason, the term knowledge-
`bused is generally
`reserved for systems that have ex-
`plicit knowledge bases and some flexibility
`in the
`use of that knowledge.
`In this article, we examine primarily knowledge-
`based expert systems: systems that achieve expert-
`level performance using explicit
`representations of
`knowledge. For purposes of brevity, we will
`refer to
`them simply as expert systems.
`
`TO BUILDING
`APPROACHES
`EXPERT SYSTEMS
`Depending on the extent and depth of the explicit
`representation of knowledge, we can delineate
`three
`different approaches to expert-system development:
`the low road, the middle road, and the high road [6].
`The low road involves direct symbolic program-
`ming, usually
`in the Lisp programming
`language. It
`takes advantage of new low-cost AI machines with
`flexible programming environments enhanced by
`user interfaces that exploit window systems on large
`displays. These environments support a style of pro-
`gram development called “exploratory program-
`ming” [28] in which
`there is incremental, parallel
`development of program specification and imple-
`mentation-an
`appropriate style for applications
`where the primary concern is efficiency and the re-
`quired knowledge base is small and does not need to
`be changed very frequently.
`The low road was used for the early expert sys-
`tems (e.g., Dendral
`[19]), which combined AI tech-
`niques for heuristic search with Lisp capabilities
`for
`symbolic manipulation. Dendral generated and
`tested hypotheses about chemical structures and
`spectroscopic data. It needed to be efficient because
`the search space of possible solutions
`is very large;
`moreover, programming
`it directly
`into procedures
`was practical since the knowledge used for inter-
`preting spectral data is fairly static.
`The high road, on the other hand, involves build-
`ing a system that contains explicit
`representation of
`fairly complete knowledge of some subject matter,
`and can use that knowledge
`for more than one pur-
`pose. A system is called “deep” when its knowledge
`represents the principles and theories underlying
`the subject; a consequence of this depth is that such
`systems often require
`long chains of reasoning from
`first principles
`to practical
`results.
`Sophie [ll]
`is a high-road system that performs
`diagnostic reasoning and qualitative simulation, and
`can reason from first principles about how physical
`devices work. For many classes of devices, Sophie
`
`the behavioral states that the devices
`can determine
`will
`traverse for a given set of inputs. When the
`actual output of a device does not agree with
`the
`predicted output,
`the program uses the same funda-
`mental knowledge
`to generate hypotheses about
`which parts of the device may be broken.
`The ultimate goal of high-road systems is a knowl-
`edge processing capability
`that is general enough to
`span domains-an
`ability
`to apply general principles
`and commonsense reasoning to the articulation and
`testing of general facts and principles, and to experi-
`ment with processing and reasoning about these
`facts. Given current computers and compilation
`techniques, high-road systems are usually
`too slow
`for real-world
`(large-scale) applications, since they
`take only very small steps toward the solution of big
`problems; currently
`they are used only for research.
`Middle-road systems, not surprisingly,
`fit squarely
`between these two extremes. They also involve ex-
`plicit representation of knowledge, but though some
`direct programming may be used, most of the inter-
`esting behavior of the system is governed by knowl-
`edge that is articulated by experts and represented
`explicitly
`in a knowledge base. Canned problem-
`solving tactics rather than first principles are most
`often the rule.
`Knowledge engineers working with experts often
`use knowledge-engineering
`tools and hybrid
`lan-
`guages [15, 171 for this purpose. The technology
`fa-
`cilitates
`the representation,
`reorganization, and de-
`bugging of programs expressed as interacting pieces
`of knowledge. A key characteristic of middle-road
`systems is that they are sharply
`focused on a single
`task and incorporate knowledge specialized
`for the
`task, but the explicit
`representations often do not
`specify the limitations of that knowledge.
`A well-known
`example of a middle-road expert
`system is the Mycin system for medical diagnosis
`and prescription
`[7], Mycin contains rules that asso-
`ciate symptoms with diseases, for which
`it can also
`evaluate and prescribe treatment. Mycin,
`like most
`expert systems, is called a shallow system because
`most of its reasoning chains are short. It has no phys-
`iological model of disease or health, no model of
`how diseases cause symptoms, and no model of how
`treatment can help cure diseases. For most applica-
`tions, the middle road is the most effective approach
`now available
`for building expert systems.
`the
`Expert systems are no panacea for achieving
`impossible or even the very difficult. A mere incli-
`nation to have an expert system is no guarantee that
`one can be built.
`Identifying a need-“We
`need an
`expert who can make money on the stock market”
`or “It would be great to have a program to transform
`a functional circuit specification
`to an optimal
`inte-
`
`September 1986 Volume 29 Number 9
`
`Communications of the ACM
`
`aa1
`
`IBM-1015
`Page 2 of 15
`
`

`
`Computing Practices
`
`not suffice to determine
`layout”-does
`grated circuit
`task for an expert system.
`an appropriate
`issues
`Instead, there are a number of fundamental
`and requirements
`that must be considered.
`In the
`balance of this article, we present three successful
`projects as case studies. We then generalize
`from
`these examples to present guidelines
`for choosing
`appropriate applications and developing successful
`systems.
`
`CASE STUDIES
`The Rl System for Configuring Vaxen
`In 1978, the Digital Equipment Corporation and a
`group headed by John McDermott at Carnegie-
`Mellon University started a joint project to build an
`expert system that could aid in the configuration of
`VAX computers. As McDermott
`[Zl] describes it, the
`rule-based configurer Rl received a customer’s pur-
`chase order and then determined what if any substi-
`tutions and additions were needed to make the or-
`der consistent and complete. It produced a number
`of diagrams showing
`the spatial and logical relation-
`ships among the 90 or so components
`that typically
`constitute a VAX-11 computer system.
`the con-
`Rl was the fourth attempt at automating
`struction of complete configuration descriptions
`for
`DEC computers
`[2O]. At least part of the reason the
`three earlier attempts failed was that their imple-
`mentation
`technology did not allow knowledge
`to be
`expressed explicitly. They were built with stan-
`dard programming
`technology, which made it hard
`to understand
`the interactions between pieces of the
`system and to change and augment the system as
`additional knowledge was gained.
`
`Knowledge Representation.
`is a rule-based system
`Rl
`that uses the OPS-5 programming
`language 1141 built
`in Lisp. In Rl, a typical rule (rendered here in
`pseudo-English) might look like this:
`
`active
`current
`The most
`IF:
`putting
`the unibus modules
`backplane
`in
`some box
`
`context
`in
`the
`
`is
`
`AND it
`modu.le
`
`which
`has been determined
`to
`try
`to put
`in a backplane
`
`AND
`
`. . .
`
`THEN: Enter
`panel
`space
`
`the
`for
`
`of verifying
`context
`a multiplexer
`
`to be
`The rule consists of a series of conditions
`tested (the IF parts), followed by actions to be taken
`provided
`the IF part is true. The conditions
`test
`such things as the state of the problem-solving pro-
`cess, availability
`of parts, and connectivity
`of the
`configuration.
`
`tested in early 1980, contained
`The first prototype,
`roughly 750 such rules, which
`interacted with a
`database describing some 4000 parts that could be
`used in configuring a VAX system. This prototype
`was far from perfect, and over 50 person-years of
`effort were invested in developing Rl
`into the cur-
`rent DEC product known as XCON [2]. During
`that
`time, the system grew from 700 rules to about 3500.
`The completed system (which
`is still being changed
`and updated today) configures not only the VAX sys-
`tems, which were originally chosen for the configu-
`ration problem, but the much more complicated
`PDP-11 family.
`
`In light of its unchallenged success to-
`Evolution.
`day, it is perhaps hard to believe that Rl was almost
`canceled three times. The uncertainty among people
`within DEC was based on a misconception about the
`nature of expert-system
`technology. Basically,
`the
`term expert systetn encouraged very high expecta-
`tions, while
`the Rl prototype continued
`to make
`mistakes: It was not an “instant expert.” However,
`such an expectation
`is not appropriate
`for any sys-
`tem, or even a person new at a job. No matter how
`well trained a new employee is, new knowledge
`must be acquired and older knowledge
`restructured,
`and this takes time.
`Ensuring proper development of an expert system
`after the prototype stage requires building
`the pro-
`cess in the organization
`that is to use it. In the case
`of Rl, a group monitored
`the problems, which were
`categorized as follows:
`
`l
`
`l
`
`in the database,
`incorrect component description
`incorrect configuration
`knowledge,
`incomplete configuration
`knowledge,
`l an error in the data input
`to the system, and
`l a confusion by the person reporting
`the problem
`(essentially, a nonproblem).
`
`l
`
`For each of the first four problems, a specific person
`was assigned responsibility
`for obtaining
`the appro-
`priate data and modifying
`the system. This might
`mean redesigning a set of rules when required by
`interactions with previous rules, or rewriting
`in-
`structions, or changing
`the user interface
`in response
`to errors in the input data.
`Of the 2500 rules added to the original system,
`somewhat less than 40 percent were used to make
`major refinements
`in the knowledge. Another
`10 percent made minor refinements
`to improve out-
`put, while about 35 percent provided additional
`functionality
`to deal with new system types. A large
`core of configuration
`knowledge
`in the original sys-
`tem was specific to the VAX 780, while
`the current
`system (XCON) deals as well with
`the much more
`family. Finally, about 15 per-
`complicated PDP-11
`
`082
`
`Communications of the ACM
`
`September 1986 Volume 29 Number 9
`
`IBM-1015
`Page 3 of 15
`
`

`
`Comprrtillg Practires
`
`cent of the new rules were added to extend the
`definition of the configuration
`task to include
`things
`like laying out cables or floor layout of racks. (Lay-
`out was a new capability added to the system.) The
`moral of this story is, of course, that expert systems
`must be extended and changed over time-a
`task that is
`made simpler by using explicit knowledge program-
`ming.
`The RI team also had to define the delivery vehi-
`cle for the Rl system. Since the original OPS-5 im-
`plementation
`in Lisp was considered
`too slow to be
`used for production
`jobs, DEC reimplemented OPS-5
`in Bliss, making it much faster. Nonetheless,
`the Lisp
`environment still provided much better tools for de-
`bugging, so that now changes to the system are re-
`portedly done in the Lisp environment and then
`transferred
`to the Bliss production system. Today,
`with
`the high-performance,
`low-cost, personal Lisp
`machines currently available, such reengineering of
`the delivery engine might not have been necessary.
`The current Rl/XCON
`system configures over
`97 percent of the orders received for VAX-11 sys-
`tems. It has significantly
`reduced the time needed to
`configure an order and has produced more accurate
`configurations, both of which benefits have brought
`significant monetary advantage since customers pay
`for machines after they start working.
`Incorrectly
`configured orders cause significant delay if it is nec-
`essary to wait for additional parts. A further unex-
`pected benefit for most orders is that configurations
`are created in a much more consistent style using Rl
`than when configured by the group technical edi-
`tors. This has allowed
`fine-tuning
`the factory to han-
`dle a more stereotypical order.
`In terms of the human side of this equation,
`Rl/XCON
`has meant that the technical editors em-
`ployed at DEC have a higher productivity. Given
`this tool to amplify
`their capabilities,
`they not only
`produce more, but are also more satisfied because
`they now concentrate on the interesting problems
`rather than the dreary, day-to-day repetitive
`tasks
`that consumed their time before. Rl/XCON
`repre-
`sents a real success story for expert-system
`technol-
`ogy, for the company, for its employees, and for cus-
`tomers.
`the
`the system? Although
`What about maintaining
`encoding of XCON’s knowledge
`in production
`rules
`was supposed to make it easier to manage the
`is
`knowledge base, the cost of XCON’s maintenance
`still high, but very worthwhile
`given the economic
`benefits derived from it. Furthermore,
`the notion of
`declarative knowledge
`representations
`is open-
`ended, in the sense that it will accommodate
`changes to the knowledge base. Current research at
`Carnegie-Mellon
`is aimed at reducing maintenance
`
`the creation of higher
`through
`costs still further
`level “shells”
`that actively support the process of
`knowledge acquisition and testing. New prototype
`versions of the configuration
`system are now being
`reengineered using these shells.
`
`The Pride System for Mechanical Design
`Pride [25] is an expert system developed at Xerox to
`assist engineers designing paper transports inside
`copying and duplicating machines. It is a joint effort
`begun in early 1984 between the Xerox Palo Alto
`Research Center (PARC) and the Xerox Reprograph-
`ics Business Group (RBG). The first prototype was
`ready for testing in early 1985. Since then the sys-
`tem has been tested extensively on past and current
`design cases, and a support group is being created
`within
`the RBG to gradually
`take over further devel-
`opment and testing.
`
`Problem Domain. The first stage of the Pride project
`consisted of analyzing
`the problem-solving behavior
`of a group of experts working on the design of paper
`transports [z]. From this exercise, it became clear
`that knowledge was distributed among many differ-
`ent experts, and that these experts showed varying
`degrees of specialization based on the technology
`used (e.g., pinch roll versus belt versus vacuum
`transport
`technologies).
`Other kinds of specializations were based on vari-
`ations in design specifications
`(e.g., precisely regis-
`tering paper or building a recirculating document
`handler). Depending on the volume of copies to be
`produced per month, there are differences based on
`trade-offs and cost considerations. Other specializa-
`tions relate to different parts of the design task: ma-
`terial selection, jam clearance, cost analysis, or de-
`sign and analysis. Some engineers generate perfectly
`plausible designs, but are unable to analyze the de-
`signs to determine whether
`the designs meet the
`requirements, or predict performance problems;
`others primarily analyze other engineers’ designs.
`Finally,
`there is a difference
`in the depth of
`knowledge: Some engineers know only standard ap-
`proaches, whereas others can provide reasoned argu-
`ments about the trade-offs involved
`in different de-
`sign decisions. The differences
`in expertise become
`more apparent in nonstandard designs or nonstan-
`dard problems.
`It became apparent to technical managers that the
`existing engineering expertise
`from the engineering
`research division was often not used by the design
`engineers in the applied divisions. Moreover, design
`engineers often did not have adequate access to
`techniques
`for analyzing
`the designs they created,
`even though the techniques were often available
`either in research publications or as computer pro-
`
`September 1986 Volume 29 Number 9
`
`Communications of fhe ACM
`
`883
`
`IBM-1015
`Page 4 of 15
`
`

`
`Computing Practices
`
`two chief purposes of Pride were
`grams. Therefore,
`to facilitate
`the necessary knowledge transfer and pro-
`vide a single framework
`for creating and testing a
`design. Toward
`this latter end, the project has al-
`ways had two consulting domain experts: one in the
`design of paper transports and the other in the anal-
`ysis and simulation of mechanical systems.
`
`Representation of Knowledge i12 Pride. A designer’s as-
`sistant rather than an “automated designer,” Pride
`reflects the reality
`that, at every stage of its develop-
`ment, some design knowledge and criteria will be
`missing from the knowledge base. On the other
`hand, the task of exploring a large design space-
`maintaining
`the dependencies between different
`parts of the design, systematically
`checking con-
`straints and applying analyses, and maintaining al-
`ternate designs-is
`overwhelming
`in its detail. The
`design engineer and the Pride system are expected
`to work as a team: Together, they can explore a
`larger design space in a shorter time than either
`could working alone.
`Pride’s knowledge of design is organized in a ge-
`neric design plan. The plan includes goals-what
`part of the design is being done (e.g., “design the
`paper path”); methods-how
`to make some design
`decision (e.g., “the width of a drive roll is typically
`25 mm and can go up in increments of 1”); con-
`straints-checks
`and requirements on the decisions
`made at a certain design goal (e.g., “the width of the
`idler must be 2 1.2 times the width of the driver”);
`and calculations-derivation
`of values from other de-
`sign parameters. These primitives are represented as
`objects in Loops [4, 331. For example, a simple con-
`straint might be represented as the following:
`
`type
`description
`applywhen
`
`mustsatisfy
`paraconstrained
`
`predicate
`testExpression
`
`advice
`
`SingleConstraint
`“Idler width >1.2 times driver width”
`(>(defRollerPair
`idler width) 50 mm)
`;when to apply
`YES
`;could be an optimizer
`(defRollerPair
`idler width)
`;focus on idler width
`GreaterThan
`(TIMES 1.2
`(defRollerPair driver width))
`(Increase(defRollerPair
`idler width))
`(Decrease(defRollerPair driver width)
`
`This simplified presentation of a single constraint
`indicates how the object groups different aspects of
`the constraint and makes them accessible. In addi-
`tion to the textual comment and the parsed expres-
`sion for the constraint,
`it provides advice about what
`to do if the constraint
`is not satisfied (e.g., try in-
`creasing the idler width,
`if possible, or if not, then
`
`try decreasing the driver width). The first advice
`might not be possible if rollers of that size are not
`available, or if a larger width would cause parts to
`rub together. The system applies advice in explora-
`tion of a large design space using a set of goal objects
`that represent a design plan for the transport. When
`constraints are violated and the advice does not lead
`to an acceptable modification of a design parameter,
`the system gets additional guidance from the
`designer.
`
`Testing and Current Status. To operate successfully
`as a design assistant, Pride must support the process
`of exploration by an engineer: It must be able to
`both generate design alternatives and to verify
`that
`designs satisfy constraints. The system’s ability
`to
`check constraints systematically
`is especially valua-
`ble when the design space is complex and when
`designs are optimized by different groups of
`engineers.
`ability has been tested
`Pride’s design verification
`on designs from ongoing projects where the system
`applies a set of analyses and constraints
`in the
`knowledge base to designs created by engineers. In
`one test, Pride found flaws in a design, helped pin-
`point the source of the problems, and proposed a
`new design that avoided those problems. The knowl-
`edge base has now been successfully
`tested on many
`paper transport problems from past and current
`copier projects.
`Although
`the current knowledge base contains
`only some of the copier technologies used by engi-
`neers, it has most of the knowledge
`for designing
`paper transports using those technologies. A devel-
`opment group has been created to acquire the
`knowledge
`for other technologies during
`the coming
`months. It is expected that Pride will begin to see
`operational use in 1986.
`
`The Dipmeter Advisor
`The history of the dipmeter advisor for petroleum
`exploration
`[31] is similar
`to that of the VAX con-
`figurer Rl. A feasibility study in the Schlumberger
`research laboratories was started in 1978, and the
`initial prototype was ready for testing in 1980.
`It was
`built on the DEC 2020
`in 245 kilobytes of Lisp code
`interacting with another program of 450 kilobytes
`written
`in VAX Fortran. This initial
`implementation
`proved too slow and unwieldy-a
`system that slows
`the expert doing his or her job has only negative
`value. A reimplementation was completed
`in 1983
`using Interlisp-D on a Xerox 1100, a personal com-
`puter whose high-speed display allowed develop-
`ment of a user interface
`that was much more at-
`tuned to rapid interaction with
`the expert.
`
`884
`
`Communications of the ACM
`
`September 1986 Volume 29 Number 9
`
`IBM-1015
`Page 5 of 15
`
`

`
`Conlputiq Practices
`
`Problem Domain. To determine as early as possible
`whether an oil well will contain oil or be a dry hole,
`oil explorers
`lower specialized
`logging instruments
`into the borehole; these instruments provide
`infor-
`mation about the geology of the subsurface forma-
`tions being pierced.
`As consultants
`to the oil industry, Schlumberger
`provides instrumentation
`and data analysis (e.g., of
`the data logs taken at different depths). One such
`instrument,
`the “dipmeter,” measures the inclina-
`tion or tilt of the rock strata penetrated by a bore-
`hole. The dipmeter advisor developed by Schlum-
`berger mimics the analysis of an expert using these
`data: Analysis programs process the signal, and iden-
`tification and classification
`rules use this analysis in
`an expert-system environment.
`
`interpreta-
`Knowledge Representation. The dipmeter
`tion problem requires alternating stages of signal
`analysis and expert interpretation. After the signal
`analysis creates objects describing parts of the bore-
`hole, rules similar
`in structure
`to those for Rl are
`used to extend the description;
`the rules use both
`the results of signal analysis and other information,
`such as the geology of the undersea formation.
`
`from
`User Interface. Well-log analysts look at output
`strip recorders showing
`the data progression for var-
`ious depths in the well. The interface
`to the dipme-
`ter system preserves the visual
`features of such dis-
`plays, augmented by summary
`information, as
`shown in Figure 1. The multiple columns provide an
`overview of the data that is comparable, and proba-
`
`through a stratigraphic
`the user midway
`This figure shows
`analysis. On the far right side is a log of the dipmeter datti.
`The black “elevator box”
`to the left of that column shows
`the
`
`to the left. Radical
`two columns
`portion of the log expanded
`shifts in focus are obtained by moving
`the elevator. Other
`logs and summary
`information are shown on the left.
`
`FIGURE 1. Dipmeter lntetface
`
`September 1986 Volume 29 Number 9
`
`Communications of the ACM
`
`005
`
`IBM-1015
`Page 6 of 15
`
`

`
`Compufiq Practices
`
`bly superior to, the long rolls of paper tacked up on
`the walls of experts’ offices. A critical
`feature of the
`interface
`is the ease in moving from one portion of
`the data to another with a smooth scrolling opera-
`tion: In fact, Schlumberger claims they can scroll the
`paper on the screen at 57 miles an hour-an
`un-
`usual metric for a display system.
`Much care was devoted to the user interface, as
`can be seen in the distribution
`of code given in
`is.
`Table I, which shows how important
`the interface
`For a knowledge-based system, one might have ex-
`pected that most of the space would be devoted to
`the explicit knowledge and inference engine re-
`quired
`to manipulate
`it. However,
`together, explicit
`knowledge and inference engine consume only
`about 30 percent of the total memory. Implicit
`knowledge
`for feature detection makes up another
`13 percent, while by far the largest identifiable por-
`tion, 4.2 percent, is devoted to the interface. This is
`not atypical:
`In other systems we know, such as
`Pride, one-third
`to one-half of the code is devoted to
`the user interface.
`
`CRITERIA AND STAGES
`FOR EXPERT SYSTEMS
`The success of expert-system development depends
`to a very great measure on an appropriate selection
`of applications
`[27]. In this section, we consider
`some of the most important criteria
`for choosing pro-
`jects and outline
`the major developmental stages
`once a project is under way.
`
`Criteria
`for Problem Selection
`Value of Solving the Problem. Choose the application
`carefully. The problem that is being approached
`must be worth solving. One way of confirming
`this is
`to determine whether management
`is willing
`to
`commit the necessary human and material re-
`to
`sources. Since it may take tens of person-years
`make a system real, as in the Rl example, the value
`of the solution must be substantial. We are told that
`Rl/XCON
`now repays its development cost every
`few months.
`
`to the same
`Alternative Solutions. Non-AI solutions
`problem are a real possibility. A vivid
`illustration
`of
`the value of considering alternative solutions comes
`from the Darn project at Xerox [241-a prototype
`
`TABLE I. Distribution of Memory in the Dipmeter Advisor
`
`inference engine
`Knowledge base
`Feature detection
`User Interface
`Support environment
`
`22
`x3%
`42%
`1fP-h
`
`to aid in the diagnosis and repair
`expert system built
`of a computer disk subsystem. The disk diagnosis
`and repair process was a complicated one, requiring
`a large number of tests to take into account the
`many possible failure modes, including electronic
`failures of several controller boards. According
`to
`technicians’
`records, diagnosing and repairing disk
`problems for this unit were consuming 30-50 per-
`cent of the resources of the repair group.
`After working
`three months on the prototype, ex-
`ternal factors caused a three-month hiatus in the
`project. When it was resumed, the Darn system pro-
`totype was no longer of value because this particular
`disk and controller had been phased out-as a result
`of all the problems-and
`replaced by a new disk
`with a single circuit board. In the case of a suspected
`disk failure,
`the single board was easily replaced; if
`the replacement did not solve the problem, the disk
`itself would be sent back to the manufacturer. This
`new disk strategy had so reduced the time required
`to fix disk problems that aid from an expert system
`was no longer of significant value, making the
`knowledge base specific to the original disk obsolete.
`
`resource in the success-
`Test Cases. Another critical
`ful development of an expert system is a good set of
`test cases by which
`to extract knowledge
`from the
`experts. By watching experts actually solve prob-
`lems, rather than just having them describe how they
`do it, it is possible to understand
`the real process
`that goes on and the actual knowledge
`that is used.
`A suite of test cases can also be used for testing
`implementations
`as they reach different stages in
`development.
`Asking potential users early about test cases also
`provides valuable clues as to the real feasibility and
`value of a proposed system. One does not easily get
`test cases for problems that occur only once every
`six months, and there probably would not be enough
`commonality between cases. Moreover, where solu-
`tion methods are radically different
`for each prob-
`lem, too much knowledge
`is probably required
`in
`the system. For example, after we were asked to
`consider producing an expert system to design de-
`vice controllers and briefly exploring
`the domain, it
`became apparent to us that each device controller
`was unique
`in its requirements, and therefore
`the
`project was rejected. One might say that expert-
`system technology
`is suitable
`for automating
`tasks
`that are fairly routine and mundane, not exotic and
`rare.
`
`There are other rules of thumb
`Task Difficulty.
`should be applied to tasks being considered as
`expert-system domains. A suitable
`task is probably
`one that would
`take an expert an hour or two, not
`counting
`the time spent on mechanical
`tasks like
`
`that
`
`888
`
`Communications of the ACM
`
`September 1986 Volume 29 Number 9
`
`IBM-1015
`Page 7 of 15
`
`

`
`Computing Practices
`
`in forms. Tasks that take
`making sketches or filling
`only a few minutes of expert time can probably be
`solved by simpler
`technology, or may not be worth
`automating at all; tasks that require more than a few
`hours of expertise are probably
`too difficult and un-
`bounded in terms of the knowledge
`they require.
`Unless the longer tasks are iterations of a much
`shorter one, done several times in the same session,
`the longer tasks are generally
`too complex.
`Another warning sign is a

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket