| 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. | |||||||