CPE/CSC 481: Knowledge

advertisement
CPE/CSC 481:
Knowledge-Based Systems
Dr. Franz J. Kurfess
Computer Science Department
Cal Poly
© 2002 Franz J. Kurfess
Expert System Design 1
Course Overview
 Introduction
 Knowledge

with Uncertainty
Probability, Bayesian Decision
Making
 Expert

and Inference
Predicate Logic, Inference
Methods, Resolution
 Reasoning

Representation
Semantic Nets, Frames, Logic
 Reasoning

 CLIPS
System Design

Overview
Concepts, Notation, Usage
 Pattern

Matching
Variables, Functions,
Expressions, Constraints
 Expert
System
Implementation

Salience, Rete Algorithm
 Expert
System Examples
 Conclusions and Outlook
ES Life Cycle
© 2002 Franz J. Kurfess
Expert System Design 2
Overview Expert System Design
 Motivation
 Objectives
 Chapter



Review of relevant concepts
Overview new topics
Terminology
 ES






Introduction
Development Life Cycle
Feasibility Study
Rapid Prototype
Refined System
Field Testable
Commercial Quality
Maintenance and Evolution
© 2002 Franz J. Kurfess
 Software
Engineering and
ES Design

Software Development Life
Cycle
 Linear




Model ES Life Cycle
Planning
Knowledge Definition
Knowledge Design
Knowledge Verification
 Important
Concepts and
Terms
 Chapter Summary
Expert System Design 3
Material [Durkin 1994]
 Chapter:
8: Designing Backward-Chaining RuleBased Systems
 Chapter 10: Designing Forward-Chaining RuleBased Systems
 Chapter 15: Designing Frame-Based Expert
Systems
 Chapter 18: Knowledge Engineering
© 2002 Franz J. Kurfess
Expert System Design 5
Material [Jackson 1999]
 Chapter
14, 15: Constructive Problem Solving
 Chapter 16: Designing for Explanation
© 2002 Franz J. Kurfess
Expert System Design 6
Material [Sommerville 2001]
 Chapter
3: Software processes
 waterfall
model
 evolutionary development

spiral model
 formal
methods
 reuse-based methods
 Chapter
 rapid
8: Software prototyping
prototyping techniques
© 2002 Franz J. Kurfess
Expert System Design 7
Logistics


Introductions
Course Materials


textbooks (see below)
lecture notes



handouts
Web page





PowerPoint Slides will be available on my Web page
http://www.csc.calpoly.edu/~fkurfess
Term Project
Lab and Homework Assignments
Exams
Grading
© 2002 Franz J. Kurfess
Expert System Design 8
Bridge-In
© 2002 Franz J. Kurfess
Expert System Design 9
Pre-Test
© 2002 Franz J. Kurfess
Expert System Design 10
Motivation
 reasons
to study the concepts and methods in the
chapter
 main
advantages
 potential benefits
 understanding
of the concepts and methods
 relationships to other topics in the same or related
courses
© 2002 Franz J. Kurfess
Expert System Design 11
Objectives
 regurgitate

basic facts and concepts
 understand




elementary methods
more advanced methods
scenarios and applications for those methods
important characteristics

differences between methods, advantages, disadvantages, performance,
typical scenarios
 evaluate

application of methods to scenarios or tasks
 apply

methods to simple problems
© 2002 Franz J. Kurfess
Expert System Design 12
ES Development Methods
 commercial
quality systems require a systematic
development approach
 ad
hoc approaches may be suitable for research
prototypes or personal use, but not for widely used or
critical systems
 some
software engineering methods are suitable for
the development of expert systems
© 2002 Franz J. Kurfess
Expert System Design 13
Problem Selection
 the
development of an expert system should be
based on a specific problem to be addressed by the
system
 it should be verified that expert systems are the right
paradigm to solve that type of problem
 not
all problems are amenable to ES-based solutions
 availability
of resources for the development
 experts/expertise
 hardware/software
 users
 sponsors/funds
© 2002 Franz J. Kurfess
Expert System Design 14
Project Management
 activity
planning
 planning,
 product
scheduling, chronicling, analysis
configuration management
 product
management
 change management
 resource
management
 need
determination
 acquisition resources
 assignment of responsibilities
 identification of critical resources
