0% found this document useful (0 votes)
37 views30 pages

Unit V

Uploaded by

Swathi Lakshmi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views30 pages

Unit V

Uploaded by

Swathi Lakshmi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

21AD13102 ARTIFICIAL INTELLIGENCE AND EXPERT SYSTEMS

UNIT - 5 EXPERT SYSTEM 9

Expert Systems - Stages in the development of an Expert System - Probability based


Expert Systems - Expert System Tools - Difficulties in Developing Expert Systems -
Applications of Expert Systems.

5.1 WHAT IS AN EXPERT SYSTEM?

An expert system is a computer program that is designed to solve complex problems


and to provide decision-making ability like a human expert. It performs this by extracting
knowledge from its knowledge base using the reasoning and inference rules according to the
user queries.

The expert system is a part of AI, and the first ES was developed in the year 1970,
which was the first successful approach of artificial intelligence. It solves the most complex
issue as an expert by extracting the knowledge stored in its knowledge base. The system
helps in decision making for compsex problems using both facts and heuristics like a
human expert. It is called so because it contains the expert knowledge of a specific domain
and can solve any complex problem of that particular domain. These systems are designed for
a specific domain, such as medicine, science, etc.

The performance of an expert system is based on the expert's knowledge stored in its
knowledge base. The more knowledge stored in the KB, the more that system improves its
performance. One of the common examples of an ES is a suggestion of spelling errors while
typing in the Google search box.

Below is the block diagram that represents the working of an expert system:

Page No.1
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Note: It is important to remember that an expert system is not used to replace the human
experts; instead, it is used to assist the human in making a complex decision. These systems
do not have human capabilities of thinking and work on the basis of the knowledge base of
the particular domain.

Below are some popular examples of the Expert System:

o DENDRAL: It was an artificial intelligence project that was made as a chemical


analysis expert system. It was used in organic chemistry to detect unknown organic
molecules with the help of their mass spectra and knowledge base of chemistry.
o MYCIN: It was one of the earliest backward chaining expert systems that was
designed to find the bacteria causing infections like bacteraemia and meningitis. It
was also used for the recommendation of antibiotics and the diagnosis of blood
clotting diseases.
o PXDES: It is an expert system that is used to determine the type and level of lung
cancer. To determine the disease, it takes a picture from the upper body, which looks
like the shadow. This shadow identifies the type and degree of harm.
o CaDeT: The CaDet expert system is a diagnostic support system that can detect
cancer at early stages.

Characteristics of Expert System

o High Performance: The expert system provides high performance for solving any
type of complex problem of a specific domain with high efficiency and accuracy.
o Understandable: It responds in a way that can be easily understandable by the user.
It can take input in human language and provides the output in the same way.
o Reliable: It is much reliable for generating an efficient and accurate output.
o Highly responsive: ES provides the result for any complex query within a very short
period of time.

Components of Expert System

An expert system mainly consists of three components:

o User Interface
o Inference Engine
o Knowledge Base

Page No.2
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

1. User Interface

With the help of a user interface, the expert system interacts with the user, takes queries as an
input in a readable format, and passes it to the inference engine. After getting the response
from the inference engine, it displays the output to the user. In other words, it is an interface
that helps a non-expert user to communicate with the expert system to find a solution.

2. Inference Engine(Rules of Engine)

o The inference engine is known as the brain of the expert system as it is the main
processing unit of the system. It applies inference rules to the knowledge base to
derive a conclusion or deduce new information. It helps in deriving an error-free
solution of queries asked by the user.
o With the help of an inference engine, the system extracts the knowledge from the
knowledge base.
o There are two types of inference engine:
o Deterministic Inference engine: The conclusions drawn from this type of inference
engine are assumed to be true. It is based on facts and rules.
o Probabilistic Inference engine: This type of inference engine contains uncertainty in
conclusions, and based on the probability.

Inference engine uses the below modes to derive the solutions:

o Forward Chaining: It starts from the known facts and rules, and applies the
inference rules to add their conclusion to the known facts.
o Backward Chaining: It is a backward reasoning method that starts from the goal and
works backward to prove the known facts.

3. Knowledge Base

Page No.3
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

o The knowledgebase is a type of storage that stores knowledge acquired from the
different experts of the particular domain. It is considered as big storage of
knowledge. The more the knowledge base, the more precise will be the Expert
System.
o It is similar to a database that contains information and rules of a particular domain or
subject.
o One can also view the knowledge base as collections of objects and their attributes.
Such as a Lion is an object and its attributes are it is a mammal, it is not a domestic
animal, etc.

