introducing students to expert systems

11
Article Introducing students to expert systems John Durkin Department of Electrical Engineering, The University of Akron, Auburn Science Building, Akron, Ohio 44325, USA Abstract: The emergingfield of expert systems requires universities to address the educational requirements necessary toprepare students to enter and contribute to this field. This paper provides a guideline to educators on how to effectively introduce students to expert systems. This guideline describes the major objectives of an introductory course on expert systems, course topics, course material, and insight into how to effectively present the course. The recommendations made in this paper are a product of the experiences of the author gained over years of presenting such a course. 1. Introduction With the dramatic increase in the interest in expert systems during the past decade, universities are presently facing the challenge of providing effective training for students to pre- pare them for career opportunities in the field of expert sys- tems. To meet this challenge, many universities are presently presenting or planning to present an introductory course on expert systems. Introducing any new course first requires planning. Course objectives must be set, topics to be covered outlined, and techniques of instruction must be chosen. This paper reviews each of these points for an introductory course on expert systems. To be successful, an introductory course on expert systems must strike an even balance between the underlying theory from artificial intelligence, and the practical side of building knowledge-based programs. The theoretical side should em- phasize those topics from artificial intelligence which provide the foundation of expert systems. On the practical side the student should be introduced, through hands-on experience, 70 to the tools needed to effectively build and test expert sys- tems. This approach of blending theory with the practical side of system development, provides the student with a foun- dation for exploring deeper issues later and prepares them to appreciate and understand future evolutions of the field. This paper is organized as follows. The principle objectives that should be pursued in introducing students to expert sys- tems are discussed, the major topics to achieve these objec- tives are covered, recommendations on how to cover these topics effectively are made, and some of the experiences of the author in teaching prior expert system courses are given. In addition, resources needed to effectively present the course are discussed, including course computers and software, and texts and special reports to supplement the course are listed through an extensive bibliography. The author has previously taught this course at Pennsylvania State University, for Learning Tree International of Culver City, CA. as a short course, and, at present, for The University of Akron. Students in these courses have come from at least three major groups. Students have attended with a back- ground in artificial intelligence with Lisp or Prolog experi- ence. There have also been students with extensive experi- ence with traditional programming languages. Finally, there have been students who are managers, engineers, and others in a variety of fields with little experience with computers. The opportunity of presenting an expert systems course to individuals from a such a wide range of disciplines and ex- posure to computers, has been a learning experience for the author on how to best introduce students to expert systems. 2. Course objectives Expert systems is a broad topic and it would be overly am- bitious to cover in any detail all of the major topics in an introductory course. The course should aim to acquaint stu- dents with expert systems and provide them with a working knowledge for building these systems. The emphasis should be practical rather than theoretical. It is therefore important to establish well defined course objectives. 2 .I Introduction and overview The broad objective of an introductory course on expert sys- tems is to introduce students to expert systems and provide an overview of this emerging field. An overview of artificial in- telligence (AI) and the major contributions that A1 has made to the development of expert systems is particularly import- ant. This includes introducing students to the topics of search and knowledge representation, keystones in the development of expert systems. A brief discussion of the history of expert systems provides the student with an understanding of the types of problems that have been solved by these systems, the people involved in developing the systems, and insight into development issues. The student obtains a sense that these systems perform like a human expert, working with well-focused knowledge which may be uncertain or incomplete, with solutions that are in the form of a recommendation with supporting evidence on why this recommendation was made. Expert Systems, May 1990, Vol. 7, No. 2

Upload: john-durkin

Post on 14-Jul-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Introducing students to expert systems

Article Introducing students to expert systems

John Durkin Department of Electrical Engineering, The University of Akron, Auburn Science Building, Akron, Ohio 44325, USA

Abstract: The emergingfield of expert systems requires universities to address the educational requirements necessary toprepare students to enter and contribute to this field. This paper provides a guideline to educators on how to effectively introduce students to expert systems. This guideline describes the major objectives of an introductory course on expert systems, course topics, course material, and insight into how to effectively present the course. The recommendations made in this paper are a product of the experiences of the author gained over years of presenting such a course.

1. Introduction With the dramatic increase in the interest in expert systems during the past decade, universities are presently facing the challenge of providing effective training for students to pre- pare them for career opportunities in the field of expert sys- tems. To meet this challenge, many universities are presently presenting or planning to present an introductory course on expert systems. Introducing any new course first requires planning. Course objectives must be set, topics to be covered outlined, and techniques of instruction must be chosen. This paper reviews each of these points for an introductory course on expert systems.

To be successful, an introductory course on expert systems must strike an even balance between the underlying theory from artificial intelligence, and the practical side of building knowledge-based programs. The theoretical side should em- phasize those topics from artificial intelligence which provide the foundation of expert systems. On the practical side the student should be introduced, through hands-on experience,

70

to the tools needed to effectively build and test expert sys- tems. This approach of blending theory with the practical side of system development, provides the student with a foun- dation for exploring deeper issues later and prepares them to appreciate and understand future evolutions of the field.

This paper is organized as follows. The principle objectives that should be pursued in introducing students to expert sys- tems are discussed, the major topics to achieve these objec- tives are covered, recommendations on how to cover these topics effectively are made, and some of the experiences of the author in teaching prior expert system courses are given. In addition, resources needed to effectively present the course are discussed, including course computers and software, and texts and special reports to supplement the course are listed through an extensive bibliography.

The author has previously taught this course at Pennsylvania State University, for Learning Tree International of Culver City, CA. as a short course, and, at present, for The University of Akron. Students in these courses have come from at least three major groups. Students have attended with a back- ground in artificial intelligence with Lisp or Prolog experi- ence. There have also been students with extensive experi- ence with traditional programming languages. Finally, there have been students who are managers, engineers, and others in a variety of fields with little experience with computers. The opportunity of presenting an expert systems course to individuals from a such a wide range of disciplines and ex- posure to computers, has been a learning experience for the author on how to best introduce students to expert systems.

2. Course objectives Expert systems is a broad topic and it would be overly am- bitious to cover in any detail all of the major topics in an introductory course. The course should aim to acquaint stu- dents with expert systems and provide them with a working knowledge for building these systems. The emphasis should be practical rather than theoretical. It is therefore important to establish well defined course objectives.

2 . I Introduction and overview The broad objective of an introductory course on expert sys- tems is to introduce students to expert systems and provide an overview of this emerging field. An overview of artificial in- telligence (AI) and the major contributions that A1 has made to the development of expert systems is particularly import- ant. This includes introducing students to the topics of search and knowledge representation, keystones in the development of expert systems.

