Sie sind auf Seite 1von 15

1

Reference : Artificial Intelligence and Intelligent Systems NP Padhy

Expert Systems

Expert Systems are computer programs built for commercial application using the
programming techniques of artificial intelligence.

Examples: ​There are many examples of expert system. Some of them are given
below:
● MYCIN: One of the earliest expert systems based on backward chaining. It
can identify various bacteria that can cause severe infections and can also
recommend drugs based on the person’s weight.
● DENDRAL: It was an artificial intelligence based expert system used for
chemical analysis. It used a substance’s spectrographic data to predict it’s
molecular structure.
● R1/XCON: It could select specific software to generate a computer system
wished by the user.
● PXDES: It could easily determine the type and the degree of lung cancer in a
patient based on the data.
● CaDet: It is a clinical support system that could identify cancer in its early
stages in patients.
● DXplain: It was also a clinical support system that could suggest a variety of
diseases based on the findings of the doctor.

Features of Expert systems

● Facility of solving problems that require an expertise


● Speedy Solutions
● Reliable Solutions
● Cost Reduction
● Elimination of uncomfortable and monotonous operations
● Power to manage without human experts
● Wider access to knowledge
2

When to use Expert Systems?

● Human experts are difficult to find


● Human experts are expensive
● Knowledge improvement is needed
● Knowledge is difficult to acquire
● Poor available information
● Problem is subjected to change

Basic Elements of Expert System

An expert system is typically composed of at least three primary components.


These are the inference engine, the knowledge base, and the user interface.

1. Knowledge Base

The knowledge base is a collection of rules or other information structures derived


from the human expert. Rules are typically structured as If/Then statements of the
form:
IF <antecedent> THEN <consequent>
3

The antecedent is the condition that must be satisfied. When the antecedent is
satisfied, the rule is triggered and is said to "fire". The consequent is the action that
is performed when the rule fires.

2. Agenda

When rules are satisfied by the program, they are added to a queue called the
agenda. The agenda is an unordered list of all the rules whose antecedents are
currently satisfied. Knowledge bases are typically not ordered, because order tends
to play very little role in an expert system. Rules may be placed on the agenda in
any order, and they may be fired in any order once they are on the agenda.

3. Inference Engine

The inference engine is the main processing element of the expert system. The
inference engine chooses rules from the agenda to fire. If there are no rules on the
agenda, the inference engine must obtain information from the user in order to add
more rules to the agenda. It makes use of knowledge base, in order to draw
conclusions for situations. It is responsible for gathering the information from the
user, by asking various questions and applying it wherever necessary. It seeks
information and relationships from the knowledge base and to provide answers,
predictions and suggestions the way a human expert would.

4. User Interface

A user interface is the method by which the expert system interacts with a user.
These can be through dialog boxes, command prompts, forms, or other input
methods.

5. Working Memory (Database/ Case Specific Data)

Working memory contains the data that is received from the user during the expert
system session. Values in working memory are used to evaluate antecedents in the
4

knowledge base. Consequences from rules in the knowledge base may create new
values in working memory, update old values, or remove existing values.

6. Explanation Mechanism

The method by which an expert system reaches a conclusion may not be obvious to
a human user, so many expert systems will include a method for explaining the
reasoning process that leads to the final answer of the system.

Features of Expert System

The development of an expert system requires a knowledge engineer and human


expert. The expert system embodies unwritten knowledge extracted from expert
through extensive interviews. The process of building an expert system is called
knowledge engineering and is done by Knowledge Engineer
Knowledge Engineer : ​The knowledge engineer is a human with computer
science background who knows how to build expert systems. He decides how to
represent knowledge and help programmers to write the code. He has to acquire
knowledge from a human expert or any other source.
Development of an Expert System : ​The knowledge engineer creates a relation
with the human expert inorder to elicit knowledge from him. He then codes all the
knowledge contained in the KB. The expert then evaluates the expert system and
gives a report to the knowledge engineer. This process continues until the
performance of the system is found satisfactory by the expert.
5

Characteristics of Expert Systems

1. High Performance : ​ The system must be in a position to respond at the


level equal to or better than that of expert system.
2. Expertise : ​The system must produce solutions both efficiently and
effectively. They should produce good solutions quickly. They should
eliminate wasteful or unnecessary calculations.
3. Adequate Response Time : ​The system should perform within a reasonable
amount of time.​ ​Performance time must be comparable to or better than
human expert. Time constraints becomes an important parameter in the
development of real time systems.
4. Good Reliability: ​The system must be reliable as a human expert
5. Self Knowledge : ​The system must be able to examine their reasoning and
explain their operation. Self-knowledge is important because:
(a) Users tend to have more faith in the results and more confidence in the
system
6

