Agricultural Systems 35 (1991) 455-469
ISFARM: An Integrated System for Farm Management: Part I Methodology I. Amir Faculty of Agricultural Engineering, Technnion, Israel Institute of Technology, Haifa, IsraEl
J. Puech INRA Centre de Recherches de Toulouse, Station d'Agronomie, BP 27 - - 31326 CASTANET TOLOSAN Cedex, France
& J. Granier CEMAGREF, Aix en Provence, France (Received 16 April 1990; accepted 13 September 1990)
ABSTRA CT A comprehensive methodology that integrates algorithmic and nonprocedural methods is presented for the management of agricultural production at the farm level An optimal plan is produced by a linear programming method along with its dual values and the post optimal sensitivity analysis. A monitoring process is continuously operated to collect data from the farm. Two expert system models evaluate, through a heuristic inference engine, the current value of each activity and the economic value of water and irrigation. Based on a comparison between the current values of the activities and resources and the plan, decisions are to be made whether to continue with the plan with or without tactical or operational changes or to carry out major strategic changes. In the latter ease, a new linear programming model is run with updated values and with a new planning horizon. The methodology provides quantitative measures for the strategy of dynamic decision making. 455 Agricultural Systems 0308-521X/91/$03-50 O 1991 Elsevier Science Publishers Ltd, England Printed in Great Britain
456
L Amir, J. Puech, J. Granier
BACKGROUND Agriculture has unique characteristics that strongly affect the planning and operation of its production. Among the most significant factors are the following: (1) the production processes are not fully controlled and sometimes not fully known. (2) The basic resources are not uniform, not controlled and sometimes limited; weather factors are not predictable, thus there is an important stochastic element in the system. (3) There are many small producers that usually have their own special production conditions. The producers are not always well educated and well informed and usually they act in accordance with strong personal preferences. (4) The agricultural system is flexible. A large variety of crops can be grown in the same system. The same crop can be grown for various purposes at different times, durations and using different amounts of resources. Therefore, if not effectively controlled agricultural production is unpredictable and usually this stochastic behaviour acts against the farmers. On the other hand, if properly planned and operated the flexibility enables the producers to compensate for damage and even to take advantage of unforeseen conditions. Amir et al. (1978) suggested the so-called Sequential Adhoc Linear Model (SALM) for planning and operating the production of a farm under severe uncertainty. SALM is comprised of four stages: (1) Planning by linear programming. (2) Continuous monitoring and updating. (3) Decision making process based on comparing the planned and the actual data. (4) Based on the comparison, a new plan for the next horizon is produced when the current plan is not optimal. The dynamic approach of SALM aimed to cope with the uncertainty involved in agricultural production. However, as an aid to decision making on the farm level, SALM was found to be limited and not very applicable in practice. This was mainly due to the fact that, being in algorithmic procedure, it could not handle, and therefore take into consideration in the planning process, incomplete, non-procedural and unquantifiable factors. Fortunately, such incomplete and unreliable factors can now be effectively handled by the so-called expert systems (ES) methods developed in the last decade (Winston, 1984). These methods can use information from any source and, using a heuristic inference engine, process the information for problem solving. The purpose of this paper is to present the methodology of a
ISFARM: An integrated system for farm management
457
comprehensive model for the planning of agricultural production at the farm level. This model includes the quantitative approach of SALM with the addition of two heuristic expert systems.
METHODOLOGY The methodology of the integrated system for planning the production of agriculture 'ISFARM' is based on the following assumptions: (1) Agricultural systems cannot be controlled and, therefore, significant unforeseen deviations from plans are expected or even inevitable during the execution period; (2) Agricultural systems are relatively flexible and, therefore, it is possible to change plans (even existing activities) according to current conditions; (3) The farmer should make 'here and now' decisions because, in practice, not to decide is also a decision. The integrated system ISFARM is represented by a block diagram, Fig. 1. Its components (blocks) are numbered to simplify the explanation. The abscissa is the time axis which runs continuously along the planning horizon. The ordinate comprises two sectors: planning (No. 1) and execution (No. 2). In each sector are the elements, to be carried out at different times, and the connections between them. The main element of the planning sector is the linear programming (LP) model that optimizes the production of the farm. That is, it finds a mix of activities that extrimizes a predetermined objective function under a given set of constraints imposed by the actual production system. Mathematically, the LP model is written by the following set of linear equations: Ext. Z = X C S.T
AX= b
(1)
X>0 Where: Z: is the value of the objective function whose extremum is to be calculated, Ext (extremum--minimum or maximum); X: is the vector of the decision variables; X = { X f i j = 1 .... n} the values of which are to be calculated by the LP model. Cis the vector of values related to the decision variables in the objective functions; C = { C j ; j = 1...,n}. A is an m x n technological matrix; A = {aii; j = 1 . . . n, i = 1 .... m}.
L Amir, J. Puech, J. Granier
458
I
m
o
Z
C
I
<
.=_ ~3
o
I..
~Q .>_ .~_ c~ .-I ~ 0 -~&
~~
E~ K. ~ _
~ ,~.~
c .o m
I
0 ~
.~.E
.
a;.DJ r~
II
I~,
tll I ~
~,,,,,o ~o=~
~t"' ,_~ ~ ~.
uo!:l.n3ex3
5u)uuelcl t.-
04
J
ISFARM:. An integrated system for farm management
459
b is a vector of restraints, i.e. the values of the resources available for the production and of other limitations to be met; and X>_ 0 reflects a mathematical condition that all the decision variables in the solution have to be non-negative. The solution of this LP model, which is the optimal plan, (No.4) comprises: Z*--the optimal value of the objective function; X*--the optimal value of the vector of the decision variables--the optimal plan; and b*--the values of the resources required to make the optimal plan operational. One of the most powerful tools of LP is its post optimal sensitivity analysis (POSA) (No. 5). It includes shadow prices A Z / A X and AZ/Ab, and validity limits. That is, as long as the values of the variables are within the validity limits, the optimality of the solution is maintained (Amir et al., 1978). This tool is used in ISFARM to cope with the uncertainty and the stochastic behaviour of agriculture, as will be explained later. Apparently, LP imposes several significant limitations when applied to real systems, as well described by Attonaty and Chatelin (1989). LP, in its static and long term mode, is inappropriate for coping with frequent changes especially because most of the resources are uncontrollable and the production systems are not necessarily linear. These considerations have led many researchers, extension engineers and farmers not to apply LP for large integrated systems, but to use instead personal simulation models. Conscious of these limitations, ISFARM includes LP in order to take advantage of one of the main optimization techniques that can efficiently handle many factors and many stages. The limitations of LP are avoided by the following three steps: (1) The use of the LP's Post Optimal Sensitivity Analysis--POSA (Dantzig, 1963; Amir et al., 1978; Hillier & Lieberman, 1980); (2) Running LP as frequently as required, changing it to a quasi dynamic model; and (3) The addition of expert system models. Since, in reality, changes from plans are quite inevitable, a continuous MONITORING process (No. 9) is carried out in the EXECUTION SECTOR (No. 2). The monitoring process continuously gathers the data from the production system and processes the data into forms adequate for diagnosis and decision making. The monitoring process is comprised of two basic elements: (a) the process that collects raw data from the production system; and (b) two expert system models EXEC (No. 7); and EXIR (No. 8)
460
L Amir, J. Puech, J. Granier
for the diagnosis, analysis, recommendations and preparation of data for the LP. The next stage is the comparison between plan and execution (No. 6). It compares the elements of the plan (No. 4) and POSA (No. 5) with the same elements from the production system (No. 7) (No. 8) and (No. 9). The comparison is the basis for decision making according to the following strategy.
Strategy for decision making (1) Plan the production system with an LP model1- using the best data available. The outcomes are the values of the optimal plan and the values of POSA. (2) Continuously operate a monitoring process that collects data from the production system and the environment. (3) Activate the expert system models to process the data collected. (4) If the actual values of all the elements are within the validity limits of POSA, continue the current plan, with or without operational changes and without significant changes in the plan (e.g. no changes in the size of the activities). (5) If one or more of the elements are outside the validity limits of optimality, update all the elements, define new alternatives (by EXEC and EXIR) and run a new LP model (recursively to step 1) for the next horizon. Mathematically, this strategy is based on the duality theorems (DANTZIG, 1963). From those theorems one can derive two conditions for optimality of the solution in cases where changes in the original data occur: and
B- lbt > 0 GB-' > 0
(2)
where B- ~ is the inverse basis matrix of the optimal solution (B ~A ; A from eqn (1)); b, is the updated restraint vector b; and C, is the updated net income vector C of the basic variables. That is, if all of the members of vectors Xt; Ct and bt maintain:
x * _< x,_< xo,* Cu* _< Ct < C~* b.* < b, _<
(3)
(ll--lower limit;ul--upper limit; * optimum) then, the optimality is still valid for X t, bt and Ct. However, if one or more of the elements in these vectors (Xt; Ct and bt) are t Deterministicor stochastic LP models such as Madansky's inequalities(Madansky, 1960).
ISF.4 R M : A n i n t e g r a t e d s y s t e m f o r f a r m m a n a g e m e n t
461
outside the limits, the solution is no longer optimal and, according to the strategy a new LP model, updated by the monitoring process, has to be run to produce the new optimal plan for the next horizon. In practice, the limits ofeqn (3) can be easily seen in the output of the LP solution and its POSA (by the command RANGE: see IBM, MPSX, 1971). Several of the elements can be updated by measurements (e.g. areas of crops) and by using simulation models (e.g. for weather factors, working days). The remaining factors, especially the values of the crops-vector C,, are more complicated and require non-procedural estimations. ISFARM's methodology provides a systematic approach for the estimation, as will be explained below. There are two problems included in the estimation of Ct (the updated vector C - t h e net income values of the activities): (1) How to evaluate the current net income of crop activity during the growing season? (2) How to express all the activities (planned as well as already existing at decision making time t) on a common economic basis in order to create the new LP run? Fortunately, the following definition of the current value of an activity (planned or already existing) resolves these two problems. Definition: The current value ofthejth activity at a time t, C~t, is the expected remaining gross income, Ej,, minus the expected remaining expenses, D jr, required in order to materialize the gross income. The current value is, therefore, the expected remaining net income: C j, = E j, - D jr
(4)
and k
D jr=
~'
d~j
(5)
i = k - r(t)
where dij is the ith input for the jth activity; k is the last input for the jth activity; and r(t) is the first input for thejth activity after the decision making time t. The current value, Cjt, is the common economic denominator for all the activities at every stage because, at every point in time, it calculates the current value in the same way (i.e. the expected gross income minus the expected expenses still to be invested until the income is materialized) and, thus, provides the same economic meaning for every activity at every stage.
462
L Amir, J. Puech, J. Granier
. .. E i ] = Gross income Net I I CjB=Ej B-Dj B income I
I I
IB ¢-
D:B=Z J i=1
Ejt
I
o. X q;
I C jr = Ejt -D jr I I I
1
dij
Curve of
,t2
culmulated expenses ~
6 E
[L~,
4
I 5
0 u c
I 8 Djt = ~4 d ;j Dij=i=l+8,
6
I 7
Expenses
I
I I
,B
G r o w i n g season of the j-th crop
I
Fig. 2.
Time
t E
"
Current value of the j-th activity (crop)--graphical presentation.
The evaluation of C jr according to this definition is presented graphically in Fig. 2. From Fig. 2, one sees that time has a significant influence on Cjt. As time goes on inputs are being invested and, at every point in time, the remainder of the inputs decreases; i.e. D jr < Din. Usually, the expected gross income also changes in time mainly as a result of two causes: (1) The reliability of the estimation of the yield increases with time because it is based on more information; and (2) Unforeseen events may affect the quantity and quality of the yield, harvesting time and marketing conditions. Usually the changes in the expected gross income are smaller than the rate of the input investment, therefore c j, = E j , -
D j, >
- Dr.
=
(6)
According to eqn (6) the current value of an existing activity is larger than its value at earlier stages. N o t e - - C j, is the current value of an activity for operational decision making and not for accounts analysis purposes. It might happen that an activity produces a loss (when the total income is smaller than the total expenses) but at a given point in time during the growing season, more investments are
ISFARM: An integrated system for farm management
463
economically justified to materialize the yield and to reduce the loss. That is, without the additional inputs the loss would have been larger. The new updated vector of net incomes Ct, the updated vectors of restraints, bt and of sizes of the activities Xt are to be used in the new plan produced by LP. Obviously, the new plan takes into account the updated new conditions of the system and handles all the activities at their current values whether they are new candidates, planned activities (which have not been executed yet) or those already existing in the system. The new LP run (No. 14; No. 3) produces the new plan and POSA and the entire procedure starts again at a new point in time, for the new conditions and for the next planning horizon.
EXPERT SYSTEM SUB-MODELS Two expert system models are included in ISFARM: (1) E X E C - - a n expert system model to evaluate the current value of the activities, and (2) E X I R - an expert system model to evaluate the economic values of water and irrigation.
Background Townsend and Feucht (1986) (as in Hart et al., 1980) list seven tests for determining the suitability of a problem to be solved by expert system methods: (a) No procedural algorithms exist but heuristics are available; (b) Only a few experts exist whose knowledge is readily available to clients when and where required; (c) Available data are noisy as opposed to the case where precise facts and procedures are available; (d) These are of diagnostic, interpretative or predictive elements, as opposed to quantitative elements; (e) Problems are solved using formal reasoning and not by procedural reasoning; and (f) Knowledge is static rather than dynamic (does not change very frequently). The evaluation of the current economic value of the activities and the economic value of water and irrigation seem to be well fitted to the above mentioned tests. The current economic value of an activity is its current net income (eqn (6)); i.e. the expected yield multiplied by the expected price minus the expected inputs. All of these elements are to be determined by
464
L Amir, J. Puech, J. Granier
prediction based on estimation and additional informal sources and personal knowledge. Such an evaluation process depends on incomplete, unreliable and frequently changing data. It depends considerably on subjective and personal interpretation of the data. Although data change frequently, the basic knowledge and expertise are relatively conservative. As far as the availability of experts is concerned, there are efficient extension services in many localities. However, every farmer has his own special conditions and time table and, therefore, there is usually a shortage of experts that are readily available to the farmers. Concerning EXIR, the above mentioned tests were originally formulated for irrigation systems such as EXIR. Several expert system models for the various aspects of agriculture have been published (Baker et aL, 1983; Lemman et al., 1986; Nevo & Amir, 1987; Helms et al., 1987; Erez & Amir, 1989). Most of the models for planning farm production help the decision maker to select a mix of activities appropriate to his conditions. In all of these models the planning horizon does not change during the current growing season. That is, once a plan has been started to be implemented it does not change and the models do not provide the means and the approach for such a change. In general, a dynamic method for decision making should provide through a systematic approach the answers to: why, what and when to change. The first requirement for being able to provide the answers is to diagnose the current situation of the system. This leads to the necessity to evaluate the current value of the activities at every point in time. For the evaluation of the current value of a crop, it is essential to estimate the remaining expected yield and the required inputs (as previously explained). The evaluation of the yield depends on a good diagnosis of its current situation--growing stage, phenological status, diseases, soil moisture, availability of resources (mainly water) and weather conditions. The expected yield depends not only on the conditions at present but also on predicted weather. The inputs required can be decision variables of the farmer because of the flexibility of agriculture. He can change quantities of inputs (water, fertilizers) and timing. For the estimation of yields, it is possible to apply growth models (Williams et al., 1984). EXEC is an expert system model consisting of 'IF-THEN' production rules and a heuristical inference engine. The data for it comes from two sources: the plan (planning stage) and the monitoring process (execution). The data from a plot include quantities of inputs according to a time table (required for the evaluation of the current value--Fig. 2), the expected yield, gross income and the expected net income. In addition they include a list of reference dates as a protocol for the farmer to follow the growth of the crops either by observations or measurements in the field during the growing
ISFARM: An integrated system for farm management
465
season. This protocol, provided by experts, reflects the normal growth as expected at the planning time (e.g. number of plants of wheat at the emergence stage). The deviations from the normal growth are covered by 'IF-THEN' rules. In the 'if' part of the rules are the phenomena in the field and in the 'then' part are the experts' recommendations for the 'if' part. The 'then' part aims to give the farmer sufficient indications to re-evaluate the expected yield of the crop and the resources required to materialize it. It also may include risk or probability factors for the estimation of the yield. Obviously, the rules reflect the updated information expressed in the 'if' part (for deviations from the normal expected growth). EXEC has two phases. Phase I is to evaluate the current value of the activities that are in the current plan. This includes a comparison between the planned and the execution values (see Fig. 1) for making limited tactical changes (in irrigation, fertilization, etc.) according to expert recommendations. When the current plan is found to be non-optimal, the EXEC Phase II is activated. This phase includes, in addition to Phase I, information about new candidate crops as alternatives to crops in the current plan. The same considerations apply to EXIR Phases I and II. In summary, ISFARM is a system for dynamic decision making on a farm level. It includes a plan along with indications as to when the current plan is not optimal due to unforeseen events. A monitoring process is to be continuously activated in order to update the data. Expert system models, EXEC and EXIR, are integrated into ISFARM (two at present) for the nonalgorithmic procedures required for the diagnosis of the current situation of the system. ISFARM is a dynamic approach that takes into account the uncontrollability of agricultural systems but, at the same time, enables one to use the flexibility of the agricultural systems to reduce losses (due to the uncontrollability) and even to take advantage of unforeseen events.
DISCUSSION Probably the main subject to be discussed concerning the methodology of ISFARM is whether or not its dynamic and integrated approach might lead to improved decision making for agricultural production systems at the farm level. The discussion on this subject will be divided into four topics.
(A) Static versus dynamic planning horizon As stated above, agricultural production systems are operated under severe uncertainties and, therefore, deviations from the current plan are quite inevitable. Consequently, almost every model for decision making has, as its
466
L Amir, .I. Puech, J. Granier
first stage, a plan for agricultural production. In several models the plan results from quantitative procedures (mainly LP), while others provide a personal plan based on non-algorithmic and heuristical procedures involving personal preferences and experience. The plan can be for short or long horizons and also dynamic or static. Even a short horizon plan (growing season) can be static, i.e. considered unchangeable during its horizon. There is at least one condition for a model to be dynamic--it must include a way for the decision maker to know when to change the plan when the current plan is no longer appropriate. We have not found in the literature a quantitative model that uses the LP post optimal sensitivity analysis (POSA) as the measure for the dynamic decision making process. On the other hand, the non-quantitative models have no sensitivity analysis at all, and, therefore, can only evaluate the validity of the existing plan by a qualitative reasoning. The outcome of not evaluating the current plan is, usually, not to change the current plan at all once execution has begun. The static, long term or short term plans, whether from LP or heuristic procedures, might in practice be as good as the ISFARM methodology as long as no significant changes from original data occur and when the data are used to carry out slight tactical improvements of the running plan. However, when major changes occur, models that have no adequate procedures to cope with them do not provide a measure to distinguish between strategic and tactical decisions and do not change plans. To summarize this point--when the changes from the original data (used at the planning time) are relatively small, many of the models, including ISFARM, provide procedural or intuitive means for tactical actions within the current plan. But, when significant changes occur, ISFARM enables the decision maker to diagnose them and to change the plan accordingly, whereas the other models do not have the means to diagnose these changes and, as a result, do not change plans.
(B) Integration between procedural algorithms and heuristics The methodology of ISFARM combines a wide range of different basic methods in such a way as to benefit from their advantages and avoid their limitations.
Algorithms--The LP method is used to take into account the economics of the system and the resources required. Stochastic LP models can be used (e.g. Chance Constraint Linear Programming; Madansky's inequalities) to better cope with the uncertainty. As discussed previously, the post optimal sensitivity analysis (POSA) is beneficial to determine the validity of the plan, to evaluate the shadow prices of the deviations from the plan and to measure
ISFARM: An integrated system for farm management
467
the availability of the resources. The disadvantages of LP are avoided in ISFARM by updating the data and by frequent runs. H e u r i s t i c s - - M a n y or even most factors involved in agricultural production are not fully known quantitatively, particularly when the factors are related to a specific farm or plot. Very seldom does the farmer or even his advisers (extension experts) have a sufficient quantitative knowledge pertinent to specific conditions for decision making. Therefore, it is crucial to use the available knowledge in a heuristic procedure that systematically combines personal knowledge with expert diagnosis, analysis and recommendations. Presently, two expert system (ES) models are included in ISFARM: EXEC which estimates the current economic values of each of the activities at every point in time, and EXIR, which provides the economic value of irrigation and water. Several additional ES models can be integrated into ISFARM, for handling other resources as well (e.g. fertilization).
(C) Integration of other models The methodology of ISFARM also enables one to use other types of models available. For example, for the estimation of the expected yield, it is possible to apply: (1) (2) (3) (4)
growth models (e.g. EPIC); weather models for working days and degree-days; statistical models (analysis of variance, multi-variate analysis); operations research (PERT, queueing and game models, Hillier and Lieberman, 1980).
In this, ISFARM is not different from other models that can also include the above mentioned method.
(D) The current value of an activity The procedure for evaluating the current value of an activity provides a dynamic measure for decision making. It quantifies the common intuitive knowledge that an existing activity has an economic advantage over a nonexisting one. Using the procedure demonstrated in Fig. 2, one can see that an existing crop gets a 'Premium' due to the fact that less inputs are required to materialize the expected gross income. This premium, which increases with time, increases the current value of the existing crop and consequently decreases the number of alternatives which are still not executed and for which all the inputs are to be invested. The other methodologies do not have
468
L Amir, J. Puech, J. Granier
such a measure, probably because they do not change plans and the evaluation of the current value is neither meaningful nor useful for them. It is believed that the definition of the current value of an activity provides a meaningful tool for a dynamic decision making process and reflects correctly the current state of an activity in economic terms. This knowledge might improve, perhaps significantly, the management of agricultural production. CONCLUSIONS A methodology for decision making related to agricultural production on a farm level is presented. The methodology integrates algorithmic methods with heuristic expert systems. It is believed that: (a) The methodology is well fitted to the environment of agricultural production systems; (b) It provides a dynamic decision making process to reflect the dynamic behaviour of agricultural systems and, thus the means to cope with uncertainties. (c) It includes procedures for evaluating the current state of a system in monetary terms and uses them for decision making. (d) It enables the decision maker to use the flexibility of the agricultural production system to reduce losses and to take advantage of unforeseen events. ACKNOWLEDGEMENT The authors wish to express their deepest appreciation to Dr Daniel Wallach-INRA, Toulouse, and to Prof. Dov Nir of the Technion, for their help, remarks and careful reading of the manuscript.
REFERENCES Amir, I., Arnold, J. B. & Bilanski, W. K. (1977). A procedure for determining probabilities of dry and wet days. The Canadian J. of Agr. Eng., 19(1), pp. 2-5. Amir, I., Shamir, U. & Broughton, R. S. (1978). Monitoring and decision-making processes for operating agricultural production systems. J. Agricultural Systems, 3, pp. 253-64. Attonaty, J-M. & Chatelin, M. H. (1989). Forage system modeling: The changing approach of a team of economists. INRA--Etudes et Recherches sur les Syst~mes Agraires et le Drveloppement No. 16.
ISFARM: An integrated system for farm management
469
Baker, D. N., Lambert, J. R. & McKinnon, J. M. (1983). GOSSYM: A simulator of cotton crop growth and yield. South Carolina Agricultural Experiment Station. Tech. Bull, 1089. Dantzig, G. (1963). Linear Programming and Extensions. Princeton Univ. Press, N J, USA. Erez, E. & Amir, I. (1989). An expert system for planning irrigation networks. Technion, Ha~fa, Fac. Agr. Eng. P. N. 152-0590 (In Hebrew). Hart, W. H., Yitayev, M., Ekhlot, B. A. & Kim, T. G. (1980). Irrigation system selection. ASAE/CSAE paper No. 89 7042. Helms, G. L., Richardson, J. W., Edward-Rister, M. E., Stone, N. D. & Loh, D. K. (1987). Cotflex: An expert system to provide cropmix and farm policy to producers. Texas A & M University. Presented at 1987 Annual Meeting of the American Agricultural Economics Association. Hillier, F. S. & Lieberman, G. J. (1980). Introduction to Operations Research. (3rd edn), Holden-Day Inc. Lemman, H. E. (1986). COMAX. An expert system for cotton crop management. Science, 233, pp. 29-33. Madansky, ~,. (1960). Inequalities for stochastic LP problems. J. Management Science, 6, 197-204. Nevo, A. & Amir, I. (1987). An expert system for crop plot suitability. Technion Haifa, IsraEl (in Hebrew). Townsend, C. & Feucht, D. (1986). Designing and Programming Personal Expert Systems. Tab. Books, Blue Ridge, Summit. PA. Williams, J. R., Jones, C. A. & Dyke, P. T. (1984). A modeling approach to determining the relations between erosion and soil productivity. Trans. A SAE, 27, p. 129-44. Winston, P. H. (1984). Artificial Intelligence (2nd edn), Addison Wesley Pub. Co.