Anda di halaman 1dari 54

EXPERT SYSTEMS

WHAT IS AN EXPERT SYSTEM?

 An expert system is a
computer program that
contains some of the subject-
specific knowledge of one or
more human experts.
What is an expert system?

“An expert system is a computer system that


emulates, or acts in all respects, with the
decision-making capabilities of a human expert.”

Professor Edward Feigenbaum


Stanford University

3
History of Expert Systems
 Early 70s
 Goal of AI scientists  develop
computer programs that could in
some sense think .
 In 60s general purpose programs
were developed for solving the
classes of problems but this strategy
produced no breakthroughs.
 In 1970 it was realized that The
problem-solving power of program
comes from the knowledge it
possesses.
To make a program
intelligent, provide it
with lots of high-quality,
specific knowledge
about some problem
area.
Problem Domain vs. Knowledge
Domain
 An expert’s knowledge is specific to one problem
domain – medicine, finance, science,
engineering, etc.
 The expert’s knowledge about solving specific
problems is called the knowledge domain.
 The problem domain is always a superset of the
knowledge domain.

7
Figure 1.3 Problem and Knowledge
Domain Relationship

8
Expert System Architechture
Expert System
 Fig above shows the most important modules that make up a rule-based
expert system.
 A Knowledge Base: repository of special heuristics or rules that direct the use
of knowledge, facts (productions). It contains the knowledge necessary for
understanding, formulating, & problem solving.
 The user interacts with the system through a user interface which may use
menus, natural language or any other style of interaction).
 An Inference Engine is the deduction system used to infer results from user
input & KB. It is the brain of the ES, the control structure(rule interpreter). It
provides methodology for reasoning. It is used to reason with both the expert
knowledge (extracted from our friendly expert) and data specific to the
particular problem being solved. The expert knowledge will typically be in the
form of a set of IF-THEN rules.
 The case specific data includes both data provided by the user and partial
conclusions (along with certainty measures) based on this data. In a simple
forward chaining rule-based system the case specific data will be the
elements in working memory.
Expert System
 Almost all expert systems also have an explanation subsystem, which allows the
program to explain its reasoning to the user. Traces responsibility & explains the ES
behaviour by interactively answering question: Why?, How?, What?, Where?, When?,
Who?
 Some systems also have a knowledge base editor which help the expert or knowledge
engineer to easily update and check the knowledge base.
 One important feature of expert systems is the way they (usually) separate domain
specific knowledge from more general purpose reasoning and representation
techniques. The general purpose bit (in the dotted box in the figure) is referred to as
an expert system shell. As we see in the figure, the shell will provide the inference
engine (and knowledge representation scheme), a user interface, an explanation
system and sometimes a knowledge base editor. Given a new kind of problem to solve
(say, car design), we can usually find a shell that provides the right sort of support for
that problem, so all we need to do is provide the expert knowledge. There are
numerous commercial expert system shells, each one appropriate for a slightly
different range of problems. (Expert systems work in industry includes both writing
expert system shells and writing expert systems using shells.) Using shells to write
expert systems generally greatly reduces the cost and time of development (compared
with writing the expert system from scratch).
Building Blocks of Expert
System
 Knowledge base (facts)

 Production Rules ("if.., then..")

 Inference Engine (controls how "if..,


then.." rules are applied towards
facts)

 User Interface
The Role of AI

 An algorithm is an ideal solution guaranteed to


yield a solution in a finite amount of time.
 When an algorithm is not available or is
insufficient, we rely on artificial intelligence
(AI).
 Expert system relies on inference – we accept a
“reasonable solution.”

Expert Systems: Principles and 14


Programming, Fourth Edition
Knowledge Base

 The component of an expert system


that contains the system’s
knowledge.

 Expert systems are also known as


Knowledge-based systems.
Knowledge Base

 The knowledge base contains the


knowledge necessary for understanding,
formulating, and solving problems

 Two Basic Knowledge Base Elements


 Facts

 Special heuristics, or rules that direct the


