You are on page 1of 64

Expert Systems

Expert System
Computer software that:
Emulates human expert
Deals with small, well defined domains of
expertise
Is able to solve real-world problems
Is able to act as a cost-effective consultant
Can explains reasoning behind any solutions it
finds
Should be able to learn from experience.
Expert System
An expert system is a system that employs
human knowledge captured in a computer to
solve problems that ordinarily require human
expertise.(Turban)
A computer program that emulates the
behaviour of human experts who are solving
real-world problems associated with a
particular domain of knowledge. (Pigford &
Braur)
What is an Expert?
solve simple problems easily.
ask appropriate questions (based on external stimuli -
sight, sound etc).
reformulate questions to obtain answers.
explain why they asked the question.
explain why conclusion reached.
judge the reliability of their own conclusions.
talk easily with other experts in their field.
learn from experience.
reason on many levels and use a variety of tools such as
heuristics, mathematical models and detailed simulations.
transfer knowledge from one domain to another.
use their knowledge efficiently
Expert System
Expert Systems manipulate knowledge while
conventional programs manipulate data.
An expert system is often defined by its
structure.
Knowledge Based System Vs Expert System
ES Development

Problem Definition.
System design(Knowledge Acquisition).
Formalization. (logical design,,,,, tree structures)
System Implementation. (building a prototype)
System Validation.


Definition
Knowledge-based expert systems or simply expert
systems
An expert system is software that attempts to
reproduce the performance of one or more
human experts, most commonly in a specific
problem domain (Wikipedia)
Use human knowledge to solve problems that
normally would require human intelligence
Embody some non-algorithmic expertise
Represent the expertise knowledge as data or
rules within the computer
Can be called upon when needed to solve
problems
Definition
Developed via specialized software tools called shells
Shells come equipped with an inference mechanism
Backward chaining
Forward chaining
Both
May or may not have learning components
They are tested by being placed in the same real world
problem solving situation
Key idea: problem solved by applying specific knowledge
rather than specific technique
Characteristics of Expert
System
Pigford & Baur
Inferential Processes
Uses various Reasoning Techniques

Heuristics
Decisions based on experience
and knowledge
Characteristics (cont)
Expertise
Perform at least to the
same level as an expert
Depth
ability to extend
and infer knowledge
Symbolic Reasoning
ability to manipulate
concepts and symbols
Self Knowledge
ability to explain how
conclusions are made
Waterman
Knowledge and Uncertainty
Facts and rules are structured into a
knowledge base and used by expert systems
to draw conclusions.
There is often a degree of uncertainty in the
knowledge.
Things are not always true or false
the knowledge may not be complete.
In an expert system certainty factors are one
way indicate degree of certainty attached to a
fact or rule.
Examples
Diagnostic applications, servicing:
People
Machinery
Play chess
Make financial planning decisions
Configure computers
Monitor real time systems
Underwrite insurance policies
Perform many other services which previously
required human expertise
Components and Human
Interfaces
Major Components
Knowledge base - a declarative representation
of the expertise, often in IF THEN rules
Working storage - the data which is specific to a
problem being solved
Inference engine - the code at the core of the
system
Derives recommendations from the knowledge
base and problem-specific data in working
storage
User interface - the code that controls the dialog
between the user and the system
Major Roles of Individuals
Domain expert currently experts solving the
problems the system is intended to solve
Knowledge engineer - encodes the expert's
knowledge in a declarative form that can be used
by the expert system
User - will be consulting with the system to get
advice which would have been provided by the
expert
Systems built with custom developed shells for
particular applications:
System engineer - the individual who builds the
user interface, designs the declarative format of the
knowledge base, and implements the inference
engine
Notes on Components
Shell - a piece of software which contains:
The user interface
A format for declarative knowledge in the knowledge base
An inference engine
Major advantage of a customized shell: the format of the knowledge
base can be designed to facilitate the knowledge engineering process
Knowledge engineer and the system engineer might be the same
person
Depending on the size of the project
One of the major bottlenecks - knowledge engineering process:
The coding of the expertise into the declarative rule format can be
a difficult and tedious task
The semantic gap between the expert's representation of the
knowledge and the representation in the knowledge base should
be minimized
Expert System Features
Goal driven reasoning or backward chaining - an inference
technique which uses IF THEN rules to repetitively break a
goal into smaller sub-goals which are easier to prove
Coping with uncertainty - the ability of the system to reason
with rules and data which are not precisely known
Data driven reasoning or forward chaining - an inference
technique which uses IF THEN rules to deduce a problem
solution from initial data
Data representation - the way in which the problem specific
data in the system is stored and accessed
User interface - that portion of the code which creates an
easy to use system
Explanations - the ability of the system to explain the
reasoning process that it used to reach a recommendation.

