An expert system is a computer program that is designed to hold the accumulated knowledge of one or more domain experts
What is an Expert System (ES)?
Relies on internally represented knowledge to perform
tasks
Utilizes reasoning methods to derive appropriate new
knowledge
Usually restricted to a specific problem domain Some
systems
try
to
capture
common-sense
knowledge
Definitions Expert System
a computer system that emulates the decision-making
ability of a human expert in a restricted domain.
An intelligent computer program that uses knowledge
and inference procedures to solve problems that are difficult enough to require significant human expertise for their solutions.
Main Components of an ES
Expertise
Knowledge Base Facts / Information Inference Engine Expertise
ES Components
knowledge base contains essential information about the problem domain often represented as facts and rules inference engine mechanism to derive new knowledge from the knowledge base and the information provided by the user often based on the use of rules
General Concepts and Characteristics of ES
knowledge representation inference knowledge acquisition
explanation
When to Use ESs
expert systems are not suitable for all types of domains
and tasks
conventional algorithms are known and efficient the main challenge is computation, not knowledge knowledge cannot be captured easily users may be reluctant to apply an expert system to a
critical task
ES Tools
ES languages higher-level languages specifically designed for knowledge representation and reasoning SAIL, KRL, KQML shells an ES development tool/environment where the user provides the knowledge base
ES Elements
knowledge base
inference engine working memory agenda explanation facility knowledge acquisition facility user interface
ES Structure
User Interface Knowledge Acquisition Facility
Knowledge Base
Inference Engine Agenda Explanation Facility Working Memory
Rule-Based ES
knowledge is encoded as IF THEN rules these rules can also be written as production rules the inference engine determines which rule antecedents
are satisfied
the left-hand side must match a fact in the working
memory
satisfied rules are placed on the agenda rules on the agenda can be activated (fired) an activated rule may generate new facts through its right-hand side the activation of one rule may subsequently cause the activation of other rules
IF THEN Rules
Rule: Red_Light IF the light is red THEN stop Rule: Green_Light IF the light is green THEN go
Example Rules
antecedent (left-hand-side) consequent (right-hand-side)
Production Rules antecedent (left-hand-side)
the light is red ==> stop the light is green ==> go consequent (right-hand-side)
Foundations ofExpert Expert Rule-Based SystemsSystems
Inference Engine Pattern Matching Rete Algorithm Markov Algorithm Knowledge Base
Conflict Resolution Action Execution
Facts
Rules
Post Production Rules
ES Advantages
economical
lower cost per user
availability
accessible anytime, almost anywhere
response time
often faster than human experts
reliability
can be greater than that of human experts no distraction, fatigue, emotional involvement,
explanation
reasoning steps that lead to a particular conclusion
intellectual property
cant walk out of the door
Components of an Expert System
The knowledge base is the collection of facts and
rules which describe all the knowledge about the problem domain The inference engine is the part of the system that chooses which facts and rules to apply when trying to solve the users query The user interface is the part of the system which takes in the users query in a readable form and passes it to the inference engine. It then displays the results to the user.
Why use Expert Systems?
Experts
are not always available. An expert system can be used anywhere, any time.
Human experts are not 100%
reliable or consistent.
Experts may not be good at
explaining decisions
Cost effective
Problems with Expert Systems
Limited domain
Systems are not always up to
date, and dont learn
No common sense Experts needed to setup and
maintain system
Legal and Ethical Issues
Who is responsible if the advice is wrong? The user? The domain expert? The knowledge engineer? The programmer of the expert system shell? The company selling the software?