5.2 STAGES TO DEVELOP AN EXPERT SYSTEM


The following points highlight the five main stages to develop an expert system.The stages
are:
1. Identification
2. Conceptualisation
3. Formalisation (Designing)
4. Implementation
5. Testing (Validation, Verification and Maintenance).

A knowledge engineer is an AI specialist, perhaps a computer scientist or


programmer, who is skilled in the ‘Art’ of developing expert systems, unlike other
engineering disciplines, there are no generally accepted criteria to determine exactly who is
knowledge engineer; the field is much too new. You don’t need a degree in “knowledge
engineering” to call yourself a knowledge engineer; infact, nearly everyone who has ever
contributed to the technical side of the expert system development process could be
considered a knowledge engineer.
A domain expert is an individual who has significant expertise in the domain of the expert
system being developed. It is not critical that the domain expert understand AI or expert
systems; that is one of the functions of the knowledge engineer.

The knowledge engineer and the domain expert usually work very closely together for
long periods of time throughout the several stages of the development process.

An expert system is developed and refined over a period of several years since it is
typically computer-based software. Fig.1 divides the process of expert system development
into five distinct stages since an expert system is typically a computer based system.

Page No.4
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

In practice, it may not be possible to break down the expert system development cycle
precisely. However, an examination of these five stages may serve to provide us with some
insight into the ways in which expert systems are developed.

Stage # 1. Identification:

Before we can begin to develop an expert system, it is important to describe, with as much
precision as possible, the problem which the system is intended to solve. It is not enough
simply to feel that an expert system would be helpful in a certain situation; we must
determine the exact nature of the problem and state the precise goals which indicate exactly
how the expert system is expected to contribute to the solution.

To begin, the knowledge engineer, who may be unfamiliar with this particular domain,
consults manuals and training guides to gain some familiarity with the subject. Then the
domain expert describes several typical problem states. The knowledge engineer attempts to
extract fundamental concepts from the similar cases in order to develop a more general idea
of the purpose of the expert system.

After the domain expert describes several cases, the knowledge engineer develops a ‘first-
pass’ problem description. Typically, the domain expert may feel that the description does
not entirely represent the problem. The domain expert then suggests changes to the
description and provides the knowledge engineer with additional examples to illustrate
further the problem’s fine points.

Next, the knowledge engineer revises the description, and the domain expert suggests further
changes. This process is repeated until the domain expert is satisfied that the knowledge

Page No.5
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

engineer understands the problems and until both are satisfied that the description adequately
portrays the problem which the expert system is expected to solve.

This ‘iterative’ procedure (Fig.2) is typical of the entire expert-system development process.
The results are evaluated at each stage of the process and compared to the expectations. If the
results do not meet the expectations, adjustments are made to that stage of the process, and
the new results are evaluated. The process continues until satisfactory results are achieved.

It is also important to identify our resources. Who is to participate in the development


process? Does a single domain expert possess all the necessary expertise, or is the domain
knowledge distributed over several people in an organisation? Can a single knowledge
engineer develop the system in a timely fashion, or is it necessary to provide additional
technical assistance?

Domain experts are not the only resources which must be identified. It is unusual for all
domain knowledge to be embodied in human experts; therefore, more tangible sources of
information, such as reference books and manuals, are usually identical and located.

Stage # 2. Conceptualisation:

Once it has been identified for the problem an expert system is to solve, the next stage
involves analysing the problem further to ensure that its specifics, as well as generalities, are
understood.

In the conceptualisation stage, the knowledge engineer frequently creates a diagram of the
problem to depict graphically the relationships between the objects and processes in the

Page No.6
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

problem domain. It is often helpful at this stage to divide the problem into a series of sub-
problems and to diagram both the relationships among the pieces of each sub-problem and
the relationships among the various sub-problems.

As in the identification stage, the conceptualisation stage involves a circular procedure of


iteration and reiteration between the knowledge engineer and the domain expert. When both
agree that the key concepts-and the relationships among them-have
been adequately conceptualised, this stage is complete.

Not only is each stage in the expert system development process circular, the relationships
among the stages may be circular as well. Since each stage of the development process adds a
level of detail to the previous stage, any stage may expose a weakness in a previous stage.

For example, a problem with the description generated in the identification stage may be
discovered during conceptualisation. A key element of the description may have been
omitted, or perhaps a goal was stated incorrectly. If this occurs, a brief return to the
identification stage is required to increase the accuracy of the description (Fig. 3). A similar
process can occur in any stage of development.

Stage # 3. Formalisation (Designing):

