Method and apparatus for fuzzy knowledge reasoning

Fuzzy knowledge stored in a knowledge base is written into a memory. When fuzzy reasoning is executed by a fuzzy reasoning unit based on the content of the memory, a control unit in a central processing unit may modify the knowledge base in the memory. The control unit is programmed such that after it has modified the knowledge base in the memory, it causes a reasoning execution unit to repeatedly and automatically execute predetermined fuzzy reasoning by the number of times corresponding to the number of input data. The control unit also modifies the knowledge base and causes the reasoning execution unit to execute the fuzzy reasoning. By reading out the knowledge base in the memory, it is possible to verify the validity of the fuzzy knowledge without executing the simulation of the fuzzy reasoning. The fuzzy reasoning course of the reasoning execution unit may be stored in another memory. In this case, the control unit may display the fuzzy reasoning result on a display device in an expression easily understandable by a user, based on the content of the other memory.

BACKGROUND OF THE INVENTION 
The present invention relates to a reasoning method and apparatus in a 
fuzzy reasoning system. 
In prior art fuzzy reasoning such as that disclosed in "A Proposal of a 
Knowledge Based System with Fuzzy Reasoning" by Tsuda, 37th National 
Conference (1988) of Information Processing Society of Japan, it is 
necessary for a user to edit a fuzzy knowledge base in order to define or 
modify it before a start of reasoning. 
In a prior art fuzzy reasoning such as that disclosed in "Security 
Investment Expert System" by B. Kaneko, 4th Fuzzy Symposium 1988, pp 
187-191, a portion of data in the course of reasoning is difficult to 
understand for a user who is not familiar with the fuzzy reasoning. 
In a prior art fuzzy knowledge base building support method such as that 
disclosed in "MEIDEN Fuzzy Control System" 1988 which builds the MEIDEN 
Expert Control System, knowledge is verified by actually conducting the 
fuzzy reasoning for simulation. It is thus not possible to determine the 
validity of the current fuzzy knowledge without starting the fuzzy 
reasoning system. 
In summary, as seen from the above prior art, no attention has been paid to 
dynamically defining the fuzzy knowledge and it has been necessary for a 
person to define or modify the fuzzy knowledge as an editor before the 
fuzzy reasoning system can be started. 
In the prior art method of displaying the message to the user, no 
consideration has been made to the explanation of the reasoning result to 
a person who is unaware of the logic of the fuzzy reasoning. Thus, such a 
person usually cannot understand the explanation. 
In the prior art method of verifying the validity of the defined fuzzy 
knowledge, no consideration has been made as a basis for the static 
determination of the fuzzy validity of the knowledge so that the knowledge 
must be dynamically verified by the simulation. 
SUMMARY OF THE INVENTION 
It is a first object of the present invention to provide method and 
apparatus for fuzzy reasoning which allow dynamic definition of the fuzzy 
knowledge. 
It is a second object of the present invention to provide method and 
apparatus for fuzzy reasoning which display the explanation a reasoning 
result in a form understandable to anyone. 
It is a third object of the present invention to provide method and 
apparatus for fuzzy reasoning which can analyze the fuzzy knowledge 
without executing the fuzzy reasoning. 
It is a fourth object of the present invention to provide a fuzzy knowledge 
base building support tool which is effective to the application of the 
fuzzy reasoning in a business field. 
In order to achieve the first object, the present invention provides a 
knowledge modification unit for modifying the fuzzy knowledge, and a 
control unit which accesses both the knowledge modification unit and a 
fuzzy reasoning execution unit. In order to prevent the reduction of the 
reasoning speed due to the storing of the fuzzy knowledge in a knowledge 
storage in a modifyable form, a function to determine the necessity of 
compilation may be further provided. A knowledge storage function may be 
further provided in the knowledge modification unit so that the 
dynamically modified fuzzy knowledge may be stored in the knowledge base. 
In order to achieve the second object, the present invention provides a 
reasoning course storage unit for storing the course of reasoning, and an 
explanation generation unit for analyzing the reasoning course to generate 
an explanation in a natural language. 
In order to achieve the third object, the present invention provides a 
knowledge analysis unit which illustrates relation of the fuzzy knowledge. 
In order to achieve the fourth object, the present invention provides, in 
addition to the control unit and the knowledge base which a user already 
has, the reasoning execution unit, the knowledge modification unit, the 
reasoning explanation unit and the knowledge analysis unit to complete a 
fuzzy reasoning apparatus. Where the reasoning explanation unit is 
provided as a tool, a reasoning course readout unit which can be accessed 
by the control unit may further be provided in order to allow the user to 
generate his/her own explanation. 
In accordance with the present invention, the control unit accesses the 
knowledge modification unit and the reasoning execution unit in accordance 
with a process which the user of the fuzzy reasoning apparatus has 
incorporated therein. Thus, it is possible to conduct the reasoning based 
on the defined fuzzy knowledge after dynamic modification of the fuzzy 
knowledge. The reasoning execution unit compiles the fuzzy knowledge only 
when the fuzzy knowledge is modified after the previous execution of the 
reasoning. Accordingly, where the fuzzy knowledge has not been modified, 
no extra time is required. The reasoning execution unit stores the 
reasoning course in the reasoning course storage. The explanation 
generation unit is started by the control unit after the reasoning 
execution unit has been accessed, analyzes the reasoning course storage, 
extracts a condition which significantly affects the conclusion and 
outputs it as a natural language sentence so that the user can easily 
understand the explanation. 
The control unit also starts the reasoning course readout unit in 
accordance with the built-in process to read out the information from the 
reasoning course storage. Thus, other explanation may be prepared based on 
this information. 
The knowledge analysis unit analyzes the fuzzy knowledge and graphically 
illustrates the results. Thus, the validity of the fuzzy knowledge can be 
verified by referencing the charts. 
The present invention has the advantage that the control unit may refer to 
the knowledge storage and modify the content thereof. It further has the 
advantage that the control unit may refer to the reasoning course storage.