© 2002 Franz J. Kurfess
Expert System Design 15
ES Development Stages
 feasibility


paper-based explanation of the main idea(s)
no implementation
 rapid

prototype
quick and dirty implementation of the main idea(s)
 refined

system
in-house verification by knowledge engineers, experts
 field

study
test
system tested by selected end users
 commercial

quality system
deployed to a large set of end users
 maintenance


and evolution
elimination of bugs
additional functionalities
© 2002 Franz J. Kurfess
Expert System Design 16
Error Sources in ES Development
 knowledge
errors
 semantic errors
 syntax errors
 inference engine errors
 inference chain errors
 limits of ignorance errors
© 2002 Franz J. Kurfess
Expert System Design 17
Knowledge Errors
 problem:
knowledge provided by the expert is
incorrect or incomplete
 reflection
of expert’s genuine belief
 omission of important aspects
 inadequate formulation of the knowledge by the expert
 consequences
 existing
solution not found
 wrong conclusions
 remedy
 validation

and verification of the knowledge
may be expensive
© 2002 Franz J. Kurfess
Expert System Design 18
Semantic Errors
 problem:
the meaning of knowledge is not properly
communicated
 knowledge
engineer encodes rules that do not reflect what
the domain expert stated
 expert misinterprets questions from the knowledge
engineer
 consequences
 incorrect
knowledge, inappropriate solutions, solutions not
found
 remedy
 formalized
protocol for knowledge elicitation
 validation of the knowledge base by domain experts
© 2002 Franz J. Kurfess
Expert System Design 19
Syntax Errors
 problem:
rules or facts do not follow the syntax
required by the tool used
 knowledge
engineer is not familiar with the method/tool
 syntax not clearly specified
 consequences
 knowledge
can’t be used
 solutions
 syntax
checking and debugging tools in the ES
development environment
© 2002 Franz J. Kurfess
Expert System Design 20
Inference Engine Errors
 problem:
malfunctions in the inference component of
the expert system
 bugs
 resource

limitations
e.g. memory
 consequences
 system
crash
 incorrect solutions
 existing solutions not found
 remedy
 validation
© 2002 Franz J. Kurfess
and verification of the tools used
Expert System Design 21
Inference Chain Errors
 problem:
although each individual inference step
may be correct, the overall conclusion is incorrect or
inappropriate
 causes:
errors listed above; inappropriate priorities of
rules, interactions between rules, uncertainty, nonmonotonicity
 consequences
 inappropriate
conclusions
 remedy
 formal
validation and verification
 use of a different inference method
© 2002 Franz J. Kurfess
Expert System Design 22
Limits of Ignorance Errors
 problem:
the expert system doesn’t know what it
doesn’t know
 human
experts usually are aware of the limits of their
expertise
 consequences
 inappropriate
confidence in conclusions
 incorrect conclusions
 remedy
 meta-reasoning
methods that explore the limits of the
knowledge available to the ES
© 2002 Franz J. Kurfess
Expert System Design 23
Expert Systems and
Software Engineering
 software
process models
 waterfall
 spiral
 use
of SE models for ES development
 ES development models
 evolutionary
model
 incremental model
 spiral model
© 2002 Franz J. Kurfess
Expert System Design 24
Generic Software Process Models
 waterfall
model
 separate
and distinct phases of specification and
development
 evolutionary
development
 specification
 formal
and development are interleaved
systems development
a
mathematical system model is formally transformed to an
implementation
 reuse-based
 the
development
system is assembled from existing components
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 25
Waterfall Model
Requirements
definition
System and
software design
Implementation
and unit testing
Integr ation and
system testing
Operation and
maintenance
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 26
Suitability of Software Models for
ES Development
 the
following worksheets help with the evaluation of software
models for use in the development of expert systems

identify the key differences between conventional software
development and ES development



what are the positive and negative aspects of the model for ES
development
evaluate the above issues, and give the model a score


with respect to a specific model
10 for perfectly suited, 0 for completely unsuitable
determine the overall suitability


high, medium low
explanation
© 2002 Franz J. Kurfess
Expert System Design 27
Waterfall Worksheet
Aspect
Evaluation
Score
key
differences
positive
negative
 overall