(b) System development is faster since the system is very easy to compile
and debug
(c) The assumptions underlying the system’s operation are explicit rather
than implicit
(d) The effect of a change on the system operation is easily tested and
predicted.
6. Understandable : ​The system must explain the steps of reasoning while
executing. It should have an explanation capability similar to human experts
7. Justifiable : ​The system should justify the solution. For example, rule based
systems should provide all the rules and facts.
8. Flexibility : ​The system must have an efficient mechanism for adding,
changing and deleting knowledge.

Architecture of an Expert System

The architecture of expert system reflects the knowledge engineers way of


knowledge representation and performance of intelligent decision making.
7

This architecture is independent of computer hardware. The user interface allows


the system users to
i. Enter rules and facts about a particular situation
ii. Ask questions of the system
iii. Provide responses to the user requests
iv. Support all other communication between the system and the user

The knowledge is contained in codified form within the KB which can be easily
read and understood. The inference engine uses the information provided to it by
the KB and the suer to infer new facts.

This architecture can be expanded by extending KB into a knowledge database and


domain database. The knowledge base contains rules and domain database contain
facts. The KB is updated so that the system provides the most relevant and
complete assistance to the user. Some expert system dedicate a module to update
the KB known as Knowledge Acquisition Facility. It provides a dialogue with
human experts to acquire knowledge in terms of facts and rules and place them in
the domain database and the knowledge database respectively.

Self Training Facility: This facility accepts the facts developed by the inference
engine and compares derived facts with that in the domain database and if the
knowledge is new, it is upgraded.

Goals of Expert Systems

● Substituting unavailable human expert


● Combining knowledge and expertise of multiple human experts
● Training new experts
● Providing requisite expertise on projects that do not attract or retain experts
● Provide expertise to projects that cannot afford experts
8

Basic Activities of an Expert System

The basic activities of an expert system can be grouped into different categories as
follows:

● Interpretation: It involves inferring situation descriptions from the sensor


data. It deals directly with real data than symbolic representations. They
have to handle data which is noisy, sparse,incomplete and erroneous. They
may process different types of data like visual images, audio signals, etc.
● Prediction : ​It constitutes inferring the likely consequences of given
situations.
● Diagnosis: ​It involves inferring system malfunctions from observations. It
uses situation descriptions behavior characteristics or knowledge about the
component design to infer probable causes of system malfunctions.
● Design: It includes configuring objects under constraints.It develops
configuration of objects based on a set of problem constraints.
● Planning: It involves designing actions. It decides on an entire course of
action before acting.
● Monitoring: ​It includes comparing observations to expected outcomes. It
compares the actual system behavior with expected behavior.
● Debugging: ​It involves prescribing remedies for malfunctions.
● Repair: ​It deals with executing plans to administer prescribed remedies.It
follows a plan to administer some prescribed remedy.
● Instruction: ​It includes Diagnosing, Debugging and Repairing
● Control:​ It is responsible for governing overall system behavior.

Advantages of Expert Systems

● Increased Availability : Expertise will be always available on a computer


hardware.
● Reduced Cost:​ The cost of providing expertise per user is greatly reduced
● ​Reduced Danger: ​The expert systems can be used in environment that
might be hazardous for humans
9

● Permanence: ​Unlike human experts who may retire, quit or die, they are
permanent
● Multiple Expertise: ​The knowledge of multiple experts can be made
available to work simultaneously and continuously on a problem
● Increased Reliability: Expert system can reinforce teh confidence in a
decision made by a human expert
● Explanation: ​Expert systems can explain the reasoning that led to the
conclusion.
● Fast Response: ​Fast response may be needed for some applications.
● Steady, Unemotional and complete response at all times: ​The system will
not get affected because of stress or fatigue
● Intelligent Tutor: ​It can act as a tutor by letting students run sample
programs.
● Intelligent Database: ​Expert systems can be used to access databases
intelligently

Stages in the development of an Expert System

The different stages in the development of an expert system are described as


below:
1. Outline Statement: This stage identifies an appropriate system. The expert
and knowledge engineer work out the concepts, boundaries, relationships
and control mechanisms to be included in the system.Development
strategies, constraints and user expectations are explored. The results can be
documented in an outline specification for initial prototype development
2. Knowledge Acquisition : ​The experts and knowledge engineers interact
intensively in this stage. The experts highlight the essential issues and
knowledge engineer tries to comprehend the essence of the knowledge, its
limits and its complexities.
3. Knowledge Representation: ​Once the knowledge engineer ahs enough
knowledge about the system, he has to design a method for appropriate
knowledge representation. It is knowledge engineer’s ability to enter into
10