In the preceding stages, no effort has been made to relate the domain problem to the artificial
intelligence technology which may solve it. During the identification and formalization
stages, the focus is entirely on understanding the problem. Now, during the formalization
stage, the problem is connected to its proposed solution, an expert system is supplied by
analyzing the relationships depicted in the conceptualization stage. The knowledge engineer

Page No.7
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

begins to select the techniques which are appropriate for developing this particular expert
system.

During formalization, it is important that the knowledge engineer be familiar with the
following:
1. The various techniques of knowledge representation and intelligent search techniques used
in expert systems.
2. The expert system tools which can greatly expedite the development process.
3. Other expert systems which may solve similar problems and thus may be adaptable to
problem at hand.

Often it is desirable to select a single development technique or tool which can be used
throughout all segments of the expert system. However, the knowledge engineer may
determine that no particular technique is appropriate for the entire expert system, making it
necessary to use different techniques for different sub-problems. Once it has been determined
which technique(s) will be used the knowledge engineer starts to develop a formal
specification which can used to develop a prototype expert system.

In the case of a rule-based system, for example, the knowledge engineer develops a set of
rules designed to represent the knowledge communicated by the domain expert. This is a
critical part of the development process, requiring, great skill on the part-of the knowledge
engineer. Many domain experts can explain what they do but not why; therefore, one of the
knowledge engineer’s primary responsibilities is to analyse example situations and filter in
from those examples a set of rules which describe the domain expert’s knowledge.

The formalisation process is often the most interactive stage of expert system development,
as well as the most time consuming. The knowledge engineer must develop a set of rules and
ask the domain expert if those rules adequately represent the expert’s knowledge. The domain
expert reviews the rules proposed by the knowledge engineer and suggests changes, which
are then incorporated into the knowledge base by the knowledge engineer.

As in the other development stages, this process also is iterative: the rule review is repeated
and the rules are refined continually until the results are satisfactory. It is not unusual for the
formalisation process of a complex expert system to last for several years. (Fig. 12.10)

Stage # 4. Implementation:

During the implementation stage the formalised concepts are programmed into the computer
which has been chosen for system development, using the predetermined techniques and
tools to implement a ‘first-pass’ (prototype) of the expert system.

Page No.8
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Theoretically, if the methods of the previous stages have been followed with diligence and
care, the implementation of the prototype should proceed smoothly. In practice, the
development of an expert system may be as much an art as it is a science, because following
all the rules does not guarantee that the system will work the first time it is implemented. In
fact, experience suggests the opposite. Many scientists actually consider the prototype to be a
‘throw-away’ system, useful for evaluating progress but hardly a usable expert system.

If the prototype works at all, the knowledge engineer may be able to determine if the
techniques chosen to implement the expert system were the appropriate ones. On the other
hand, the knowledge engineer may discover that the chosen techniques simply cannot be
implemented. It may not be possible, for example, to integrate the knowledge representation
techniques selected for different sub-problems. At that point, the concepts may have to be re-
formalised, or it even may be necessary to create new development tools to implement the
system efficiently. The implementation stage is illustrated in Fig.4.

Once the prototype system has been refined sufficiently to allow it to be executed, the expert
system is ready to be tested thoroughly to ensure that it expertise’s correctly.

Stage # 5. Testing (Validation, Verification and Maintenance):

The chance of prototype expert system executing flawlessly the first time it is tested
are so slim as to be virtually non-existent. A knowledge engineer does not expect the testing

Page No.9
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

process to verify that the system has been constructed entirely correctly. Rather, testing
provides an opportunity to identify the weaknesses in the structure and implementation of the
system and to make the appropriate corrections.

Depending on the types of problems encountered, the testing procedure may indicate
that the system was implemented incorrectly, or perhaps that the rules were implemented
correctly but were poorly or incompletely formulated. Results from the tests are used as
‘feedback’ to return to a previous stage and adjust the performance of the system.

Once the system has proven to be capable of correctly solving straight-forward problems, the
domain expert suggests complex problems which typically would require a great deal of
human expertise. These more demanding tests should uncover more serious flaws and
provide ample opportunity to ‘fine tune’ the system even further.

Ultimately, an expert system is judged to be entirely successful only when it operates at the
level of a human expert. The testing process is not complete until it indicates that the
solutions suggested by the expert system are consistently as valid as those provided by a
human domain expert.

5.3. PROBABILISTIC EXPERT SYSTEMS