A brief discussion of the history of expert systems provides the student with an understanding of the types of problems that have been solved by these systems, the people involved in developing the systems, and insight into development issues. The student obtains a sense that these systems perform like a human expert, working with well-focused knowledge which may be uncertain or incomplete, with solutions that are in the form of a recommendation with supporting evidence on why this recommendation was made.

Expert Systems, May 1990, Vol. 7, No. 2

Page 2: Introducing students to expert systems

2.2 Major categories of expert systems

A discussion of the architecture and operation of the principle categories of expert systems, such as rule-based, induction or frame-based systems, provides the student with a basic under- standing of how these systems work and why one category may be better suited for a given problem. The student should be introduced to knowledge representation and inferencing techniques in each category and the inherent value of these techniques for different problem-solving paradigms.

The student should learn the operation of an expert system in each of these categories. For example, given a set of rules in a rule-based system, the student should understand how the in- ference engine processes the rules for a given set of user answers for forward or backward chaining and how search is controlled with uncertain information and meta-rules.

The student should be made aware of the advantages and disadvantages of each category. In particular, the student should be aware of the types of problems which are appropri- ate for each category.

2.3 Expert system design methodology

Building an expert system is unlike building a conventional computer program. The designer’s concentration is on the knowledge of the problem and ways this knowledge can be used in solving the given problem. In a sense, the designer is not a computer programmer, but a knowledge processor. The designer is concerned with obtaining and structuring the knowledge which emphasizes the importance of problem un- derstanding. The solution becomes a by-product of this un- derstanding. This is possibly the most important point of the entire course to establish in the minds of the students.

To accomplish this, an expert system design methodology must be presented to the student which clearly shows that knowledge is central to each design step. This is accom- plished by introducing the student to the discipline of knowl- edge engineering. Here the student is introduced to issues such as knowledge acquisition, knowledge representation, system prototyping, and how one tests, evaluates, and revises an expert system.

The student will quickly realize that designing an expert system is an iterative process, starting with the system having very little knowledge about the problem with a correspond- ingly limited capability, to one which grows more intelligent as knowledge is added with each iteration. The student should be taught the importance of early system prototyping. Early prototyping and testing provides the student a better under- standing of the problem and insight into the direction for fur- ther system development.

In addition, the student should be taught that 90% of the effort spent on the actual expert system program is on de- bugging, revising and maintaining the knowledge. Since so much effort will be spent on this task, the student must be taught to take certain measures during the coding of the knowledge to make this task as easy as possible. Three major ingredients go into the coding of the expert system which will ease the maintenance process; ( 1 ) good rule structure, (2) well-organized knowledge base, (3) clear control structure.

The first measure addresses the coding of a single rule. The knowledge represented in the rule must be clearly visible and

understood. Some of this is at the mercy of the chosen soft- ware tool. For example, the syntax structure of a Lisp rule is certainty more difficult to interpret than a rule written in Eng- lish. For this reason, an introductory course on expert systems may want to avoid Lisp or Prolog in favor of a simpler tool. This point will be discussed further in the section on the re- view of course software.

Rules should also be well documented. A short description of the nature of the rule and the source of the knowledge used in the rule can pay big dividends later during revision.

In designing a well-organized knowledge base structure, the students should be taught to organize the knowledge along the lines of common concepts. That is, if a set of rules is used to reason about a single concept, then those rules should be par- titioned in a single set. This can be accomplished either through separate knowledge bases, or through simply keeping similar rules together in the knowledge base coding.

Many expert systems today provide for complex control structures which go beyond the conventional backward or forward chaining scheme. Goal outline structures or agecdas may be used. The student should be encouraged to keep these control structures simple and easily interpreted and revised.

2.4 Knowledge acquisition

The student should also be made to realize the importance and difficulty associated with knowledge acquisition. Knowledge acquisition has long been recognized as the major bottleneck in the development of an expert system and students should be taught interviewing techniques to effectively elicit knowl- edge from human experts. When performing a project for the course, which will be discussed in more detail later in the paper, the student should be encouraged to choose a project which will involve an outside domain expert. This experience will allow the student to practice knowledge elicitation skills taught during the course.

2.5 Hands-on experience in building an expert system

One primary objective of an expert system course is to pro- vide the student an opportunity of building a number of small expert systems. It is only through hands-on development ex- perience that the student will obtain an understanding of ex- pert systems.

There is an old proverb that the author has found to be an invaluable guide for introducing students to expert systems;

‘I hear and I forget, I see and I remember, I do and I understand. ’

Using this guide, a recommendation is to first introduce the student to some major concept, such as uncertainty, followed immediately with a demonstration of uncertainty in a small example program. When the students have mastered an expert system programming language or shell, they should then de- velop a small system using this concept as a homework as- signment. The homework assignment should be nontechnical and involve an everyday type problem, allowing the student to concentrate on system development and avoid problems associated with students from different technical back- grounds. If possible, the same problem domain should be used

Expert Systems, May 1990, Vol. 7, No. 2 71

Page 3: Introducing students to expert systems

for homework assignments on different expert systems con- cepts. For example, the problem of weather forecasting could be used as an assignment for building a simple backward chaining system, then re-used for an assignment on certainty propagation. The student can then see the impact of introduc- ing new development concepts on a prior problem.

This style of presentation of course material, talk about it, demonstrate it, and allow the student to do it, gives the student an understanding of the concept.

In addition to developing small systems for clarifying course concepts, it is extremely important that the students have an opportunity to build a large scale expert system. This work is centered around a course project in which the students can develop their knowledge engineering ability. In choosing a term project, the student should be encouraged to select a topic which involves an outside domain expert. This approach provides the student with valuable experience for practicing knowledge acquisition skills taught during the course.

3. Major topics in course The following discussion presents a basic outline for a intro- ductory course on expert systems. Included with this outline are the major topics which should be covered in order to achieve the previously discussed objectives.

3.1 Introduction and overview

Overview of AI: A1 definition and history, with em- phasis on contributions to knowledge representation and search. Overview of expert systems: expert system definition and history. Types of problems solved by expert systems. Advantages and limitations of expert systems. Performance characteristics: symbolic knowledge, heuristic reasoning, difference from conventional pro- grams. Major components: knowledge base, inference engine, working memory. Knowledge representation: facts. rules, frames, uncer- tainty. Inference techniques: inductive, deductive reasoning.