the frame of reference of both expert and user and to suitably structure the
acquired knowledge.
4. Prototype Development : ​Most systems develop a prototype model. The
advantage of developing prototype is that we will know whether the system
is feasible or not. The users get an opportunity to test the system and
whether it is likely to meet their requirements. The developers also gets an
opportunity to evaluate the cost and performance of the chosen system.
5. Testing: ​Testing involves evaluating the performance and utility of the
prototype program and revising it as necessary. The prototype should be
tested on many problems to evaluate its performance and utility. It may
uncover problems such as missing concepts and relations in the
representation scheme, knowledge represented at the wrong level of
detail.,or infeasible control mechanism. The developers may recycle
through different development phases by reformulating the concepts,
refining the inference rules and retesting the control flow.
6. Main Knowledge Acquisition: ​Once the prototype is reviewed and tested,
the actual system is developed. This stage access the extent of the
knowledge that is required to meet users needs.
7. Specification with Detailed Information: ​The detailed specification covers
the objectives of the expanded system, the resources required, the projected
time required for implementation, planned costs, system testing and
implementation planning.
8. System Development: During this stage, it is very important for the users to
know exactly how the system is progressing, any problems encountered, and
the evidence of new limitations and opportunities. This stage requires careful
monitoring.
9. Implementation: ​Implementation procedures should be carried out by the
user and supported by the expert. The implementation plan should have been
documented during the specification stage.
10.Maintenance: ​It requires continuous revision and updating to ensure that
the knowledge it contains is always up to date and in accordance with teh
changing environment in which the organization operates.
11

Errors in Development Stages

1. Expert Knowledge Errors: ​If the expert’s knowledge is erroneous, the


results may be propagated through the entire development process.
2. Semantic Errors: Semantic errors occur if the human expert misinterprets
the knowledge engineer’s question or answer inappropriately.
3. Syntax Errors: ​It occurs when the incorrect form of a rule or fact is entered.
The expert system tools should flag these errors and give an appropriate
error message.
4. Inference Engine Errors: ​The bugs in the inference engine should be fixed
before release. In general, inference engine bugs may show up during pattern
matching, conflict resolution and execution of actions. These bugs may be
difficult to detect if they are not consistent.
5. Inference Chain Errors: ​These errors may be caused by erroneous
knowledge, semantic errors, inference engine bugs, incorrect specification of
rule priorities, and unplanned interactions between rules. More complex
inference chain errors are due to the uncertainty of rules and evidence, the
propagation of uncertainty in the inference chain and non-monotonicity.
6. Limits of Ignorance Errors : Human experts should be honest in admitting
more uncertainty in their conclusions near the boundaries. Unless an expert
system is specifically programmed to admit uncertainty, it may continue to
supply answers even if the inference chain and evidence are weak.

Building a Rule Based Expert System

It is the most popular way to represent knowledge. Such rules are called IF-THEN
rules.

1. Knowledge Engineering: ​Once the knowledge engineer has a general


overview of the problem domain and several problem-solving sessions, he
can design the system by selecting a way to represent the knowledge( rules
or frames), determining the search strategy(backward or forward) and
designing the user interface. After the knowledge engineer builds the
12

prototype, it provides a test bed for preliminary design assumptions. Using


the prototype, the knowledge engineer and domain expert test and refine its
knowledge by giving its problems to solve and correct its shortcomings.
2. Knowledge Base: ​The Knowledge Base is the set of production rules. In a
rule based system, the condition- action pairs are represented as rules.
Case-specific data are kept in the working memory. The core of an expert
system is knowledge base. Expert system knowledge is usually structured in
the form of a tree that consists of a root frame and a number of subframes.
Frame based architecture gives the modular hierarchical organization of a
large KB.A frame can have many ancestors but only one parent. A parent
frame has no limit to the number of child frames. Generally a subframe has
access to the parameters of its ancestors but not to those descendants. A
frame can access the rules of its descendants, but not of those ancestors.
3. Inference Engine: ​The inference engine is the recognize-act part of the
system. It is either data-driven or goal-driven. Many problem domain seems
to lend themselves more naturally to forward search. In a goal-driven expert
system, the goal expression is placed in the working memory. System
matches rule conclusions with goal placing it in working memory. This is
decomposing goals into subgoals. If all the subgoals are known to be trus
then hypothesis is verified.

Verification and Validation of Expert Systems

Verification

