Method and apparatus for fuzzy reasoning

Abstract: Fuzzy knowledge stored in a knowledge base (110) is written into a memory (121). When fuzzy reasoning is executed by a fuzzy reasoning unit (130) based on the content of the memory, a control unit (120) in a central processing unit (100) 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 reason­ ing. 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 (141). In this case, the control unit may display the fuzzy reasoning result on a display device (102) in an expression easily understand­ able by a user, based on the content of the other memory.

Description: BACKGROUND OF THE INVENTION The present invention relates to reasoning method and apparatus in a fuzzy reasoning system. In a prior art fuzzy reasoning such as that disclosed in "A Proposal of a knowledge Bused 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 before start of reasoning in order to define or modify it. In a prior art fuzzy reasoning such as that disclosed in "Security Investiment 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. The document ELECTRONICS, vol. 62, no. 3, March 1989, New York, US, pages 102-103; Larry Waller: "Fuzzy Logic: It's comprehensible, it's practical - and it's commercial", discloses a FC110 digital fuzzy processor, the instruction set and addressing modes of which are designated for a fuzzy knowledge base stored on a separate read-only memory. In this prior art a fuzzy reasoning engine reads fuzzy knowledge from the knowledge base and executes the reasoning. In summary, as seen from the first and fourth prior art, no attention has been paid to dynamically define the fuzzy knowledge and it has been necessary for a person to define or modify the fuzzy knowledge by the editor before the fuzzy reasoning system is 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 cannot understand the explanation. In the prior art method of verifying the validity of the defined fuzzy knowledge, no consideration has been made for the support to the static discussion of the validity of the knowledge but the knowledge is dynamically verified by the simulation. SUMMARY OF THE INVENTION It is a first object of the present invention to provide method and apparatus of fuzzy reasoning which allow dynamic definition of the fuzzy knowledge. It is a second object of the present invention to provide method and apparatus of fuzzy reasoning which display the explanation of reasoning result in a form understandable to anyone. It is a third object of the present invention to provide method and apparatus of 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 is characterized by the provision of a knowledge modification unit for modifying the fuzzy knowledge, and a control unit which can access 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 in corporated in. 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 to 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 is characterized by that the control unit may refer the knowledge storage and modify the content thereof. It is further characterized by that the control unit may refer the reasoning course storage. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1A shows a block diagram of a system configuration of a first embodiment of the present invention; Fig. 1B shows a block diagram of a configuration of the present invention; Fig. 2 shows a configuration of a reasoning knowledge storage; Fig. 3 shows a flow chart of a process of a control unit; Fig. 4 shows an example of definition of the control unit; Figs. 5A and 5B show flow charts of a process of a knowledge modification unit; Figs. 6A and 6B show flow chart of a process of a reasoning execution unit; Fig. 7 shows a configuration of a reasoning course storage; Fig. 8 illustrates the use of a reasoning course readout unit; Fig. 9 shows a flowchart of a process of an explanation generation unit; Fig. 10 shows an output screen of the explanation unit; Fig. 11 shows a block diagram of a configuration of a second embodiment of the present invention; Fig. 12A shows a flow chart of a process of a knowledge analysis unit; Fig. 12B shows an execution screen of the knowledge analysis unit; Fig. 13A shows a block diagram of a system configuration of a third embodiment; Fig. 13B shows a block diagram of a configuration thereof; Figs. 14A-14C show examples of a membership function; Fig. 15 illustrate a rule and a reasoning execution process; Figs. 16A-16E illustrate operation of a fourth embodiment of the present invention; and Fig. 17 shows a flow chart of a process in the fourth embodiment. DESCRIPTION OF THE PREFERRED EMBODIMENTS As the first to third embodiments of the present invention, 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 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. 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 referred 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 buse 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 in the subject table 202, 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 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 office, 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 410 or 420 in Fig. 4 to modify the fuzzy knowledge in the knowledge storage 121. It is also started in the form of 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 referred 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 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 proceed 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. 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 (1570 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 a 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 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 referred 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 expensive 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 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 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 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 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 developped 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, 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.

Claims: A method of fuzzy reasoning for effecting fuzzy reasoning based on fuzzy knowledge stored in a knowledge base unit (110) using a fuzzy reasoning system comprising a control unit (120), a reasoning execution unit (130) and an external data storage unit (101), characterised in that the method comprises the steps of: (a) starting a modification procedure of the fuzzy knowledge which is included in a program of the control unit (120); (b) transferring the fuzzy knowledge from the knowledge base unit (110) to a knowledge storage unit (121); (c) modifying the fuzzy knowledge in said knowledge storage unit (121) in accordance with the modification procedure, and (d) executing the fuzzy reasoning by the reasoning execution unit (130) based on the modified fuzzy knowledge in said knowledge storage unit (121) in accordance with a execution start procedure in said control unit (120). A method of fuzzy reasoning according to claim 1 wherein at least one of a fuzzy rule (240) and a membership function (228) in said knowledge storage is modified. A method of fuzzy reasoning according to claim 1 wherein said step (d) repeats the fuzzy reasoning for the modified fuzzy knowledge in said knowledge storage unit (121) by the number of times corresponding to the number of input data. A method of fuzzy reasoning according to claim 1 wherein said steps (c) and (d) are repeatedly executed by the number of times designated by a central processing unit (100). A method of fuzzy reasoning according to claim 1 further comprising: (a) the step (610) of storing the latest time of modification (260) of the fuzzy knowledge in said knowledge storage unit (121) and comparing the latest time (260) with a previous compilation time of the fuzzy knowledge; (b) the step of determining whether a conversion of the fuzzy knowledge in said knowledge storage unit (121) to the latest time fuzzy knowledge is necessary when the latest modification time (260) is more recent; and (c) the step (620) of converting the fuzzy knowledge to the more recent latest time fuzzy knowledge in accordance with the determining, and when the latest time fuzzy knowledge is not more recent, retaining an internal expression format of the fuzzy knowledge comprising the previous compilation time fuzzy knowledge for high speed processing. A method of fuzzy reasoning according to claim 1 or 5, further comprising the step of storing the modified fuzzy knowledge in said knowledge storage unit (121) into said knowledge base (110). A method of fuzzy reasoning according to claim 1 further comprising the steps of: storing a fuzzy reasoning course into a reasoning course storage (141); preparing (143; 142) a reasoning result in a form understandable by a user based on the content in said reasoning course storage; and supplying the reasoning result to an output device (102). A method of fuzzy reasoning according to claim 1 further comprising the steps of: converting a fuzzy rule for visual display based on the fuzzy knowledge in said knowledge storage; and supplying said visual display to an output device (102). A fuzzy reasoning apparatus comprising: a knowledge base (110) for storing of fuzzy knowledge; a control unit (120) in a central processing unit (100) including a program for executing the fuzzy reasoning, characterised in that the control unit (120) includes a program stating a modification procedure (410, 420) of fuzzy knowledge and an execution start procedure (430) of fuzzy reasoning; the fuzzy reasoning apparatus further comprises: a knowledge storage unit (121) for reading in and storing fuzzy knowledge from said knowledge base (110); means (111) connected to said control unit (120) and said knowledge storage unit (121) for modifying the fuzzy knowledge in said knowledge storage unit (121) in accordance with the modification procedure (410, 420) in the program of said control unit (120); and means (130) connected to said control unit (120) and said knowledge storage unit (121) for executing the fuzzy reasoning based on the modified fuzzy knowledge in said knowledge storage unit in accordance with the execution start procedure (430) of said control unit (120). A fuzzy reasoning apparatus combined with a system including a central processing unit (100) having a control unit (120) and a knowledge base (110) for storing fuzzy knowledge, characterised by a knowledge storage unit (121) for storing the fuzzy knowledge therein from said knowledge base (110); means (111) connected to said control unit (120) and said knowledge storage unit (121) for automatically modifying the fuzzy knowledge in said knowledge storage unit to generate modified fuzzy knowledge responsive to a first instruction from said control unit (120); and means (130) connected to said control unit (12) and said knowledge storage unit (121) for executing a fuzzy reasoning based on the modified fuzzy knowledge in said knowledge storage unit responsive to a second instruction from said control unit (120). A fuzzy reasoning apparatus according to claim 9 or 10 wherein said fuzzy reasoning execution means (1350) is included in a fuzzy reasoning processor (1340) independent from said central processing unit. A fuzzy reasoning apparatus according to claim 9 or 10 wherein at least one of a fuzzy rule (240) and a membership function (228) of the fuzzy knowledge in said knowledge storage is modified. A fuzzy reasoning apparatus according to claim 9 or 10 wherein said fuzzy reasoning execution means (130) repeats the fuzzy reasoning for the modified fuzzy knowledge in said knowledge storage unit (121) by the number of times corresponding to the number of input data. A fuzzy reasoning apparatus according to claim 9 or 10 wherein said fuzzy reasoning execution means (130) repeats the execution of the fuzzy reasoning while modifying the fuzzy knowledge in said knowledge storage unit (121) by the number of times designated by said central processing unit (100). A fuzzy reasoning apparatus according to claim 9 or 10 further comprising: means for storing the latest modification time (260) of the fuzzy knowledge stored in said knowledge storage unit (121) and for comparing the latest time (260) with a previous compilation time of the fuzzy knowledge; means for determining whether a conversion of the fuzzy knowledge in said knowledge storage unit (121) to the latest time fuzzy knowledge is necessary when the latest modification time (260) is more recent; and means for converting the fuzzy knowledge to the more recent latest time fuzzy knowledge in accordance with the determining, and when the latest time fuzzy knowledge is not more recent, retaining an internal expression format of the fuzzy knowledge comprising the previous compilation time fuzzy knowledge for high speed processing. A fuzzy reasoning apparatus according to Claim 9, 10 or 15 further comprising: means for storing the modified fuzzy knowledge in said knowledge storage into said knowledge base. A fuzzy reasoning apparatus according to Claim 9 or 10 further comprising: a reasoning course storage (141) for storing fuzzy reasoning course; means (143) for preparing reasoning explanation in a form understandable by a user based on the content of said reasoning course storage; and an output device (102) for outputting the reasoning explanation. A fuzzy reasoning apparatus according to Claim 9 or 10 further comprising: means (150) for converting a fuzzy rule to a visual display based on the fuzzy knowledge in said knowledge storage; and an output device (102) for outputting the visual display.

Inventors: MORI FUMIHIKO, SOMEYA RYUKO, YAMADA HIROSHI, YASUNOBU CHIZUKO, YASUNOBU SEIJI, MORI, FUMIHIKO, SOMEYA, RYUKO,, YAMADA, HIROSHI, YASUNOBU, CHIZUKO, YASUNOBU, SEIJI
Applicants: HITACHI LTD, HITACHI, LTD.
Application year: 1990
Main classification: G06F7
IPC codes: G06N7, G06F9, G05B13, G06N5