3.2 Issues in developing an expert system

( 1 ) Implementation: nature of problem, people involved, software and hardware needs.

(2) Acceptance: aid to expert, replace expert, human con- cerns.

(3) Knowledge engineering: knowledge acquisition, repre- sentation, system development, testing and mainten- ance. Development cycle: early prototyping, iterative devel- opment. Testing and maintenance: exhaustive testing, test-case studies, evaluation procedures, system refinement.

(4)

( 5 )

3.3 Rule-huscd systems

( 1 ) Introduction: definition, characteristics of rule-based problems.

(2) Case studies: MYCIN, R I/XCON, PROSPECTOR.

(3)

(4)

( 5 ) (6)

(7) (8)

(9)

Inference control: backward/forward chaining, meta- rules. Reasoning with uncertainty: Bayesian, MYCIN, fuzzy logic. Induction systems: forming rules from examples. Tasks in building a rule-based system: knowledge en- gineering. Multi expert systems: distributed problem-solving. Open architecture: database access, external program execution. Advantages and limitations of rule-based systems.

3.4 Frume-bused systems

( 1)

( 2 ) Case studies: STEAMER, NAVEX. (3) (4) Automatic inferencing. ( 5 ) ( 6 )

Introduction: definition, characteristics of frame-based problems.

Knowledge structure: classes, instances, inheritance.

Tasks in building a frame-based system. Advantages and limitations of frame-based systems.

3.5 Expert system project

( 1) ( 2 )

(3) (4) Oral presentation. (5) Final report.

Proposal: clear description on well-focused problem. Mark I system: early version of system to prove ap- proach. Mark I1 system: completed system.

4. Course software The general presentation of the course should follow the proverb discussed earlier; hear about topic, see it im- plemented, do it. Expert system concepts should be presented, followed by system demonstrations which clarify these con- cepts. However, to provide the student with an understanding of these concepts, and expert systems in general, the student must build a number of systems. An important issue, then, is the proper choice of course software.

A major consideration when choosing the course software should be that the choice allows the student to concentrate on the problem domain's knowledge when building the expert system and not the mechanics of entering this knowledge in the chosen software. For this reason, common A1 languages such as Lisp or Prolog, though they provide great flexibility, are poor choices for an introductory course on expert systems because of the extensive effort that is needed to master these languages before system development can begin. Medsker et a1 ( 1 987) recognized this problem in an introductory course on expert systems when he reported "the classes on Lisp and Prolog were the most difficult due to the frustration from hav- ing to learn a significant amount of syntax." OPS, a pro- gramming language based on Lisp and structured to facilitate the building of expert systems, is also difficult for students to use and consumes too much of the student's time.

A better choice for course software is one of the popular expert system shell products that are now k i n g marketed by a number of companies. An expert system shell provides an

IL Expert Systems, May 1990, Vol. 7, No. 2

Page 4: Introducing students to expert systems

environment for expert system development consisting of an established user interface, inference engine, and facilities for developing and testing the knowledge base. The designer needs only to provide the problem domain’s knowledge in building the expert system. This allows the student to concen- trate on the problem’s knowledge, the key to effective expert system design.

In addition to the recommendation of the expert system shell, it is also recommended that the chosen software be capable of running on an IBM-PC or compatible. The main reason for this recommendation is based on the practical con- sideration of the ready availability of these computers to most students.

The choice of the shell for an introductory course should be based on how well the shell’s features match the concepts that will be taught in the course and the ease with which the student can use the software. Table 1 shows a listing of some of the commercially available shells along with features which should be considered. Amorecomplete list of available software can be found in Af Expert (1989). It should also be mentioned that typical university discounts for these software packages range from 40 to 60% off of the prices listed in the table.

All of the shells listed in Table 1 are capable of introducing the student to the basic concepts of expert systems. However, some of the shells may require considerable training of the students before they are prepared to develop an expert system; a situation which slows the education process. Let us view this problem with an example.

Suppose the student is developing an automobile diagnostic expert system and has just thought of a rule which captures the knowledge pertaining to a problem with the carburetor. The student may write on a sheet of paper;

IF The car runs rough while idling AND The car hesitates while accelerating THEN There is a problem with the carburetor’s main jet

This is the knowledge that drives the system and represents the creative part of the development process. Getting this knowledge into the expert system shell is a mechanical pro- cess and should be made as easy as possible for the student. With the expert system shell software package LEVELS, the prior rule is entered exactly as shown in English form, requir- ing no effort from the student to transform this knowledge into a specialized computer code. The student can develop the expert system in a natural and efficient manner without being burdened by the syntax structure of the software. LEVEL5 also offers a wide range of development features which allows the student to study all of the course concepts centered on rule-based systems. The author has used this shell in intro- ductory courses on expert systems with great success.

Introducing students to frame-based expert systems is an important objective of an introductory course on expert sys- tems. In the past, frame-based software was considerably more expensive but recently several excellent software pack- ages have become available which are priced within the reach of most universities and are compatible’with IBM-PC compu- ters. Of the software packages listed in Table 1, NEXPERT has proven to be a useful tool for introducing students to frame-based expert systems.

NEXPERT provides a well-conceived structure in which to build the system’s knowledge base. A Rule Editor provides a template for creating rules and specifying arguments, actions, and conclusions. Arule is entered in a natural language allow- ing the student to concentrate on the knowledge rather than programming syntax. The inference engine permits both for- ward and backward chaining or a combination of the two techniques, which offers the student an opportunity of study- ing different problem-solving approaches. An Object Editor is provided for creating frames.

Each frame, or object, has properties (or slots) and refer- ences to parent or child objects permitting a hierarchical sys- tem allowing for multiple inheritance. A frame is created in a natural language and the editor guides the student in an easy to follow manner. In total, NEXPERT provides the student with both a friendly and powerful introduction to frame-based expert systems.

5. Student projects It is important that the students have an opportunity to de- velop an in-depth expert system of their choosing. This offers them an opportunity to develop their knowledge engineering skills. The students can work alone or in groups, but should choose a project which involves an outside expert, providing them an opportunity to practice their knowledge acquisition skills.

5.1 Project proposal An important first step on this project is the project proposal. The student should make certain that the problem lends itself to an expert system solution and that the project is mana- geable within the time constraints of the course. Students are notorious for choosing an overly ambitious project only to be frustrated later when the project cannot be completed. A re- view of the project proposal by both the students and instruc- tor can avoid this problem. The proposal should contain an objective which is a clear, and a brief description of the work to be performed. The proposal should also contain a project summary. At a minimum, this summary should contain:

(1) (2) (3) (4)

( 5 )

(6)

Detailed description of the work to be performed. Outline of the general plan of work. Description of end-users and their needs. Description of source of knowledge, i.e. domain expert, reports, prior research. Description, in general terms, of how the system will work. Potential value of the system.

The proposal should be reviewed by the instructor with the primary purpose of making certain that the students have a basic understanding of what is to be done and that the project is manageable within the time constraints.

5.2 Project managemenl

During the course, the student is taught that building an expert system is an incremental process, this must be reflected in their project. Target dates should be established where differ- ent versions of the system are to be completed and reviewed with the instructor. The first date should be soon after the

Expert Systems, May 1990, Vol. 7, No. 2 73

Page 5: Introducing students to expert systems

IroductJVendor

c i ty Expert irity COT. 58 Baker Ave. :oncord, MA

IXSYS lxsys Inc. '0 Box 75158 ilbuquerque, NM

;OLDWORKS ;old Hill Computers 63 Harvard St. lambridge, MA

h r u dBDSP '0 Box 248 >afayette, IN

,EVELS >eve1 Five Res.

Vlelboume. FL I980 S. HWY. AI-A

vl. 1 reknowledge 525 Univ. Ave. 'a10 Alto, CA

VEXPERT Object Veuron Data 144 High St. Palo Alto, CA94301

PC-PLUS rexas Instruments PO Box 809063 Dallas, TX

~

Price

$295

$795

$7500

$6500

$685

$5000

$5000

$2950

Rulemaster Radian Corp. 8501 Mo-Pac Blvd, PO Box 9948 Austin, TX

V P - E x p e r t Paperback Software 2830 Ninth S t . Berkeley, CA 947 10

1 ST-CLASS FUSION Programs in Motion 10 Sycamore Rd. Wayland, MA

$595

Knowledge

Rules

Rules

Rules Frames

Rules

Rules

Rules

Rules Frames

Rules Frames

Examples

$250

$ I495

Rules

Examples

Inference

Backward Frames

Backward

Backward Forward

Backward

Backward

Backward

Backward Forward

Backward

Backward Forward

Backward Forward

Backward Forward

Uncertainty External Access

Yes Assembly, C, Pascal, Fortran, prolog

Yes Lotus, Basic, dBase

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Yes

dBase, Lotus

Files, Database

dBase, Pascal$, Fortran. Basic

ASCII

dBase, Lotus C, Pascal, Fortran, Basic

ASCII

C

dBase, Lotus ASCII

Yes Pascal, Basic, C. Batch

Table 1: Expert system shell profile

74 Expert Systems, May 1990, Vol. 7, No. 2

Page 6: Introducing students to expert systems

project begins, since early prototyping will provide proof of approach. Often this early prototype will show that the stu- dents are attacking the problem incorrectly (i.e. using forward chaining when backward chaining should be used) and if caught early enough avoids the inevitable problems later.

5.3 Project evaluation Evaluating an expert system, whether it is developed by stu- dents in an introductory course or an established knowledge engineer, can be a difficult task. In some cases the system may be small enough that exhaustive testing is possible. However, in most cases this is impractical and a different approach must be taken. Ideally, a domain expert, who was not involved in the development of the system, should perform the testing. However, this is an unlikely possibility within the constraints of the course. An alternative, which appears to work well, is to have the student or domain expert formulate several test cases with agreed upon results. These test cases are then used at the completion of the project for evaluating the expert system.

Evaluating the operation of an expert system should address the following questions:

(1)

(2)

( 3 )

Are the results consistent with the results obtained from a domain expert? Is the reasoning process consistent with that used by the domain expert? Are the questions ,asked and the explanations given typical of that provided by the domain expert?

This style of evaluation addresses the performance of the expert system. Its overall objective is to assure that the system models the problem-solving behavior of a human expert.

These evaluation questions address the surface or visible part of the expert system as seen during the execution of the program. However, equally important is the subsurface of the system or the knowledge and its structure. This point was discussed earlier and specifically the student’s project should be evaluated using the following questions;

(1) (2) ( 3 )

Are the rules easily understood? Is the knowledge base well structured? Is the control structure clear, efficient and can be easily modified?

This style of evaluation addresses the knowledge coding issues and assures that the student is developing a knowledge base which can be easily maintained.

Both issues of evaluation, performance and coding, should be explained to the students before their project begins. With- out this early warning, students are likely to be happy if their system simply supplies the correct answer. They must be con- vinced that a good expert system does a lot more than just give the correct answer for a few test cases. Without this under- standing, they will miss many of the important issues of de- veloping an effective expert system.

5.4 Typical problems

For the issue of system performance, it is important to con- vince the students that they are developing an intelligent sys- tem, that must act intelligent during the consultation. The fol-

Expert Systems, May 1990, Vol. 7, No. 2

lowing are a few examples of some pitfalls that students fall into.

Pitfall I : The I don’t know how to answer question.

Q. Is the decay function coefficient 5 nepers? A. What is a neper?

Comment: This is a problem because the user doesn’t under- stand the question. Recommendation: Avoid questions that are foreign to the user or provide further explanation of the question.

Q. Is the barometric pressure falling? A. How do I know?

Comment: This is a problem because the user lacks this infor- mation. Recommendation: Either don’t ask questions for which the user may not know the answer, or design the system forpoten- tially unknown answers.

Pitfall 2: The unintelligent question.

Q. Is the ball’s color red? A. Yes

Later during the session;

Q. Is the ball’s color blue?

Comment: Don’t ask questions which you should know, the user will lose confidence in the system. Recommendation: Use correct knowledge structures.

Pitfall 3: The unanswerable question.

’ Q. Is the water pressure rising or falling?

Comment: Never ask a question that would prevent a user from telling you about the knowledge they have about the problem. Recommendation: Attempt to bound the answers to all ques- tions providing all possible answers with reasoni~g to handle all the answers.

A. It’s doing neither, it’s steady, but how do I tell you?

Pitfall 4: The confusing question.

Q. Is it false that the fact the water pressure is not high is not true? TRUE FALSE A. ?

Comment: Ask ciear questions, a mistake by the user can lead to entirely different results.

Pitfall 5: The sensible search to a conclusion.

Q. Do you believe you are suffering a heart attack? A. YES! Q. Do you have a sore throat? A. Ugh!!

Comment: Maintain a focus on questioning, such as estab- lishing an emergency. If an emergency exists, do something about the problem. If an emergency cannot be established,