Verification means ensuring that an expert system has been developed correctly
and does not contain technical errors. It is necessary to verify the consistency by
looking into redundant rules, conflicting rules, subsumed rules, unnecessary IF
conditions, unreachable IF conditions and circular rule chains in the process of
expert system development.

1. Redundant Rules : ​Two rules are redundant if their IF parts are equivalent
and one or more conclusions are also equivalent.
13

E.g.
IF (NOT (Very Hign?Load Demand))
(NOT (Very Low ? Water Available))
THEN (assert (Type of plant? Thermal))
IF (NOT(OR((Very Hign?Load Demand)
(Very Low ? Water Available))
THEN (assert (Type of plant? Thermal))

2. Conflicting Rules: Two rules are confliccting if they succeed in the same
situation but with conflicting conclusions.
IF (is? Generation hydal)
THEN (assert (Cost? Generation low))
THEN (assert (is? Conventional))

3. Subsumed Rules: Two rules are subsumed if they have the same
conclusions, but one contains additional constraints in situations in which it
succeeds.
IF (is? Load Demand Medium)
THEN (assert (is? System Reliable))
IF (is? Load Demand Medium)
(is? Spinning Reserve High)
THEN (assert (is? System Reliable))
4. Unnecessary IF Conditions: ​Two rules contain unnecessary IF conditions
if they have the same conclusions.
IF (is? Load Demand Medium)
THEN (is? System Reliable)
IF (NOT(is? Load Demand VeryHigh))
THEN (is? System Reliable)
5. Unreachable IF Conditions: ​If there is no match for an IF condition, the n
it is called unreachable IF condition.
IF (is? Load Demand High)
THEN (is? Load Demand High Demand)
14

6. Circular Chain Rules: ​A set of rules is circular if their chaining in the set
makes a cycle
IF (is? Load Demand Medium)
THEN (is? System Reliable)
IF (is? System Reliable)
THEN (is? Load Demand Medium)
Validation

Validation shows the correctness of the final product with respect to the user’s
needs and requires to deal with whether the correct problem was solved or not.
Validation and testing for completeness can be performed by looking into
unreferenced attribute values, illegal attribute values, dead end IF conditions, Dead
end goals and unreachable conclusions.

1. Unreferenced attribute values : Unreferneced attribute values occur when


some value in the set of possible values of an object’s attribute are not
covered by any rule’s IF conditions.
2. Illegal attribute values : ​An illegal attribute value occurs when a rule refers
to an attribute value that is not in the set of legal values.
3. Dead end IF conditions : ​To achieve an IF condition in an IF condition
driven system, either the attributes of the IF condition must be obtained from
the user or the IF condition must be matched by an IF condition of one of
the rules in the rulesets. If neither of these requirements is satisfied, then teh
IF condition is known as a dead end IF condition
4. Dead end goals : ​To achieve a goal in the goal driven system, either the
attributes of the goal must be obtained from the user or the goal must be
matched by a conclusion of one of the rules in the rule sets. If neither of
these requirements is satisfied, then the goal is known as a dead end goal.
5. Unreachable conclusions : ​Conclusions for which there are no matches in
the database are called unreachable conclusions.

Questions
1. What is an Expert System? (2 Marks)
15

2. Explain the basic elements of Expert Systems (5Marks)


3. Explain the characteristics of Expert Systems (5Marks)
4. List any 6 features of Expert Systems (2 Marks)
5. When to use Expert Systems?(2 Marks)
6. What are the basic elements of Expert Systems. Explain briefly. (2 Marks)
7. Draw the block diagram of an expert system (2 Marks)
8. What is Knowledge Base? (2 Marks)
9. What is Agenda? (2 Marks)
10.What is Inference Engine? (2 Marks)
11.What is Working Memory? (2 Marks)
12.What is Explanation Mechanism? (2 Marks)
13.Explain the role of Knowledge Engineer in the development of Expert
System? (2 Marks)
14.Explain the role of Domain Expert in the development of Expert System?
(2 Marks)
15.Explain the process of development of an Expert System? (2 Marks)
16.Explain the architecture of an Expert System (5 Marks)
17.Explain the basic activities of an expert system (5 Marks)
18. List the goals of Expert System.​ ​(2 Marks)
19.Explain the basic activities of an Expert System (5 Marks)
20.List and explain the advantages of Expert System (5Marks)
21.Explain the different stages in the development of an Expert System (5
Marks)
22.Explain the different errors in the development of expert system
23.Explain the steps in building an expert system.
24.What is verification ? How to do verification of an expert system?
25.What is validation ? How to do validation of an expert system?

Das könnte Ihnen auch gefallen