|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.
|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.
|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.
|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.
|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.
|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.
|In this section we will discuss the
development of expert systems in three parts:
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.
|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.
|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.