75

Page 7: Introducing students to expert systems

then pursue an alternative goal such as determining if the user is sick. Also, establish goal priorities, such as emergency be- fore sickness.

These are some of the common mistakes made by a new student to expert systems. A common problem that most stu- dents have that gives rise to these mistakes and causes other difficulties in developing an expert system is that they try to build the entire system at one time, entering all of the knowl- edge before testing. Students must be convinced that expert system development is an iterative process, requiring the ad- dition of only a little knowledge followed immediately by testing and revising. This is particularly important early on when the system is small and can be tested exhaustively which may be difficult to do when the system is much larger.

5.5 Concept development

Another common problem students may have is their inability to focus their attention on a single concept while developing the system. Figure 1 will help to illustrate this point.

the results of their project. In addition, a final report should be submitted. The final report should describe in detail:

(1) Objective of the project. (2) Discussion of the problem. (3) (4) (5) (6) (7)

The report should also contain an example run of the system from one of the test case studies. The student should also pro- vide a recommendation for future system development detail- ing ways in which the system might be expanded and im- proved.

Why the expert system is needed. How the expert system works. Value of the expert system. Organization of the system’s knowledge. Problem solving approach taken by the system.

Carburetor Problem

Figure 1: Carburetor problem network

Figure 1 shows a portion of an inference network for diagnos- ing a problem with a car’s carburetor. This network may ac- tually be a subset of a larger network for diagnosing many problems with the car. First, when the student is building an automobile diagnostic system, and comes to the concept of the carburetor, the student’s concentration must be on the car- buretor and not on any of the other possible problems with the car such as the electrical system or engine. In a sense, the students should have the perception that they are no longer building an automobile diagnostic expert system, but rather just a carburetor expert system.

Second, and following the same argument, when the student is further developing the carburetor concept, such as trying to determine if there is a problem with the carburetor’s float, as illustrated in fig. 1, then again their focus should be on the carburetor’s float and not on other parts of the carburetor or any other part of the car. The student should realize that even though their global problem domain is the system diagnosis of an automobile, when developing the expert system the do- main changes to smaller subproblems, and the development should proceed by focusing on these subproblems. This tech- nique is called ‘concept development,’ and should be taught early to new students of expert systems.

5.6 Final report

At the conclusion of the project, the student or the group should be required to give an oral presentation summarizing

6. Additional course material The tremendous interest in expert systems has given birth to a large number of articles on the subject during the past few

years. These articles span the interest of readers who want an introduction to expert systems to those who want an in-depth dis- cussion on a specific topic. When students need information on a particular topic, as is the case when they work on their project, the author has made available to them a data- base containing the listing of over 3000 ar- ticles on expert systems collected during the past few years. The students can access those articles of specific interest by search- ing the database using key words.

6.1 Expert system texts and reports

Recommended texts for an introductory course on expert sys- tems are shown in the bibliography. The author has used the text by Waterman (1986), principally because of its excellent bibliography of existing expert systems. This information was of particular value to the students in researching the back- ground on their chosen project.

In addition to the text books listed in the bibliography, it is valuable to provide the students with reports on various im- portant topics to be covered in the course. Reports on the following subjects can be found in the bibliography and are highly recommended reading; introduction to expert systems, past expert system projects, building an expert system, knowledge acquisition, uncertainty, frame-based systems.

6.2 Expert system videos

A course on expert systems can also benefit from the use of video instructional material. There are a number of excellent video courses on the market which could supplement the nor- mal course material. Table 2 provides a listing of several video courses presently available.

The Massachusetts Institute of Technology Center for Ad- vanced Engineering Study offers a video course on artificial intelligence. This course is divided into three parts with part 11, developed by Randall Davis being devoted to expert sys-

76 Expert Systems, May 1990, Vol. 7, No. 2

Page 8: Introducing students to expert systems

tems. This video provides an excellent overview of some of the classic expert systems such as Dendral, Mycin, and Hearsay and insight into the building of these systems.

Another video tape on artificial intelligence and expert systems, developed by George Luger for Integrated Computer Systems, provides an excellent in-depth look of the operation and building of expert systems. This tape also dis- cusses several of the classic expert systems along with a discussion of several recently built frame- based systems.

The Intelligent Tutoring Series by Learning Specialists, is a series of self contained tutorial disks designed to teach the basics of expert sys- tems and artificial intelligence. The tutorial con- tains five disks covering topics such as an intro- duction to expert systems, chaining, uncertain reasoning, and object oriented programming. The tutorial also contains several demonstration expert systems. The tutorial runs on the IBM-PC and all compatibles.

Expert Teach is a software tutorial package, de- signed to introduce expert systems and provide an environment for building an expert system. The package consists of seven disks for the IBM- PC, which covers the introduction to expert sys- tems and provides shells written in Pascal, Lisp, and Prolog. The package also provides interpre- ters for Lisp and Prolog.

A video course entitled ‘Expert Systems: The- ory and Practice’ by The Minerva Group, con- tains a series of lectures including an introduc-

DESCRIPTION

Artificial Intelligence Video Course - Part I1

Artificial Intelligence Video Course, two parts

Intelligent Tutoring Series on Artificial Intelligence and Expert Systems

Expert Teach

Expert Systems: Theory and Practice

Introduction to A1 and Expert Systems

VENDOR COST Massachusetts Institute $2250 of Technology, Center for Advanced Engineering Study, Cambridge, MA

Integrated Computer Systems $500 5800 Hannum Ave, P.O. Box 3614 Culver City, CA 9023 1

Learning Specialists $250 Expert System Engineers Artificial Intelligence PO Box 1600 N. Massapequa, NY 11758

Intelligenceware, Inc. $475 9800 S. Sepulveda Blvd., Suite 730, Los Angeles, CA 90045

The Minerva Group $1450 PO Box 835, Amherst, MA01004

Morgan Kaufmann Publishers $9000 PO Box 50490, Palo Alto, CA94303-9953

Table 2: Additional course material

Y

tion and discussion of rule-based and frame-based systems. The course also addresses research issues including control, uncertainty, learning, explanation and knowledge engineer- ing. The course is a self-study training package, including 12 hours of videotaped instruction, detailed lecture notes, over 300 illustrations, study questions, a bibliography, and sug- gested readings.

Morgan Kaufmann Publishers presents a nine part 60 hour video course on artificial intelligence and expert systems. The course covers a breadth of topics and includes hands-on train- ing. The course includes course notes, a student exercise ma- nual, an instructor’s guide and an expert system shell.