Goal-Driven Reasoning
Aim: to pick the best choice from many enumerated
possibilities
The knowledge is structured in rules
The rule breaks the problem into sub-problems
Difference between forward and backward chaining:


Uncertainty
Final answer is not known with complete
certainty
The expert's rules might be vague
The user might be unsure of answers to questions
Example - medical diagnostic system: multiple
possible diagnoses
One of the simplest schemes: to associate a
numeric value with each piece of information

Data Driven Reasoning
Problem of enumerating all of the possible answers before hand
Example - configuration problems
Keeps track of the current state, looks for rules moving the state
closer to a final solution
Note:
Data driven system: the system must be initially populated with data
Goal driven system: gathers data as it needs it

Advantages and Disadvantages
Advantages:
Consistent answers for repetitive decisions,
processes and tasks
Holds and maintains significant levels of
information
Encourages organizations to clarify the logic of
their decision-making
Never "forgets" to ask a question, as a human
might

Advantages and Disadvantages
Disadvantages:
Lacks common sense
Cannot make creative responses as human expert
Domain experts not always able to explain their logic and reasoning
Errors may occur in the knowledge base
Cannot adapt to changing environments

Overview of Expert Systems
Can
Explain their reasoning or suggested decisions
Display intelligent behavior
Draw conclusions from complex relationships
Provide portable knowledge
Expert system shell
A collection of software packages and tools used
to develop expert systems
Limitations of Expert Systems
Not widely used or tested
Limited to relatively narrow problems
Cannot readily deal with mixed knowledge
Possibility of error
Cannot refine own knowledge base
Difficult to maintain
May have high development costs
Raise legal and ethical concerns
Capabilities of Expert Systems
Strategic goal setting
Decision making
Planning
Design
Quality control and monitoring
Diagnosis
Explore impact of strategic goals
Impact of plans on resources
Integrate general design principles and
manufacturing limitations
Provide advise on decisions
Monitor quality and assist in finding solutions
Look for causes and suggest solutions
When to Use an Expert System
(1)
Provide a high potential payoff or significantly
reduced downside risk
Capture and preserve irreplaceable human
expertise
Provide expertise needed at a number of
locations at the same time or in a hostile
environment that is dangerous to human
health
When to Use an Expert System (2)
Provide expertise that is expensive or rare
Develop a solution faster than human experts
can
Provide expertise needed for training and
development to share the wisdom of human
experts with a large number of people
Components of an
Expert System (1)
Knowledge base
Stores all relevant information, data, rules, cases, and
relationships used by the expert system
Inference engine
Seeks information and relationships from the knowledge
base and provides answers, predictions, and suggestions in
the way a human expert would
Rule
A conditional statement that links given conditions to
actions or outcomes
Components of an
Expert System (2)
Fuzzy logic
A specialty research area in computer science that allows
shades of gray and does not require everything to be
simply yes/no, or true/false
Backward chaining
A method of reasoning that starts with conclusions and
works backward to the supporting facts
Forward chaining
A method of reasoning that starts with the facts and works
forward to the conclusions
Schematic
Inference
engine
Explanation
facility
Knowledge
base
acquisition
facility
User
interface
Knowledge
base
Experts User
Explanation Facility
Explanation facility
A part of the expert system that allows a user or
decision maker to understand how the expert
system arrived at certain conclusions or results

Knowledge Acquisition Facility
Knowledge acquisition facility
Provides a convenient and efficient means of capturing
and storing all components of the knowledge base

Knowledge
base
Knowledge
acquisition
facility
Joe Expert
Determining requirements
Identifying experts
Construct expert system components
Implementing results
Maintaining and reviewing system
Expert Systems Development
Domain
The area of knowledge
addressed by the
expert system.
Participants in Expert Systems
Development and Use
Domain expert
The individual or group whose expertise and knowledge is
captured for use in an expert system
Knowledge user
The individual or group who uses and benefits from the
expert system
Knowledge engineer
Someone trained or experienced in the design,
development, implementation, and maintenance of an
expert system
Schematic
Expert
system
Domain expert
Knowledge engineer
Knowledge user
Evolution of Expert Systems
Software
Expert system shell
Collection of software packages & tools to design, develop,
implement, and maintain expert systems
E
a
s
e

o
f

u
s
e

low
high
Before 1980 1980s 1990s
Traditional
programming
languages
Special and 4
th

generation
languages
Expert system
shells
Advantages of Expert Systems
Easy to develop and modify
The use of satisficing
The use of heuristics
Development by knowledge engineers and
users

