titlesm.gif (10661 bytes)
translin.gif (958 bytes)
An expert system is a computer program designed to simulate the problem-solving behavior of a human who is an expert in a narrow domain or discipline. An expert system is normally composed of a knowledge base (information, heuristics, etc.), inference engine (analyzes the knowledge base), and the end user interface (accepting inputs, generating outputs). The path that leads to the development of expert systems is different from that of conventional programming techniques. The concepts for expert system development come from the subject domain of artificial intelligence (AI), and require a departure from conventional computing practices and programming techniques. A conventional program consists of an algorithmic process to reach a specific result. An AI program is made up of a knowledge base and a procedure to infer an answer. Expert systems are capable of delivering quantitative information, much of which has been developed through basic and applied research (e.g. economic thresholds, crop development models, pest population models) as well as heuristics to interpret qualitatively derived values, or for use in lieu of quantitative information. Another feature is that these systems can address imprecise and incomplete data through the assignment of confidence values to inputs and conclusions.

One of the most powerful attributes of expert systems is the ability to explain reasoning. Since the system remembers its logical chain of reasoning, a user may ask for an explanation of a recommendation and the system will display the factors it considered in providing a particular recommendation. This attribute enhances user confidence in the recommendation and acceptance of the expert system.

The development of an electronic decision support system requires the combined efforts of specialists from many fields of agriculture, and must be developed with the cooperation of the growers who use them. Specialists tend to be trained in rather narrow domains and are best at solving problems within that domain. However, there is a growing realization that the complex problems faced by growers go beyond the abilities of individual specialists. Interdisciplinary teams of specialists must work in unison to formulate solutions to agricultural problems. Agriculture must be viewed as a system of interacting parts where the perturbation of one part affects many others.

In agriculture, expert systems are capable of integrating the perspectives of individual disciplines (e.g. plant pathology, entomology, horticulture, agricultural meteorology) into a framework that best addresses the type of ad hoc decision-making required of modern farmers. Expert systems can be one of the most useful tools for accomplishing the task of providing growers with the day-to-day, integrated decision support needed to grow their crops.


Components of an Expert System
All expert systems are composed of several basic components: a user interface, a database, a knowledge base, and an inference mechanism. Moreover, expert system development usually proceeds through several phases including problem selection, knowledge acquisition, knowledge representation, programming, testing and evaluation.


Knowledge in the Expert System
The knowledge the expert uses to solve a problem must be represented in a fashion that can be used to code into the computer and then be available for decision making by the expert system. There are various formal methods for representing knowledge and usually the characteristics of a particular problem will determine the appropriate representation techniques employed.

Knowledge bases can be represented by production rules. These rules consist of a condition or premise followed by an action or conclusion (IF condition...THEN action). Production rules permit the relationships that makeup the knowledge base to be broken down into manageable units. Having a knowledge base that consists of hundreds or thousands of rules can cause a problem with management and organization of the rules. Organizing rules and visualizing their interconnectedness can be accomplished through dependency networks. This method of knowledge representation is discussed later in this discussion under knowledge acquisition and representation.

During the consultation, the rule base is searched for conditions that can be satisfied by facts supplied by the user. This operation is performed by the inference engine. Once all of the conditions (i.e. IF parts of rules) of a rule are matched, the rule is executed and the appropriate conclusion is drawn. Based upon the conclusions drawn and the facts obtained during consultation, the inference mechanism determines which questions will be asked and in what order. There are various inferencing methods available to perform the tasks of
searching, matching, and execution.

A distinctive characteristic of expert systems that distinguishes them from conventional programs is their ability to utilize incomplete or incorrect data. Given only a partial data set , an expert is likely to have less than absolute certainty in his conclusion. The degree of certainty can be quantified in relative terms and included in the knowledge base. The certainty values are assigned by the expert during the knowledge acquisition phase of developing the system. By incorporating rules in the knowledge base with different certainty values, the system will be able to offer solutions to problems without a complete set of data. The capacity to deal with uncertainty is available in development software.


Explanation of the Decision Making Process
One of the attractive features of expert systems is the program's ability to review a consultation and provide the user with an explanation for how its conclusion was derived. The explanation function is essentially a record of the reasoning process used by the expert to resolve the problem. It provides for a better understanding of how the conclusion was reached and instills in the user a greater confidence in the conclusion and the expert system. The accumulation of facts to be presented when an explanation is asked for is usually part of the development shell or software.


Making the Expert System Easy to Use
Whether or not an expert system achieves success may be determined by the nature of its user interface. This is the part of the expert system that interacts with the user. Even the most powerful expert system will not be applied if it requires too much effort on the part of the user . For this reason, it is important to make the computer as easy for the user to operate as possible. Almost all modern development programs offer the capacity to interact with the system through both text and graphics.


