Chapter 6:
Design of Expert
Systems
Expert Systems: Principles and
Programming, Fourth Edition
Considerations when Building an
Expert system
• We will describe the necessary prerequisites
when building an expert system.
• The system should be a quality product.
• The development should be cost effective and
timely.
• Designing of expert systems of part of a general
field known as Knowledge Management (KM).
Expert Systems: Principles and Programming, Fourth Edition 2
Selecting the Appropriate
Problem
• We need to answer the questions, “Why are we
building this expert system?”.
– Intellectual Property Agreement must be considered
– Clearly identify the problem
– Clearly identify the expert
– Clearly identify the users
• We need to know the payoff – money, efficiency,
etc.
Expert Systems: Principles and Programming, Fourth Edition 3
Selecting the Appropriate
Problem
• What tools will be available to build the expert
system?
– Check the Web for applications in existence
– Know the language necessary to create a semantic net
of relationships on which the system will be based
• How much will the expert system cost?
– A function of people, resources, time, etc.
– How available is the knowledge?
Expert Systems: Principles and Programming, Fourth Edition 4
Figure 6.1 Project Management
Tasks
Expert Systems: Principles and Programming, Fourth Edition 5
Stages in the Development
• How will the system be developed?
– This will depend on the resources provided
Stages:
1. Feasibility Study – see if the project is feasible
2. Rapid Prototype – demonstrate ideas / impress
3. Refined System – verification by knowledge
engineers
4. Field Testable – system tested by selected users
Expert Systems: Principles and Programming, Fourth Edition 6
Stages in the Development
5. Commercial quality system – validation /
testing
6. Maintenance and evolution – repair bugs,
enhance capabilities
Expert Systems: Principles and Programming, Fourth Edition 7
Other Considerations
• How will the system be delivered?
– Should be considered in earliest stages of
development
– Integration with existing programs
• How will the system be maintained and evolve?
– Performance is dependent on knowledge / expertise
– Performance must be maintained
– New knowledge will be acquired
– Old knowledge will be modified
Expert Systems: Principles and Programming, Fourth Edition 8
Figure 6.2 General Stages in the
Development of an Expert System
Expert Systems: Principles and Programming, Fourth Edition 9
Errors in Development Stages
• Expert’s knowledge may be erroneous,
propagating errors throughout the entire
development process.
– Formal procedures may be necessary to certify expert
– Technique panels can scrutinize expert’s knowledge
– Focus groups can also be used
Expert Systems: Principles and Programming, Fourth Edition 10
Errors in the Development Stages
• Knowledge may not be properly communicated
to knowledge engineer, or knowledge may be
misinterpreted.
• Knowledge base may be corrupted by entering
incorrect form of a rule or fact.
Expert Systems: Principles and Programming, Fourth Edition 11
Errors in the Development Stages
• Inference engine errors may result from errors in
pattern matching, conflict resolution, and
execution of actions.
• Inference chain errors may be caused by
erroneous knowledge, semantic errors, inference
engine bugs, incorrect specifications of rule
priorities, and strange interaction among rules.
• Limits of ignorance – a problem common to all
previous stages
Expert Systems: Principles and Programming, Fourth Edition 12
Figure 6.3 Major Errors in
Expert Systems and Some Causes
Expert Systems: Principles and Programming, Fourth Edition 13
Software Engineering
and Expert Systems
• Expert systems are products like any other
software product and require good
standards for development.
• Expert systems may have serious
responsibilities – life and death.
• High standards are a necessity and can be
measured by “mean time between
failures”.
Expert Systems: Principles and Programming, Fourth Edition 14
Figure 6.4 Software Engineering
Methodology
Expert Systems: Principles and Programming, Fourth Edition 15
Expert System Life Cycle
• Begins with the initial concept of the software
and ends with its retirement from use.
• Expert systems require more maintenance
because they are based on knowledge that is:
– Heuristic
– Experiential
• A number of life cycle models have been
developed.
Expert Systems: Principles and Programming, Fourth Edition 16
Waterfall Model
• Each stage ends with a verification and
validation activity to minimize any
problems in that stage.
• Arrows go back and forth only one stage
at a time.
• It is assumed that all information
necessary for a stage is known.
Expert Systems: Principles and Programming, Fourth Edition 17
Figure 6.5 Waterfall Model of the
Software Life Cycle
Expert Systems: Principles and Programming, Fourth Edition 18
Code-and-Fix Model
• Some code is written and then fixed when
it does not work correctly.
• Usually the method of choice for new
programming students in conventional and
expert systems
• This eventually led to the do-it-twice
concept where a prototype then a final
system was built.
Expert Systems: Principles and Programming, Fourth Edition 19
Incremental Model
• This is a refinement of the waterfall and top-
down-approach.
• The idea is to develop software in
increments of functional capability.
– Major increment – assistant colleague
expert
– Minor increment – expertise w/in each level
– Microincrement – add/refining individual rules
Expert Systems: Principles and Programming, Fourth Edition 20
Spiral Model
Each circuit of the spiral adds some functional
capability to the system.
Expert Systems: Principles and Programming, Fourth Edition 21
Detailed Life Cycle Model
Linear Model
1. Planning Stage
The purpose of this stage is to produce a
formal work plan for the expert system
development – documents to guide and
evaluate the development.
Expert Systems: Principles and Programming, Fourth Edition 22
Table 6.2 Planning Stage Tasks
Expert Systems: Principles and Programming, Fourth Edition 23
Linear Model
2. Knowledge Definition
The objective of this stage is to define the
knowledge requirements of the expert system,
which consists of two main tasks:
• Knowledge source identification and selection
• Knowledge acquisition, analysis, and extraction
Expert Systems: Principles and Programming, Fourth Edition 24
Table 6.3 Knowledge Source /
Identification
Expert Systems: Principles and Programming, Fourth Edition 25
Table 6.4 Knowledge Acquisition,
Analysis, and Extraction Tasks
Expert Systems: Principles and Programming, Fourth Edition 26
Linear Model
3. Knowledge Design
The objective is to produce the detailed design
for an expert system and involves:
• Knowledge definition
• Detailed design
Expert Systems: Principles and Programming, Fourth Edition 27
Table 6.5 Knowledge Definition
Tasks
Expert Systems: Principles and Programming, Fourth Edition 28
Table 6.6 Detailed Design of
Knowledge Tasks
Expert Systems: Principles and Programming, Fourth Edition 29
Linear Model
4. Code and Checkout
This begins the actual code implementation
Expert Systems: Principles and Programming, Fourth Edition 30
Table 6.7 Code and Checkout
Tasks
Expert Systems: Principles and Programming, Fourth Edition 31
Linear Model
5. Knowledge Verification
The objective here is to determine the
correctness, completeness, and
consistency of the system.
• Formal tests
• Test Analysis
Expert Systems: Principles and Programming, Fourth Edition 32
Table 6.8 Formal Test Tasks of
Knowledge Verification Stage
Expert Systems: Principles and Programming, Fourth Edition 33
Test Analysis Tasks
Expert Systems: Principles and Programming, Fourth Edition 34
Linear Model
6. System Evaluation
This stage is for summarizing what has been
learned with recommendations for
improvements and corrections.
Expert Systems: Principles and Programming, Fourth Edition 35
Table 6.10 System Evaluation
Stage Tasks
Expert Systems: Principles and Programming, Fourth Edition 36
Figure 6.7 Linear Model of Expert
System Development Life Cycle
Expert Systems: Principles and Programming, Fourth Edition 37
Summary
• In this chapter, we have discussed a
software engineering approach to the
construction of an expert system.
• Principles about good interviewing
techniques were mentioned.
• Now that expert systems are widely used,
they must be quality products due to the
sensitive nature of their applications.
Expert Systems: Principles and Programming, Fourth Edition 38
Summary
• Factors to be considered in the design of
expert systems include problem selection,
cost, and payoff.
• Both managerial and technical aspects
must be considered.
• By consistently following the outlined “life
cycle” it should be possible to construct
quality software.
Expert Systems: Principles and Programming, Fourth Edition 39