Expert Systems Development
Alternatives
low
high
low high
Development
costs
Time to develop expert system
Use
existing
package
Develop
from
shell
Develop
from
scratch
Applications of Expert Systems
and Artificial Intelligence
Credit granting
Information management and retrieval
AI and expert systems embedded in products
Plant layout
Hospitals and medical facilities
Help desks and assistance
Employee performance evaluation
Loan analysis
Virus detection
Repair and maintenance
Shipping
Marketing
Warehouse optimization
Classification of Expert System
Classification based on Expertness or
Purpose
Expertness
An assistant
A colleague
A true expert
Expert System
Components of an Expert
System
User
User
Interface
Knowledge
Base
Inference
Engine
Desirable Features of an Expert
System
Dealing with Uncertainty
certainty factors
Explanation
Ease of Modification
Transportability
Adaptive learning
Advantages
Capture of scarce expertise
Superior problem solving
Reliability
Work with incomplete information
Transfer of knowledge
Limitations
Expertise hard to extract from experts
dont know how
dont want to tell
all do it differently
Knowledge not always readily
available
Difficult to independently
validate expertise
Limitations (cont)
High development costs
Only work well in narrow domains
Can not learn from experience
Not all problems are suitable
Creating an Expert System
Two steps involved:

extracting knowledge and methods from the
expert (knowledge acquisition)
reforming knowledge/methods into an
organised form (knowledge representation)
Acquiring the Knowledge
What is knowledge?
Data:
Raw facts, figures, measurements
Information:
Refinement and use of data to answer specific
question.
Knowledge:
Refined information
Sources of Knowledge
documented
books, journals, procedures
films, databases
undocumented
peoples knowledge and expertise
peoples minds, other senses
Types Knowledge
Type of Knowledge Examples
Facts dogs, teeth, carnivore
Relations mother of Paul
Rules If breathing>20 then
hyperventilating
Concepts For all X & Y
Procedures Do this then that
Levels of Knowledge
Shallow level:
very specific to a situation Limited by IF-THEN
type rules. Rules have little meaning. No
explanation.
Deep Knowledge:
problem solving. Internal causal structure. Built
from a range of inputs
emotions, common sense, intuition
difficult to build into a system.
Categories of Knowledge
Declarative
descriptive, facts, shallow knowledge
Procedural
way things work, tells how to make inferences
Semantic
symbols
Episodic
autobiographical, experimental
Meta-knowledge
Knowledge about the knowledge
Good knowledge
Knowledge should be:
accurate
nonredundant
consistent
as complete as possible
(or certainly reliable enough
for conclusions to be drawn)
Knowledge Acquisition
Knowledge acquisition is the process by which
knowledge available in the world is transformed and
transferred into a representation that can be used by
an expert system. World knowledge can come from
many sources and be represented in many forms.
Knowledge acquisition is a multifaceted problem that
encompasses many of the technical problems of
knowledge engineering, the enterprise of building
knowledge base systems. (Gruber).
Knowledge Acquisition
Five stages:
Identification: - break problem into parts
Conceptualisation: identify concepts
Formalisation: representing knowledge
Implementation: programming
Testing: validity of knowledge
Organizing the Knowledge
Knowledge Engineer
Interacts between expert and Knowledge Base
Needs to be skilled in extracting knowledge
Uses a variety of techniques

Knowledge Acquisition
The basic model of knowledge acquisition
requires that the knowledge engineer mediate
between the expert and the knowledge base.
The knowledge engineer elicits knowledge
from the expert, refines it in conjunction with
the expert and represents the knowledge in
the knowledge base using a suitable
knowledge structure.
Elicitation of knowledge done either manually
or with a computer.
Knowledge Acquisition
Manual:
interview with experts.
structured, semi structured, unstructured interviews.
track reasoning process and observing.
Semi Automatic:
Use a computerised system to support and help experts
and knowledge engineers.
Automatic:
minimise the need for a knowledge engineer or expert.
Knowledge Acquisition
Difficulties
Knowledge is not easy to acquire or maintain
More efficient and faster ways needed to acquire
knowledge.
System's performance dependant on level and quality
of knowledge "in knowledge lies power.
Transferring knowledge from one person to another is
difficult. Even more difficult in AI. For these reasons:
expressing knowledge
The problems associated with transferring the knowledge to
the form required by the knowledge base.
Other Problems
Other Reasons
experts busy or unwilling to part with
knowledge.
methods for eliciting knowledge not
refined.
collection should involve several sources
not just one.
it is often difficult to recognise the relevant
parts of the expert's knowledge.
experts change
Organizing the Knowledge
Representing the knowledge
Rules
Semantic Networks
Frames
Propositional and Predicate Logic
Representing the Knowledge
Rules

If pulse is absent and breathing is absent
Then person is dead.
Representing the Knowledge
Semantic Networks
Sam
Honda
Green
Japan
Car
Owns
Is a
Made in
Colour
Representing the Knowledge
Frames
based on objects
objects are arranged in a hierarchical manner
Vacation
Albury
March
$1000
Frame Name
Where
When
Cost
Representing the Knowledge
Propositional & Predicate Logic
based on calculus

J = Passed assignment
K = Passed exam
Z = J and K
Student has passed assignment and passes
exam

You might also like