Upload
courageouscse
View
222
Download
0
Embed Size (px)
Citation preview
7/25/2019 Architecture of Expert System Unit 5
1/24
UNIT 5
EXPERT SYSTEMS
Introduction
Expert Systemsare 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 intelligencecovers 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 reasonabout 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-
basedor 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 twoterms, 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 thetask domain. Taskrefers to some goal-oriented, problem-solving
activity.Domainrefers 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 engineeringand 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
http://www.wtec.org/loyola/kb/c2_s4.htm#planninghttp://www.wtec.org/loyola/kb/c2_s4.htm#planning7/25/2019 Architecture of Expert System Unit 5
2/24
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 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
Planning and Scheduling
Configuration of Manufactured Objects from Subassemblies
Financial Decision Making
Knowledge Publishing
Process Monitoring and Control
Design and Manufacturing
ARCHITECTURE OF EXPERT SYSTEM
Expert systems typically contain the following four components:
Knowledge-Acquisition Interface User Interface
Knowledge Base
Inference Engine
7/25/2019 Architecture of Expert System Unit 5
3/24
This architecture differs consideraly from traditional computer programs!resulting in se"eral characteristics of expert systems#
Expert Syste Coponents
!no"#ed$e%Ac&uisition Inter'(ce
The $nowledge-acquisition interface controls how the expert and $nowledge
engineer interact with the program to incorporate $nowledge into the $nowledge
ase# It includes features to assist experts in expressing their $nowledge in a form
suitale for reasoning y the computer#This process of expressing $nowledge in the
$nowledge ase is called $nowledge acquisition# Knowledge acquisition turns out
to e quite difficult in many cases--so difficult that some authors refer to the
$nowledge acquisition ottlenec$ to indicate that it is this aspect of expert system
de"elopment which often requires the most time and effort#
7/25/2019 Architecture of Expert System Unit 5
4/24
%eugging faulty $nowlege ases is facilitated y traces &lists of rules in the
order they were fired'! proes &commands to find and edit specific rules! facts! and
so on'! and oo$$eeping functions and indexes &which $eep trac$ of "arious
features of the $nowledge ase such as "ariales and rules'# (ome rule-ased
expert system shells for personal computers monitor data entry! chec$ing the
syntactic "alidity of rules# Expert systems are typically "alidated y testing their
preditions for se"eral cases against those of human experts# )ase facilities--
permitting a file of such cases to e stored and automatically e"aluated after the
program is re"ised--can greatly speed the "aidation process# *any features that are
useful for the user interface! such as on-screen help and explanations! are also of
enefit to the de"eloper of expert systems and are also part of $nowledge-
acquisition interfaces#
Expert systems in the literature demonstrate a wide range of modes of
$nowledge acquisition &Buchanan! +,.'# Expert system shells on microcomputers
typically require the user to either enter rules explicitly or enter se"eral examples
of cases with appropriate conclusions! from which the program will infer a rule#
User Inter'(ce
The user interface is the part of the program that interacts with the user# It prompts
the user for information required to sol"e a prolem! displays conclusions! and
explains its reasoning#
Fe(tures o' t)e user inter'(ce o'ten inc#ude*
%oesn/t as$ 0dum0 questions
Explains its reasoning on request
7/25/2019 Architecture of Expert System Unit 5
5/24
1ro"ides documentation and references
%efines technical terms
1ermits sensiti"ity analyses! simulations! and what-if analyses
%etailed report of recommendations
2ustifies recommendations
3nline help
4raphical displays of information
Trace or step through reasoning
The user interface can e 5udged y how well it reproduces the $ind of interaction
one might expect etween a human expert and someone consulting that expert#
!no"#ed$e +(se
The $nowledge ase consists of specific $nowledge aout some sustanti"e
domain# A $nowledge ase differs from a data ase in that the $nowledge ase
includes oth explicit $nowledge and implicit $nowledge# *uch of the $nowledge
in the $nowledge ase is not stated explicitly! ut inferred y the inference engine
from explicit statements in the $nowledge ase# This ma$es $nowledge ases ha"e
more efficient data storage than data ases and gi"es them the power to
exhausti"ely represent all the $nowledge implied y explicit statements of
$nowledge#
There are se"eral important ways in which $nowledge is represented in a
$nowledge ase# 6or more information! see $nowledge representation strategies#
7/25/2019 Architecture of Expert System Unit 5
6/24
Knowledge ases can contain many different types of $nowledge and the process
of acquiring $nowledge for the $nowledge ase &this is often called $nowledge
acquisition' often needs to e quite different depending on the type of $nowledge
sought#
Types of Knowledge
There are many different $inds of $nowledge considered in expert systems# *any
of these form dimensions of contrasting $nowledge:
explicit $nowledge
implicit $nowledge domain $nowledge
common sense or world $nowledge
heuristics
algorithms
procedural $nowledge
declarati"e or semantic $nowledge
pulic $nowledge
pri"ate $nowledge
shallow $nowledge
deep $nowledge
meta$nowledge
In'erence En$ine
The inference engine uses general rules of inference to reason from the $nowledge
ase and draw conclusions which are not explicitly stated ut can e inferred from
the $nowledge ase# Inference engines are capale of symolic reasoning! not 5ust
mathematical reasoning# 7ence! they expand the scope of fruitful applications of
computer programs# The specific forms of inference permitted y different
7/25/2019 Architecture of Expert System Unit 5
7/24
inference engines "ary! depending on se"eral factors! including the $nowledge
representation strategies employed y the expert system#
RO,ES OF EXPERT SYSTEMS
Ro#es in Expert Syste -e.e#opent
Three fundamental roles in uilding expert systems are:
+# Expert - (uccessful E( systems depend on the experience and application of
$nowledge that the people can ring to it during its de"elopment# 8arge systems
generally require multiple experts#
9# Knowledge engineer - The $nowledge engineer has a dual tas$# This person
should e ale to elicit $nowledge from the expert! gradually gaining an
understanding of an area of expertise# Intelligence! tact! empathy! and proficiency
in specific techniques of $nowledge acquisition are all required of a $nowledge
engineer# Knowledge-acquisition techniques include conducting inter"iews with
"arying degrees of structure! protocol analysis! oser"ation of experts at wor$! and
analysis of cases#
3n the other hand! the $nowledge engineer must also select a tool appropriate for
the pro5ect and use it to represent the $nowledge with the application of the
$nowledge acquisition facility#
# User - A system de"eloped y an end user with a simple shell! is uilt rather
quic$ly an inexpensi"ely# 8arger systems are uilt in an organi;ed de"elopment
effort# A prototype-oriented iterati"e de"elopment strategy is commonly used# E(s
lends themsel"es particularly well to prototyping#
!NO/,E-0E AC1UISITION
7/25/2019 Architecture of Expert System Unit 5
8/24
Knowledge Acquisition is concerned with the de"elopment of $nowledge ases
ased on the expertise of a human expert# This requires to express $nowledge in a
formalism suitale for automatic interpretation#
7/25/2019 Architecture of Expert System Unit 5
9/24
their prolem sol"ing methods# 6ourth! the domain should e narrow and welldefined and solutions within the domain must not require common sense#
Experts
Although an E( $nowledge ase can e de"eloped from a range of sources such astextoo$s! manuals and simulation models! the $nowledge at the core of a wellde"eloped E( comes from human experts# Although multiple experts can e used!the ideal E( should e ased on the $nowledge of a single expert# In light of the
pi"otal role of the expert! ca"eats for choosing a domain expert are not surprising#6irst! the expert should agree with the goals of the pro5ect# (econd! the expertshould e cooperati"e and easy to wor$ with# Third! good "eral communications$ills are needed# 6ourth! the expert must e willing and ale to ma$e the requiredtime commitment &there must also e adequate administrati"e>managerial support
for this too'#
!no"#ed$e Ac&uisition Tec)ni&ue
At the heart of the process is the inter"iew# The heuristic model of the domain isusually extracted through a series of intense! systematic inter"iews! usuallyextending o"er a period of many months# =ote that this assumes the expert and the$nowledge engineer are not the same person# It is generally est that the expert andthe $nowledge engineer not e the same person since the deeper the experts/$nowledge! the less ale they are in descriing their logic# 6urthermore! in their
efforts to descrie their procedures! experts tend to rationali;e their $nowledge andthis can e misleading#
4eneral suggestions aout the $nowledge acquisition process are summari;ed inrough chronological order elow:
+# 3ser"e the person sol"ing real prolems#
9# Through discussions! identify the $inds of data! $nowledge and proceduresrequired to sol"e different types of prolems#
# Build scenarios with the expert that can e associated with different prolemtypes#
?# 7a"e the expert sol"e a series of prolems "erally and as$ the rationaleehind each step#
7/25/2019 Architecture of Expert System Unit 5
10/24
.# %e"elop rules ased on the inter"iews and sol"e the prolems with them#
@# 7a"e the expert re"iew the rules and the general prolem sol"ing procedure#
# )ompare the responses of outside experts to a set of scenarios otained from
the pro5ect/s expert and the E(#
=ote that most of these procedures require a close wor$ing relationship etweenthe $nowledge engineer and the expert#
Pr(ctic(# Consider(tions
The preceding section pro"ided an ideali;ed "ersion of how E( pro5ects might econducted# In most instances! the ao"e suggestions are considered and modifiedto suit the particular pro5ect# The remainder of this section will descrie a range of$nowledge acquisition techniques that ha"e een successfully used in thede"elopment of E(#
Oper(tion(# 0o(#s
After an e"aluation of the prolem domain shows that an E( solution is appropriateand feasile! then realistic goals for the pro5ect can e formulated# An E(/soperational goals should define exactly what le"el of expertise its final productshould e ale to deli"er! who the expected user is and how the product is to e
deli"ered# If participants do not ha"e a shared concept of the pro5ect/s operationalgoals! $nowledge acquisition is hampered#
Pre%tr(inin$
1re-training the $nowledge engineer aout the domain can e important# In thepast! $nowledge engineers ha"e often een unfamiliar with the domain# As a result!the de"elopment process was greatly hindered# If a $nowledge engineer has limited$nowledge of the prolem domain! then pre-training in the domain is "eryimportant and can significantly oost the early de"elopment of the E(#
!no"#ed$e -ocuent
3nce de"elopment egins on the $nowledge ase! the process should e welldocumented# In addition to tutorial a document! a $nowledge document thatsuccinctly state the pro5ect/s current $nowledge ase should e $ept# )on"entionsshould e estalished for the document such as $eeping the rules in quasi-English
7/25/2019 Architecture of Expert System Unit 5
11/24
format! using standard domain 5argon! gi"ing descripti"e names to the rules andincluding supplementary! explanatory clauses with each rule# The rules should egrouped into natural sudi"isions and the entire document should e $ept current#
Scen(rios
An early goal of $nowledge acquisition should e the de"elopment of a series ofwell de"eloped scenarios that fully descrie the $inds of procedures that the expertgoes through in arri"ing at different solutions# If reasonaly complete case studiesdo not exist! then one goal of pre-training should e to ecome so familiar with thedomain that the inter"iewer can compose realistic scenarios# Anecdotal stories thatcan e de"eloped into scenarios are especially useful ecause they are oftenexamples of unusual interactions at the edges of the domain# 6amiliarity withse"eral realistic scenarios can e essential to understanding the expert in early
inter"iews and the $ey to structuring later inter"iews# 6inally! they are ultimatelynecessary for "alidation of the system#
Inter.ie"s
Experts are usually usy people and inter"iews held in the expert/s wor$
en"ironment are li$ely to e interrupted# To maximi;e access to the expert and
minimi;e interruptions it can e helpful to hold meetings away from the expert/s
wor$place# Another possiility is to hold meetings after wor$ hours and on
wee$ends# At least initially! audiotape recordings ought to e made of the
inter"iews ecause often times notes ta$en during an inter"iew can e incomplete
or suggest inconsistencies that can e clarified y listening to the tape# The
$nowledge engineer should also e alert to fatigue and limit inter"iews
accordingly#
META RU,ES 2!NO/,E-0E3
In designing an expert system! it is necessary to select the conflict
resolutionmethod that will e used! and quite possily it will e necessary to
usedifferent methods to resol"e different types of conflicts#
6or example! in some situations it may ma$e most sense to use the method
7/25/2019 Architecture of Expert System Unit 5
12/24
that in"ol"es firing the most recently added rules#
This method ma$es most sense in situations in which the timeliness of data
isimportant# It might e! for example! that as research in a particular field of
medicine de"elops! and new rules are added to the system that contradicts
some of the older rules#
It might ma$e most sense for the system to assume that these newer rules are
more accurate than the older rules#
It might also e the case! howe"er! that the new rules ha"e een added y an
expert whose opinion is less trusted than that of the expert who added the
earlier rules#
In this case! it clearly ma$es more sense to allow the earlier rules priority#
This $ind of $nowledge is called meta $nowledge$nowledge aout
$nowledge# The rules that define how conflict resolution will e used! and
how other aspects of the system itself will run! are called meta rules# The $nowledge engineer who uilds the expert system is responsile for
uilding appropriate meta $nowledge into the system &such as Cexpert A is
toe trusted more than expert BD or Cany rule that in"ol"es drug is not to
etrusted as much as rules that do not in"ol"e D'#
*eta rules are treated y the expert system as if they were ordinary rules ut
are gi"en greater priority than the normal rules that ma$e up the expert
system#
In this way! the meta rules are ale to o"erride the normal rules! if necessary!
and are certainly ale to control the conflict resolution process#
7/25/2019 Architecture of Expert System Unit 5
13/24
META HEURISTICS
8ocal (earch and *etaheuristics
8ocal search methods wor$ y starting from some initial configuration
&usuallyrandom' and ma$ing small changes to the configuration until a state
is reached fromwhich no etter state can e achie"ed#
7ill climing is a good example of a local search technique#
8ocal search techniques! used in this way! suffer from the same prolems as
hillcliming and! in particular! are prone to finding local maxima that are not
the estsolution possile#
The methods used y local search techniques are $nown as metaheuristics#
Examples of metaheuristics include simulated annealing! tau search!
geneticalgorithms! ant colony optimi;ation! and neural networ$s#
This $ind of search method is also $nown as local optimi;ation ecause it is
attempting to optimi;e a set of "alues ut will often find local maxima rather
than agloal maximum#
A local search technique applied to the prolem of allocating teachers to
classroomswould start from a random position and ma$e small changes until
a configuration wasreached where no inappropriate allocations were made#
TYPICA, EXPERT SYSTEMS
MYCIN
7/25/2019 Architecture of Expert System Unit 5
14/24
MYCINwas an early expert systemthat used artificial intelligenceto identify
acteria causing se"ere infections! such as acteremia and meningitis! and to
recommend antiiotics! with the dosage ad5usted for patient/s ody weight the
name deri"ed from the antiiotics themsel"es! as many antiiotics ha"e the suffix
0-mycin0# The *ycin system was also used for the diagnosis of lood clottingdiseases#
*F)I= was de"eloped o"er fi"e or six years in the early +,Gs at (tanford
Uni"ersity# It was written in 8ispas the doctoral dissertation of Edward
(hortliffeunder the direction ofBruce 4# Buchanan! (tanley =# )ohenand others#
It arose in the laoratory that had created the earlier %endralexpert system#
*F)I= was ne"er actually used in practice ut research indicated that it proposed
an acceptale therapy in aout @,H of cases! which was etter than the
performance of infectious disease experts who were 5udged using the same criteria#
Met)od
*F)I= operated using a fairly simple inference engine! and a $nowledge ase of
@GG rules# It would query the physician running the program "ia a long series of
simple yes>no or textual questions# At the end! it pro"ided a list of possile culprit
acteria ran$ed from high to low ased on the proaility of each diagnosis! its
confidence in each diagnosis/ proaility! the reasoning ehind each diagnosis &that
is! *F)I= would also list the questions and rules which led it to ran$ a diagnosis a
particular way'! and its recommended course of drug treatment#
%espite *F)I=/s success! it spar$ed deate aout the use of its ad hoc! ut
principled! uncertainty framewor$ $nown as 0certainty factors0# The de"elopers
performed studies showing that *F)I=/s performance was minimally affected y
perturations in the uncertainty metrics associated with indi"idual rules! suggesting
that the power in the system was related more to its $nowledge representation and
reasoning scheme than to the details of its numerical uncertainty model# (ome
oser"ers felt that it should ha"e een possile to use classical Bayesian statistics#
https://en.wikipedia.org/wiki/Expert_systemhttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Antibiotichttps://en.wikipedia.org/wiki/Stanford_Universityhttps://en.wikipedia.org/wiki/Stanford_Universityhttps://en.wikipedia.org/wiki/Lisp_programming_languagehttps://en.wikipedia.org/wiki/Edward_Shortliffehttps://en.wikipedia.org/wiki/Edward_Shortliffehttps://en.wikipedia.org/w/index.php?title=Bruce_G._Buchanan&action=edit&redlink=1https://en.wikipedia.org/wiki/Stanley_N._Cohenhttps://en.wikipedia.org/wiki/Dendralhttps://en.wikipedia.org/wiki/Expert_systemhttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Antibiotichttps://en.wikipedia.org/wiki/Stanford_Universityhttps://en.wikipedia.org/wiki/Stanford_Universityhttps://en.wikipedia.org/wiki/Lisp_programming_languagehttps://en.wikipedia.org/wiki/Edward_Shortliffehttps://en.wikipedia.org/wiki/Edward_Shortliffehttps://en.wikipedia.org/w/index.php?title=Bruce_G._Buchanan&action=edit&redlink=1https://en.wikipedia.org/wiki/Stanley_N._Cohenhttps://en.wikipedia.org/wiki/Dendral7/25/2019 Architecture of Expert System Unit 5
15/24
*F)I=/s de"elopers argued that this would require either unrealistic assumptions
of proailistic independence! or require the experts to pro"ide estimates for an
unfeasily large numer of conditional proailities#(usequent studies later
showed that the certainty factor model could indeed e interpreted in a
proailistic sense! and highlighted prolems with the implied assumptions of such
a model# 7owe"er the modular structure of the system would pro"e "ery
successful! leading to the de"elopment of graphical models such as Bayesian
networ$s#
Resu#ts
Jesearch conducted at the (tanford *edical (chool found *F)I= to propose an
acceptale therapy in aout @,H of cases! which was etter than the performance
of infectious disease experts who were 5udged using the same criteria# This study is
often cited as showing the potential for disagreement aout thereapeutic decisions!
e"en among experts! when there is no 0gold standard0 for correct treatment#?L
Pr(ctic(# use
*F)I= was ne"er actually used in practice# This wasn/t ecause of any wea$ness
in its performance# As mentioned! in tests it outperformed memers of the (tanford
medical school faculty# (ome oser"ers raised ethical and legal issues related to the
use of computers in medicine if a program gi"es the wrong diagnosis or
recommends the wrong therapy! who should e held responsileM 7owe"er! the
greatest prolem! and the reason that *F)I= was not used in routine practice! was
the state of technologies for system integration! especially at the time it was
de"eloped# *F)I= was a stand-alonesystem that required a user to enter all
rele"ant information aout a patient y typing in responses to questions *F)I=
posed# The program ran on a large time-shared system! a"ailale o"er the early
7/25/2019 Architecture of Expert System Unit 5
16/24
Internet &AJ1A=et'! efore personal computers were de"eloped# In the modern
era! such a system would e integrated with medical record systems! would extract
answers to questions from patient dataases! and would e much less dependent on
physician entry of information# In the +,Gs! a session with *F)I= could easily
consume G minutes or morean unrealistic time commitment for a usy
clinician#
*F)I=/s greatest influence was accordingly its demonstration of the power of its
representation and reasoning approach# Jule-ased systems in many non-medical
domains were de"eloped in the years that followed *F)I=/s introduction of the
approach# In the +,Gs! expert system 0shells0 were introduced &including one
ased on *F)I=! $nown as E-*F)I= &followed y KEE'' and supported the
de"elopment of expert systems in a wide "ariety of application areas#
A difficulty that rose to prominence during the de"elopment of *F)I= and
susequent complex expert systems has een the extraction of the necessary
$nowledge for the inference engine to use from the human expert in the rele"ant
fields into the rule ase &the so-called 0$nowledge acquisition ottlenec$0'
-ART
Introduction
7/25/2019 Architecture of Expert System Unit 5
17/24
The consultant identifies specific system components &oth hardware and software'
li$ely to e responsile for an oser"ed fault and offers a rief explanation of the
ma5or factors and e"idence supporting these indictments# The consultant! called
%AJT ! was constructed using 7*F)I = and is part of a larger research effort
in"estigating automated diagnosis of machine faults #
1ro5ect *oti"ation and (cope of Effort A typical! large-scale computer installation
is composed of numerous susystems including )1Us! primary and secondary
storage! peripherals! and super"isory software# Each of these susystems! in turn!
consists of a richly connected set of oth hardware and software components such
as dis$ dri"es! controllers! )1Us! memory modules! and access methods#
4enerally! each indi"idual component has an associated set of diagnostic aids
designed to test its own specific integrity# 7owe"er! "ery few maintenance tools
and estalished diagnostic strategics arc aimed at identifying faults on the system
or susystem le"el#
As a result! identification of single or multiple faults from systemic manifestations
remains a difficult tas$# The non-specialist field ser"ice engineer is trained to use
the existing component-specific tools and! as a result! is often unale to attac$ the
the failure at the systemic le"el# Expert assistance is then required! increasing oth
the time and cost required to determine and repair the fault# The design of %AJ T
reflects the expert/s aility to ta$e a systemic "iewpoint on prolems and to use
that "iewpoint to indict a specific components! thus ma$ing more effecti"e use of
the existing maintenance capailities# 6or our initial design! we chose toconcentrate on prolems occurring within the teleprocessing &T1' susystems for
the IB* G-class computers# This susystem includes "arious networ$
controllers! terminals! remote-5o entry facilities! modems! and se"eral software
access methods# In addition to these well-defined components there are numerous
7/25/2019 Architecture of Expert System Unit 5
18/24
a"ailale test points the program can use during diagnosis#
7/25/2019 Architecture of Expert System Unit 5
19/24
opportunity to select which of these implicated susystems are to e pursued and in
which order# Each susystem ser"es as a focal point for tests and findings
associated with that segment of the diagnostic acti"ity#
These susystems currently correspond to "arious input>output facilities
&e#g##%I(K#TA1E# T1' or the )1U-complex itself! lo r each selected susystem! the
user is as$ed to identify one or more logical pathways which might e in"ol"ed in
the situation# Kach of these logical pathways correspond to a line of
communication etween a peripheral and an application program#
3n the asis of this information and details of the asic composition of the
networ$! the appropriate communications protocol can e selected# The user is also
as$ed to indicate which diagnostic tools &e#g#! traces! dumps! logic proes' arc
a"ailale for examining each logical pathway#
3nce the logical pathway and protocol ha"e een determined! descriptions arc
gathered of the often multiple physical pathways that actually implement the
logical pathway! it is on this le"el that diagnostic test results arc presented and
actual component indictments occur# 6or %AJ T to e useful at this le"el! the field
engineer must e familiar with the diagnostic equipment and software testing and
tracing facilities which can e requested! and! of course! must also ha"e access to
information aout the specific system hardware and softwate configuration of the
installation# 6inally! at the end of the consultation session! %AJT summari;es its
findings and recommends additional tests and procedures to follow
XOON
The R4&internally called XCON! for eXpert CONfigurer' program was a
production-rule-ased system written in 31(.y 2ohn 1# *c%ermottof )*Uin
+, to assist in the ordering of %E)/s NAcomputer systems y automatically
https://en.wikipedia.org/wiki/OPS5https://en.wikipedia.org/w/index.php?title=John_P._McDermott&action=edit&redlink=1https://en.wikipedia.org/wiki/Carnegie_Mellon_Universityhttps://en.wikipedia.org/wiki/Digital_Equipment_Corporationhttps://en.wikipedia.org/wiki/VAXhttps://en.wikipedia.org/wiki/OPS5https://en.wikipedia.org/w/index.php?title=John_P._McDermott&action=edit&redlink=1https://en.wikipedia.org/wiki/Carnegie_Mellon_Universityhttps://en.wikipedia.org/wiki/Digital_Equipment_Corporationhttps://en.wikipedia.org/wiki/VAX7/25/2019 Architecture of Expert System Unit 5
20/24
selecting the computer system components ased on the customer/s requirements#
The de"elopment of )3= followed two pre"ious unsuccessful efforts to write an
expert system for this tas$! in 63JTJA=and BA(I)#
In de"eloping the system *c%ermott made use of experts from oth %E)/s1%1>++ and NA computer systems groups# These experts sometimes e"en
disagreed amongst themsel"es as to an optimal configuration# The resultant
0sorting it out0 had an additional enefit in terms of the quality of NA systems
deli"ered#
)3= first went into use in +,G in %E)/s plant in (alem! =ew 7ampshire# It
e"entually had aout 9.GG rules# By +,@! it had processed G!GGG orders! and
achie"ed ,.-,H accuracy# It was estimated to e sa"ing %E) O9.* a year y
reducing the need to gi"e customers free components when technicians made
errors! y speeding the assemly process! and y increasing customer satisfaction#
Before )3=! when ordering a NA from %E)! e"ery cale! connection! and it
of softwarehad to e ordered separately# &)omputers andperipheralswere not sold
complete in oxes as they are today'# The sales people were not always "ery
technically expert! so customers would find that they had hardware without the
correct cales! printers without the correct dri"ers! a processor without the correct
language chip! and so on# This meant delays and caused a lot of customer
dissatisfaction and resultant legal action# )3= interacted with the sales person!
as$ing critical questions efore printing out a coherent and wor$ale systemspecification>order slip#
)3=/s success led %E) to rewrite)3= as XSE,- a "ersion of )3=
intended for use y %E)/s salesforce to aid a customer in properly configuring
their NA &so they wouldn/t! say! choose a computer too large to fit through their
doorway or choose too few cainets for the components to fit in'# 8ocation
prolems and configuration were handled y yet another expert system! XSITE#
*c%ermott/s +,G paper on J+ won the AAAI)lassic 1aper Award in +,,,#8egendarily! the name of J+ comes from *c%ermott! who supposedly said as he
was writing it! 0Three years ago I couldn/t spell $nowledge engineer! now I are
one#0
THE EXPERT SYSTEM SHE,,S
https://en.wikipedia.org/wiki/FORTRANhttps://en.wikipedia.org/wiki/BASIChttps://en.wikipedia.org/wiki/Salem,_New_Hampshirehttps://en.wikipedia.org/wiki/Softwarehttps://en.wikipedia.org/wiki/Peripheralshttps://en.wikipedia.org/wiki/Rewrite_(programming)https://en.wikipedia.org/wiki/American_Association_for_Artificial_Intelligencehttps://en.wikipedia.org/wiki/FORTRANhttps://en.wikipedia.org/wiki/BASIChttps://en.wikipedia.org/wiki/Salem,_New_Hampshirehttps://en.wikipedia.org/wiki/Softwarehttps://en.wikipedia.org/wiki/Peripheralshttps://en.wikipedia.org/wiki/Rewrite_(programming)https://en.wikipedia.org/wiki/American_Association_for_Artificial_Intelligence7/25/2019 Architecture of Expert System Unit 5
21/24
The parts of the expert system that do not contain domain-specific or case-specific
information are contained within the expert system shell# This shell is a general
tool$it that can e used to uild a numer of different expert systems! depending
on which $nowledge ase is added to the shell# An example of such a shell is
)8I1( &) 8anguage Integrated 1roduction (ystem'# 3ther examples in common
use include 31(.! AJT! 2E((! and Eclipse#
)8I1( &) 8anguage Integrated 1roduction (ystem'
)8I1( is a freely a"ailale expert system shell that has een implemented in )#
It pro"ides a language for expressing rules and mainly uses forward chaining to
deri"econclusions from a set of facts and rules#
The notation used y )8I1( is "ery similar to that used y 8I(1#
The following is an example of a rule specified using )8I1(:
&defrule irthday
&firstname Mr+ 2ohn'
&surname Mr+ (mith'
&haircolor Mr+ Jed'
PQ
&assert &is-oss Mr+'''
Mr+ is used to represent a "ariale! which in this case is a person#
Assert is used to add facts to the dataase! and in this case the rule is used to draw
aconclusion from three facts aout the person:
If the person has the first name 2ohn! has the surname (mith! and has red hair! thenheis the oss#
This can e tried in the following way:
&assert &firstname x 2ohn''
7/25/2019 Architecture of Expert System Unit 5
22/24
&assert &surname x (mith''
&assert &haircolor x Jed''
&run'
At this point! the command &facts' can e entered to see the facts that are contained
in
the dataase:
)8I1(Q &facts'
f-G &firstname x 2ohn'
f-+ &surname x (mith'f-9 &haircolor x Jed'
f- &is-oss x'
(o )8I1( has ta$en the three facts that were entered into the system and used the
ruleto draw a conclusion! which is that x is the oss# Although this is a simple
example! )8I1(! li$e other expert system shells! can eused to uild extremely
sophisticated and powerful tools#6or example! *F)I= is a well-$nown medical
expert system that was de"eloped at(tanford Uni"ersity in +,?#
*F)I= was designed to assist doctors to prescrie antimicroial drugs for lood
infections#In this way! experts in antimicroial drugs are ale to pro"ide their
expertise to otherdoctors who are not so expert in that field# By as$ing the doctor a
series of questions!*F)I= is ale to recommend a course of treatment for the
patient# Importantly! *F)I= is also ale to explain to the doctor which rules fired
andtherefore is ale to explain why it produced the diagnosis and recommended
treatmentthat it did#
*F)I= has pro"ed successful: for example! it has een pro"en to e ale to
pro"idemore accurate diagnoses of meningitis in patients than most
doctors#*F)I= was de"eloped using 8I(1! and its rules are expressed as 8I(1
expressions#
7/25/2019 Architecture of Expert System Unit 5
23/24
The following is an example of the $ind of rule used y *F)I=! translated into
English:
I6 the infection is primary-acteria
A=% the site of the culture is one of the sterile sites
A=% the suspected portal of entry is the gastrointestinal tract
T7E= there is suggesti"e e"idence &G#' that infection is acteroid
The following is a "ery simple example of a )8I1( session where rules are
defined tooperate an ele"ator:
)8I1(Q &defrule rule+&ele"ator MfloorRnow'
&utton MfloorRnow'
PQ
&assert &openRdoor'''
)8I1(Q &defrule rule9
&ele"ator MfloorRnow'
&utton MotherRfloor'
PQ
&assert &goto MotherRfloor'''
)8I1(Q &assert &ele"ator floor+''
PPQ f-G &ele"ator floor+'
S6act-GQ
)8I1(Q &assert &utton floor''
PPQ f-+ &utton floor'
7/25/2019 Architecture of Expert System Unit 5
24/24
S6act-+Q
S)8I1(Q &run'
PPQf-9 &goto floor'
The segments in old are inputs y the $nowledge engineer! and the plain
textsections are )8I1(#
=ote that MfloorRnow is an example of a "ariale within )8I1(! which means
Thatany o5ect can match it for the rule to trigger and fire#
In our example! the first rule simply says: If the ele"ator is on a floor! and the
uttonis pressed on the same floor! then open the door#
The second rule says: If the ele"ator is on one floor! and the utton is pressed on a
different floor! then go to that floor#
After the rules! two facts are inserted into the dataase# The first fact says that the
ele"ator is on floor +! and the second fact says that the utton has een pressed on
floor #