[comp.ai.shells] Need posted comments on ES Methodologies

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