use of knowledge
 Knowledge is the primary raw material of
ES
16  Incorporated knowledge representation
Knowledge Representation
 Knowledge is represented in a
computer in the form of rules
( Production rule).
 Consists of an IF part and THEN part.
 IF part lists a set of conditions in
some logical combination.
 If the IF part of the rule is satisfied;
consequently, the THEN part can be
concluded.
Production Rules

 Knowledge base is also called production


memory.

 Production rules can be expressed in IF-THEN


pseudocode format.

 In rule-based systems, the inference engine


determines which rule antecedents are satisfied
by the facts.
18
Rule-Based ES

19
Example Rules

20
Figure 1.6 Structure of a
Rule-Based Expert System

21
Representing the Knowledge

The knowledge of an expert system can be


represented in a number of ways, including IF-
THEN rules:

IF you are hungry THEN eat

Expert Systems: Principles and 22


Programming, Fourth Edition
Knowledge Representation

 If flammable liquid was spilled then


call the fire department.
 If the material is acid and smells like
vinegar then the spill material is
acetic acid.
 Chaining of IF-THEN rules to
form a line of reasoning

 Forward chaining (facts driven)

 Backward chaining (goal driven)


Development of an Expert System

Expert Systems: Principles and 25


Programming, Fourth Edition
Inference Engine

 An inference engine tries to derive


answers from a knowledge base.
 It is the brain of the expert systems
that provides a methodology for
reasoning about the information in
the knowledge base, and for
formulating conclusions.
Inference Engine

 The brain of the ES


 The control structure (rule interpreter)
 Provides methodology for reasoning

27
Inference Engine Cycle

28
User Interface

 Language processor for friendly,


problem-oriented communication
 NLP, or menus and graphics

29
User Interface

 It enables the user to


communicate with an expert
system.
Explanation Subsystem
(Justifier)
 Traces responsibility and explains the
ES behavior by interactively
answering questions
-Why?
-How?
-What?
-(Where? When? Who?)
 Knowledge Refining System
 Learning for improving performance
31
Other features

 Reasoning with uncertainty

 Explanation of the line of


reasoning

 Fuzzy Logic
Who is involved?

?
Participants in Expert Systems
Development & Use (Figure 11.11)

34 Chapter 11 IS for Management


Knowledge Engineer
 A knowledge engineer is a computer
scientist who knows how to design
and implement programs that
incorporate artificial intelligence
techniques.
Knowledge Engineering

The process of building an expert system:

1. The knowledge engineer establishes a dialog


with the human expert to elicit knowledge.
2. The knowledge engineer codes the knowledge
explicitly in the knowledge base.
3. The expert evaluates the expert system and
gives a critique to the knowledge engineer.

Expert Systems: Principles and 36


Programming, Fourth Edition
Domain Expert
 A domain expert is an individual who
has significant expertise in the
domain of the expert system being
developed.
Knowledge Engineering
 The art of designing and building the
expert systems is known as
KNOWLEDGE ENGINEERING
knowledge engineers are its
practitioners.
 Knowledge engineering relies heavily
on the study of human experts in
order to develop intelligent & skilled
programs.
Developing Expert Systems

 Determining the characteristics of the


problem.
 Knowledge engineer and domain
expert work together closely to
describe the problem.
 The engineer then translates the knowledge
into a computer-usable language, and
designs an inference engine, a reasoning
structure, that uses the knowledge
appropriately.

 He also determines how to integrate the use


of uncertain knowledge in the reasoning
process, and what kinds of explanation
would be useful to the end user.
 When the expert system is
implemented, it may be:
 The inference engine is not just right
 Form of representation of knowledge is
awkward

 An expert system is judged to be


entirely successful when it operates
on the level of a human expert.
Development of Expert Systems: General
Steps

 Identify Problem Domain


The problem must be suitable for an expert system to solve it.
Find the experts in task domain for the ES project.
Establish cost-effectiveness of the system.
 Design the System
