A membership function data preparation method and an apparatus thereof

Abstract: There is provided an improved system wherein a storage capacity for storing membership functions is reduced. In the system, a plurality of sections T11 through T16 are set having boundaries at vertexes or tops where the respective grades of a plurality of membership functions MF11 through MF17 become the maximum values. In each section, a pair of adjacent membership functions are set to be in an overlapping relationship and symmetrical with respect to a center of the section about their shapes. Coordinates X11 through X17 of the respective vertexes and gradient data g11 through g16 providing shapes of membership functions in the respective sections are set as the data providing the plurality of membership functions.

Description: BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates to a membership function data preparation method for fuzzy inference operation and an apparatus therefor. 2. Discussion of the Related Art A fuzzy inference operation is generally executed by a fuzzy rule of an IF-THEN type which consists of an antecedent starting with IF and a consequent starting with THEN. Each of the antecedent and consequent includes one or a plurality of propositions combined by AND or OR, each of the propositions consisting of an input variable and a membership function. A conventional storage of a conventional fuzzy inference operation device stores data representing membership functions in addition to data representing the rules. There is well known a ROM reading method in which data representing a form of membership function is stored into ROM corresponding to a variable for each membership function. Since a result of antecedent adaptation degree operation is obtained only by reading function value data (degree of adaptation) from ROM, the antecedent adaptation degree operation can be executed at a high speed but a large capacity memory is requested to store all function value data into ROM in advance. Accordingly, the conventional method is not practical except a case where any high resolution of membership function is not necessary. There is also well known a X/Y coordinate method in which a membership function is expressed by a polygonal line and a X and Y coordinate of a break point (inflection point) is stored into ROM for each membership function. According to the method, a storage capacity for storing X and Y coordinate data can be reduced, but an operation by software for a degree of adaptation takes a long time. If a hardware of an adaptation degree operation circuit is employed for a high speed operation, it is costly. There is also well known a X/gradient method in which a membership function is expressed by a simple shape, such as a triangle or the like, and a X coordinate and left and right gradients of the vertex (its grade is always "1") of a triangle are stored into ROM for each membership function. The method employs gradient data for a high speed operation, and does not employ division for an adaptation degree operation. This method also cannot remarkably reduce the capacity of ROM. For example, when seven kinds of membership functions are set for each of input variables which are eight kind of variables, a memory having 200 bytes is necessary, and a fuzzy inference operation device is limited for minimizing a cost. Document EP-A-0 424 890 discloses a programmable controller to which fuzzy control logic principles have been applied. The controller improves operational speed by performing several of the fuzzy logic functions in the A/D and D/A converters traditionally used in PC units, thereby allowing portions of a fuzzy logic control operation to proceed in parallel and independently. Look-up tables are used for fuzzy membership functions, fuzzy output functions, etc. by defining the functions typically in terms of three points in an ortogonal coordinate system, saving memory space. Document DE-A-3 936 503 refers to a fuzzy inference system including inference processors, every of which is provided for every fuzzy rule ; IF-part membership function definition switches, a minimum value calculating switch, and a THEN-part membership function definition switch. The THEN-part membership function for all rules is synthesized with a maximum value calculation by means of a membership function synthesizing switch. SUMMARY OF THE INVENTION It is, therefore, a primary object of this invention to provide an improved system of a X/gradient method in which a memory for storing membership function data is minimized. According to this invention, there is provided a method for preparing membership function data as set out in claim 1. According to another aspect of this invention there is provided a membership function data preparing device as set out in claim 3. BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, advantages and features of this invention will be more fully understood from the following detailed description provided in conjunction with the following figures, of which: Fig. 1 is a schematic block diagram of a knowledge setting device of a first embodiment of this invention; Fig. 2 is a graph showing membership functions; Fig. 3 is a flow chart showing a sequence of preparing membership function data; Fig. 4 is a table showing prepared membership function data; Fig. 5 is a schematic block diagram of a fuzzy inference device; Fig. 6 is a flow chart showing a sequence of operating a degree of adaptation; Fig. 7 shows contents of a buffer memory employed in the device of Fig. 5; Fig. 8 is a graph showing another type of membership functions; and Fig. 9 is a graph showing another type of membership functions. Detailed Description of the Invention Referring, now, to Fig. 1, there is shown a schematic block diagram of a knowledge setting device 10 as a preferred embodiment of this invention. The device 10 may be a part of a fuzzy inference device 20 as later shown in Fig. 5 or be independent from the device 20. The device 10 includes a computer having a program, an input device having a keyboard associated with the computer, and a display unit, such as a CRT display or the like, to provide a rule setting unit 11, a membership function (MF) setting unit 12, and a membership function/rule data preparation unit 13. The units 11 and 12 may be represented by portions of the input device, the display unit and the computer, respectively. A rule, what is called as a 1F-THEN rule, is entered into the rule setting unit 11 to be displayed. An example of such a 1F-THEN rule is expressed as the following: Rule 1: If X1=MF13, X2=MF25, X3=MF31, then y1=mf12 Rule 2: If X1=MF12, X2=MF22, X3=MF32, then y1=mf15 Rule j: IF X5=MF53, X6=MF61, then y2=mf21 An item starting with "If" is defined as an antecedent, and an item starting with "then" is defined as a consequent. The antecedent includes a plurality of propositions each consisting of a pair of a variable and a membership function. X1, X2, X3, X5 and X6 are input variables, y1 and y2 are output variables, MF12, MF13, MF22, MF25, MF31, MF32, MF53, MF61, mf12, mf15, and mf21 are membership functions. A plurality of kinds of membership functions in this embodiment are made for input and output variables. Identification codes expressing kinds of membership functions (MF, mf and their subsequent suffix) are defined as labels. As the above-mentioned rules are entered into the rule setting unit 11, the entered rules are applied to the membership function/rule data preparation unit 13 to be coded. An operation for setting seven kinds of membership functions MF11 through MF17 about input variable X1 will be explained hereinafter. For a simplified explanation, a triangle shape of membership function is introduced. The triangle shape may be represented by a coordinate of its vertex and gradients of both oblique sides of it or by coordinates of its vertex and both ends of the base. If a grade of a vertex (a value of a membership function) is always defined as "1", a coordinate of a vertex may be represented by a variable X. A range where a grade of a membership function having a triangle shape is not zero (a length range of the base, is called as a range of definition of a membership function. A membership function of this embodiment is represented by a coordinate of a vertex and gradients of both slopes of it. Fig. 3 shows an operation in membership function setting unit 12 and membership function/rule data preparation unit 13. In a step 31, an input variable is designated by being entered into the setting unit 12. An input variable X1 is assumed to be designated. Labels MF11 through MF17 of seven kinds of membership functions about input variable X1 and X coordinates X11 through X17 about vertexes of the functions as shown in Fig. 2 are entered by unit 12 (step 32), wherein every grades of the vertexes are "1". These entered data are applied to the unit 13. The range of definition of each membership function is defined as a range between X coordinates of vertexes of membership functions which are adjacent on left-and-right hand sides. Regarding 9 membership function at a left or right end, a range between a x coordinate of a vertex of a membership function adjacent to it in a right or left side direction and a left or right end of the range of variable X is defined as a range of definition. The range of variable X is divided into six sections T11 through T16 by coordinates X12 through X16 of vertexes. Membership functions adjacent on left and right sides are duplicately defined in each section, and symmetrical with respect to a center of the section. Accordingly, only one gradient g11 to g16 is defined in each section. Positive gradients are defined in this embodiment. A gradient of a left oblique side of a right hand side membership function in each section is one of gradients g11 through g16, and a gradient of right oblique side of a left hand side membership function is one of gradients -g11 through -g16. Gradients g11 through g16 in the respective sections T11 through T16 are computed by employing vertex coordinate data X11 through X17 respectively (steps 33 and 34). A gradient g1i is obtained by g1i=l/[x1(i+1)-x1i] . The numerator "1" expresses a grade. If 8 bits are introduced, the numerator "1" of the above-mentioned equation is replaced by "256". Thus, all data of the seven kinds of membership functions about variable X1 as shown in Fig. 4 are prepared. It will be understood from table of Fig. 4 that a data volume of Fig. 4 is much smaller than a data volume in a case for setting coordinates of the respective vertexes, a pair of gradients of both oblique sides, and, if desired, coordinates of both ends of the base. The above-mentioned operation will be executed on repeat about every input variables (step 35). If desired, data w11 through w17 representing weight of the respective membership functions may be set as shown in Fig. 4. Returning to Fig. 5, there is shown a fuzzy inference device 20 including a controller unit 21, an input/output unit 22, a rule/membership function memory 23, a buffer memory 24 and a four arithmetic operation unit 25. The device 20 may be represented by a computer system (particularly a microprocessor) including memories. The memory 23 stores data representing the rules and membership functions which are prepared by the knowledge setting device 10 of Fig. 1. The data about membership functions are stored in the manner shown in Fig. 4. The buffer memory 24 temporally stores various kinds of data, such as later-described degrees of adaptation or the like, made in an execution process of a fuzzy inference operation. The four arithmetic operation unit 25 is disposed to execute various kinds of arithmetic operations (ex. addition, subtraction, multiplication, M/N operation and M/N operation). The input/output unit 22 receives input data, and generates output data computed by a fuzzy inference operation. The controller unit 21 receives input data from the unit 22, and makes the unit 25 execute a predetermined operation in accordance with rules and membership functions stored in the unit 23. The controller unit 21 further makes the unit 22 generate the operation results to control a series of fuzzy inference operations. Fig. 6 shown an example of an adaptation degree operation executed in the unit 25 under control by the controller unit 21. Upon receiving input data (step 41), it is judged which section is belonged by the input data (step 42). For instance, if input data X1 (input data is represented by "X1") is applied in Fig. 2, it is determined that the input data X1 belongs to the section T13 because it is smaller than X14 and X13. Thus judged sections are stored in buffer memory 24 regarding the input variable X1 as shown in Fig. 7 (step 43). Subsequently, an adaptation degree "a" about a right side membership function MF14 is obtained by employing a gradient data g13 set in the judged section T13. The adaptation degree is produced by an equation a=X13+(X2-X13)g13 . The adaptation degree about a right side membership function MF13 is produced as "1-a" (Fig. 2). In an eight bit mode, it is expressed by "256-a" (step 44). Thus, the adaptation degrees of input data X1 about the computed membership functions MF14 and MF13 are set into the buffer memory 24 (step 46, Fig. 7). If desired, these adaptation degrees are multiplied by weight data w14, w14, the product is set to buffer memory 24. The above-mentioned operation will be executed about every input data (step 47). It is a conventional way that an adaptation degree in accordance with a set rule is selectively read out of the buffer memory 24 after the above-mentioned computation of adaptation degrees and adaptation degrees of antecedents of the respective rules are computed by their M/N operations. By employing the adaptation degrees of antecedents, arithmetic operations and determination operations about consequents are executed to generate output data. Though membership functions are set as a triangle shape in this embodiment, they may be modified to be expressed by Gaussian distribution (normal distribution) functions as shown in Fig. 8. In this modification, a parameter for providing a shape preferably employs a standard deviation σ. Values of the standard deviation may be different on left and right sides of a vertex of the function (ex. σ13 and σ14 of membership function MF14). The grade of the function is set to become zero at a position 3σ or 4σ from the center of the function. As a further modification, a trapezoid shape of membership functions may be employed as shown in Fig. 9. A pair of peaks may be defined at both ends of upper side of the trapezoid (e.g., X13A and X13B of membership function MF13). Since grade is always "1" in a section of an upper side (t13, t14), an adaptation degree is set to "1" when input data is judged to belong to these sections. It should be understood that the above description is merely illustrative of this invention and that many changes and modifications may be made by those skilled in the art without departing from the scope of the appended claims.

Claims: A method of fuzzy inference operation preparing membership function data comprising the steps of: designating a variable, designating peak positions of membership functions on said variable, setting a plurality of sections on said variable having boundaries at peaks where a plurality of said membership functions respectively have the largest values of their grades, setting in each of the sections a pair of adjacent membership functions in an overlapping relationship, the shapes of these membership functions being symmetrical with respect to a center of the section, setting data of a coordinate of each peak and data providing the shape of a membership function in each section so as to represent a plurality of membership functions. A method of preparing membership function data according to claim 1 in which the shapes of said membership functions are triangles and data providing said shapes are gradients. A fuzzy inference operation membership function data preparing device comprising: means for designating a variable, means for designating peak positions of membership functions on said variable, means for setting a plurality of sections on said variable having boundaries at peaks where a plurality of said membership functions respectively have the largest values of their grades, means for setting in each of the sections a pair of adjacent membership functions in an overlapping relationship, the shapes of these membership functions being symmetrical with respect to a center of the section, means for setting data of a coordinate of each peak and data providing the shape of a membership function in each section so as to represent a plurality of membership functions. A device according to claim 3 in which the shapes of said membership functions are triangles and data providing said shapes are gradients.

Inventors: HIDEJI EJIMA, MASATUGU MIURA, HIDEJI, EJIMA, MASATUGU, MIURA, Hideji, Ejima, c/o Omron Corporation, Masatugu, Miura, c/o Omron Corporation
Applicants: OMRON TATEISI ELECTRONICS CO, OMRON CORPORATION
Application year: 1992
Main classification: G06F7
IPC codes: G06F1, G06N7, G05B13, G06F9