Developing an Expert System
The power of an expert system is derived from the knowledge of the expert. The lack of computer skills should not inhibit anyone from using this tool in implementing their disease management program. There are published procedures that one can follow to develop expert systems, although rigid adherence to these procedures is not necessarily a prerequisite for a successful development effort. Match your development technique with your own style of thinking and your resources and problem area. Listed below are several examples of where the developers of the Penn State Apple Orchard Consultant (PSAOC) strayed from accepted
developmental procedures and still produced a successful expert system which is advising Pennsylvania apple growers.


Selecting the Problem
In this section we will discuss the development of expert systems in three parts:
redarrow.gif (337 bytes) Selecting a problem
redarrow.gif (337 bytes) Knowledge acquisition and representation
redarrow.gif (337 bytes) Evaluation and adoption. We will concentrate our discussion on the plant pathology related aspects of developing expert systems and will give very little time to discussing expert system software tools. In addition, the Penn State Apple Orchard Consultant will be used as an example to further illustrate each of the developmental phases.

The most critical step in developing an expert system is identifying a suitable problem. Criteria to determine the feasibility of developing expert systems and selecting the problem have been discussed previously. Expert systems are best suited to problems that require experience, knowledge, judgement, and complex interactions to arrive at a solution.

One of the first tests to determine if a subject area is suitable for an expert system is whether the solution of the problem requires the knowledge and expertise of a human expert. For many agricultural situations a reasonably knowledgeable person with the correct information such as a production guide or a data base management system available can determine the solution without the help of an expert or an expert system. The abilities inherent in the expert system software may not be necessary to solve the problem.

Problems such as determining days-to-harvest limitations for a pesticide, or calculating infection periods may be better accomplished by using a production manual, or a conventional computer program such as a spreadsheet or database manager. In addition, in crop areas where little is known about certain diseases the power of an expert system is really not necessary.


Cost of Development
Expert systems are expensive to develop. They require resources, expertise and time to build. It should be determined if the proposed expert system can be justified in terms of savings or other benefits it produces. Costs include software, hardware and personnel to do the work. A developer should ask if the problem to be solved justifies the investment of time and money. If current loss due to disease, whether it be due to reduced yield or quality, is great enough, then the successful implementation of an expert system may offset cost of development.

Sometimes there are other benefits in using expert systems which more than justify cost such as: reduced pesticide inputs, enhanced IPM training, effective delivery of IPM strategies not possible by any other delivery method and identification of gaps in knowledge to direct research programs. Expert systems also have value in that they can make expertise available to decision makers in agriculture when expert opinions are not available. An expert system can be available for the grower to use at any time of the day and it could be available to every grower in the state at the same time.


Knowledge Acquisition and Representation
After the problem has been selected, the knowledge acquisition phase of expert system development is begun. The task now is to have the knowledge which the expert uses to solve the problem displayed in a logical fashion so that it can be coded into the computer.

There are many discussions in the literature on the extraction of knowledge from domain experts. Most expert system developers suggest that a knowledge engineer (someone who is trained in the extraction of information from experts) extract the knowledge and design the expert system. In some cases, a knowledge engineer is needed to 'tease apart' highly compiled expert knowledge because the expert is too familiar with the area to break it into its logical components. There is also software available to help in self-knowledge engineering.

In the development of the PSAOC a different method of knowledge acquisition was undertaken. The domain experts were trained in knowledge acquisition and representation. After the domain experts had represented their knowledge in dependency networks (diagrams of the rules), the networks were given to programmers who coded it into the computer. The domain experts in this case were both the source of knowledge and the designers of the expert system. The most obvious advantage of this development method is that it is much less expensive to build expert systems if it is not necessary to support a knowledge engineer for the extraction and representation of knowledge. However, there is a more important advantage in using the domain experts as the knowledge engineers. Only the domain expert knows the extent of his knowledge, how he thinks about problems and what variables are important in the decision process. Rather than the knowledge engineer painfully extracting the information from the expert, the knowledge flows from the expert as he articulates from internal examination how he makes decisions. The domain expert becomes an active participant in the knowledge acquisition and representation process rather than a passive participant who is acted upon. The domain expert becomes more involved in the development of the expert system as he is challenged to represent on paper and then program into the computer, the methods and processes by which he solves problems. In addition, domain experts can better communicate their logic to other domain experts; an important consideration where different domains overlap and there must be agreement among domains. Also, extension specialists who serve as the domain experts are more familiar with how the end users prefer to think about and solve problems. Their experience with the user clientele will help them to format the expert system in a manner that county agents or growers will best understand and utilize.

Back to Expert System Development Group Main Page