The core of the knowledge base in rule-based expert systems is the set of rules that
describe the relationships among the set of objects (variables). In probabilistic expert
systems, the relationships among the variables are described by their JPD (Joint Probability
Distribution). Thus, the JPD forms what we call the abstract knowledge or the knowledge of
general application. To facilitate the discussion we use an example from the medical
diagnosis area (symptoms and diseases), but the concepts described clearly apply to many
other fields of applications.
Example: Medical diagnosis. Suppose that we have a database with information about
N patients and that a patient can have one and only one of m given diseases, d1, ... , dm , as
shown in Figure 5 for m = 5 diseases. Assume also that a patient can show none, one, or
more of n symptoms S1. . . ,Sn , as illustrated in Figure 6 for n = 3 symptoms. For simplicity,
let us assume that the random variable disease D takes as values diseases d1, . . . , dm and that
symptoms are binary variables, so each takes the value 1 if present and the value 0 if absent.
Note that any random variable in the set {D, S1, . . . , Sn } partitions the universal set of
patients into a class of disjoint and exhaustive sets. Then, combining diseases and symptoms,
each patient can be classified into one and only one region such as those shown in Figure 8,
where Figures 6 and 7 are superimposed. For example, the black dot in Figure 8 represents a
patient who has disease d4 and who shows all three symptoms: S1, S2, and S3.

Page No.10
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Figure 5: A graphical representation of a population of patients classified by five mutually


exclusive diseases d1-d5

The objects, or variables, here are the disease D and symptoms S1, ... ,Sn. The JPD of the
variables (D, S1, . . . , Sn) is given by the frequencies, that is, the number of patients in the
various regions of the diagram in Figure 8. In this example, the disease D is assumed to take
m possible values and the symptoms are assumed to be binary. In other words, the possible
values of D are d1 , . . . , dm ,

Figure 6: A graphical representation of a population of patients classified by three symptoms S1 – S3.

Page No.11
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Figure 8: A graphical representation of a population of patients classified by five mutually


exclusive diseases d1 – d5 and three symptoms S1 – S3

and the possible values of the jth variable Sj are either 1 (present) or 0 (absent). The
probabilities associated with a disease d can be estimated by

𝑝(𝐷 = 𝑑) ≈ 𝑐𝑎𝑟𝑑(𝐷 = 𝑑)/𝑁,

where N is the total number of patients in the database and card (D = d) is the number of
patients with D = d. For example,
𝐷𝑖𝑠𝑒𝑎𝑠𝑒 𝑑1 𝑝𝑟𝑒𝑠𝑒𝑛𝑡: 𝑝(𝐷 = 𝑑1) ≈ 𝑐𝑎𝑟𝑑(𝐷 = 𝑑1)/𝑁,

𝐷𝑖𝑠𝑒𝑎𝑠𝑒 𝑑1 𝑎𝑏𝑠𝑒𝑛𝑡: 𝑝(𝐷 ≠ 𝑑)1 ≈ 𝑐𝑎𝑟𝑑(𝐷 ≠ 𝑑)/𝑁,

A problem that often arises in medical diagnosis is that we only observe a subset of the
symptoms, and based on the observed symptoms, we wish to

Table 1: Conditional probabilities of all diseases di, given the set of symptoms
S1= s1, . . . . , Sk = sk.

Page No.12
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

diagnose the disease(s) causing the symptoms with a reasonable degree of certainty. In other
words, we need to address the following question: Given that a patient has a subset of
k symptoms S1 = s1 , . . . , Sk = sk, which disease is the patient most likely to have? Thus, the
problem is to compute the probability that a patient has disease di, given a set of values
s1 , . . . , sk for the symptoms S1, . . . , Sk. In other words, for i = 1 , . . . , m, we wish to
compute the conditional probabilities p(D = di) S1 = s1, . . . , Sk = sk).

Probabilistic expert systems can be used to solve these and other problems. For
example:

1. Expert systems can memorize information. One can store and retrieve information from the
database. An example of such a database is given in Table 2, where it is assumed that
diseases and symptoms are categorical variables (binary or multinomial).
2. Expert systems can count or compute the absolute and relative frequencies for any subset
of the variables from the database and use them to calculate the conditional probabilities
p(di | s1, . . . , sk) using the well-known conditional probability formula.

𝑝(𝑑𝑖, 𝑠1, . . . , 𝑠𝑘)


𝑝(𝑑𝑖 |𝑠1, . .. , 𝑠𝑘) =
𝑝(𝑠1, . . . , 𝑠𝑘)

Table 2: An example of a database of N patients and their corresponding diseases and symptoms

Table 3: An example of a database of ten patients for the diagnosis problem

Page No.13
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

𝑐𝑎𝑟𝑑 (𝑑𝑖,𝑠1,...,𝑠𝑘)
This probability can be estimated by
𝑐𝑎𝑟𝑑 (𝑠1,...,𝑠𝑘)