7. Summary The emergence of the popularity of expert systems has given rise to demands for training students in the fundamentals of knowledge engineering and expert systems. This paper high- lights some of the recommendations the author would offer to an individual planning an expert system course. These recom- mendations are made based on the experience gained by the author who has been fortunate to have had the opportunity of presenting an introductory course on expert systems over the past several years.

References A1 Expert (1989), ‘Expert System Vendors and Features’,

Sept. 1989, pp. 53-57.

MEDSKER, L.R., J.H. MORREL and K.L. MEDSKER (1987), ‘Expert Systems: Meeting The Educational Challenge’, Collegiate Microcomputer, 5 , 3, August 1987, pp. 223- 229.

WATERMAN, D.A. (1986), A Guide to Expert Systems, Ad- dison-Wesley, 1986.

Bibliography Expert system books ALTY, J. and M. COOMBS, Expert Systems, Concepts and

Examples, Manchester, England: NCC Publications, 1984.

BOWERMAN, R.G. and D.E. GLOVER, Putting Expert Systems Into Practice, Van Nostrand Reinhold, 1988.

BROWNSTON, L., R. FARRELL, E. KANT and N. MARTIN, Pru- gramming Expert Systems in OPS.5, Addison-Wesley, 1985.

BUCHANAN, B. and E. SHORTLIFFE (Eds.), Rule-Based Expert Systems, Addison-Wesley, 1984.

CHORAFAS, D.N., Applying Expert Systems in Business, McGraw-Hill, 1985.

COOMBS, M., Developments in Expert Systems, Academic Press, 1984.

FIREBAUGH, M.W., Artificial Intelligence: A Knowledge- Based Approach, Boyd and Fraser Publishing Co., 1988.

FRENZEL, L.E., Crash Course in Artificial Intelligence and Expert Systems, Howard W. Sams & Co., 1987.

Expert Systems, May 1990, Vol. 7, No. 2 77

Page 9: Introducing students to expert systems

HARMON, P. and D. KING, Expert Systems: Artificial lntel- ligence in Business, John Wiley, 1985.

HAYES-ROTH, F., D. A. WATERMAN and D. B. LENAT, Build- ing Expert Systems, Addison-Wesley, 1983.

KELLER, R., Expert System Technology: Development & Ap- plication, Yourdon Press, 1987.

KLAHR, P. and D. WATERMAN (Eds.), Expert Systems: Tech- niques, Tools and Applications, Addison-Wesley, 1986.

LEVINE, R., D.E. DRANG and B. EDELSON, A Comprehensive Guide to AI and Expert Systems, McGraw-Hill, 1986.

LUGAR, G. and W.A. STUBBLEFELD, Artificial Intelligence and the Design of Expert Systems, Addison-Wesley, 1989.

MICHIE, D. (Ed.), Readings in Expert Systems, Gordon and Breach, Science Publishers, 1982.

MOCKLER, R.J., Knowledge-Based Systems for Strategic Planning, Prentice Hall, 1989.

MOCKLER, R.J., Knowledge-Based Systems for Management Decisions, Prentice Hall, 1989.

NAGY, T., D. GAULT and M. NAGY, Building Your First Ex- pert System, Ashton-Tate, 1985.

NAYLOR, C., Build Your Own Expert System, Halsted Press, 1983.

NEGOITA, C., Expert Systems and Fuzzy Systems, Benjamin/ Cummings, 1985.

RAUCH-HINDIN, W.B., A Guide to Commercial Artificial In- telligence, Prentice Hall, 1988.

SELL, P., Expert Systems A Practical Introduction, John Wiley, 1985.

THOMPSON, B. and W. THOMPSON, Designing and Imple- menting Your Own Expert Systems, ByteMcGraw-Hill, Inc., 1985.

TOWNSEND, C. and D. FOUCHT, Designing and Programming Personal ExpertSystems, Tab Books, 198 1.

TURBAN, E., Decision Support and Expert Systems, Mac- millan, 1988.

VAN HORN, M., Understanding Expert Systems, Bantam Books, 1986.

WEISS, S.M. and C.A. KULIKOWSKI, A Practical Guide to Designing Expert Systems, Rowman & Allanheld, 1984.

Introduction to expert systems

BELL, M.Z., ‘Why Expert Systems Fail’, J. Opl Res., 36, 7,

DAVIS, R., B. BUCHANAN and E. SHORTLIFFE, ‘Production Rules as a Representation for a Knowledge-Based Con- sultation Program ’, Artificial Intelligence, 8, 1977, pp. 1545.

DAVIS, R. and J. KING, ‘An Overview of Production Sys- tems’, Machine Intelligence, 8,1977, pp. 300-322.

EMRICH, M.L., ‘Expert Systems Tools and Techniques’, Oak Ridge National Laboratory Report ORNLRM-9555, August 1985.

GEVARTER, W.B., ‘An Overview of Expert Systems’, NASA Report NBSIR 82-2505, May 1982.

HARVEY, J.J., ‘Expert Systems: An Introduction’, Electrical Communication, 60,2, 1986, pp. 100-108.

HAYES-ROTH, F., ‘The Knowledge-Based Expert System: A Tutorial’, IEEE Computer, September 1984, pp. 11-28.

HAYES-ROTH, F., ‘Rule-Based Systems’, Communications of the ACM, 28,9, September 1985, pp. 921-932.

1 9 8 5 , ~ ~ . 613-619.

MAYERS, W., ‘Introduction to Expert Systems’, IEEE Expert,

MICHIE, D., ‘Expert Systems’, The Computer Journal, 23,4,

MILLER, A., ‘Expert Systems’, IEEE Potentials, October

MURPHY, T.E., ‘Setting up an Expert System’, The Industrial Control Magazine, March 1985, pp. 54-60.

NAU, D.S., ‘Expert Computer Systems’, IEEE Computer, 16, 2, February 1983, pp. 63-85.

QUINLAN, J.R., ‘An Introduction to Knowledge-Based Expert Systems’, The Australian Computer Journal, 12, 2, May 1980, pp. 56-62.

SHAHLA YAGHMAI, N. and J.A. MAXIN, ‘Expert Systems: A Tutorial’, Journal of the American Society for Information Science, 35,5,1984, pp. 297-305.

TESCHLER, L., ‘Stripping the Mystery from Expert Systems’, Machine Design, 25 April, 1985, pp. 68-74.