suitability:
•high • medium
•low
explanation
© 2002 Franz J. Kurfess
Expert System Design 28
Evolutionary Development
 exploratory
development
 objective
is to work with customers and to evolve a final
system from an initial outline specification. should start
with well-understood requirements
 throw-away
prototyping
 objective
is to understand the system requirements. should
start with poorly understood requirements
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 29
Evolutionary Development
Concurr ent
activities
Outline
description
© 2002 Franz J. Kurfess
Specification
Initial
version
Development
Intermediate
versions
Validation
Final
version
[Sommerville 2001]
Expert System Design 30
Evolutionary Dev. Worksheet
Aspect
Evaluation
Score
key
differences
positive
negative
 overall

suitability:
•high • medium
•low
explanation
© 2002 Franz J. Kurfess
Expert System Design 31
Incremental Development
 development
and delivery is broken down into
increments
 each
 user
increment delivers part of the required functionality
requirements are prioritised
 the
highest priority requirements are included in early
increments
 once
the development of an increment is started, the
requirements are frozen
 requirements
© 2002 Franz J. Kurfess
for later increments can continue to evolve
[Sommerville 2001]
Expert System Design 32
Incremental Development
Define outline
requirements
Develop system
increment
Assign requirements
to increments
Valida te
increment
Design system
architecture
Integrate
increment
Valida te
system
Final
system
System incomplete
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 33
Spiral Development
 process
is represented as a spiral rather than as a
sequence of activities with backtracking
 each
loop in the spiral represents a phase in the process.
 no fixed phases such as specification or design

loops in the spiral are chosen depending on what is required
 risks
are explicitly assessed and resolved throughout the
process
 similar
to incremental development
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 34
Spiral Model Sectors
 for
quadrants in the coordinate system represent
specific aspects
 objective

specific objectives for the phase are identified
 risk

setting
assessment and reduction
risks are assessed and activities put in place to reduce the key risks
 development

and validation
a development model for the system is chosen which can be any of
the generic models
 planning

the project is reviewed and the next phase of the spiral is planned
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 35
Spiral Model
Determine objectives
alternatives and
constraints
Risk
analysis
Evaluate alternatives
identify, resolve risks
Risk
analysis
Risk
analysis
REVIEW
Requirements plan
Life-cycle plan
Development
plan
Plan next phase
© 2002 Franz J. Kurfess
Integration
and test plan
Prototype 3
Prototype 2
Operational
protoype
Risk
analysis Prototype 1
Simulations, models, benchmarks
Concept of
Operation
S/W
requirements
Requirement
validation
Product
design
Detailed
design
Code
Unit test
Design
V&V
Integr ation
test
Acceptance
test
Develop, verify
Service
next-level product
[Sommerville 2001]
Expert System Design 36
Spiral Model Worksheet
Aspect
Evaluation
Score
key
differences
positive
negative
 overall

suitability:
•high • medium
•low
explanation
© 2002 Franz J. Kurfess
Expert System Design 37
Formal systems development
 based
on the transformation of a mathematical
specification through different representations to an
executable program
 transformations are ‘correctness-preserving’
 it
is straightforward to show that the program conforms to
its specification
 embodied
in the ‘cleanroom’ approach to software
development
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 38
Formal Transformation Model
Formal transformations
T1
Formal
specification
T2
R1
P1
T3
R2
P2
T4
Executable
program
R3
P3
P4
Proofs of transformation correctness
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 39
Formal Transformations Worksheet
Aspect
Evaluation
Score
key
differences
positive
negative
 overall

suitability:
•high • medium
•low
explanation
© 2002 Franz J. Kurfess
Expert System Design 40
Reuse-Oriented Development
 based
on systematic reuse
 systems
are integrated from existing components or COTS
(commercial-off-the-shelf) systems
 process
stages
 component
analysis
 requirements modification
 system design with reuse
 development and integration
 this
approach is becoming more important but still
limited experience with it
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 41
Reuse-oriented development
Requirements
specification
Component
analysis
Requirements
modification
System design
with reuse
Development
and integration
© 2002 Franz J. Kurfess
[Sommerville 2001]
System
validation
Expert System Design 42
Reuse-Oriented Model Worksheet
Aspect
Evaluation
Score
key
differences
positive
negative
 overall