where 𝑐𝑎𝑟𝑑 (𝑑i, 𝑠1, . . . , 𝑠k) is the frequency of the patients in the database who have the
indicated set of values of the variables. For example, given the database with ten patients in
Table 3, we can calculate the frequencies associated with any combination of values of
symptoms and diseases by counting the number of cases that match this evidence in the
database. For example, 𝑐𝑎𝑟𝑑 (𝐷 ≠ 𝑑1 | 𝑆1 = 1, 𝑆2 = 1) = 2 because there are two patients
(patients 1 and 3) that do not present disease d1 but present symptoms S1 and S2, Similarly,
𝑐𝑎𝑟𝑑 (𝐷 = 𝑑1 | 𝑆1 = 1, 𝑆2 = 1) = 3, 𝑐𝑎𝑟𝑑 (𝑆1 = 1, 𝑆2 = 1) = 5, etc. Then,
using p(X = x | Y = y) = p(x|y) = p(x, y) . p(y) the conditional probabilities associated with a
given disease and a set of symptoms can be calculated. For example:

𝑐𝑎𝑟𝑑 (𝐷 ≠ 𝑑𝑖 | 𝑆1 = 1, 𝑆2 = 1) 2
𝑝(𝐷 ≠ 𝑑𝑖 | 𝑆1 = 1, 𝑆2 = 1) ≈ = = 0.4,
𝑐𝑎𝑟𝑑 (𝑆1 = 1, 𝑆2 = 1) 5

𝑐𝑎𝑟𝑑 (𝐷 = 𝑑𝑖 | 𝑆1 = 1, 𝑆2 = 1) 3
𝑝(𝐷 ≠ 𝑑𝑖 | 𝑆1 = 1, 𝑆2 = 1) ≈ = = 0.6,
𝑐𝑎𝑟𝑑 (𝑆1 = 1, 𝑆2 = 1) 5

Expert systems can learn from experience. Once a new patient is examined and diagnosed,
the new information is added to the database and the frequencies changed accordingly. For
example, if a new patient presenting symptoms 𝑆1 = 1, 𝑆2 = 1, and S3 = 0 is known to have
the disease d1 , we can update this new information in the probabilistic expert system by
including the case as a new entry in the database shown in Table 3

Expert systems can make (or help human experts make) decisions such as
• Do we have enough information to diagnose the disease?
• Do we need further tests? If yes, which test will provide the most information about the
suspected disease?

5.4 EXPERT SYSTEM: TOOLS


The expert system tools are programming systems which simplify the job of
constructing an expert system. They range from very high-level programming languages to
low-level support facilities. We divide expert system tools into four major categories as
shown in Figure. We will describe these tools and explain briefly how they are used.

TYPE # 1. PROGRAMMING LANGUAGES:

Most important programming languages used for expert system applications are
generally either problem-oriented languages, such as FORTRAN and PASCAL, or symbol-

Page No.14
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

manipulation languages, such as LISP and PROLOG. Problem oriented languages are
designed for particular classes of problems; e.g., FORTRAN has convenient features for
performing algebraic calculations and is most applicable to scientific, mathematical and
statistical problem area.

Symbol-manipulation languages are designed for artificial intelligence applications;


e.g., LISP has mechanism for manipulating symbols in the form of list structures. A list is
simply a collection of items enclosed by parenthesis, where each item can be either a symbol
or another list. List structures are useful building blocks for representing complex concepts.

The most popular and widely used programming language for expert system
applications is LISP, although PROLOG has also gained popularity. Symbol- manipulation
languages like these are more suitable for work in artificial intelligence, although a few
expert systems have been written in problem-oriented languages like FORTRAN and
PASCAL.

Some of the distinguishing characteristics of programming languages needed for e.s.


development are:

i. Efficient mix of integer and real variables


ii. Good memory-management procedures
iii. Extensive data-manipulation routines
iv. Incremental compilation
v. Tagged memory architecture
vi. Optimization of system’s environment
vii. Efficient search procedures.

Knowledge engineers can tailor LISP programs to their exact needs, if they can only
figure out what their exact needs are and which of the many ways of representing and
accessing information in these programmes LISP best meets these needs.

Programming languages, like LISP, CLIPs etc. offer the greatest flexibility to the
expert-system builder but fail to provide guidance on how to represent knowledge or
mechanisms for accessing the knowledge base. On the other hand, knowledge engineering
languages, like KAS, offer little flexibility since the system builder must use the control
scheme defined by the readymade inference engine. They do, however, provide
representation guidelines and readymade inference engines for controlling the use of the
knowledge base.