THOMPSON, B.A. and W.A. THOMPSON, ‘Inside an Expert System’, BYTE, Aprif 1985, pp. 315-330.

WINFIELD, M.M.,‘Expert Systems: An Introduction for the Layman’, Computer Bulletin, December 1982.

Spring 1986, pp. 100-109.

1980, pp. 369-376.

1986, pp.12-15.

Past projects

DUDA, R.O., ‘The Prospector System for Mineral Explora- tion’, (Final Report, SRI Project 8172), SRI International, Artificial Intelligence Center, Menlo Park, CA., April 1980.

MCDERMOTT, J., ‘RI: A Rule-Based Configurer of Computer Systems’, Artificial Intelligence, 19,1, 1982, pp. 39-88.

SHORTLIFFE, E.H., ‘MYCIN: Computer-based Medical Con- sultations’, Elsevier Press, 1976.

Building an expert system ATTARWAIA, F.T. and A. BASDEN, ‘A Methodology for Con-

structing Expert Systems’, R&D Management, 15, 2,

FEIGENBAUM, E.A., ‘Knowledge Engineering: The Applied Side of Artificial Intelligence’, Tech Rep. STAN-CS-80- 812, (HPP- 80-21), Dept. of Computer Sci. Stanford University, 1980.

FRIELING, M., J. ALEXANDER, S. MESSICK, S. REHFUSSand S. SHULMAN, ‘Starting a Knowledge Engineering Project: A Step-by-step Approach’, The AIMagazine, Fall 1985, pp. 150-164.

HALEY, P. and C. WILLIAMS, ‘Expert System Development Requires Knowledge Engineering’, Computer Design, 15 Feb., 1986, pp. 83-88.

HILL, H., ‘A Methodology for Building Expert Systems’, National Computer Conference, 1987, pp. 7-12.

SAGALOWICZ, D., ‘Development of an Expert System’, Ex- pertsystems, l,2,1984,pp. 137-141.

SMITH, R.G., ‘On the Development of Commercial Expert Systems’, The AIMagazine, Fall 1984, pp. 61-72.

WILLIAMS, C., ‘Expert Systems, Knowledge Engineering, and A1 Tools -An Overview’, IEEE Expert, 1,4, 1986,

1985, pp. 141-149.

pp. 66-70.

78 Expert Systems, May 1990, Vol. 7, No. 2

Page 10: Introducing students to expert systems

Knowledge acquisition

BAINBRIDGE, L., ‘Asking Questions and Accessing Knowl- edge’, Future Computing Systems, 1, 1986, pp. 143-149.

BAINBRIDGE, L., ‘Verbal Reports as Evidence of the Process Operators’ Knowledge’, Int. J. Man-Machine Studies, 11,

1979, pp. 411436. BOOSE, J.H., ‘A Knowledge Acquisition Program for Expert

Systems Based on Personal Construct Psychology’, Int. J. Man-Machine Studies, 23,1985, pp. 495-525.

BOOSE, J.H., ‘Rapid Acquisition and Combination of Knowl- edge From Multiple Experts in the Same Domain’, Proc. Second Conf. on Artificial Intelligence Applications, Miami, Fla., December 1985, pp. 461-466.

BOOSE, J.H. and J.M. BRADSHAW, ‘ AKnowledge Acquisition Workbench for Eliciting Decision Knowledge’, Proc. Twentieth Hawaii Conf. on System Sciences, 1987, pp. 4.50459.

BUTLER, K.A. and J.E. CORTER, ‘The Use of Psychometric Tools for Knowledge Acquisition: A Case Study’, in W. Gale (Ed.), Artificial Intelligence and Statistics, Addison- Wesley, 1986.

COOK, N.M. and J.E. MCDONALD, ‘A Formal Methodology for Acquiring and Representing Knowledge’, Proc. of the IEEE, 74,10, October 1986, pp. 1422-1430.

DEGREEF, P. and J. BREUKER, ‘A Case Study in Structured Knowledge Acquisition’, International Joint Conference on Artificial Intelligence, 1, Los Angeles, CA, August 1985, pp. 390-392.

EVANS, J., ‘The Knowledge Elicitation Problem: A Psycho- logical Perspective’, Behaviour and Information Technol-

FELLERS, J.W., ‘Key Factors in Knowledge Acquisition’, ComputerPersonnel, 11,1, May 1987, pp. 10-24.

FRIEDLAND, P., ‘Acquisition of Procedural Knowledge From Domain Experts’, Proc. Seventh Int. J . Conf. on Art$cial Intelligence, Vancouver, British Columbia, 198 1, pp. 856- 861.

GAINES, B.R., ‘An Overview of Knowledge Acquisition and Transfer’, Int. J. Man-Machine Studies, 26,4, April 1987, pp. 453472.

GAMMACK, J.G and R.M. YOUNG, ‘Psychological Tech- niques for Eliciting Expert Knowledge’, in M.A. Bmmer (Ed.), Research and Development in Expert Systems, Cambridge University Press, 1985, pp. 105-1 12.

GROVER, M.D., ‘A Pragmatic Knowledge Acquisition Meth- odology’, Proc. 8th Joint Con$ Artificial Intelligence, 1983, pp. 436-438.

HART, A., Knowledge Acquisition for Expert Systems, McGraw-Hill, New York, 1986.

HART, A., ‘Knowledge Elicitation: Issues and Methods’, Computer-Aided Design, 17,9, November 1985, pp. 455- 462.

HAYES-ROTH, F., P. KLAHR and D.J. MOSTOW, ‘Knowledge Acquisition, Knowledge Programming, and Knowledge Refinement’, The Rand Publications Series, R-2540-NSF, Santa Monica, CA, May 1980.

HOFFMAN, R.R., ‘The Problem of Extracting the Knowledge of Experts from the Perspective of Experimental Psycho- logy’, Al Applications, 1,2, 1987, pp. 3548.

ogy, 7,2, 1988, pp. 11 1-130.

JOHNSON, L. and N.E. JOHNSON, ‘A Knowledge Elicitation Method for Expert Systems Design’, System Research and Info. Science,2,3, 1987, pp. 153-166.

KAHN, G., S. NOWLAN and J. MCDERMOTT, ‘Strategies for Knowledge Acquisition’, IEEE Trans. on Pattern Analysis and Machine Intelligence, PAMI-7, 5, September 1985,

MICHALSKI, R.S. and R.L. CHILAUSKY, ‘Knowledge Acquisi- tion by Encoding Expert Rules Versus Computer Induc- tion From Examples - A Case Study Involving Soybean Pathology’, Int. J. Man-Machine Studies, 12, 1980, pp.