Identify the ES Technology
Know and establish the degree of integration with the other systems and
databases.
Realize how the concepts can represent the domain knowledge best.
 Develop the Prototype
From Knowledge Base: The knowledge engineer works to −
Acquire domain knowledge from the expert.
Represent it in the form of If-THEN-ELSE rules.
Contd.
 Test and Refine the Prototype
The knowledge engineer uses sample cases to test the prototype for any
deficiencies in performance.
End users test the prototypes of the ES.
 Develop and Complete the ES
Test and ensure the interaction of the ES with all elements of its environment,
including end users, databases, and other information systems.
Document the ES project well.
Train the user to use ES.
 Maintain the ES
Keep the knowledge base up-to-date by regular review and update.
Cater for new interfaces with other information systems, as those systems evolve.
Expert system Shell

 A shell is nothing but an expert system without


knowledge base. A shell provides the developers
with knowledge acquisition, inference engine, user
interface, and explanation facility. For example, few
shells are given below −
 Java Expert System Shell (JESS) that provides fully
developed Java API for creating an expert system.
 Vidwan, a shell developed at the National Centre for
Software Technology, Mumbai in 1993. It enables
knowledge encoding in the form of IF-THEN rules.
ES Shell

 Includes All Generic ES Components


 But No Knowledge
 EMYCIN from MYCIN
 (E=Empty)

45
Benefits of Expert System
 Availability − They are easily available due to mass
production of software.
 Less Production Cost − Production cost is reasonable.
This makes them affordable.
 Speed − They offer great speed. They reduce the amount
of work an individual puts in.
 Less Error Rate − Error rate is low as compared to human
errors.
 Reducing Risk − They can work in the environment
dangerous to humans.
 Steady response − They work steadily without getting
motional, tensed or fatigued.
Problems and Limitations of
Expert Systems
 Knowledge is not always readily available
 Expertise can be hard to extract from humans
 Each expert’s approach may be different, yet
correct
 Hard, even for a highly skilled expert, to work
under time pressure
 Expert system users have natural cognitive
limits
 ES work well only in a narrow domain of
47
knowledge
 Most experts have no independent means to
validate their conclusions
 Experts’ vocabulary often limited and highly
technical
 Knowledge engineers are rare and expensive
 Lack of trust by end-users
 Knowledge transfer subject to a host of
perceptual and judgmental biases
 ES may not be able to arrive at valid
conclusions
 ES sometimes produce incorrect
48
recommendations
Some Prominent Expert Systems
 DENDRAL: This Expert system was capable of determining the
structure of chemical compounds

 MYCIN: Expert System which diagnoses infectious blood diseases and


determines a recommended list of therapies.

 PROSPECTOR: A system that assists geologists in the discovery of


mineral deposits

 R1/XCON: a system used by the Digital Equipment Corporation to select


and configure components of complex computer systems
Human Expertise vs Artificial
Expertise

1. Perishable 1. Permanent
2. Difficult to transfer 2. Easy to transfer
3. Difficult to document 3. Easy to document
4. Unpredictable 4. Consistent
5. Expensive 5. Affordable
Applications
Application Description

Design Domain Camera lens design, automobile design.

Diagnosis Systems to deduce cause of disease from observed data, conduction


Medical Domain medical operations on humans.

Comparing data continuously with observed system or with prescribed behavior


such as leakage monitoring in long petroleum pipeline.
Monitoring Systems

Process Control Systems Controlling a physical process based on monitoring.

Knowledge Domain Finding out faults in vehicles, computers.

Detection of possible fraud, suspicious transactions, stock market trading, Airline


Finance/Commerce scheduling, cargo scheduling.
Applications of Expert
Systems & AI
Granting credit
Information management & retrieval
AI & expert systems embedded in products
Plant/facility layout
Hospitals & medical facilities, including diagnostic tools
Help desks & assistance
Employee performance evaluation
Loan analysis
Virus detection
Repair & maintenance
Shipping
Marketing
Warehouse optimization

53 Chapter 11 IS for Management


THE END

THANK YOU

Anda mungkin juga menyukai