Page No.15
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Page No.16
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

TYPE # 2. KNOWLEDGE ENGINEERING LANGUAGES:

A knowledge engineering language is a sophisticated tool for developing expert


systems, consisting of an expert system building language integrated into an extensive
support environment. A programming language is an artificial language development to
acquire knowledge, accept/reject knowledge to control and direct the operation of a
computer.

A knowledge engineering language is a type of programming language designed to


construct and debug expert system K.E. language provide certain faculties for building expert
system; they are flexible than less programming languages with regard to how knowledge can
be represented and manipulated. Knowledge engineering languages can be categorized as
either skeletal systems or general-purpose systems. AI researchers developed these languages
expressly for building expert systems.

Page No.17
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

TYPE # 3. SYSTEM-BUILDING AIDS:

A skeletal knowledge engineering language is simply a stripped down expert system-


that is, an expert system with its domain-specific knowledge removed (shell), leaving only
the inference engine and support facilities. The general-purpose knowledge engineering
language can handle many different problem areas such as knowledge extraction, giving
inference or making user interface though its use is rather tedious. These languages have a
range of generality and flexibility.

The designers of PROSPECTOR stripped it of knowledge about geology to turn it


into KAS, a skeletal system for diagnosis and classification. Similarly, the MYCIN system
for diagnosing and treating bacterial infections became the skeletal system EMYCIN, and the
CASNET consultation system for glaucoma became the skeletal system EXPERT.

Skeletal systems provide structure and built in facilities which make system
development easy and fast. But they lack generality and flexibility; they only apply to a
restricted class of problems and greatly reduce the expert- system builder’s design options.

The system-building aids consist of programs which help acquire and represent the
domain expert’s knowledge and programs which help design the expert system under
construction. These programs address very difficult tasks; many are research tools just
beginning to evolve into practical and useful aids, although a few are offered as full-blown
commercial systems.

Compared with programming and knowledge engineering languages, relatively few


system-building aids have been developed. Those which exist fall into two major categories;
design aids and knowledge acquisition aids. The AGE system exemplifies design aids, while
TEIRSIAS, MOLE and SALT exemplify knowledge acquisition, TIMM system construction
and SEEK knowledge refinement aids.

A few of these are discussed below:


a. AGE:
This software tool helps the knowledge engineer design and build an expert system. AGE
provides the user with a set of components which, like building blocks, can be assembled to
form portions of an expert system. Each component, a collection of INTERLISP functions,
supports an expert system framework, such as forward chaining, backward chaining, or a
blackboard architecture.

b. MOLE:
This is a knowledge acquisition system for heuristic classification problem, such as
diagnosing diseases. In particular, it is used in conjunction with the cover-and- differentiate
problem solving method. The expert-system-produced by MOLE accepts input data, comes
up with a set of candidate explanations or classifications which cover the data, then uses

Page No.18
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

differentiating knowledge to determine which one is best. The process is iterative, since
explanations must themselves be justified, until ultimate causes are ascertained.

MOLE interacts with a domain expert to produce a knowledge base which a system, called
MOLE-p (for mole performance) uses to solve problems.

c. TEIRESIAS:
TEIRESIAS was developed by Davis in the mid-1970s as a vehicle for exploring new ideas
in knowledge acquisition and data base maintenance rather than as a tool for building expert
systems, at the university of Stanford (USA).

TEIRESIAS acquires knowledge interactively from an expert. If a wrong diagnosis has been
made by MYCIN, then TEIRESIAS will lead the expert back through the chain of incorrect
reasoning until the expert states where the incorrect reasoning started. While going back
through the reasoning chain, TEIRESIAS will also interact with the expert to modify
incorrect rules or acquire new rules.

Knowledge about new rules is not immediately put into MYCIN. Instead TEIRSIAS checks
to see if the new rule is compatible with similar rules. For example, if the new rules describes
how an infection enters the body and other accepted rules have a conditional element stating
the portal of entry to the body, then the new rule should also.

If the new rule does not state the portal of entry then TEIRESIAS will query the user about
this discrepancy. TEIRESIAS has a rule model pattern of similar rules that it knows and tries
to fit the new rule into its rule model. In other words, the rule model is the knowledge which
TEIRESIAS has about its knowledge.

TYPE # 4. TOOL SUPPORT ENVIRONMENT FACILITIES

These are simply software packages which come with each tool to make it more user friendly
and more efficient.

Environments which can be further categorised into:


(i) Those required during the development t of the expert system programs, such as
debugging aids and knowledge base editors.

