es@news.com (05/31/91)
Expert Systems
1 INTRODUCTION
The area of expert systems investigates methods and
techniques for constructing man-machine systems with
specialized problem solving expertise. Elucidating and
reproducing an expert's heuristics is the central task in
building expert systems.
2 OVERVIEW
2.1 Categories Of Knowledge Engineering Applications
CATEGORY PROBLEM ADDRESSED
Interpretation Inferring situation descriptions from sensor data
Prediction Inferring likely consequences of given situations
Diagnosis Inferring system malfunctions from observables
Design Configuring objects under constraints
Planning Designing actions
Monitoring Comparing observations to plan vulnerabilities
Debugging Prescribing remedies for malfunctions
Repair Executing a plan to administer a prescribed remedy
Instruction Diagnosing, debugging, and repairing student behavior
Control Interpreting, predicting, repairing, and monitoring
system behaviors
2.2 Basic Ideas Of Intelligent Problem-Solving
1. Knowledge = Facts + Beliefs + Heuristics
2. Success = Finding a good enough answer with the resources
available
3. Search efficiency directly affect success
4. Aids to efficiency:
a. Applicable, correct, and discriminating knowledge
b. Rapid elimination of blind "alleys"
c. Elimination of redundant computation
d. Increased speed of computer operation
e. Multiple, cooperative sources of knowledge
f. Reasoning at various levels of abstraction
5. Sources of increased problem difficulty:
a. Errorful data or knowledge
b. Dynamically changing data
c. The number of possibilities to evaluate
d. Complex procedures for ruling out possibilities
2.3 Methodology For Building Expert Systems
Identification: Determining problem characteristics
Conceptualization: Finding concepts to represent knowledge
Formalization: Designing structures to organize knowledge
Implementation: Formulating rules that embody knowledge
Testing: Validating rules that embody knowledge
3 CONSTRUCTING AN EXPERT SYSTEM
3.1 Stages Of Knowledge Acquisition
Identification Identify problem characteristics
output: requirements
o What class of problems will the expert system be expected
to solve?
o How can these problems be characterized or defined?
o What are important subproblems and partitioning of
tasks?
o What are the data?
o What are important terms and their interrelations?
o What does a solution look like and what concepts are
used in it?
o What aspects of human expertise are essential in solving
these problems?
o What is the nature and extent of "relevant knowledge"
that underlies the human solutions?
o What situations are likely to impede solutions?
o How will these impediments affect an expert system?
Conceptualization Find concepts to represent knowledge
output: concepts
o What types of data are available?
o What is given and what is inferred?
o Do the subtasks have names?
o Do the strategies have names?
o Are there identifiable partial hypotheses that are
commonly used? What are they?
o How are the objects in the domain related?
o Can you diagram a hierarchy and label causal relations,
set inclusion, part-whole relations, etc.? What does
it look like?
o What processes are involved in problem solution?
o What are the constraints on these processes?
o What is the information flow?
o Can you identify and separate the knowledge needed for
solving a problem from the knowledge used to justify
a solution?
Formalization Design structure to organize knowledge
output: structure
o Are the data sparse and insufficient or plentiful and
redundant?
o Is there uncertainty attached to the data?
o Does the logical interpretation of data depend on the
order of occurrence over time?
o What is the cost of data acquisition?
o How are data acquired or elicited? What classes of
questions need to be asked to obtain data?
o How can certain data characteristics be recognized when
sampled or extracted from a continuous data stream;
how can features be extracted from waveforms or
pictures, or from parsing natural language input?
o Are the data reliable, accurate, precise (hard); or
are they unreliable, inaccurate or imprecise (soft)?
o Are the data consistent and complete for the problems
to be solved?
Implementation Formulate rules to embody knowledge
output: rules
Testing Validate rules that organize knowledge
STEPS IN DEVELOPMENT
1. Set the scope of the project.
Determine the problem, solution, and goals. What is the problem
domain? What expertise is required? Where can it be obtained?
2. Knowledge Engineering.
Gather the knowledge, formulate the rules, using a decision tree/
table. Set up the knowledge representation scheme and design the
knowledge base.
3. Prototype the expert system and reiterate above if necessary.
Perform testing with users.
Feel free to post your comments on your experiences, criticisms, flames, etc.
Thank you all!ntm1169@dsac.dla.mil (Mott Given) (06/03/91)
From article <8006@uklirb.informatik.uni-kl.de>, by es@news.com: > 2.3 Methodology For Building Expert Systems The best books that I have seen for an overview, IMHO, are "Crafting Knowledge Based Systems," by John Walters, 1988, Wiley; and "Principles of Artificial Intelligence and Expert Systems Development" by David W. Rolston, McGraw-Hill. > 3.1 Stages Of Knowledge Acquisition The best book is have seen for this is "A Practical Guide to Knowledge Acquisition: by A. Carlisle Scott, et. al., Addison-Wesley, 1991. This book has a wonderful appendix of "Additional Reading" that covers most of the questions you have asked. > o How are the objects in the domain related? > o Can you diagram a hierarchy and label causal relations, > set inclusion, part-whole relations, etc.? What does > it look like? > o What processes are involved in problem solution? > o What are the constraints on these processes? > o What is the information flow? To analyze the above questions, I would recommend that you examine "Object-oriented modeling and design" by James Rumbaugh, et.al., Prentice-Hall, 1991. -- Mott Given @ Defense Logistics Agency Systems Automation Center, DSAC-TMP, Bldg. 27-1, P.O. Box 1605, Columbus, OH 43216-5002 INTERNET: mgiven@dsac.dla.mil UUCP: ...{osu-cis}!dsac!mgiven Phone: 614-238-9431 AUTOVON: 850-9431 FAX: 614-238-9928 I speak for myself