DESCRIPTION OF THE PREFERRED EMBODIMENTS 
With reference to the first to third embodiments of the present invention 
which are shown for the purposes of illustration and not for limitation 
thereto, the diagnosis of branch offices in a financial organization is 
explained with reference to FIGS. 1 to 10 and FIGS. 14 and 15. 
Referring first to FIG. 1A, a system configuration of the first embodiment 
of the present invention is explained. It comprises a central processing 
unit 100 which carries out the fuzzy reasoning and various other 
processings, an external storage 101 which stores the fuzzy knowledge and 
a database, a display device 102 which displays explanation and analysis 
results, and an input device 103 which starts the process. 
Referring now to FIG. 1B, a configuration of a fuzzy reasoning apparatus of 
the present invention is explained. A knowledge base 110 in the external 
storage 101 stores the fuzzy knowledge in files in a form understandable 
and editable to a known operator. A control unit 120 in the central 
processing unit 100 is started through the input device 103 and accesses a 
knowledge modification unit 111, a reasoning execution unit 130, an 
explanation generation unit 143 and a reasoning course readout unit 142 in 
accordance with a preset procedure. A knowledge storage 121 comprises a 
memory which is in the central processing unit 100, and stores the fuzzy 
knowledge stored in the knowledge base 110 through an input/output control 
unit 122 in a form processable by the computer. The knowledge modification 
unit 111 modifies the knowledge storage 121. The reasoning execution unit 
130 executes the fuzzy reasoning based on the fuzzy knowledge stored in 
the knowledge storage 121 and outputs the reasoning course to the 
reasoning course storage 141. A reasoning explanation unit 140 comprises 
the,reasoning course storage 141, the reasoning course readout unit 142 
which delivers the information of the reasoning course storage 141 to the 
control unit, and the explanation generation unit 143 which outputs the 
explanation of the reasoning to the display device 102 in accordance with 
the reasoning course storage 141. A knowledge analysis unit 150 is started 
through the input device 103, and analyzes the content of the knowledge 
storage 121 and outputs the results to the display device 102. 
Each unit may be realized by a program module. 
Referring to FIG. 2, a configuration of the knowledge storage 121 is 
explained. A subject table 200 contains a name 202 of data (subject) which 
is referenced by a condition part of a fuzzy rule or determined by a 
conclusion part, and a minimum value 204, a maximum value 206 and a 
division number 208 as information used to define a membership function. A 
proposition which is determined by a subject 224 in the subject table 200 
and a predicate 226, and a parameter 228 which defines the membership 
function. In one example 230 of the parameters (3, 97, -2) which define 
the membership function, a type of function is 3 (right-hand down), the 
function is 1.0 at less than 97 and starts to fall from 97, and reaches 
0.5 at 97+2=99 (where 2 represents an absolute value of 2). 
In FIG. 14B, 1410 shows a graph of the membership function. 
Similarly, parameters 232 (4, 103, -2) define a membership function shown 
by a graph 1420 in FIG. 14A. 
The types of function include 3 (right-hand down), 4 (left hand down) and 
that shown in FIG. 14C. 
A rule table 240 contains a fuzzy rule. A rule 2 (column 250) shows. 
If "expense" is "normal" and "profit" is "small", then "increase" 
"headcount". 
It is stored in the knowledge base in this form a latest modification time 
260 stores a time at which the fuzzy knowledge of the knowledge storage 
121 is most recently modified by the knowledge modification unit 111. The 
time is updated each time even a portion of the knowledge is modified. 
An operation of the first embodiment of the present invention is now 
explained with reference to FIGS. 3 to 10. 
An overall operation of the control unit is first explained with reference 
to FIGS. 3 and 4. FIG. 3 shows a flow chart of the process of the control 
unit 120. FIG. 4 shows an example of statement in a program which 
describes the operation of the control unit 120. It is a portion of the 
program written by a user of the fuzzy reasoning apparatus by using an 
editor. In the first embodiment of the present invention, if the 
modification of the fuzzy knowledge is instructed in the program which 
describes the process of the control unit 120, a plurality of fuzzy 
reasonings may be repeatedly executed without stopping the fuzzy reasoning 
apparatus. In a step 310, the control unit 120 reads in a maximum value, a 
minimum value, a mean value and a standard deviation of all branch office 
data relating to the expense and the profit which are the subject 202 in 
the subject table 200, from the branch office database (data for each 
branch office of a bank) which is in the external storage 101, as the data 
necessary to modify the fuzzy knowledge. It should be noted that the 
control unit 120 can periodically or automatically at an appropriate 
timing read in necessary data in order to modify the fuzzy knowledge. It 
is not necessary for the user to instruct the modification through the 
input device 103. In a step 320, in order to set the fuzzy knowledge in 
accordance with the fetched data, the knowledge modification unit 111 is 
started by parameters 410 or 420 to modify the fuzzy knowledge in the 
knowledge storage 121. In a step 330, as input data for the first fuzzy 
reasoning, the expense and profit data of a first branch office is read 
from the branch office database. In a step 340, the reasoning execution 
unit 130 is started by 430. In a step 350, the explanation generation unit 
143 is started to display the explanation of the reasoning result. In a 
step 360, if there is input data of other branch offices, the process goes 
back to the step 330 to diagnose the next data. If there is no other input 
data, the process terminates. 
An operation of the knowledge modification unit 111 is now explained. The 
knowledge modification unit 111 is started by the control unit 120 in the 
form of parameters 410 or 420 in FIG. 4 to modify the fuzzy knowledge in 
the knowledge storage 121. It is also started in the form of parameter 430 
to modify the fuzzy knowledge in the knowledge base. 
Assuming that it is called by the parameter 420, the operation thereof is 
explained with reference to FIG. 5A. In a step 520, the proposition table 
220 of the knowledge storage 121 is selected as a table to be modified by 
a proposition 421 of a first parameter. In steps 530 and 540, the 
modification of a column 228 of a membership function of the first 
proposition 1 (222' in FIG. 2) of the proposition table 220 is determined 
by 1 of the second parameter (423 in FIG. 4) and the membership function 
425 of the third parameter. In a step 550, (3, 97, -2) (230 in FIG. 2) are 
changed to (3, mean expense+standard deviation of expense, standard 
deviation of expense) (427 in FIG. 4) of the fourth parameter. The mean 
expense and the standard deviation of expense indicate a mean value and a 
standard deviation of expenses of all branch offices, respectively, read 
in the step 320. In a step 560, a current time is entered in the column 
260 of latest modification time. 
In a similar manner, a new proposition may be defined by adding or 
modifying columns of the subject 224 and the predicate 226 of the 
proposition table. By modifying the subject table, a new subject (data) 
and a range of data may be modified. By modifying the rule table, a 
proportion to be referenced or determined by the rule may be changed or a 
new rule may be added. This modification is made not by the user through 
the editor but by the control unit 120 in accordance with the program. 
When the knowledge modification unit 111 is called by parameter 440 in FIG. 
4, it reads in the content of the knowledge storage 121 as shown in FIG. 
5B (step 570), converts it to an output form (step 575) and stores it in 
the knowledge base 110 (step 580). Thus, the modified fuzzy knowledge can 
be returned to the knowledge base 110. 
Assuming that the reasoning execution unit 130 is called by the parameter 
430 of FIG. 4 by the control unit 120, the operation thereof is explained 
with reference to FIG. 6A. In a step 610, the previous compilation time 
(which is set in a step 620) and the latest modification time 260 of FIG. 
2 are compared. If the latest modification time 260 is more recent, the 
process proceeds to the step 620 where the content of the knowledge 
storage 121 is compiled and the compilation time is updated. Then, the 
process proceeds to a step 650 where the fuzzy reasoning is executed in 
accordance with a compiled code, the expense 431 of the branch office x of 
the first parameter, the profit 433 of the branch office x of the second 
parameter, and the parameter logical AND 435 which determines the fuzzy 
reasoning method. In this manner, the number of times of execution of 
compilation is minimized to minimize the reduction of the speed of the 
fuzzy reasoning. 
An operation of the fuzzy reasoning by the reasoning execution unit 130 and 
a configuration of the reasoning course storage 141 are now explained with 
reference to FIGS. 6B and 7. Examples of fuzzy knowledge and input value 
used in the explanation are shown in FIG. 15. In a step 660, the expense 
and profit data 96 (701 in FIG. 7) and 97 (702 in FIG. 7) are read in as 
the input data for the reasoning. In a step 665, a value of the membership 
function of the condition part of the rule, to the input value is 
calculated. For example, the value 1.0 (710 in FIG. 7) in the profit 
column of the rule 2 corresponds to the value (1520 in FIG. 15) when the 
input value of the membership function (222 in FIG. 2) of this 
corresponding predicate "small" (242 in FIG. 2) of the rule table 240 is 
97 (702 in FIG. 7). In a step 670, the adaptability of the rule is 
calculated based on the values of the membership functions of the 
condition part of the rule. For example, 0.8 (735 in FIG. 7) in the 
adaptability column of the rule 2 represents the adaptability to the input 
value of the rule 2 (1530 in FIG. 15). 
In the fuzzy reasoning, the conclusions of the respective rules are summed 
with weights in accordance with the adaptability. It is a minimum value of 
the adaptabilities 0.8 (750 in FIG. 7) and 1.0 (710 in FIG. 7) of the 
proposition of the condition part. In a step 675, the membership function 
of the subject of the conclusion part of the rule is reduced in accordance 
with the adaptability of the rule. In the headcount column of the rule 2, 
(0.0, 0.0, . . . , 0.8, 0.48, 0.16) (740 in FIG. 7) indicates a membership 
function having a function value reduced in accordance with the 
adaptability 0.8, based on the membership function of "increase" (244 in 
FIG. 2) which is the corresponding predicate of the rule table 240 (see 
1540 in FIG. 15). In a step 680, the membership functions of the subjects 
of the conclusion parts of all of the rules are logically ORed to decide 
the headcount column (0.04, 0.12, . . . , 0.8, 0.48, 0.16) (760 in FIG. 7) 
of the total row. In FIG. 7, 760 indicates the membership function which 
is a conclusion for the headcount (see 1560 in FIG. 15). In a step 685, a 
center of gravity of the membership function 760 is calculated. The 
headcount column 780 in the conclusion row indicates that the value 1.8 
for the headcount is weighted by 0.7 to make a conclusion. 
The reasoning explanation unit is now explained. The operation of the 
explanation generation function 143 is first explained with reference to 
FIGS. 7, 9 and 10. In a step 910, the headcount 720 (1025 in FIG. 12) is 
set as a subject whose conclusion is to be explained. There is only one 
such subject in the present example. In a step 920, where the headcount 
value is 1.5 (1030 in FIG. 10), "increase" (1035 in FIG. 10) is selected 
as a word for the explanation, that is, a predicate which most fits among 
the predicates "increase" (1550 in FIG. 15) and "decrease" (1540 in FIG. 
15) for the headcount (the membership function value to 1.5 is large). In 
a step 930, 0.8 (790 in FIG. 7) is selected as a maximum value of the 
membership function 760 (1560 in FIG. 15) of the conclusion. In a step 
940, the rule 2 is selected as a rule based on which the maximum value 0.8 
is determined (see 1540 and 1550 in FIG. 15). In a step 950, the subject 
"profit" (730 in FIG. 7) which is a high membership function value 1.0 
(710 in FIG. 7) is selected from the propositions of the condition part of 
the rule 2 (1040 in FIG. 10). In a step 960, the input value 97 (702 in 
FIG. 7, 1045 in FIG. 10) for the profit is selected, and "small" (1050 in 
FIG. 10) is selected as a predicate which most fits among the predicates 
for the profit, "large", "normal" and "small". The information extracted 
in the above steps is applied to the format of 1010 in FIG. 10 to display 
explanatory text 1020 on the display unit 102. In this manner, the result 
of the fuzzy reasoning can be displayed in an expression which is easy to 
understand for the user, in accordance with the content of the reasoning 
course storage 141. It is noted that a printer for outputting the result 
of the fuzzy reasoning may be used instead of the display unit in the 
embodiment. 
The operation of the reasoning course readout unit 142 is now explained 
with reference to FIG. 8 which illustrates a method of accessing by the 
control unit 120. The reasoning course is read out by starting a function 
of fuzzy-reasoning-interium-result. This function is started by 
designating two parameters. The first parameter, rule 2 (820 in FIG. 8) 
means the row 795 of the rule 2 of the reasoning course table of FIG. 7. 
The second parameter, expense (830 in FIG. 8) means the expense column 725 
of the table. If the function is started with the column 810, it returns 
0.8 (750 in FIG. 7). 
A second embodiment of the present invention is now explained with 
reference to FIG. 11 to 13. 
The first embodiment is the system configuration which applies the fuzzy 
reasoning. The second embodiment relates to a fuzzy knowledge base 
building support tool which may be commonly used for the development of 
various application systems. 
A configuration of the second embodiment is explained with reference to 
FIG. 11. A fuzzy knowledge base building support tool 1110 comprises a 
reasoning execution unit 130, a reasoning explanation unit 140, a 
knowledge analysis unit 150, a knowledge modification unit 111 and a 
knowledge storage 121. The control unit 120 and the knowledge base 110 are 
separated and they utilize the hardware to which the second embodiment is 
applied. 
The operation is the same as that of the first embodiment. 
The operation of the knowledge analysis unit 150 is now explained with 
reference to FIG. 12A which shows a process flow and FIG. 12B which shows 
a screen of the execution result. In a step 1250, data for an abscissa and 
an ordinate of an output analysis chart (rule distribution chart) are 
selected from the subjects of the condition parts of the rules. For 
example, a user of the tool designates "expense" (1210 in FIG. 12B) as the 
abscissa and "profit" (1220 in FIG. 12B) as the ordinate. Minimum values 
and maximum values of "expense" and "profit" are examined with reference 
to the subject table of FIG. 2, and frame and scales of the analysis chart 
are displayed. In a step 1260, data whose rule distribution is to be 
observed is selected from the subjects of the conclusion parts of the 
rules. For example, the user of the tool designates "headcount" (1230 in 
FIG. 12B). With reference to the rule table and the proposition table of 
FIG. 2, the rules 1 and 2 of FIG. 15 and the membership functions to be 
referenced by those rules are grasped. In a step 1270, a minimum 
adaptability is set as a range for each rule to be shown on the analysis 
chart. For example, the user of the tool designates 0.5 (1230 in FIG. 
12B). In a step 1280, a range in which the adaptability of each rule is 
now less than 0.5 is determined and displayed. For example, the 
adaptability of the rule 1 is now less than 0.5 when both membership 
function values of "expense is large" and "profit is normal" are no less 
than 0.5. Referring to FIG. 15, "expense is large" occurs when the expense 
is no less than 97.5, and "profit is normal" occurs when the profit is no 
less than 97.5 and no larger than 102.5. This range 1245 is displayed on 
the display device 102 as the analysis chart. Similarly, for the rule 2, a 
range 1247 in which the expense is no less than 94.5 and no larger than 
99.5 and the profit is no less than 99.5 is displayed. In this manner, the 
manner of setting the rule may be statistically discussed based on the 
knowledge base in the knowledge storage 121 without starting the fuzzy 
reasoning. For example, it is seen from the analysis chart of FIG. 12B 
that the rule setting for a case where the expense is small and the profit 
is large is not sufficient. 
A third embodiment of the present invention is now explained with reference 
to FIGS. 13A and 13B. In the first and second embodiments, all processes 
are executed on the central processing unit 100. In the third embodiment, 
in order to attain a high speed operation, only the fuzzy reasoning is 
executed by the fuzzy reasoning processor 1340. 
A system configuration of the third embodiment is shown in FIG. 13A. The 
fuzzy reasoning processor (fuzzy chip) 1340 has an independent processor 
and it is started by the central processing unit 100. A portion of the 
configuration of the third embodiment is shown in FIG. 13B. It is the same 
as that of FIG. 1B or FIG. 11 except for the reasoning execution unit 130. 
The reasoning start unit 1320 is on the central processing unit 100. The 
fuzzy reasoning unit 1350 is on the fuzzy reasoning processor 1340 and it 
is started by the reasoning start unit 1320. 
The operation of the reasoning start unit 1320 is the same as that in the 
steps 610 and 620 of FIG. 6A. In the step 650, the fuzzy reasoning unit 
1350 is merely started. The operation of the fuzzy reasoning unit 1350 is 
the same as the process flow shown in FIG. 6B. 
A fourth embodiment of the present invention in which an optimum parameter 
value of the membership function is learned from teacher data is now 
explained with reference to FIGS. 16 and 17. As an example of the fuzzy 
knowledge, a rule for predicting movement of price from a shape of a 
candle base in technical analysis of a chart for stock market quotations 
is used. 
An example of the candle base is shown in FIG. 16A. The candle base is 
determined by the daily start value (price), end value, high value and low 
value. In the present embodiment, only the rule for the candle base 
(positive line) whose end value is higher than the start value is handled. 
The end value--start value, high value--end value, and start value--low 
value are called real body, upper shadow and low shadow, respectively. 
The content of the fuzzy knowledge base 110 of the present embodiment is 
first explained. An example of the rule is shown in FIG. 16C. The rule 
table includes the following three rules. 
Rule 1: if real body is long, then price goes up. 
Rule 2: if upper shadow is long, then price goes down. 
Rule 3: if lower shadow is long, the price goes up little. 
For example, the rule 1 indicates know-how that if "real body" is long, 
that is, if the price has substantially gone up from the start value and 
settled at the end value, the quotations are strong and "price goes up" 
tomorrow, too. 
A membership function is shown in FIG. 16B. Propositions 1, 2 and 3 
correspond to "real body is long", "upper shadow is long" and "lower 
shadow is long", respectively, and the shapes of the membership functions 
are type 4 (TYPE 4 or larger in FIG. 14C), and the parameter values are 
also fixed. On the other hand, propositions 4, 5 and 6 correspond to 
"price goes up", "price goes down" and "price goes up little", 
respectively, and the shapes of the membership functions are type 7 (equal 
to TYPE 7 in FIG. 14C), and portions A1, A2 and A3 of the parameter values 
are not fixed. 
The process of the control unit 120 in the present embodiment is now 
explained with reference to FIG. 17. Teacher data is read from the teacher 
data table (step 2210). As shown in FIG. 16D, the teacher data shows real 
body, upper shade, lower shade of the shape of the candle base and a 
variation of price as the result. A set of new values are then set in A1, 
A2 and A3 (step 2220). The knowledge modification unit 111 is accessed to 
modify the fuzzy knowledge in accordance with the new values in A1, A2 and 
A3 (step 2230). For each teacher data, the reasoning execution unit 130 is 
accessed to start the fuzzy reasoning, and the fuzzy cause readout unit 
142 is accessed to read the conclusion of the reasoning as a predicted 
value (step 2240). A square sum of differences between the predicted 
values of the teacher data and the results read from the teacher data 
table is calculated (step 2245), and if it is smaller than a past minimum 
value, it is recorded in a best parameter table (step 2250). An example of 
the best parameter table is shown in FIG. 16E. In a step 2220, a new set 
of A1, A2 and A3 are set again. If there is no new set, A1, A2 and A3 of 
the best parameter table currently recorded are selected in a step 2260. 
In accordance with the present embodiment, a method for learning the fuzzy 
knowledge from the teacher data is attained. By programming the control 
unit in this manner, it is possible for the control unit 120 to repeatedly 
and automatically execute the fuzzy reasoning while sequentially modifying 
the fuzzy knowledge of the knowledge storage 121. 
In the present embodiment, the membership function is dynamically defined 
and it need not be predefined by the editor or redefined even if the 
profit data increases year by year. Accordingly, the definition of the 
membership function is simplified. 
Since it is converted to the format of high speed processing only once in 
the order of reasoning for the first branch office, the delay of reasoning 
can be avoided. 
Since the reason for introducing the conclusion if explained by the text, 
even a person who is not familiar with the fuzzy reasoning system can 
understand the explanation. 
Since the reasoning course can be obtained by the control unit, it is 
possible to conduct an own explanation by developing a program. 
By utilizing the fuzzy knowledge base building support tool, it is not 
necessary to independently develop the reasoning program, and by using the 
reasoning explanation unit and the knowledge analysis unit, a better 
knowledge base may be developed in a more efficient manner. 
Since it is possible to check whether the description of the condition part 
of the rule is missing or whether different conclusions were introduced 
under similar circumstances, based on the chart displayed by the knowledge 
analysis unit, a more refined knowledge base may be built. 
Where the reasoning execution unit is realized by a separate hardware, high 
speed reasoning is attained. 
In accordance with the present invention, since the fuzzy knowledge is 
dynamically defined, a large value of knowledge can be efficiently defined 
without human intervention. It is possible to automatically modify the 
knowledge with the change of data. 
Because of the explanation unit for the reasoning, it is easy to explain 
the reason for the conclusion when the fuzzy reasoning is used for 
consultation. 
Because of the analysis unit of knowledge, information useful for the 
verification of the knowledge is available and it is possible to build a 
better knowledge base in a more efficient manner.