suitability:
•high • medium
•low
explanation
© 2002 Franz J. Kurfess
Expert System Design 43
Generic System Design Process
Requirements
specification
Design activities
Architectural
design
Abstract
specification
Interface
design
Component
design
Data
structure
design
Algorithm
design
Sy stem
architecture
Software
specification
Interface
specification
Component
specification
Data
structure
specification
Algorithm
specification
Design products
© 2002 Franz J. Kurfess
[Sommerville 2001]
Expert System Design 44
System Evolution
Define system
requirements
Assess existing
systems
Propose system
changes
Existing
systems
© 2002 Franz J. Kurfess
Modify
systems
New
system
[Sommerville 2001]
Expert System Design 45
Linear Model of ES Development
 the
life cycle repeats a sequence of stages
 variation
of the incremental model
 once iteration of the sequence roughly corresponds to one
circuit in the spiral model
 stages
 planning
 knowledge
definition
 knowledge design
 code & checkout
 knowledge verification
 system evaluation
© 2002 Franz J. Kurfess
Expert System Design 46
Linear Model Diagram
Work
Plan
© 2002 Franz J. Kurfess
Knowledge
Review
Knowl.
System
Design
Review
Test
Readiness
Review
System
Evaluation
Test
Analysis
Knowledge
Verification
Formal
Test
Detailed
Design
Prelim.
Data
Review
Product
Baseline
Code & Checkout
Design
Baseline
Knowledge
Design
Definition
Knowledge
Definition
Source
Identification
& Selection
Acquisition
Analysis
& Extraction
Planning
Knowledge
Baseline
Test
Audit
Review
Final /
Intermed.
Review
Expert System Design 47
Planning
 feasibility
assessment
 resource management
 task phasing
 schedules
 high-level requirements
 preliminary functional layout
© 2002 Franz J. Kurfess
Expert System Design 48
Knowledge Definition
 knowledge
source
identification and selection




source identification
source importance
source availability
source selection
 knowledge
acquisition,
analysis and extraction








© 2002 Franz J. Kurfess
acquisition strategy
knowledge element
identification
knowledge classification
system
detailed functional layout
preliminary control flow
preliminary user’s manual
requirements specifications
knowledge baseline
Expert System Design 49
Knowledge Design
 knowledge





definition
knowledge representation
detailed control structure
internal fact structure
preliminary user interface
initial test plan
 detailed





© 2002 Franz J. Kurfess
design
design structure
implementation strategy
detailed user interface
design specifications and
report
detailed test plan
Expert System Design 50
Code & Checkout
 coding
 tests
 source
listings
 user manuals
 installation and operations guide
 system description document
© 2002 Franz J. Kurfess
Expert System Design 51
Knowledge Verification
 formal


tests
test procedures
test reports
© 2002 Franz J. Kurfess
 test


analysis
results evaluation
recommendations
Expert System Design 52
System Evaluation
 results
evaluation
 summarized
version of the activity from the previous stage
 recommendations
 as
above
 validation
 system
 interim
conforms to user requirements and user needs
or final report
© 2002 Franz J. Kurfess
Expert System Design 53
Linear Model Exercise
 apply
the linear model to your team project
 map
activities, tasks, milestones and deliverables that you
have identified to the respective stages in the linear model
 use the linear model to sketch a rough timeline that
involves two iterations


first prototype
final system
 estimate
the overhead needed for the application of the
linear model in our context
© 2002 Franz J. Kurfess
Expert System Design 54
Post-Test
© 2002 Franz J. Kurfess
Expert System Design 55
Important Concepts and Terms













agenda
backward chaining
common-sense knowledge
conflict resolution
expert system (ES)
expert system shell
explanation
forward chaining
inference
inference mechanism
If-Then rules
knowledge
knowledge acquisition
© 2002 Franz J. Kurfess












knowledge base
knowledge-based system
knowledge representation
Markov algorithm
matching
Post production system
problem domain
production rules
reasoning
RETE algorithm
rule
working memory
Expert System Design 57
Summary Chapter-Topic
© 2002 Franz J. Kurfess
Expert System Design 58
© 2002 Franz J. Kurfess
Expert System Design 59
Download