MITTAL, S. and C.L. DYM, ‘Knowledge Acquisition from Multiple Experts’, The AZ Magazine, Summer 1985, pp.

OLSON, J.R. and H.H. RUETER, ‘Extracting Expertise from Experts: Methods for Knowledge Acquisition’, Expert Systems, August 1987,4,3, pp. 152-168.

QUINLAN, R., ‘Discovering Rules From Large Collections of Examp1es:A Case Study’, in D. Michie (Ed.), Expert Sys- tems in the Microelectronic Age, Edinburgh Univ. Press, 1979.

ROLANDI, W.G., ‘A Practical Approach to Knowledge Engin- eering’, AI Expert, April 1988., pp. 60-65.

SHAW, M.L. and B.R. GAINES, ‘Interactive Elicitation of Knowledge From Experts’, Future Computer Systems

WALDRON, V.R., ‘Interviewing for Knowledge’, IEEE Trans. on Professional Communications, PC29,2, June 1986, pp.

WELBANK, M., ‘A Review of Knowledge Acquisition Tech- niques for Expert Systems’, BTRL, Ipswich: Martlesham Consultancy Services, 1983.

WRIGHT, G. and P. AYTON, ‘Eliciting and Modeling Expert Knowledge’, Decision Support Systems, 3, 1, 1987, pp.

pp. 51 1-522.

63-87.

32-36.

(UK), 1,2,1986, pp. 151-190.

3 1-34.

13-26.

Uncertainty

BANDLER, W., ‘Probabilistic Versus Fuzzy Production Rules in Expert Systems’, Int. J . Man-Machine Studies, 22,

BONISSONE, P.P., ‘Editorial: Reasoning With Uncertainty in Expert Systems’, Int. J. Man-Machines Studies, 22,1985,

DUBOIS, D. and H. FRADE, ‘On the Combination of Uncertain or Imprecise Pieces of Information in Rule-Based Sys- tems’, Int. J. Approx. Reasoning, 2, 1, Jan. 1988, pp. 65- 87.

DUTTA, A., ‘Reasoning With Imprecise Knowledge in Expert Systems’, Information Sciences, 37, pp. 3-34.

GAINES, B.R., ‘The Fuzzy Decade: A Bibliography of Fuzzy Systems and Closely Related Topics’, Int. J . Man-Ma- chine Studies, 9,1977, pp. 1-68.

LAMBERTI, D. and W.A. WALLACE, ‘Presenting Uncertainty in Expert Systems: An Issue in Information Portrayal’, Zn- formation Management, 13,4, November 1987, pp. 159- 169.

LECOT, K., ‘Control Over Inexact Reasoning’, AI Expert, Pre- mier 1986, pp. 3243.

1985, pp. 347-353.

pp. 241-250.

Expert Systems, May 1990, Vol. 7, No. 2 I * 7a

Page 11: Introducing students to expert systems

NEAPOLITAN, R.E., ‘Models for Reasoning Under Uncer- tainty’, AppEiedArtifcialIntelligence, 1,4,1987, pp. 337- 366.

PANG, D., J. BIGHAM and E. MAMDANI, ‘Reasoning with Un- certain Information’,lEE Proc. 134,4, July 1987, pp. 231- 237.

RAUCH, H.E., ‘Probability Concepts for an Expert System Used for Data Fusion’, The A1 Magazine, Fall 1984, pp. 55-60.

SHORTLIFFE, E.H. and B.G. BUCHANAN, ‘A Model of Inexact Reasoning in Medicine’, Mathematical Biosciences, 23, 1975.

WHALEN, T. and B. SCHOTT, ‘Issues in Fuzzy Production Sys- tems’, Int. J. Man-Machine Studies, 19,1983, pp. 57-7 1.

ZADEH, L.A., ‘Management of Uncertainty in Expert Sys- tems’, Theory and Application of Expert Systems in Emer- gency Management Operations, Proc. of a Symposium Held at the Department of Commerce, Wash. DC, 24-25 April 1985.

Frame-based systems AIKENS, J.S., ‘A Representation Scheme Using Both Frames

and Rules’, in B.G. Buchanan and E.H. Shortliffe (Eds.), Rule-Based Expert Systems, Addison-Wesley, 1984, pp. 424-440.

The author

BOBROW, D.G. and T. WINOGRAD, ‘An Overview of KRL, a Knowledge Representation Language’, Cognitive Science, 1, 1, January 1977, pp. 3-46.

FIKES, R. and T. KEHLER, ‘The Role of Frame-Based Repre- sentation in Reasoning’, Communications of the ACM, 28, 9, September 1985, pp. 904-920.

GOLDSTEIN, I. and S. PAPERT, ‘Artificial Intelligence, Lan- guage, and the Study of Knowledge’, Cognitive Science, 1, 1 , January 1977.

KEMPF, R. and M. STELZNER, ‘Teaching Object-Oriented Programming with the KEE System’, Sigplan Notices, OOPSLA ’87 Proceedings, 22,12,1987, pp. 11-25.

MINSKY, M., A Framework for Representing Knowledge, in The Psychology of Computer Vision, P. Winston (Ed.), McGraw-Hill, 1975, pp. 21 1-277.

STEFIK, M.J., D.G. BOBROW, S. MIT~AL and L. CONWAY, ‘Knowledge Processing in LOOPS: Report on an Ex- perimental Course’, Artificial Intelligence, 4,3, Fall 1983,

STEFIK, M.J., ‘An Examination of a Frame-Structured Repre- sentation System’, in Proc. of the 6th Intern. J . Conf. on Artificial Intelligence, Tokyo, Japan, August 1979, pp.

WINSTON, P., ‘Representing Knowledge in Frames’, Chapter 7,Artificial Intelligence, Addison-Wesley, 1977, pp. 181- 187.

pp. 3-14.

845-852.

John Durkin

Dr Durkin is an Associate Professor of Electrical Engineer- ing at The University of Akron, where he has developed and teaches courses on expert systems. He has been in- volved in the development of a number of expert systems for both the government and the private sector for the past decade. His work focuses on the effective application of expert system technology to solving real-world problems. He has also taught expert systems at The Pennsylvania State University and has taught a short course internation- ally for Learning Tree International of Culver City, CA. He is presently writing a text book entitled Expert System De- sign and Development to be used for an introductory course on expert systems.

80 Expert Systems, May 1990, Vol. 7, No. 2