(ii) Those required to enhance the capabilities of the developed programs, such as
input/output facilities and explanation mechanism. Although few expert system tools support
all these tools, they all support some of them. These facilities are usually available as part of
K.E. language and are designed to work specially with that language.

Page No.19
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

These are described below:


a. Debugging Aids:
Most programming and knowledge engineering languages contain tracing facilities
and break packages. Tracing provides the user with a trace or display of system operation
usual by listing the names (or numbers) of all rules fired or showing the names of all
subroutines called. A break package lets the user tell the program, in advance, where to stop
so the User can stop program execution just before some recurring error and examine the
current values in the data base. All expert system tools should have these basic aids.

b. Knowledge Base Editors:


Most expert system tools provide a mechanism for editing the knowledge base. In the
simplest case, this is just a standard text editor for modifying rules and data by hand. But
many tools include other facilities in their support environment. For example, EMYCIN uses
automatic book-keeping.

The EMYCIN editor monitors the changes made by the user and records pertinent
information about the event. If the user adds or changes a rule, the editor automatically stores
the modification date and user name with the rule for later reference. Knowledge engineers

Page No.20
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

find this particularly useful when a number of different experts modify or refine the
knowledge base.

Another common facility in knowledge base editors is syntax checking, where the
editor uses knowledge about the grammatical structure of the expert system language to help
the user input rules with the correct spelling and format. When the user enters an
ungrammatical rule or command, the editor catches it and explains what is wrong. Correcting
mistakes of this sort during editing rather than during system testing can significantly reduce
development time.

An extremely useful but generally unavailable facility for knowledge base editors is
consistency checking where the system checks the semantics or meanings of the rules and
data being entered to see if they conflict with existing knowledge in the system. When a
conflict occurs, the editor helps the user resolve the conflict by explaining what caused it and
describing ways to remove it.

c. I/O Facilities:
Different tools deal with input/output in different ways. Some provide run-time
knowledge acquisition where mechanisms in the tool itself let the user converse with the
running expert system. For example, EMYCIN programs ask the user for needed information
whenever they cannot find it in the knowledge base. EXPERT programs not only ask for such
information, but also provide menus for the user to select from when inputting the requested
information.

They also allow the user to input volunteered information as the expert system runs.
Since a knowledge engineer building a system in EMYCIN or EXPERT does not have to
write code for runtime knowledge acquisition, system development is easier, but flexibility is
reduced. I/O must be handled the way the tool designer decrees. Expert system tools may also
handle I/O by providing a set of powerful commands or procedures which make writing I/O
routines easy.

d. Explanation Facilities:
Almost all expert systems can explain to users how they reach particular conclusions,
though not all provide the same degree of software support for explanation. Some, like
EMYCIN, have a complete explanation mechanism built into the tool itself, so that any
expert system written in that language can automatically access the mechanism. Others have
no built-in explanation mechanism, thus forcing the knowledge engineer to write one when
building the expert system.

The most common type of explanation mechanism deals with retrospective reasoning;
it explains how the system reached a particular state. For example, the user may wish to know
why the system needed the answer to the question it just asked or how the system arrived at a
certain conclusion.

Page No.21
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

5.5 DIFFICULTIES IN DEVELOPING EXPERT SYSTEMS

Page No.22
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Page No.23
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Page No.24
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Page No.25
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Page No.26
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Page No.27
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

5.6. APPLICATIONS OF EXPERT SYSTEM

There are several major application areas of expert system such as agriculture,
education, environment, law manufacturing, medicine power system etc. Expert system is
used to develop a large number of new products as well as new configurations of established
products. When established products are modified to include an expert system as a
component or when an established product item is replaced with an expert system, the expert
system supported entity is called intelligent. Expert systems are designed and created to
facilitate tasks in the fields of accounting, medicine, process control, financial service,
production, education etc. The foundation of a successful expert system depends on a series
of technical procedures and development that may be designed by certain related experts.

Expert Systems are for everyone


Everyone can find an application potential in the field of expert systems. Contrary to
the belief that expert systems may pose a threat to job security, expert systems can actually
help to create opportunities for new job areas. No matter which is of business one is engages
in, expert systems can fulfill the need for higher productivity and reliability of decisions.
Some job opportunities offered by the expert system are listed below:
→ Basic Research
→ Applied Research
→ Knowledge Engineering
→ The development of Inference engine
→ Training
→ Sales and marketing

Expert System in Education


