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