Expert Systems
Download
Report
Transcript Expert Systems
IDDS: Rules-based Expert
Systems
02/21/05
References:
Artificial Intelligence: A Modern Approach by Russell & Norvig, chapter 10
Knowledge-Based Systems in Business Workshop (2003), by Aronson
http://www.aaai.org/AITopics/html/expert.html
AI Research Focuses
•
•
•
•
•
•
•
•
Natural Language Processing
Speech Understanding
(Smart) Robotics and Sensory Systems
Neural Computing
Genetic Algorithms
Intelligent Software Agents
Machine Learning
Expert Systems
What is an Expert System
• Web definition: A computer program that
contains expert knowledge about a
particular problem, often in the form of a
Expert System is
set of if-then
rules,
that
is
able
to
solve
Most Popular
problems Applied AI
Technology!!!
There exists Expert Systems
that
•
•
•
•
… diagnose human illnesses
… make financial forecasts
… schedule routes for delivery vehicles
… many more
Building Expert Systems
• Objective of an expert system
– To transfer expertise from human experts to a
computer system and
– Then on to other humans (non-experts)
• Activities
–
–
–
–
Knowledge acquisition
Knowledge representation
Knowledge inferencing
Knowledge transfer to the user
Human Experts Behaviors
•
•
•
•
•
•
•
Systems arethe
notproblem
RecognizeExpert
and formulating
necessarily used to
Solve problems
quickly and properly
replace human experts.
Explain the solution
They can be used to
make their knowledge
Determine relevance
and experience more
Learn from widely
experience
available (e.g.,
allowing
non experts to
Restructure
knowledge
work better)
Break rules
Important Expert System
Components
A facility for the user to
interact with the Expert
System
Reasoning (Thinking).
Makes logical deductions
based upon the
knowledge in the KB.
Contains the domain
knowledge
User
Interface
Inference
Engine
Knowledge
Base
All Expert System
Components
•
•
•
•
Knowledge Base
Inference Engine To be classified as an
‘expert system’, the
User Interface
system must be able
Working Memory / Blackboard / Workplace
to explain the
– A global database of
facts used
by the
reasoning
process.
system
That’s the difference
• Knowledge Acquisition with
Facility
knowledge
– An (automatic) way to
acquire
knowledge
based
systems
• Explanation Facility
– Explains reasoning of the system to the
user
Knowledge Base
• The knowledge base contains the domain
knowledge necessary for understanding,
formulating, and solving problems
• Two BasicFact:
Knowledge
Base Elements
Amsterdam
Heuristic:
If New
– Facts: Factual
is theknowledge
capital
ofis that knowledge of the
task domain
isPatriots
widely shared, typically found
England
the that
Netherlands.
in textbooks
journals,
and commonly agreed
winorSuper
Bowl
Not aknowledgeable
fact: New
rd
upon by those
in the particular
for 3 straight
England Patriots
field.
time, they are
have
the knowledge
best
– Heuristics:
Heuristic
is the less strictly
probably the best
teammore
in theonNFL
defined, relies
empirical data, more
judgmental
Knowledge Acquisition Methods
• Manual (Interviews)
– Knowledge engineer interviews domain expert(s)
• Semiautomatic (Expert-driven)
• Automatic (Computer Aided)
Most Common
Question:Knowledge
what technique
Acquisition:
most popular
and why?
Face-to-face
Interviews
you think is
Knowledge Representation
• Knowledge Representation deals with the formal
modeling of expert knowledge in a computer
program.
• Important knowledge representation schemas:
– Production Rules (Expert systems that represent domain
knowledge using production rules are called rule-based
expert systems)
– Frames
– Semantic objects
• Knowledge Representation Must Support:
– Acquiring (new) knowledge
– Retrieving knowledge
– Reasoning with knowledge
Production Rules
• Condition-Action Pairs:
– A RULE consists of an IF part and a THEN part
(also called a condition and an action). if the IF
part of the rule is satisfied; consequently, the
THEN part can be concluded, or its problemsolving action taken.
• Rules represent a model of actual human behavior
• Rules represent an autonomous chunk of expertise
• When combined, these chunks can lead to new
conclusions
Advantages & Limitations of
Rules
• Advantage
– Easy to understand (natural form of knowledge)
– Easy to derive inference and explanations
– Easy to modify and maintain
• Limitations
– Complex knowledge requires many rules
– Search limitations in systems with many rules
– Dependencies between rules
Demonstration of Rule-Based
Expert Systems
• Command & Conquer Generals
My own Expert System in Wargus
Rules in Wargus
{
id = 1,
name = "build townhall",
preconditions = {hasTownhall(),hasBarracks()},
actions = {
function() return AiNeed(AiCityCenter()) end,
function() return AiSet(AiWorker(), 1) end,
function() return AiWait(AiCityCenter()) end,
function() return AiSet(AiWorker(), 15) end,
function() return AiNeed(AiBarracks()) end,
}
},
{ id = 2,
name = "build blacksmith",
preconditions = {hasTownhall(),hasBarracks()},
etc.
Question: how would you
encode domain knowledge for
Wargus?
• ‘Study’ strategy guides for Warcraft 2
(manual)
• Run machine learning experiments to
discover new strong rules (automatic)
• Allow experts (i.e., hardcore gamers) to
add rules (semi-automatic)
Inference Mechanisms
• Examine the knowledge base to answer
questions, solve problems or make decisions
within the domain
• Inference mechanism types:
– Theorem provers or logic programming language
(e.g., Prolog)
– Production systems (rule-based)
– Frame Systems and semantic networks
– Description Logic systems
Inference Engine in RuleBased Expert Systems
• Inferencing with Rules:
– Check every rule in the knowledge base in a
forward (Forward Chaining) or backward
(Backward Chaining ) direction
– Firing a rule: When all of the rule's hypotheses
(the “IF parts”) are satisfied
– Continues until no more rules can fire, or until a
goal is achieved
Forward Chaining Systems
• Forward-chaining systems (data-driven)
simply fire rules whenever the rules’ IF parts
are satisfied.
• A forward-chaining rule based system
contains two basic components:
– A collection of rules. Rules represent possible
actions to take when specified conditions hold on
items in the working memory.
– A collection of facts or assumptions that the rules
operate on (working memory). The rules actions
continuously update (adding or deleting facts) the
working memory
Forward Chaining Operations
• The execution cycle is
– Match phase: Examine the rules to find one
whose IF part is satisfied by the current contents
of Working memory (the current state)
– Conflict resolution phase: Out of all ‘matched’
rules, decide which rule to execute (Specificity,
Recency, Fired Rules)
– Act phase: Fire applicable rule by adding to
Working Memory the facts that are specified in the
rule’s THEN part (changing the current state)
– Repeat until there are no rules which apply.
Forward Chaining Example
Rules
Working Memory
1. IF (ownTownhalls < 1)
THEN ADD (ownTownhalls
(ownTownhalls = 0)
++)
(ownBarracks = 1)
(ownLumbermill = 0)
2. IF (ownTownhalls > 0)
(ownBlacksmith = 0)
AND (ownBarracks > 0)
AND (ownLumbermill < 1)
THEN ADD
(ownLumberMills ++)
Only Rule
3. IF (ownTownhalls > 0)
1 applies
AND (ownBarracks > 0)
AND (ownBlacksmith < 1)
THEN ADD
(ownBlacksmiths ++)
Forward Chaining Example
Rules
Working Memory
1. IF (ownTownhalls < 1)
THEN ADD (ownTownhalls
(ownTownhalls = 1)
++)
(ownBarracks = 1)
(ownLumbermill = 0)
2. IF (ownTownhalls > 0)
(ownBlacksmith = 0)
AND (ownBarracks > 0)
AND (ownLumbermill < 1)
THEN ADD
(ownLumberMills ++)
Rule 2 & 3
3. IF (ownTownhalls > 0)
apply, assume
AND (ownBarracks > 0)
we select 2
AND (ownBlacksmith < 1)
THEN ADD
(ownBlacksmiths ++)
Forward Chaining Example
Rules
Working Memory
1. IF (ownTownhalls < 1)
THEN ADD (ownTownhalls
(ownTownhalls = 1)
++)
(ownBarracks = 1)
(ownLumbermill = 1)
2. IF (ownTownhalls > 0)
(ownBlacksmith = 0)
AND (ownBarracks > 0)
AND (ownLumbermill < 1)
THEN ADD
(ownLumberMills ++)
Only Rule 3
3. IF (ownTownhalls > 0)
applies
AND (ownBarracks > 0)
AND (ownBlacksmith < 1)
THEN ADD
(ownBlacksmiths ++)
Forward Chaining Example
Rules
Working Memory
1. IF (ownTownhalls < 1)
THEN ADD (ownTownhalls
(ownTownhalls = 1)
++)
(ownBarracks = 1)
(ownLumbermill = 1)
2. IF (ownTownhalls > 0)
(ownBlacksmith = 1)
AND (ownBarracks > 0)
AND (ownLumbermill < 1)
THEN ADD
(ownLumberMills ++)
No Rules
3. IF (ownTownhalls > 0)
Apply. Done!
AND (ownBarracks > 0)
AND (ownBlacksmith < 1)
THEN ADD
(ownBlacksmiths ++)
Backward Chaining Systems
• Backward-chaining (goal-driven) systems
start from a potential conclusion (hypothesis),
then seek evidence that supports (or
contradicts) it
• A backward-chaining rule based system
contains three basic components:
– A collection of rules. Rules represent possible
actions to take when specified conditions hold on
items in the working memory.
– A collection of facts or assumptions that the rules
operate on (working memory). The rules actions
continuously update (adding or deleting facts) the
working memory
– A stack of goals
Backward Chaining
Operations
• The execution cycle is
– Start with goal state
– Check the conclusions of the rules to find all rules
that can satisfy the top goal on the stack
– Select one of these rules; the preconditions of the
selected rule will be set as new goals on the goal
stack
– System terminates if goal stack is empty
Backward Chaining Example
Rules
Working Memory
Goal Stack
1. IF (ownTownhall > 0)
Sub goal
(ownTownhalls = 1)
THEN ADD
OwnBarracks > 0
(ownBarracks = 0)
(ownBarracks ++)
(ownLumbermill = 0)
OwnLumbermills > 0
(ownBlacksmith = 0)
2. IF (ownTownhall > 0)
Top goal
AND (ownBarracks > 0)
AND (ownLumbermill < 1)
Top-goal (OwnLumbermills
THEN ADD
> 0) is found in actions side
(ownLumbermills ++)
of Rule 2. However,
precondition (ownBarracks >
0) for Rule 2 is not satisfied.
Add this to goal stack
Backward Chaining Example
Rules
Working Memory
Goal Stack
1. IF (ownTownhall > 0)
(ownTownhalls = 1)
THEN ADD
OwnBarracks > 0
(ownBarracks = 1)
(ownBarracks ++)
(ownLumbermill = 0)
OwnLumbermills > 0
(ownBlacksmith = 0)
2. IF (ownTownhall > 0)
AND (ownBarracks > 0)
AND (ownLumbermill < 1) (ownBarracks > 0) can be
THEN ADD
achieved by Rule 1. All
preconditions for this rule
(ownLumbermills ++)
apply, therefore the rule can
be executed and the top goal
can be removed from the
goal stack
Backward Chaining Example
Rules
Working Memory
Goal Stack
1. IF (ownTownhall > 0)
(ownTownhalls = 1)
THEN ADD
OwnBarracks > 0
(ownBarracks = 1)
(ownBarracks ++)
(ownLumbermill = 1)
OwnLumbermills > 0
(ownBlacksmith = 0)
2. IF (ownTownhall > 0)
AND (ownBarracks > 0)
AND (ownLumbermill < 1)
THEN ADD
All preconditions of Rule 2
(ownLumbermills ++)
are now satisfied; the final
goal on the goal stack can be
achieved. We’re done!
Question: Which inference
mechanism is more appropriate in
Wargus?
• Backward Chaining:
– Ultimate goal in Wargus is ‘winning the
game’. Too complicated to address directly
• Forward Chaining:
– Simplistic but also intelligent? Use heuristic
to incorporate intelligence
Explanation Facilities
• Explain the reasoning process: why it asked
some question, and how it reached some
conclusion
System: Is there gas in the fuel tank?
User: Yes.
System: Is it true that the engine turns over?
User: No.
System Is it true that the lights come on?
User: Why?
System: I am trying to prove: problem with battery. It has been established that it
is not the case that the engine turns over. Therefore if it is not the case that the
lights come on then there is a problem with battery.
Is it true that the lights come on?
User: No.
System: I conclude that there is a problem with the battery.
User: How?
System: This follows from Rule 2:
IF NOT engine_turns_over AND ...
Why explain the reasoning
process
– Provides the user with a means of understanding
the system behavior
– People do not always accept the answers of an
expert without some form of justification
(especially if the expert is a machine!)
Expert Systems Benefits
•
•
•
Helps preserve knowledge
Helps if expertise is scarce, expensive, or
unavailable
Helps if under time and pressure constraints
– Improved Decision Quality
– Increased Output and Productivity
•
Helps in training new employees
– Intelligent tutor (lecture non-experts)
– Knowledge Transfer to Remote Locations
Problems and Limitations
of Expert Systems
•
•
•
•
Knowledge is not always available
Expertise can be hard to extract from humans
Knowledge engineers are rare and expensive
Expert Systems are expensive to design &
maintain
• Expert Systems work well only in a narrow
domain of knowledge
• Lack of trust by end-users (we are still
dealing with a computer)
• Inability to learn