In the field of education, many of the expert system’s application are embedded inside
the Intelligent Tutoring System (ITS) by using techniques from adaptive hypertext and
hypermedia. Most of the system usually will assist student in their learning by using
adaptation techniques to personalize with the environment prior knowledge of student and
student’s ability to learn. Expert system in education has expanded very consistently from
micro computer to web based and agent based technology. Web based expert system can
provide an excellent alternative to private tutoring at any time from any place where internet
is provided. Agent based expert system will help users by finding materials from the web
based on the user’s profile. Expert system also had tremendous changes in the applying of
methods and techniques. Expert system are beneficial as a teaching tools because it has
equipped with the unique features which allow users to ask question on how, why and what
format. When it is used in the class environment, surely it will give many benefit to student
as it prepare the answer without referring to the teacher. Beside that, expert system is able to
give reasons towards the given answer. Expert system had been used in several fields of study
including computer animation, computer science and engineering, language teaching business
study etc.

Page No.28
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

Expert system in Agriculture


The expert system for agriculture is same as like other fields. Here also the expert
system uses the rule based structure and the knowledge of a human expert is captured in the
form of IF-THEN rules and facts which are used to solve problems by answering questions
typed at a keyboard attached to a computer. For example, in pest control, the need to spray,
selection of a chemical to spray, mixing and application etc. The early, state of developing
the expert systems are in the 1960’s and 1970’s were typically written on a mainframe
computer in the programming language based on LISP. Some examples of these expert
systems are MACSYMA developed at the Massachusetts Institute of Technology (MIT) for
assisting individuals in solving complex mathematical problems. Other examples may be
MYCIN, DENDRAL, and CALEX etc. The rises of the agricultural expert system are to help
the farmers to do single point decisions, which to have a well planning for before start to do
anything on their land. It is used to design an irrigation system for their plantation use. Also
some of the other functions of agricultural expert system are:
→ To predict the extreme events such as thunderstorms and frost.
→ To select the most suitable crop variety.
→ Diagnosis of liver stock disorder and many more.

Expert System for a particular decision problem


The expert system can be used as a stand alone advisory system for the specific
knowledge domain. It also can provide decision support for a high level human expert. The
main purposes, the rises of the expert system are as a delivery system for extension
information, to provide management education for decision makers and for dissemination of
up-to-date scientific information in a readily accessible and easily understood form, to
agricultural researchers, advisers and farmers. By the help of an expert system, the farmers
can produce a more high quality product to the citizen.

Expert System for Text Animation (ESTA)


The idea behind creating an expert system is that it can enable many people to benefit
from the knowledge of one person – the expert. By providing it with a knowledge base for a
certain subject area, ESTA can be used to create an expert system for the subject:
ESTA + Knowledge base = Expert System
Each knowledge base contains rules for a specific domain. A knowledge base for an expert
system to give tax advice might contain rules relating marital status, mortgage commitments
and age to the advisability of taking out a new life insurance policy. ESTA has all facilities to
write the rules that will make up a knowledge base. ESTA has an inference engine which can
use the rules in the knowledge base to determine which advice is to be given to the expert
system user. ESTA also features the ability for the expert system user to obtain answers to
questions such as “how” and “why”. ESTA is used by a knowledge engineer to create a
knowledge base and by the expert system user to consult a knowledge base. Knowledge
representation in ESTA is based on the items like sections, parameters, title.

Page No.29
21AD1302 – Artificial Intelligence and Expert Systems Unit - 5

These systems also have played a large role in many industries, including…
 Designing and manufacturing domain
It can be broadly used for designing and manufacturing physical devices such as camera
lenses and automobiles.
 Knowledge domain
These systems are primarily used for publishing the relevant knowledge to the users. The
two popular ES used for this domain is an advisor and a tax advisor.
 Diagnosis and troubleshooting of devices
In medical diagnosis, the ES system is used, and it was the first area where these systems
were used.
 Planning and Scheduling
The expert systems can also be used for planning and scheduling some particular tasks for
achieving the goal of that task.
 Financial services, where they make decisions about asset management, act as robo-
advisors and make predictions about the behavior of various markets and other financial
indicators.
 Mechanical engineering, where they troubleshoot complex electromechanical
machinery.
 Telecommunications, where they are used to make decisions about network technologies
used and maintenance of existing networks.
 Healthcare, where they assist with medical diagnoses.
 Customer service, where they help schedule orders, route customer requests and solve
problems.
 Transportation, where they contribute in a range of areas, including pavement
conditions, traffic light control, highway design, bus and train scheduling and
maintenance, and aviation flight patterns and air traffic control.
 Law, where automation is starting to be used to deliver legal services, and to make civil
case evaluations and assess product liability.

Page No.30

You might also like