ES Development Stages
-
Identification
-
Conceptualization
-
Formalization
-
Implementation
-
Testing
Identification
-
requirements analysis
-
external requirements
-
form of input and output
-
setting where ES will be used
-
user
-
must identify
-
participants
-
problems
-
objectives
-
resources
-
costs
-
time frame
Conceptualization
-
designing the ES to ensure that specific interactions
and relationships in the problem domain are understood and
defined
-
initial knowledge acquisition
-
key concepts, relationships between objects and processes,
and control mechanisms are determined
-
understanding what expert does:
-
Exactly what decisions do the experts make?
-
What are the decision outcomes?
-
Which outcomes require greater reflection, exploration,
or interaction?
-
What resources or inputs are required to reach a decision?
-
What conditions are present when a particular outcome
is decided?
-
At what point after exposure to influential
inputs is a decision made?
-
How consistently do these conditions predict a given outcome?
-
Given the particulars of a specific case,
will the outcome predictions of the knowledge engineering
team be consistent with those of the expert?
Formalization
-
organizing the key concepts, subproblems, and information
flow into formal representations
-
design program logic
Implementation
-
formalized knowledge is coded into the framework
of the development tool or language
-
document
-
help for the user and explanations
-
how will the ES interact with other programs and databases
Testing
-
verification of individual relationships
-
validation of program performance
-
evaluation of utility of the software
Knowledge Acquisition
-
major bottleneck to building ES
-
3 areas central to knowledge acquisition
-
evaluation of domain to determine if the knowledge
in the domain is suitable for an ES
-
source of expertise must be identified and evaluated
-
if expertise source is a person,
the specific knowledge acquisition techniques and practitioners
need to be identified
Domain Selection
-
must have an expert
-
must be general consensus among experts about
the accuracy of solutions
-
experts must be able to communicate details
-
domain should be narrow and well-defined and
solutions must not require common sense
Knowledge Acquisition Techniques
-
observe expert solving real problems
-
identify kinds of data, knowledge, and procedures required
to solve different types of problems
-
use scenarios with the expert
-
have expert solve a series of problems verbally
-
develop rules based on interviews
-
have expert review rules and general problem solving procedure
-
compare responses of outside experts to those
of expert and ES
-
regularly scheduled interviews
-
questionnaires
-
decision trees
Representation and Reasoning
Rule-Based Systems
-
pattern matching
-
parameter driven
-
forward chaining
-
backward chaining
Pattern Matching in a Forward Chaining System
IF condition
THEN consequent (or action).
IF the volume of a ?product-container is less than a specified
amount,
THEN increase the fill volume.
IF the ?sensor is dead,
THEN inspect ?sensor.
Forward Chaining Example
Facts:
the volume of item29 is 21
the volume of item17 is 18
the temperature of item23 is -5
Rule:
IF the volume of ?item is < 20,
THEN the fill amount of ?item should be increased
Parameter Driven Systems
-
many parameter driven systems based on MYCIN
-
facts are represented by parameter values
-
parameters can have various attributes called properties
Decision Trees
-
information found at one step in the solution determines
what information is needed at the next step
-
each item is represented as a node in a tree with
possible values forming arcs that emanate from the node
Reasoning With Uncertainty
-
much of the information humans use is fuzzy or inexact
-
2 kinds of uncertainty
-
MYCIN CF
-
numerical
-
range from -100 to +100
Object-Based Systems
Frames
-
represent declarative knowledge (answers the question What?)
-
represents procedural knowledge (answers the question How?)
stored as a functional quality of object
-
provide a mechanism for inheritance
Inheritance example
Charlotte is a member of the Landshire class.
Landshire is a member of the swine class.
An attribute of swine is the existence of a curly tail.
Through inheritance, Charlotte has a curly tail.
Hybrid knowledge-based systems might combine
frames and rules.
Object-Oriented Programming
object - any data structure that has a symbolic name
-
objects represent things
-
can also represent generic concepts
-
have properties and behaviors
-
data are stored within the programs that manipulate them
messages - requests between objects
Truth Maintenance
-
new information exists independently from other information
in the knowledge base
-
no logical links between facts and rules
(a fact has no knowledge about how it was derived,
what other facts it depends on, or what other
facts depend on it)
-
useful for hypothetical reasoning, planning, scheduling, and
design
-
dependency networks, Justification-based Truth Maintenance,
Assumption-based Truth Maintenance
Selection of ES Development Tools
Categories of ES Development Tools
-
rule-based
-
frame-based
-
procedure-oriented
-
logic-based
-
object-oriented
-
access-oriented
Categories of ES Applications
-
interpretation
-
prediction
-
diagnosis
-
planning
-
monitoring
-
debugging
-
repair
-
instruction
-
control
Categories of ES Applications and Recommended Tool
Category
-
interpretation - rule-based (forward chaining), logic-based
-
prediction - object-oriented, procedure-oriented,
rule-based (forward chaining)
-
diagnosis - rule-based (backward chaining)
-
planning - rule-based (forward chaining), frame-based,
access-oriented
-
monitoring - access-oriented, rule-based (forward chaining)
-
debugging - rule-based (backward chaining), logic-based,
frame-based
-
repair - rule-based (backward chaining), logic-based,
frame-based
-
instruction - rule-based (forward and backward chaining)
-
control - access-oriented, object-oriented, rule-based (forward
chaining)
ES Tool Features to Consider
-
combinations of representation and reasoning methods
-
is the tool maintained
-
built-in explanation and interaction facilities
-
ability to interface with data bases, spread sheets, and other
software
-
ability to embed in other software
-
debugging aids
-
uncertain reasoning capabilities
-
tool and computer costs
-
tool speed
-
intended user of tool
-
startup cost of the tool (training)
Waterman's questions to ask when selecting an ES development
tool
-
Does the tool provide the development team with the
power and sophistication they need?
-
Are the tool's support facilities adequate considering
the time frame for development?
-
Is the tool reliable?
-
Is the tool maintained?
-
Does the tool have the features suggested by the needs of the
problem?
-
Does the tool have the features suggested by the needs of the
application?