CA2163006A1 - Fuzzy logic controller - Google Patents
Fuzzy logic controllerInfo
- Publication number
- CA2163006A1 CA2163006A1 CA002163006A CA2163006A CA2163006A1 CA 2163006 A1 CA2163006 A1 CA 2163006A1 CA 002163006 A CA002163006 A CA 002163006A CA 2163006 A CA2163006 A CA 2163006A CA 2163006 A1 CA2163006 A1 CA 2163006A1
- Authority
- CA
- Canada
- Prior art keywords
- fuzzy
- clearness
- input
- output
- patterns
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/0275—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using fuzzy logic only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/048—Fuzzy inferencing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
- G06N7/023—Learning or tuning the parameters of a fuzzy system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Fuzzy Systems (AREA)
- Automation & Control Theory (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Feedback Control In General (AREA)
Abstract
This invention relates to the design and implementation of real-time knowledge-based fuzzy controller system for general purpose industrial applications. The controller is implemented in three technological bases (software, VLSI and neural network). In another aspect the invention relates to the design of an Intelligent system which implements decisionmaking procedure based on approximation, association and reasoning with fuzzy patterns and their clearness assessments rather than the use of Max-Min computation over fuzzy relational matrices usually applied in approximate reasoning procedures in similar systems. According to this design the fuzzy controller is a device which operates at the level of fuzzy pattern processing where each control task is expressed through the attributes of fuzzy patterns (syntax and content, domain and clearness measure), and the elementary cognitive activities which the human performs with these patterns such as: recognition, generation, assessment, association, pattern matching, approximation, etc. The fuzzy controller utilizes a new scheme for approximate reasoning with fuzzy patterns called the Clearness Transformation Rule of Inference (CTRI). This mechanism offers a spectrum of advantages broadening the functional Intelligence of the controller to handle complex human tasks, improving the performance and accuracy of the controller and reducing the computational requirements. The fuzzy controller presented in the invention can be applied in general engineering practice, financial, medical, process control, pattern recognition and other areas requiring knowledge-based bahaviour in decision making.
Description
-FUZZY LOGIC CONTROLLER
Background. Existing fuzzy controller designs are based on the Compositional Rule of Inference (CRI) for approximate reasoning of L.A. Zadeh. This approach applies the notion of membership function to measure the compatibility of fuzzy linguistic categories.
such as HIGH, LOW etc.. with the crisp and deterministic values (usually measured.
cal~ ed or assigned) which are utilized to describe the state of the process variables and objects. such as TEMPERATURE, PRESSURE, etc. In this approach. the control rules(acquired from domain expert(s)) are i--tell.reted in the controller knowledge-base as fuzzy relations which are represented as fuzzy matrices. For multivariable processes these matrices become multi-dimensional. The inference and approximate reasoning procedure of the CRI is performed using the time-consuming Max-Min operations over these matrices. As a result the operation of the controller can handle slow and simple processes but may face difficulties to cope with real-time applications for fast and complex multivariable processes due to the huge computation required to implement their functionality. Another principal limitation on the CRI based fuzzy controllers is that they can not perform reasoning at a fuzzy pattern level as the human usually does in handling the real world situations. This makes it difficult to use these controllers to simulate the various functionalities of human thinking which usually manipulates patterns in the problem solving practice rather than massive data such as fuzzy matrices. Another difficulty faced by the CRI based fuzzy controllers is that they are unable to generate scenarios and records on their behaviour in terms of the tasks and patterns they simulate in their operation which can be used to match the human behaviour involved in similar control tasks. This is due to the algorithmic rather than cognitive bases of theapproximate reasoning procedure of the CRI utilized in these controllers. The compatibility between the operation of these devices and the human thinking is an important issue required for enhancing their functional intelligence. It also facilitates the acquisition of the domain and expert knowledge which shorten the time of an application development.
Other relevant literature includes:
1. J. Rasmussen, Information processing and Human-Machine Interaction. An Approach to Cognitive Engineering. North-Holland. 1986.
2. L. Sultan. " A composition of binary and multivalued logic for the proceduresorganization of fuzzy expert systems." IEEE Proceedings on ISMVL. pp. 154-159, 1984.
Background. Existing fuzzy controller designs are based on the Compositional Rule of Inference (CRI) for approximate reasoning of L.A. Zadeh. This approach applies the notion of membership function to measure the compatibility of fuzzy linguistic categories.
such as HIGH, LOW etc.. with the crisp and deterministic values (usually measured.
cal~ ed or assigned) which are utilized to describe the state of the process variables and objects. such as TEMPERATURE, PRESSURE, etc. In this approach. the control rules(acquired from domain expert(s)) are i--tell.reted in the controller knowledge-base as fuzzy relations which are represented as fuzzy matrices. For multivariable processes these matrices become multi-dimensional. The inference and approximate reasoning procedure of the CRI is performed using the time-consuming Max-Min operations over these matrices. As a result the operation of the controller can handle slow and simple processes but may face difficulties to cope with real-time applications for fast and complex multivariable processes due to the huge computation required to implement their functionality. Another principal limitation on the CRI based fuzzy controllers is that they can not perform reasoning at a fuzzy pattern level as the human usually does in handling the real world situations. This makes it difficult to use these controllers to simulate the various functionalities of human thinking which usually manipulates patterns in the problem solving practice rather than massive data such as fuzzy matrices. Another difficulty faced by the CRI based fuzzy controllers is that they are unable to generate scenarios and records on their behaviour in terms of the tasks and patterns they simulate in their operation which can be used to match the human behaviour involved in similar control tasks. This is due to the algorithmic rather than cognitive bases of theapproximate reasoning procedure of the CRI utilized in these controllers. The compatibility between the operation of these devices and the human thinking is an important issue required for enhancing their functional intelligence. It also facilitates the acquisition of the domain and expert knowledge which shorten the time of an application development.
Other relevant literature includes:
1. J. Rasmussen, Information processing and Human-Machine Interaction. An Approach to Cognitive Engineering. North-Holland. 1986.
2. L. Sultan. " A composition of binary and multivalued logic for the proceduresorganization of fuzzy expert systems." IEEE Proceedings on ISMVL. pp. 154-159, 1984.
3. L. Sultan. " Some considerations on systems organization for fuzzy information processing", in: Trapple L. (ed..), Cybernetics and system research. North-holland, pp.551-556. 1984.
SUBSTITUTE SHEET
2 1 63006 -~
SUBSTITUTE SHEET
2 1 63006 -~
4. L.A. Zadeh. "Outline of a new approach to the analysis of complex systems anddecision processes," IEEE Trans Systems, Man and Cybernetics..vol. SMC-3,pp.28-44,1973.
5. L.A.Zadeh. "The concept of a linguistic variable and its application to approximate reasoning, I and II". Inform. Sci., vol. 8, pp. 199-249 and vol. 9, pp.301-357, 1975.
SUMMARY OF THE INVENTION. The fuzzy controller presented in this invention is anintelligent-cognitive device which operates and makes decisions at the level of fuzzy panern processing, association and approximation. It is capable of performing the tasks of recognition, generation, ~cseccment of cleamess and validity measure of fuzzy patterns of the real world situations. The controller reasons with these patterns and their clearness measures to arrive at acceptable decisions using a new cognitive mechanism for approximate reasoning formalized as the Clearness Transformation Rule of Inference (CTRI). In this mechanism, the necessity to use fuzzy matrices and the time consuming Max-Min operations for approximate reasoning are eliminated. Hence, the fuzzy controller is a real-time operating device for decision-making even in complex and multivariable applications. Its behaviour and decisions can be traced back and validated explicitly which facilitates the control and expert knowledge acquisition and updating. The invention provides a systematic approach for the design of this fuzzy controller and decision maker system together with complete description of the implementation of their modules using Software (knowledge-based architecture), Customized VLSI Chips andNeural Network technology.
To accomplish the foregoing and other objects, and in accordance with the present invention . as described and embodied herein. a system. called the Clearness Transforming Fuzzy Logic Controller (CTFLC). is presented embodying the organization as well as the scheme of implementation of a fuzzy controller and decision-maker system whereby the process variable values are received as crisp data and according to which a control command is generated in the form of crisp data as output control actions. or the input is in the form of fuzzy patterns and linguistic scenarios and the output in the form of control comm~n-ls or control action patterns and scenarios which may be utilized by the operator to improve his/her options regarding the process operation and enhance his/her decisions. The fuzzy controller establishes its output through the execution of a series of knowledge based tasks involving situation pattern recognition. situation assessment in terms of cleamess measure, pattern matching and the deduction of the control action pattern. approximate reasoning to determine the clearness degree of the control action pattern. and defuzzification of the control pattern (if the output of the controller is required in the form of crisp data values).
SUBSTITUTE SHEET
WO 94128481 . 2 1 6 3 0 0 6 PCT/CA93/00223 The following are the distinguished functional and operational characterstics of the CTFLC system.
1. It is a system for general purpose applications capable of simulating human thinking in handling the tasks of fuzzy control and decision- making. These tasks are defined based on the use of a cognitive model of fuzzy control specifled in the invention description.
2. It is a device which operates at the level of fuzzy pattem processing (as a basic entity or portion of information) in achieving the tasks of control and decision making to produce acceptable solutions and decision patterns. It implements a set of knowledge-based tasks such as generation. recognition and ~csessment of the validity (Cle~rness degree) of fuzzy patterns and achieves approximation in the association between these patterns as well as imit~ting the human thinking in achieving a cognitive inference producing options of control and decision patterns together with ~csessmerlts of their validity. This capacity enables the application of the CTFLC as a fuzzy controller. Intelligent decision-maker and a declslon support system.
3. It applies a new scheme for approximate reasoning at the level of fuzzy pattern manipulation which elimin~s the necessity for the time con~lming Max-Min computation usually employed for approximate reasoning in similar devices. Hence. the CTFLC can operate in real-time when applied for control and decision-making in multivariable systems and complex processes.
4. Its organization and operating principles are independent of the the technology employed for its implement~tion. Various technological bases can be used to implement it while the same operation and design principles are m~int~ined. This characteristic of the CTFLC makes its integration with other systems a viable issue.
5. The use of generic rules and the systemization of the domain features in terms of data required by the operation and implementation of the controller simplifies the process of knowledge acquisition and the updating of the controller features (including itsperformance features). These facilities assist in a rapid application development and validation of the controller performance.
SUBSTITUTE Sh'~. ~T
Other objects and advantages of the invention will be apparent from the forthcoming description and claims of the invention including the a detailed description of the drawings in which:
BRIEF DESCRIPTION OF DRAWINGS
Figure ( 1 ) is a scheme illustrating the organization of the cognitive model of fuzzy control upon which the invention of the CTFLC system is based.
Figure (2) is a scheme illustrating the modules and operational phases of the CTFLC
system used for the embodiment of the invention.
Figure (3) is a diagram illustrating the operation of the modules of the CTFLC system at the level of input-output data used for the embodiment of the invention.
Figure (4) is a diagram illustrating the intel~leta~ion of the domain of a fuzzy pattem used for the specification of the operation of the CTFLC system of the invention.
Figure (5) is a diagram illustrating the interpretation of the cleamess measure of a fuzzy pattem used for the specification of the operation of the CTFLC system of the invention.
Figure (6) is a diagram illustrating the graphical presentation of the cleamess distribution of fuzzy pattems used for the presentation in this measure of the invention.
Figure (7) is a scheme illustrating the operation of the CTRI-based inference engine in deducing fuzzy pattems having the same syntax but with different cleamess degrees used for the embodiment of the CTFLC system of the invention.
Figure (8) is an analysis in the form of tables of the characteristics of tasks of the CTFLC
system in terrns of input-output data. knowledge and control strategies required for their accomplishment used for the embodiment of the CTFLC system of the invention.
Figure (9) is a scheme illustrating the intemal architecture of the CTFLC system at the level of the operational modules and the knowledge used by each each module used for the embodiment of the invention.
Figure (10) is a diagram showing the employment of the cleamess distributions of the fuzzy pattems which serve to understand the example of the operational phases of CTFLC
SUBSTITUTE SHEET
WO 94/28481 ~ ; A '' , 2 1 6 3 0 0 6 PCT/CA93/00223 ~i~cussed in the invention.
Figure ( l l ) is a diagram of the rule-base architecture of the CTFLC shell used for the preferred embodiment of the invention.
Figure ( 12) is a functional diagram of the Fuzzifier at the level of input-output data which illustrates the interaction between the two module: Fuzzifier-I and Fuzzifier-II used for the implementation of the preferred embodiment of the invention.
Figure (13) is a diagram showing the preferred off-line generation of the values of the thresholds of transition (TT) using the clearness distributions of fuzzy patterns used for the implementation of the Fuzzifier of the invention.
Figure ( 14) is a dia~ram illustrating the preferred off-line generation of the values of the clearness level thresholds ( CL) used for the implementation of the Fuzzifier of the invention.
Figure (15) is a functional diagram of the Defuzzifier module at the level of input-output data used for the implement~tion of the invention.
Figure (16) is a diagram illustrating the principle of counter-reflection of the clearness level of a fuzzy pattern on the elements of the domain space to infer crisp data of the control action to the process. used for the implementation of the Defuzzifier of the invention.
Figure (17) is a table showing the preferred embodiment of the CTFLC database system for the software implementation of the invention.
Figure ( 1 8-a) is a diagram illustrating the preferred off-line generation of the values of the thresholds of transition (TT) for the hardware implementation of the invention.
Figure (18-b) is a diagram illustrating the preferred determination of the code for each elementary fuzzy pattern for the hardware implementation the invention.
Figure ( 1 9-a) is a diagram of the preferred page organization of the ROM Memory for the SUBSTITUTE SHEET
WO 94/28481 2 ~ 6 3 0 0 6 PCT/CAg3/00223 storage of the Thresholds of Transition (MTT) for the hardware implementation of the invention.
Figure (l9-b) is a scheme showing the generic description of the contents of each page and location of the MTT ROM for the hardware implementation of the invention.
Figure (20) is a scheme of the preferred functional implementation of Fuzzifier-I to perform cycle- I of the operation of the Fuzzifier for the hardware implementation of the invention.
Figure (21) is a scheme of the preferred organization of Fuzzifier-I and the RPC to perform cycle-l of operation of the Fuzzifier for the hardware implementation of the invention.
Figure (22-a) is a diagram showing the preferred off-line generation of the values of the threshold of transition between clearness levels used for the hardware implementation of Fuzzfier-II of the invention.
Figure (22-b) is a diagram showing the preferred off-line determination of the codes of the threshold points between clearness level intervals for the hardware implementation of Fuzzifier-II of the invention.
Figure (23-a) is a scheme of the preferred embodiment for the page organization of the ROM Memory of the Clearness Levels (MCL) for the hardware implementation of the mventlon.
Figure (23-b) is a diagram of the functional equivalent of the preferred page organization of the ROM memory of the clearness levels MCL for the hardware implementation of the mventlon.
Figure (24) is a scheme for the preferred functional implementation of Fuzzifier-II for the hardware implementation of the invention.
Figure (25) is a scheme of the preferred organization of the interaction between CLT and MIN chip for the generation of the clearness degree of the pattern of the control action SUBSTITUTE SHEET
wO 94/28481 2 1 6 3 0 0 6 PCT/CA93/00223 used for the hardware implementation of the invention.
Figure (26) is a functional diagram of the of the Control Rule Selection module (Pattern Matching) used for the embodiment of the invention.
Figure (27) is a dia_ram of the preferred organization of the ROM memory of the control action pattems MCAP for the hardware impl~ment~tion of the invention.
Figure (28-a) is a diagram showing the preferred off-line determination of the control action crisp data in the implemenr~tion of the Defuzzifier for the hardware implementation of the invention.
Figure (28-b) is a diagram of the preferred org~ni7~rion of the ROM memory of the control action crisp data (MCAD) to implement the Defuzzifier for the hardware implem~nt~tion of the invention.
Figure (29) is a scheme of the preferred architecture of the CTFLC for the hardware implement~tion of the invention.
Figure (30) is a diagram of the operation of the CTFLC at the level of the functional blocks for the preferred hardware implemenr~tiQn of the invention.
Figure (31 ) is a diagram of the preferred Neural Network implementation of the CTFLC
of the invention.
DETA~ Fl) DESCRIPTION OF THE INVENTION
THE COGNITTVE MODEL OF FUZZY CONTROL. The functionality. design and operational principles of the Clearness Transformation Fuzzy Logic Controller (CTFLC) are specified based on the cognitive model of fuzzy control and decision- making. The general diagram of this model is presented in Figure (1). It illustrates the basic tasks and cognitive me~h~nicm~ of a human involved in the control and decision- making procedure at a rule-based and knowledge-based level of behaviour. This model is established through a psychological and cognitive study using, as a framework, the model of Rasmussen for supervisory control and decision-making. Applying this model. the SUBSTITUTE SHEET
.
human tasks were analysed as a loop of three phases which are: (a) situation pattern observation. detection and assessment. (b) control action planning and (c) action execution . The model of Figure ( 1 ) reflects these phases. Each phase is realized through performing a set of tasks. The states of the process variables such as FLOW, TEMPERA TURE etc.. (see Figure 1 ) are detected from the observed measured values and fuzzified in such terms as HIGH, LOW, etc. This fuzzification task .first . draws mental (fuzzy) pictures of the process situations in the short-temm memory. Once the approximate pattern of a process situation is established. the operator. secondly, assesses the "cleamess degree" of the situation pattern. He/she builds this clearness assessment based on his/her understanding and experience on what is going on in the controlled process.
The operator usually uses his/her own heuristic measures of the " clearness degree" in the clearness assessment of the patterns of process situations. The more understandable and clearer to him/her the detected situation patterns the more confident and clearer pattems of the control actions he/she will generate. The operator then matches this dynamic pattern with the static fuzzy pattem of the process situation which is established in the long-term memory. The result of performing this pattem matching task is the generation of fuzzy pattems of the control actions such as "INCREASE THE FLOW SLIGHTLY". etc to be applied to the process . The model presented in Figure (1) shows that this deduction process utilizes two mech~ni.~m~ The first is the pattem m~trhing by which the operator deduces the pattems of the control actions ( response to what to apply). The second.
which is within the basic claims of this invention. is a transformation mechanism by which he/she deduces the assessment of the pattern of the control action ( response to how clear the deduced pattem of the control action is). It has been identified that these two mechanisms are usually performed in parallel. In essence. the transformationmech~nicm is involved basically to achieve a cognitive approximation leading to define the clearness and importance of the patterns of the control actions depending on the clearness ~sessments of the detected pattems of process situations. This cognitive mechanism transforms the clearness measures of the detected patterns of the process situations to the inferred patterns of the control actions. Hence, the output of the deduction phase will be the pattern of the control action (by applying the pattern matching mechanism) as well as the clearness degree measure of this pattern (by applying the transformation mechanism). The operator then utilizes these two outputs to perform the defuzzification task by which he/she translates (defuzzifies) the fuzzy pattems of control SUBSTITUTE SHEET
WO 94/28481 2 1 6 3 0 0 6 PCT/CAg3/00223 g actions into precise control commands and executes them properly in the execution phase.
The basic results obtained from this cognitive model are the definition of the tasks of fuzzy control, the inte~ elation of these tasks through the use of the notion of a fuzzy pattem and its cleamess degree, and the identification of the approximate reasoning performed by the transformation mech~nism. In Figure (1), the (CapprOx) symbol which appears in the approximate reasoning block refers to the approximate degree of "strength" or "weakness"
of the situation pattern which will be transformed by the transformation mech~ni~m to the patterns of control actions. The approximate reasoning mech~nicm has been formulated as the Cleamess Transformation Rule of Inference (CTRI) and the fuzzy controller developed on its basis is called the Cleamess Transformation Fuzzy Logic Controller (CTFLC).
The tasks of the CTFLC are specified based on this cognitive model and summarized in the following order:
Fuzzify the measured variable values to Generate and Assess the fuzzy pattems of process situations ---> Perform pattem matching to infer the fuzzy patterns of control actions ---> Apply the transformation mechanism to Assess the patterns of actions through approximate reasoning ---> Defuzzify the deduced pattems of the control actions --->
Execute the deterministic control actions.
It is within the basic claims of this invention that the CTFLC is a system capable of handling the tasks and mech~ni~ms specified by the cognitive model of fuzzy control outlined in the forgoing description of the invention. In essence. the CTFLC is a cognitive and expert system device which is capable of simulating the human behaviour in performing the tasks of this model.
The general architectllre and operational phases of the CTFLC system capable of handling the tasks of the cognitive model of fuzzy control is illustrated in Figure (2). This system consists of the following modules: The Fuzzifier, The Controller Pattem MatchingMechanism, The Transformation Mechanism for Approximate Reasoning and the Defuzzifier. The controller operates in four phases labelled in Figure (2) as: Fuzzification, Rule Selection and Inference. Approximate Reasoning and Defuzzication. The flow of data and control between these four modules is coordinated by the Control and Inference module.
An overall account of the operation of the controller is illustrated in Figure (3) and summarized as follows. The controller receives crisp data which represents the measured or calculated values of the controlled process variables . This data is channelled to the SUBSTITUTE SHEET
WO 94/2848l 2 1 6 3 0 0 6 PCT/CA93/00223 Fuzzifier module which performs two operations on it. First it generates the description of the fuzzy pattern of each process variable (henceforth called an elementary fuzzy pattem) which constitutes the description of the complex fuzzy pattem of the process situation . And second it assesses the clearness degree of the 8enerated patterns (estim~ted by the cleamess degree of fuzzy pattern over the interval [0, l ], which will be defined later). The first output of the Fuzzifier (the situation fuzzy pattem) is channelled to the Pattern Matching module to deduce the fuzzy pattem of the control action. The second output of the fuzzifier. which is the cleamess degrees of the variable state pattems, are channelled to the Transformation Mechanism for Approximate Reasoning module which applies the CTRI and selects the minimum of the cleamess degrees it receives.
This minimum clearness measure is transformed to become the cleamess degree of the pattern of control action. Finally. the Defuzzifier module receives the pattern of the inferred control action (generated by the Pattern Matching Mech~ni~m) and its cleamess de~ree (generated by the Transformation Mech~nicm for Approximate Reasoning) anddeduces the crisp data (command) of the control action. These commands are then sent to regulate the process.
THEORETICAL BASES. The organizational and operational principles of the CTFLC
system use a set of new theoretical developments such as fuzzy pattem as a basic entity manipulated during operation. the use of specific measures to assess the cleamess degree of a fuzzy pattem in temms of the "strength" and "weakness". Also. the use of a reasoning mechanism which differentiates between the "dynamic pattems" (the detected process patterns in a dynamic operational environment) and "static pattems" (the pattems represented in the controller knowledge base). The CTFLC also applies a new scheme for approximate reasoning known as the Cleamess Transformation Rule of Inference (CTRI). These and other theoretical developments which are relevant to the understanding of the invention are summarized in the forthcoming description of the invention. In general~ the reader should bear in mind that the CTFLC should be looked upon as a fuzzy pattem processing and assessment device which utilizes the transformation mechanism for approximate reasoning with these patterns for the deduction of the control actions. Hence, two filnd~mental theoretical concepts have been extensively used in the development of the CTFLC. They are: the concept of fuzzy pattem and the formulation of the CTRI to implement the transformation mech~nism for approximate reasoning with fuzzy patterns.
In the following we provide details of these two concepts.
SUBSTITUTE SHEET
WO 94128481 : 2 1 6 3 0 0 6 PCT/CA93100223 -_l A FUZZY PATTERN is defined by the triple < 5, D, A >, where:
S - is the syntactical description of a fuzzy pattern;
D - is the domain to which the fuzzy pattem is ~tt~ched; and A - is the cleamess assessment of the fuzzy pattern.
We now proceed with the formal definition of each of these components.
S - Component characterizes the syntactical description of the fuzzy pattern. The invention assumes the use of the logic of fuzzy predicates to describe fuzzy patterns. In this context. the notion of a fuzzy predicate as an atomic formula of this logic is considered as an elementarv fuzzY pattem. Examples of formal fuzzy patterns are:
PA : Lx is A
PB: Lv is B
where, Lx, Ly - are linguistic variables of Zadeh and A, B - are their attribute-values defined as fuzzy subsets of the universes of discourse X and Y, respectively. Examples of element~ry fuzzy pattems are:
PA : THE STA TE OF TEMPERA TURE is HICH
Lx A
PB : THE STA TE OF PRESSURE is LOW
L~ B
Other complex fuzzy pattems are formally described as well-formed formulas (WFF) of this logic by applying the logical connections with these atomic formulas (elementary fuzzy predicates) following formal syntactical rules. Examples of complex fuzzy patterns are:
( PHIGH v PVER Y HIGH ---> PLOW ) ( PHlGH & (~PLOW) ---> PVER Y HlGH ) D - Component.. The domain of a fuzzy pattem PA, denoted as DA,X, is composed ofthree attributes ~ Lx, X, ~ >, where:
Lx- is the domain variable:
SUBSTITUTE SHEET
WO 94/28481 2 1 6 3 0 0 6 PCTICAg3/00223 X - is the space of all the instantial models and objects ( xl, x2....) that can be substituted as values for Lx;
~JX - is the set of substitutions of the form { xilLx} which contains the substitutions x from X for Lx.
An example of the domain of the elementary fuzzy pattem PA is:
DA ,X = < Lx = State of temperature, X = [ 0, 501, Crx = ~ 20; 30; 35; 45; 50} >
Figure (4) illustrates the definition of the domain of the elementary fuzzy pattern PA.
A- Component . This component characterizes the assessment of the cleamess measure of a fuzzy pattem. Fuzzy pattems may be looked upon as vague pictures of the real world situations. These pattems can be assessed using of cleamess measures built in the closed interval [O, 1] divided into a finite number of clearness values {akl (henceforth called truth levels also), i=1.2,..., K. The "validity" . or in equivalent term, the "cleamess degree" of a fuzzy pattern, is evaluated when the variable (e.g. L r) associated with a fuzzy pattem (such as PA) is substituted by an in~t~nti~l model (such as xi ) from the domain DA X . In this invention three measures: C, I and r are used to estim~te the cleamess degree of a fuzzy pattems . C is called the Clearness De~ree. denoted as C(PA), I is calledthelnte~rated Clearness De~ree denoted as l(PA) and r is the Clearness Distri~lltion, denoted as 17PA ), for a fuzzy pattern PA . Figure (5) illustrates the concept of these measures in the ~s~scment of fuzzy patterns.
The C - measure is used to assess the "local" cleamess of a fuzzy pattern and formulated as:
C: PA ~ [0. 1] / for Lri =Xi or:
C(PA) = C(xi is A) =o~
where: ak - is a cleamess level in the interval [O, l l -The I - measure is used to generate the integrated clearness degree of a fuzzy pattern obtained from the local cleamess degrees for different domain substitutions ~xj/Lx}.
There are different ways which can be used to generate I-measure. The invention defines three of them. they are:
1. I min = Mi~l ~ C(PAi)3 i SUBSTITUTE SHEET
2 . I mar = Max f C(PA i) }
i n C(PA j) 3 . l a~
n The fuzzy controller described in the invention utilizes Imin measure. However. the other two measures and other formulas to calculate l-measure can be used to implements the approximate reasoning rnerh~ni.cm of the controller which utilizes this measure to evaluate the CAPPROX-The r- measure is used to assess the "global" clearness of a fuzzy pattern and formulated as:
r(PA ) = ( Cl(PA ). C2(PA )...., Cn(pA ) ) I estimated for all the substitutionsl xilLxi } .
The following example illustrates the representation of C and r measures. Assume that the domain variables L ~ = (TEMPERA TURE STA TE) and Ly = (PRESS URE STA TE ) , which are described by the element~ry fuzzy pattems PHIGH and P LOW. respectively, have been substinlted by the models:
~ HIGH = 1 Xl = 15 ; X2 = 25 ; X3 = 35 ; X4 = 45 C~ LOW = { yl = l ; Y2 = 2 ; Y3 = 3 ; Y4= 4 and the cleamess degrees for these models were evaluated for these pattems as follows:
C(15 is HIGH) = 0.08 C(l is LOW) = 0.99 C(25 is HIGH) = 0.43 C(2 is LOW) = 0.90 C(35 is HIGH) = 0.87 C(3 is LOW) = 0.50 C(45 is HIGH) = 0.98 C(4 is LOW) = 0.l0 Then, the clearness distribution r(PHIGH ) of the fuzzy pattern PHIGH for these models is:
- r(PHIGH ) = l 0.08 0.43 0.87 0.98 ~, SUBSTITUTE SHEET
which is presented as shown in Figure (6-a), and the cleamess distribution r(PLow ) f PLOW for the models given above is:
r(PLOW )= ~ 0.99 0.90 0.50 0.10 ~.
shown in Figure( 6-b) .
These two measures are used by the CTFLC to assess the clearness of any complex fuzzy pattem described formally as a wff of the logic of fuzzy predicates.
In the development the CTFLC system the knowledge on the components < S, D, A >
are represented as: S, D and A k)~owledge-bases of the controller system. Each block captures the knowledge on one component of the specification of fuzzy pattems.
In addition to these three knowledge bases specifying fuzzy pattems. a fourth knowledge base is used to represent the heuristic knowledge of the expert on the process control and contains the controller rules. These rules describe the association between fuzzy pattems of the process situations and the the control actions. The control protocol of the CTFLC
system is composed of a finite set of fuzzy rules of the form:
IF <PattemofProcessSituatio~l> THEN <PattemofControlAction>
Both the pattern of the "Process Situation" and the pattem of the "Control Action" are specified as complex fuzzy patterns (wff of the logic of fuzzy predicates). A general form of a Situation-Action rule of the control protocol is as follows:
rF PA I and PA 2 a)ld PA n THEN PB j ( 1 ) where: PA i - are elementary fuzzy pattems of the general form "L,~-i is A i" (used to describe the pattems of the process variables, i = 1, 2...., N). PBj - are fuzzy pattems of the general form "Lvj is Bj" (used to describe the pattems of control actions, j = 1, 2, ..., M)-THE APPROXIMATE REASONING MECHANISM. The next basic theoretical conceptused in the development of the CTFLC system is the approximate reasoning merh~ni~m of the Cleamess Transformation rule of Inference (CTRI). This mechanism performs a cognitive approximation in the deduction of the cleamess, or in equivalent term the "validity", degree of the patterns of the inferred solutions. It draws an association between the cleamess measures of the pattems of antecedent and conclusion in the process of decision-making so that a clearer pattern of the antecedent will produce a clearer pattern of the conclusion. The vice-versa is also true. In this context, the CTRI is a SUBSTITUTE SHEET
WO 94/28481 ~ - 2 1 6 3 0 0 6 PCT/CA93/00223 -fommal implementation of the transformation mech~ni.cm of the coPnitive model of fuzzy control described earlier. In order to formulate the CTRI. the concepts of "dynamic" and "static" pattems are clarified. Following the human perception of the real world pattems, fuzzy pattems can be classified as "static" and "dynamic". Static pattems denote the pattems established in the human long term memory. They are also represented in the knowledge base of the Intelligent system as a result of the expert knowledge acquisition. Dynamic panems denote the pattems detected in the real dynamic operation.
These pattems are the output of the human perception observing the real world dynamic processes. It is assumed that the Fuzzifier module of the CTFLC (described earlier in the invention) is replacing the human in performing the task of generating the process dynamic pattems. The fundamental concept behind these classes of pattems is that they have the same syntactical description (regarding form, shape, content, etc.) but differ in their "cleamess" assessment in terms of the "strength" or "weakness", as it is defined in the following:
If G' is a dynamic pattem of G, then we say that the pattem G' is "clearer" or "stronger"
than G if the cleamess measure r(G') > r(G), and G' is "less clear" or "weaker" than G, if r(G') < r(G), for the same inst~nti~l models of the domain DG.X. where r(G) is the cleamess measure of a fuzzy pattern G.
Funher, the mech~nicm of the CTRI is formalized so that it produces the c!e~mess degree of a dynamic pattem using S, D and A knowledge about the syntax, domain and the cleamess degree of the static pattems represented in the knowledge base of the controller system. This mech~nicm is capable of generating different acsescments for the same patterns of situations detected under different intentions and circumstances. This capability is a direct simulation of the human behaviour in reasoning on dynamic patterns when he/she uses the static pattems established in his/her long-term memory as a basis in performing the task of process pattern assessment. This phenomena, which is implemented in the CTRI, explains why humm can produce different actions (decisions) for the same observed real world situations in the intention formation of the decision making process.
Formally, The CTRI is an inference rule that combines two mechanisms. These are the pattern matching and the assessment transformation mechanicms. The output of thepattern matching mechanism is the control action pattern. The output of the SUBSTITUTE SHEET
i 2 1 63006 WO 94/28481 . PCT/CA93/00223 - 1~
transformation mechanism is the clearness de8ree of the control action pattern. In essence. this mech~ni~m transforms the cleamess measure of the detected dynamic pattem of the process situation to the dynamic pattem of the deduced control action. This mechanism has been found an adequate tool for describing the approximate reasoning process that the human operator performs in the pattern matching activity.
The CTRI is formally stated as follows. Given two fuzzy pattems Pl and P2, where:
Pl: is a static patteln of a controller n~le as specified in the forgoing expression (1), i.e.
Pl = < Sinlation Pattern ~ > Control A ction Pattern> .
P2: is a dynamic pattern of a process situation given with its clearness degree, i.e.
P2 = <DynamicSituationPattern >and r(p2).
If these two pattems are applied to the CTRI. it will deduce:
P3: a dynamic pattem of tlle control action with an assessment of its clearness degree equal to that of P2, i.e.
P3 = < Dynarnic Pattern of the Control Action > with r(p3) =
r(P2).
Using the symbolic notations of the Logic of Fuzzy Predicates. the CTRI mechanism can be formulated as follows:
Given two fuzzy pattems (WFF of the logic of fuzzy predicates):
Pl :C ---> H
P2: G' and r(G~) (2) Deduce: P3: H' with r(H') = r(G').
where: G, H and G --> H are static pattems specified by the clearness degrees r(G) and r(H);
G' and H' are dynamic pattems of G and H, respectively.
It should be noted that the cleamess degree of the deduced dynamic pattern r(H') is not SUBSTITUTE SHEET
wo 94128481 2 1 6 3 ~ ~ 6 PCT/CAg3/00223 -necessarily equal to that of the static pattem r(H). The fact that the clearness assessment of the deduced fuzzy pattern H' is different from that of its static pattem H iS the new feature added by the CTRI to the classical schemes of deduction inference. It implements a "cognitive" inference mechanism beside the "syntactical" inference of the pattern m~ching mech~ m which is commonly applied in rule-based deductive systems. This capability of the CTRI makes it adequate for applications requiring approximate reasoning in the manipulation of fuzzy pattems having the same synt~ctic~l description but assessed with different degrees of validity and cleamess.
The inference engine of the CTFLC is based on the CTRI mech~ni~m and is schem~ti~ y presented in Figure (7). The knowledge base of the engine contains the rule of association between the static pattems. This scheme shows that the engine infers different cleamess assessments for the same fuzzy pattems applied to its input but assessed with different clearness degrees.
It should be noted that the formulation of the CTRI in (2) is adopted for approximate reasoning in single-input- single output systems. In applications of fuzzy controllers and expert systems in multivariable domains, the application of the CTRI is formulated as follows:
Given a controller rule of the knowledge base as a complex fuzzy pattem of the generic form (1):
Pl: ( PA I & PA 2 & -- & PA n ) ~~> PB ( static Pattent of the controller n~le) and a dynamic pattem to match the rule. which is:
P2: ( PA I & PA 2 & - & PA n ) (detected dynamic pattern of the process situation) where the cleamess degree of P2 is given by:
r'(P2) = { C(PA 1 ). C( PA '2 ).. C( PA 'n )}
with:
C( PA 1 ) = (Xl C( PA 2 ) = a2 SUBSTITUTE SHEET
wo 94128481 21 6 3 0 û 6 PCT/CA93/00223 .
C( PA'n) =an and al,a2, ..., an are cle~rnes~ levels estim~ted over the interval [ 0.1].
The CTRI will infer the dynamic pattem:
P3: PB' and assigns a clearness degree (truth estimation) to it which will be equal to the minimum of the cleamess degrees of the con~titnent elementary fuzzy patterns, i.e.:
C(PB ) = Min ( C( PA l ), C( PA, ), .... C( PA n) ) or:
C(PB ) = Min ( ac,. a~, ..., an ) The Min operator has been applied according to the clearness interpretation of the WFF
of the logic of fuzzy predicates (complex fuzzy pattems). This in~e,~ a~ion implies that a minimum of the clearness degrees of elementary fuzzy patterns is assigned to a complex fuzzy pattem built from these element~ry pattems using AND connector. Apparantly, this estimation coincides with the l min - measure described earlier in the invention.
The application of the CTRI for approximate reasoning in the CTFLC offers a spectrum of advantages to this device. First it gives flexibility of cognitive inference in deducing the cleamess degree of the inferred patterns of the control actions. This advantage makes it possible to produce patterns of decisions together with their clearness degree (validity) measure. This degree may exceed the clearness (validity) measure of the static patterns acquired from domain experts and represented in the knowledge-base of the controller .
This feature means that the CTFLC is capable of imit~ting the human behaviour in reacting with different actions for the same syntactical dynamic patterns of the process situations assessed with different clearness measures. Secondly, the CTRI performs reasoning at the level of fuzzy pattern processing. This feature makes it possible to compare the behaviour of the CTFLC with the human expert involved in decision-making procedures in the same domain. This advantage makes these devices more compatible with the human and acts as a support in behaviour. It will also facilitate the knowledge acquisition and updating in the development and validation of a CTFLC application. As a result, this feature minimi~e~ the time needed for the development of a CTFLC application andoffers easy access to validate and/or improve the controller performance. Finally, the SUBSTITUTE SHEET
wO 94/28481 - - 2 1 6 3 0 0 6 PCT/CA93/00223 -application of the CTRI in the CTFLC elimin~res the necessity of employing the time consuming Max-Min operations usually applied in similar devices for approximate reasoning ( e.g. CRI-based fuzzy controllers). This means that a new possibility for the application of fuzzy controllers to operate in real-time for the control of multivariable and complex processes become viable.
THE DESIGN AND OPERATIONAL PRINCIPLES OF THE CTFLC. The CTFLC
system operates in a task driven mode which implies that at each operational phase the controller is involved in performing a certain task. The tasks of the CTFLC are defined based on the cognitive model of fuzzy control described earlier in the invention.
The design and operational principles of the CTFLC are elaborated based on the analysis of requirements of these tasks ( in terms of the Input/Output. knowledge and reasoning modes needed to handle them) and the use generic task methodology for the design of knowledge-based systems. Further. each task is analysed in terms of the Input/Output relation, portion of knowledge needed and the appropriate reasoning model used to achieve it. The results of this analysis are summarized in Tables 1. 2 and 3~ respectively, as shown in Figure (8).
These tables cover the data, knowledge and control strategies required by the CTFLC
system to perform each task. The CTFLC system is built using four modules ( The Fuzzifier, The Controller Pattern Matching Mech~niclT, The Transformation Mech~nicm for Approximate Reasoning and the Defuzzifier) to perform these tasks. The system operates in four phases. Each phase of the operation of the fuzzy controller performs one task. These phases are: Fuzzification, Rule Selection, Approximate Reasoning and Defil 77ific~tinn The internal organization of the CTRI based fuzzy controller is presented in Figure (9).
The knowledge- base of the controller is organized so that each task/module is ~tt~/'h~d to the portion of knowledge that will be accesced in order to perform the task. An example of a controller which uses the dynamic pattern PA to match the control rule PA ----~ PB is used in Figure (Ct` tO simplify the understanding of the organization. The notations used in this figure to denote the knowledge portions are given below:
DA.X and DB,Y - domain knowledge of fuzzy pattems:
PA . PB - synt~ti~l knowledge to describe fuzzy patterns;
PA ---~ PB - heuristic knowledge encoded as control protocol rules;
SUBSTITUTE SHEET
- _O
r(PA) and r(Pg) - knowledge on the clearness distributions of fuzzy pattems.
Next we describe the operating phases of the CTFLC in some details. During the Fuzzification Phase. the process crisp data (xl, x,, ..., XN) are fuzzified to generate the dynamic elementary fuzzy patterns (PA'I, PA'2, ..., PA'N ) of the process situation. The generated situation pattern will be matched with the static pattem (PA 1, PA ,, ..., PA N) which is the the LHS of the controller rules. The fuzzification is achieved through the generation of the clearness degree acsessments C(PA j) for each domain model Xj and each elementary fuzzy pattern PA j using the clearness distribution knowledge as follows.
Since, in general. there is a finite set of elem~nr~ry fuzzy patterns that characterize the state of the variable Lxj, the Fuzzifier will select the elementary fuzzy pattern PA, which has the m~rimum cleamess degree (i.e., aj ma~r) for the crisp data (model) xi. Further, the elementary fuzzy patterns (PA'I. PA ,, .... PA N ) which are ~enerated in this way for N
variables will constitute the detected dynamic pattem of the process situation. It also generates f C(PA j )max } which is a set of the clearness degree measures c al max, a2 max, ..., an max >, where: an max ~ [0,1]. This set constin~teS the cleamess degree of the dynamic pattern of the process situation.
During the Rule Selection Phase the appropriate rule is selected by m~tc~ing the situation dynamic pattern (PA 'I, PA '~, ..., PA 'N) with the static pattern (PA I, PA ,, .. ., PA N) of the controller rules. The RHS of the matching rule is activated and the pattern(s) PB j of the control action(s) will be generated.
In the Approximate Reasoning Phase the CTRI scheme is applied. It transforms theminimum of the clearness degrees < al max. a2 max...., an max > generated by thefuzzifier to become the clearness degree of the inferred pattern of the control action, i.e:
C(Psj) = Min f C(PA I) ma~, C(PA ,) ma~, ..., C(PA n) ma~
or:
C(PBj) = Min f o~/ mar, ~, mar, ..., ~n max }
In the Defu77ification Phase the input is the pattem of the control action PBj and its local clearness degree C(Pgj) . The output of the defuzzifier is the crisp model (data) v ' of the variable Lvj. The Defuzzifier infers the model value (y') of the domain variable by performing a counter reflection of the value of C(PBj) on the clearness distribution r(Psj) SUBSTITUTE SHEET
WO 94/28481 ~ , ; 2 1 6 3 0 0 6 PCT/CA93/00223 , 2' arld projecting the result on the domain space.
The following example illustrates the four phases of the controller operation. Suppose that the controller has two input variables Lx 1, Lx2 and one output variable Ly which is the control variable to the process. Suppose that the control protocol consists of the following two rules:
Rl: IF PIHIGH and P2LOW THEN P3 NORMAL
R2: IF PlNoRMAL and P2HIGH THEN P3 LOW
where: Pl, P2 and P3 correspond to the elementary fuzzy patterns attached to the domain variables Lxl, Lx7 and Lv, respectively. Assume that the clearness distributionsr(PIHIGH )- r(PINORMAL)~ r(P2LOW) r(P2 HIGH), r(P3NoRMAL). and r(P3 LO~V) are shown in Fi~ure (lO). Suppose that xl = 20 and x2 = 35 are the crisp data (domain models) leplesentillg the measured values of the variables Lx I and Lx2 which are received by the controller. Then the four phases of the controller operation will be summarized as follows:
During the fuzzification phase the elementary fuzzy pattems of the process variables are generated together with their cleamess degrees. To generate these pattems, the crisp data is propagated against the clearness distributions of the elementary fuzzy pattems as follows: xl is tested against r(PPIHIGH) and r(Pl~oRMAL). From Figure (lO-a)), we have:
C (PI HIGH) = 0.50: and C (P1IVORMAL) = 0 99 from which PINORMAL is selected because it has the higher (maximum) cleamess degree.
Similarly, x2 is tested against r(p7Lo~, ) and r(P~HlGH) to choose the elementary fuzzy pattem which describes the state of Lx2 . From Figure (lO-b), we have:
C (P2LOW) = 0.20: and C (P2 HIGH) = 0 75 from which P' HIGH is selected because C(P~ HIGH ) = 0 75 .
Hence the situation pattem generated by the Fuzzifier is:
(Pl NORMAL and P2 HIGH) SUBSTITUTE SHEET
and its clearness degree is:
(C(PI NORMAL) C( P~ HIGH ) ) = (0-99, 0-75) During the rule selection and inference phase a pattern matching is performed with the given two control rules which results in the selected rule being R2. The inferred control action pattern is. then. (P3 LOW )-For approximate reasoning the CTRI is applied to transfer the clearness degree of thesituation pattern generated by the fuzzifier to become the clearness degree of the control pattem (P3 LO~V ). i.e:
C((P3 LOW ) = Min (0.99, 0.75) = 0.75 .
During the defuzzification phase the crisp value of the control action y' is generated. Its value is determined by counter reflection of the clearness degree of the control pattern (P3 LOW ). which is 0.75, on the clearness distribution (P3LOW ) . The result is the crisp value of the variable Ly which is equal to 1.29 (see Figure 10-c).
DETAILED DESCRIPTIQN OF THE PREFERRED EMBODIMENT OF THE CTFLC
SYSTEM. The implementation of the CTFLC system is described using three different technological bases. These are:
(i) Method for the implement~tion as an expert system shell.
(ii) Method for hardware implementation using customized VLSI Chip.
(iii) Method for implementation using Neural Network technology.
It should be noted that these three implementations follow the org~ni7~tion and design principles of the basic modules of the CTFLC system. These principles are elaborated in the description of the CTFLC shell. They are followed in the development of the hardware and neural implementation of the CTFLC. Slight modifications, where necessary, are made to the design approach to meet specific requirements of eachtechnology. However. the basic principles of the design and operation are m~int~ined PREFERRED EMBODIMENT OF THE EXPERT SYSTEM SHELL
SUBSTITUTE SHEET
WO 94/28481 ~ : 2 1 6 3 0 0 6 PCT/CA93/00223 IMPLEMENTATION. The architectllre of the CTFLC shell is developed using rule-based system organization as shown in Figure ( 1 1). This architecture is capable of implementing the tasks of the cognitive model of fuzzy control described earlier in the invention. The CTFLC shell has N inputs connected to the the process variables to acquire the process data xi, i = 1, 2, ..., N, and M outputs to apply the control actions yj, j = 1, 2, ..., M, to the controlled process. It incorporates the following operational modules: Fu:zifier, Pattern Matching witlt the -Process Control Rules, A pproximate Reasoning and Defuzzifier. The flow of data and control between these four operational modules is coordinated by the Control and Inference module. The Fuzzifier.
Pattern Matching and Defuzzifier are built as rule-based modules. Their rules are generated off-line and incorporated in the shell for any particular application. The Approximate Reasoning and the Control and Inference module are domain independent and constitute the control core of the shell. The CTFLC system, therefore. is a general purpose application expert system shell for fuzzy control and decision-making.
The Fuzzifier and Defuzzifier modules incorporate knowledge on fuzzy patterns of the applications, such as process situation and control action patterns. The knowledge about th omponents < S. D, A > of fuzzy patterns are used to define the rules of thesemodules. The Control Protocol module contains rules of the generic form of (1) to rel~esent the expertise knowledge on the control and regulation of the domain process.
The Approximate Reasoning module applies the CTRI to assess the clearness degrees of the control actions. All these modules share a common d~t~bace and they are supervised by the Control and ~nference module which applies the appropriate reasoning strategy to handle the task of each module ( the reasoning strategies are summarized in Table 3 of Figure (8)).
The functional presentation of the Fuzzifier Module at the Input/Output level is shown in Figure (12). The input to the Fuzzifier is the crisp data (xl, ..., XN) where each xi .eplesellts the current value (instantial model) of an input variable Lxi, i=l, ..., N -The output is two components. The first is the fuzzy pattern of the process situation obtained as a set of elementary fuzzy patterns such as (PA'I, ..., PA~n) . The second is a set of assessment degrees of the elementary patterns (C(PA 'I)mac.. C(PA 'n)~tla~ ) which are the maximum cleamess degrees of the elementary fuzzy patterns. These two outputs are produced by two rule-based modules: Fuzzifier-l and Fu if ier-ll, respectively. They SUBSTITUTE SHEET
WO 94/28481 ~ 2 ~ 6 3 0 () 6 PCT/CA93/00223 2~
operate in two cycles so that Fuzzifier-I ( cycle 1 ) generates an elementary fuzzy pattern (PA 'i) which serves as input to Fuzzifier-II to begin cycle 2 i.: which the clearness degree C(PA 'i)ma.~ is ~enerated. These two cycles are repeated N times (for N variables) in order to pe,fol-,- the task of the Fuzzifier Module. The interaction between these two rule bases to implement the Fuzzifier is illustrated in Figure ( 12).
The rules of Fu: if ier-l and Fu :ifier-ll are generated off-line before putting the controller into operation. The way these rules are derived and used during operation is outlined next.
The rules of Fu::ifier-l are determined using the following approach. The clearness distribution of the elementary fuzzy patterns. such as r(PLOW), r(PNORMAL), r(PHIGH). etc. are analyzed in order to determine the transition points between them (e.g.. the intersection points on the graphical presentation of these distributions). It is required that these points. referred to as the Thresholds of Transition (TT), are determined off-line for each process variable. In essence~ these TT points indicate the existence of a transition between the the elementary fuzzy patterns (PA /J. (h = 1, 2,...H), describing the state of the process variable Lxi(i = 1, 2,..., N). Figure (13) shows the derivation of the TT values for the variable Lxi specified by three (H = 3) elementary fuzzy patterns : PLOW. PNORMAL and PHlGH . In this figure two of these thresholds projected on the domain space X and denoted as:
TTL N = The Thresllold of Transition between r(PLOW ) and r(PNORMAL) TTN H = The Thresllold of Transition between r(PNORMAL) and (PHICH) The Fuzzifier recognizes the adequate elementary fuzzy pattem PA h which describes the current state of the variable LXi by deciding the interval (between two TT points) to which the value xi acquired from the process belongs. This approach facilitates the implem~n~tion of a one-to-one mapping so that for each model xi there is only one pattem PAi which will describe the current state of the variable LXi. This procedure can be implemented simply by comparing the value of xi with the values of the thresholds (TT).
The following generic rule has been derived to implement this procedure:
IF TT h-l, h < xi < TT h,ll+l THEN The Elementarv FU~ Y Pattern is PA h (3) SUBSTITUTE SHEET
WO 94/28481 ~ ; `; 2 1 6 3 û 0 6 PCT/CA93/00223 -where: TT~ , h and TT ll,h+l refer to the values of the thresholds of transition (TT) between the fuzzy patterns PAh-1, PAh and PAh, PAh+1, respectively.
For the example illustrated in Figure (13). three such rules are derived. They are:
Rl: IF O S xi < TTL~N THEN PLOW
R2: IF TTL ,N S xi ~ TTN,H THEN PNORMA L
R3: IF TTN H < xi THEN PHiGH
Similar rules may be derived for all process variables. Evidently the rules of Fuzzifier-I
can be built as a set of rules of the generic form (3).
The on-line operation of Fuzzifier-I to generate the elementary fuzzy patterns is accomplished by m~tching the crisp data xj coming from the process against these rules.
The result of this m~tching is the set of elementary fuzzy patterns (PA I . PA 2 . --, PA N) which constitute the description of the situation pattern. We note that these rules also generate elementary fuzzy patterns PA i which have maximum clearness degrees C(PA 'i ) max for a given models xi . i = 1,2,..., N, (these patterns are generated as best describing the state of process variables).
Fu::ifier-ll . This module is built with rules to generate the values of the clearness ~Csec~ments of the elementary fuzzy pattems. i.e. the set of the clearness degree values (C(PA 1 )max, C(PA 2)ma~, ..., C(PA N )max). which are assessed over the interval [0, l ~. These Rules are derived off-line in similar way to the rules of Fuzzifier-I as follows.
The truth (clearness) levels {~i} assessed over the interval ~0, ll are projected on the domain space Xi of the clearness distribution r(PAi ) for each elementary fuzzy pattern.
The values obtained are referred to as the " Clearness Level Thresholds " (CL). Figure (14) shows an example of the projection of five clearness levels (~l, ..., ~xs ) on the domain of r(PHlGH)- The result is five CL values (CLl, ..., CLs) on Xi (CL
should not be confused with the thresholds of transition TT between the clearness distributions specified earlier). These threshold points are used to formulate the rules which generate C(PA i)mal~ by employing simple comparison between the model xi and these CL values to decide to which interval (between these points) the model xi belongs.
The detected intervals indicate values of cle~rne~ levels in the interval [0, 1]. The rules employed by Fuzzifier-II have the following generic form:
IF TheEFP is PAh AND CLk < Xi <CLk+l THEN C(PAh ) = ~k (4) SUBSTITUTE SHEET
wo 94/28481 2 1 6 3 0 ~) 6 PCT/CA93/00223 where: EFP stands for "Elementary Fuzzy Pattern".
As an example. the following rules are generated for C(PLow) of Fi_ure (14).
Rl :IF TlzeEFPis PHICH a~d xi <CLl THEN C(pHlGH) = ~xo R2:1F T~leEFPis PHIGH and CLI S xi <CL2 THEN C(PHIGH) = 0!1 R3:IF The EFP is PHIGH and CL2 < xi < CL3 THEN C(PHIGH) = ~2 R4:IF T/teEFPis PHIGH and CL3 <xi <CL4 THEN C(pHlGH) = ~3 R5:1F TheEFPis PHIGH and CL4 Sxi <CL5 THEN C(PHIGH) = a4 R6:1F TlleEFPis PHlGH and CL5 <Xi THEN C(PHIGH) = .x5 Evidently. the number of rules of Fu :ifier-ll for each fuzzy pattern depends on the number of clearness levels used to measure the clearness degree of the pattern. The number of clearness levels (and. hence. the number of threshold points) can be chosen as large as desired depending on the required accuracy.
The Fuzzifier module characteristics are summarized as follows:
1. Input : Crisp data xi of the control process.
2. Output: Fuzzy pattern of a process situation (PA'I. PA'2...., PA N) and the assessment of clearness degrees of each elementary fuzzy pattern C(PA 'i)~ i = 1, ..., N .
3. Control strategy: Forward chaining to generate the fuzzy patterns (Fuzzifier-I) and to assess the patterns (Fuzzifier-II).
4. Knowledge required: < S, D, A > components of fuzzy patterns to derive the rules for Fuzzifier-1 and Fuzzifier-II.
SUBSTITUTE SHEET
WO 94/28481 2 1 6 ~ 0 3 6 PCT/CA93/00223 5. Generic Rules: Fuzzifier-I employs generic rule (3) and Fuzzifier-II employs generic rule (4).
Tlte Pattern Matching Wit/l tlle Process Control Rules Module contains the control rules of the generic form (1). This module is accessed during the Rule Selection and Inference Phase to deduce the patlerns of control actions. These patterns are deduced by m~tching the process situation pattem (PA ~, PA ,...., PA ~) (generated by the Fuzzifier ) with the LHS of the controller rules having patterns of the form (PA l~ PA 2~ -, PAN)- The RHS of the fired rule describes the pattem of the control action. The basic characteristics of this module are:
l. Input: Fuzzy pattems of process situations (PA ~, PA 2~ --, PA ~) -2. Output: Fuzzy pattems of the control actions (PBj), j = 1. ~ .... M.
3. Knowledge required: Controller rules of the generic form (1).
4. Control strategy: Forward chaining.
T~le A pproxim~te Reasoning Module implements the transformation mechanism of the CTRI. It selects the minimllm value of the clearness assessments generated by Fuzzifier-II and transforms it to become the clearness degree of the deduced pattem of control action. Let the fuzzy pattern of process situation be composed of a set of elementary fuzzy pattems (PA ~, PA '2~ ..., PA ~) which are generated by the Fuzzifier and let the inferred control action be (Pgj) . The cleamess degree C(PBj) which is transformed to the pattem of control action is:
C(Pg J) = Min ~C(PA 'I ) rna~, C(PA '2) ma~, , C(PA 'N) max}, or, C(Pg~) = Min (al max. a2 ma~. .-- . an max) Where: C(PA 'N) max = ai max - are the cleamess degrees evaluated over the interval [0, l ]
and generated by Fuzzifier-II.
This module is characterized by:
1. Input: Clearness degrees of the elementary fuzzy pattems generated by the Fuzzifier-II.
2. Output: Cleamess degree of the pattem of control action.
3. Control strategy: Compute Min (al max, a2 max, .... an max) and channel the result to the Defuzzifier module.
SUBSTITUTE SHEET
WO 94/28481 . 2 1 6 3 0 0 6 PCT/CA93/00223 2~
The Defl~::ifier Module receives as input the pattern of the control action PB j and its clearness measure C(PB'j) . The output is the crisp data y' which represents the control action (the control command) to be applied to the process. The functional representation of the Defuzzifier module at the level of Input-output is presented in Fi~ure(15). The defuzzification task is achieved by the counter reflection of C(PB j) in the clearness distribution r(pB j) to infer the crisp value y' for the control variable Lyj . The rules of the Defuzzifier are derived off-lines by discretizing the clearness distribution r(pB~j) into K-clearness (tmth) levels, f ak}, k = 1,2, ..., K. These clearness levels are projected on the variable domain space (e.g., Y) so that each level is associated with a set of models ~ yj ~ of this domain. A particular variable model y' is inferred when the value of C(PBj) refers to a certain clearness level. This task is achieved by using the following generic rule:
IF T11e Control Pattern is PBj AND ak S C(PBj) ~ aK+I THEN YkSY'~Y k+l (6) where, the value of y j is generated from the boundaries IYk. Yk+ll-Hence, the rules employed by the Defuzzifier module establish an association between the value of C(PBj) and the relevant model (value) y' of the control variable to be applied to the process. Figure (16) illustrates how six such rules are derived when C(PB'j) is discretized into six levels. The six rules for this example are:
IF The pattern is PBj and O S C ( PB i ) < al THEN Y~SYI
IF Thepatternis Pgj and al S C(PB~j) < a2 THEN Y~ SY'SY2 IF The pattern is PBj and a2 S C ( Pg~j ) < a3 THEN Y2 SY~SY3 IF The pattern is PBj and a3 S C ( Pg j ) < a4 THEN Y3 Sy'Sy4 IF The pattern is PB j and a4 S C ( Pg j ) < txs THEN Y~ SY'SY5 IF The pattern is PB j and aS S C ( Pg~j ) THEN y5 Sy' The number of discrete levels is accuracy dependent. i.e. for more accurate control commands the number of discrete levels is increased to any required limit.
The CTFLC shell has a special d~ba~e module which provides a complete record of the behaviour of the controller at each phase of operation. At the beginning of each control SUBSTITUTE SHEET
WO 94/28481 2 1 6 3 0 0 6 PCT/CA93/002~
cycle. the database contains only the current values of process variables. By the completion of the fuzzification phase. for example. it will contain a list of the elementary fuzzy pattems that describe the process situation pattem and the cleamess degree of each pattem as well. At the completion of the control cycle. the information in this database serves as an excellent record for the implementation of a backtracking chronological explanation of the controller operation and decision behaviour. Figure (17) illustrates an example of the basic elements of the controller cl~b~e The controller operation and control described so far are coordinated by a Control and Inference Module. This module is the control core of the system. It coordinates the operations of the modules and the succession of the four phases of the controller. It also updates the d~t~b~se with data obtained through the execution of each phase. The control module applies the appropriate reasoning strategy during each phase depending on the task to be performed in that phase and arranges an access to the knowledge required to perform that task .
The approach taken for the design of the CTFLC shell fAcili~tes the development of a friendly user interface. In developing a particular application. this shell facilitates the domain knowledge acquisition by providing a framework for the systemization of this process. This systelT i7~tion is offered through the use of the generic rules of the fonns (3), (4) and (6) in the development of the Fuzzifier and Defuzzifier modules of the CTFLC shell. Also. the approach assists the user to define the data N, M, H, and K off-line. This data is used by the shell to establish the number of rules for each module.
where: "N" is the number of process Variables. "M" is the number of control action variables . "H" is the number of element~ry fuzzy pattems attached to each variable. and "K" is the number of cleamess levels used to repr~sent the cleamess distribution of each elementary fuzzy pattem. The value "K" can be chosen so that a required accuracy in the operation of the CTFLC system is obtained. The use of the generic rules and the data N, M, H and K through a friendly user interface offers a convenient basis for a rapid application development. In on-line operation of the CTFLC shell. the records of the system database provide the user with a clear picture on the operational behaviour of the system together with options of altemative solutions evaluated for particular data supplied by the user.
SUBSTITUTE SHEET
WO 94/28481 ; 2 1 6 3 0 0 6 PCT/CA93/00223 3o PREFERRED EMBODIMEI~T OF THE CTFLC SYSTEM USING CUSTOMIZED
VLSI CHIP. Next the implementation of the CTFLC using VLSI chips is developed.
The approach for the implementation of the CTFLC expert system shell using rule-based architecture is employed to build the hardware modules of the system. The integrated CTFLC controller chip will, therefore. consist of the four modules: Fuzzifier. Pattern Matching, Approximate Reasoning and Defuzzifier. The proposed integrated chip iscapable of handling the tasks of the fuzzy CTFLC shell described earlier. It is also capable of implementing any control protocol specified by the generic rule (1) with N
variables connected to the input (to ac4uire the data xi, i = 1, 2, ..., N) from the process and M variables as the output to apply the control actions (yj, j = 1, 2, ..., M) to the controlled process. The CTFLC chip is, therefore. a general purpose application device for fuzzy control and decision-making. In the following, the implementation of each module is described.
The hardware implementation of the Fuzzifier Module is developed first. The functional epresentaLion of the Fuzzifier Module at the InputtOutput level is given in Figure 12. The input to the fuzzifier is the crisp data (xl, ..., x~v) where each xi represents the current in~t~ntial model of the process variable Lxi. This process data is acquired at a given time interval and stored in a RAM referred to as "Memorv of Crisp Data" (MCD). The output of the Fuzzifier is two components. The first is the fuzzy pattern of the process situation obtained as a set of el.oment~ry fuzzy patterns such as (PA'I, .... PA'N). The second is a set of the assessment degrees of the elementary patterns (C(PA'I)max.. C(PA~N)max ). These two outputs are produced by two functional blocks: Fuzzifier-I and Fuzzifier-II, respectively. They operate in two cycles so that Fuzzifier-I (cycle 1 ) generates a fuzzy pattern PA'i which serves as input to Fuzzifier-II to begin cycle 2 in which the clearness degree C(PA~i) is ~enerated. These two cycles are repeated N times (for N variables) in order to accomplish the task of the Fuzzifier Module.
To implement Fuzzifier-I, it is required that the values of the thresholds of transition (TT) between the clearness distributions of the elementary fuzzy patterns (PA h), h = 1, 2, ....
H, are determined off-line. Figure (18-a) shows the derivation of the TT values for the variable L.~i specified by three (H = 3) fuzzy elementary patterns: PLOW. P~ORMAL and PHIGH . The Fuzzifier recognizes the adequate elementary fuzzy pattern PA h by deciding the interval (between two TT points) to which xi belongs. This procedure can be SUBST I TUTE SHEET
wo 94128481 - ~ 2 1 6 3 0 0 6 PCT/CA93/00~-3 implemented simply by comparing the value of xi with the values of the thresholcusing a comparator element to implement a comparison of the form ~ . The res binary code which uniquely corresponds to an elementary fuzzy pattern PAh wh matches the current state of the process variable. Figure (18-b) shows an examp~codes produced by this comparison for the fuzzy predicates PLOW. PNORMAL and ~
The operation of Fuzzifier-I in generating a binary code for each elementary fuzzy pattern can be specified using the same generic rule of (3) applied in the C~TFLC shell. rewritten again here:
IF TT h-l, h < xi < TT h,h+l THEN The Elementarv Fu::y Pattern is PA h where: TT ~1-l, h, TT h,/l+l - refer to the values of the threshold of transilion (TT) betweenthefuzzypatternsPAh-l, PAh and PAh, PAh+l, respectively.
The TT values derived off-line are stored in a ROM memory module called the Memorv of Thresholds of Transition (MTT). This memory has a page organi7~tion where each page is devoted to store the TT values for one process variable. Hence. the MTT ROM
contains N pages (one pages for each variable) and H locations in each page (to store the TT values between H elementary fuzzy pattem for each variable). Each memory location contains one value of TT. It is required that the page address is generated by an address generator referred to as the Variable Page Address Generator (VAG). Each time a measurement xi is acquired from the process, it is applied to the VAG to activate the code of the page designated to store the TT values of the process variable LXi. Figure (19-a) shows the page organization of MTT ROM. The schematic representation of the MTT
ROM is shown in Figure (l9-b).
Fuzzifier-I uses a comparator block (see Figure (20)) to generate the codes for the elementary fuzzy pattems during operation. The comporator contains H elements each with two inputs. The first input receives the current value xi of the variable LXi. The other input receives a TT value from the MTT. Hence, each comparator element receives the same xi but dirrelenl TT value. The two inputs are compared and the result is a binary code ( p/, P2 ..., PH ) which are activated at the output of the comporator indicating the code of the recognized elPment~ry fuzzy pattern PA h that describes the current state of the variable Lxi. Each comparator element generates the value of Ph ~ f 0, 1} by performing the comparison:
SUBSTITUTE SHEET
wo 94128481 2 1 6 3 0 0 6 PCT/CA93/00223 if xi >TTh-l~h Ph = {
O if xi~TTh,11+1 Hence, by the comple~ition of N cycles the codes of the fuzzy elementary patterns (PA 'l~
..., PA ;l ) are generated. The codes of these elementary pattems are stored in a memory block referred to as " Register of the Elementary Pattems Codes" (RPC). Figure (21) shows the organization of the RPC and Fuzzifier -I.
During cycle 2, Fuzzifier-II generates the cleamess degree (local cleamess) C(PA h ) =
ak for each elementary fuzzy pattern generated in cycle 1. Fuzzifier-II implements the functionality of the equivalent rule-based module described earlier, using the generic rule of (4), l~w~ en again as:
IF PA h AND CLk S Xi < CLk+l THEN C(PA h ) = ~k To implement this rule, each clearness level in 1. 1] of r(PAh) is projected on the domain space Xi. The values obtained serve as threshold points between the cleamess levels and they are referred to as the "Thresholds of Cleamess Levels" (CL). These values are generated off-line. Figure (22-a) shows an example of the generation of (CL) for the elementary fuzzy pattem PHIGH. The clearness distribution r(PHlGH) is discretized into five cleamess levels (CLk), k = 1, 2, ..., 5) . Figure (22-b) shows the codes obtained for each cleamess level.
The CL values are stored in a ROM memory module referred to as the Memory of Cleamess Levels (MCL). The MCL has a page organization. The address for each page corresponds to the combined code generated from the code of the variable Lxi (obtained from VAG) and the code of the elementary pattem PAi (generated by Fuzzifier-I).
Hence, for N variables and H
elementary fuzzy patterns att~ched to each variable, the MCL will contain (N x H) pages.
Each page contains K locations (K cleamess levels for each cleamess distribution).
Figure (23-a) shows the page organization of the MCL using a ROM chip and its schematic equivalent is in Figure (23-b).
SUBSTITUTE SHEET
WO 94/28481 ~ 6 3 0 0 G PCT/CA93/00223 Fuzzifier-II uses the structure shown in Figure (24) to generate a code for the value of C(PAh) = ~k during on-line operation. This structure contains a comparator block consisting of K comparator elements each having two inputs. The first K inputs of the comparator receive the crisp value xi . The second K inputs receive "K" values of the threshold levels (CL) from the MCL. The result of the comparison is a binary code (ql, q2 ... ~ qK)- The generated code refers uniquely to a certain clearness level interval but does not refer to the value of this level of cleamess. Hence. a special code transformation is required to generate the code of the value of cleamess level. This transformation can be accomplished by a standard chip which we will call the Clearness Level Transformer (CLT) chip. The input is the code of the elementary fuzzy pattem PA ~i (generated by Fuzzifier-I in cycle 1) and the code of C(PA~i) generated by Fuzzifier-II (in cycle 2). The output is the code of the cleamess level C( PA 'i) = ak of the elementary fuzzy pattem PA 'i- This chip achieves a standard Boolean transformation at the level of input-output. Hence the implementation of the CLT will not be elaborated.
The Approximate Reasoning Module is developed next. This module is implemented employing a standard chip that realizes a Min function of its input and referred to as MIN
CHIP. The input to this chip is the clearness degree values ( C(PA '1)...., C(PA 'n) generated by the CLT chip. The output is the minimum value among these clearnessdegrees. This minimum value is considered as the cleamess degree C(PB~j) of the control action Pg; . This module operates in parallel with cycle^2 of Fuzzifier-II so that the code of the cle~rnecs level C(PA 'i) generated by cycle 2 will be immediately compared with the value generated in the previous cycle, (i.e. C(PA 'i-l )) . The result is stored in the MIN chip. Hence, at the completion of cycle 2, the MIN-Chip simultaneously gives the code of the minimllm clearness degree which will be the cleamess degree of the control action C(Pg jj) . Figure (25) illustrates the operation of this module.
Next the Pattem Matching Module is developed. Figure(26) illustrates the functional representation of this module at the Input-Output level. The input is the codes of the elementary patterns of the process situation ( PA~I, PA~2, ..., PA~n) which are generated by Fuzzifier-I. The output is the code of the fuzzy pattem of the control action pattem Pg~j and the code of the control variable Lyj . This association can be implemented using ROM memory module, referred to as the Memory of the Control A ction Pattern (MCAP). The codes of the elementary fuzzy patterns pattern ( PA '1~ PA '2~ -- PA 'N) serve as an address to access the MCAP location where the codes of the control action pattem PB j and the control variable (Lyj) are stored, SUBSTITUTE SHEET
j = 1, ..., M. ForM control variables and H control acrion patterns associated with each variable, the MCAP will have M pages and f~ locations in each page. Figure (27) illu~ tes the page organization of the MCAP.
We now develop the Defuzzifier Module. The defuzzifier has three inputs: the code of the control variable (Lyj), the code of the pattern of the control action (Pg;) and the code of the clearness degree value of the control action (C(Pg;) = ak). The output is the crisp data y'j which represents the control action to be applied to the controlled process. This task is accomplished using the approach mentioned in the forgoing description of the invention the CTFLC shell where the generic rule (6) of the defuzzifier is formulated.
This rule is rewritten here again:
IF TheCon~rolPattemis Pg; and xk SC(pBj) < r,c+l THEN yk<Y'<Y
k+l where, the value of y' is generated from the boundaries [Ylc. Yk+l]- The association specified by this rule is illustrated in Figure (28-a). This association is implemented using a ROM memory module referred to as the Memory of Control Action Crisp Data (MCA D). This ROM has a page organization in which each page is devoted to store the crisp values associated with the pattern of each control action Pg;. The address of each page is determined by the combined code of Lyj and PB j (generated by MCAP). Thecode of the clearness degree C(Pg J) serves as an address for the location where the crisp value of the control action y' is stored. Figure (28-b) shows the the organization of the MCAD ROM .
It should be noted that in applications where the output is required to be only in the form of a decision pattern together with its validity (in terms of clearness degree), the Defuzzifier module will not be required . This case is suited for many applications of Expert and Operator Support Systems.
The general architecture of the CTFLC chip at the level of functional blocks is presented in Figure (29). This architect~re implements the basic functional modules (Fuzzifier, Pattern Matching, Approximate Reasoning and Defuzzifier) through these blocks. The operation of the CTFLC chip at the level of these functional blocks is presented by the diagram of Figure (30). The CTFLC chip operates as follows. The process data (xl, .... XN) is acquired at given time intervals which are equal to the time of an operation cycle of the controller (the time of executing the four operational phases of the CTFLC system). This SUBSTITUTE SHEET
WO 94/28481 . 2 1 6 3 0 0 6 PCT/CA93/00223 -data is stored in MCD RAM and applied to the VAG and the Fuzzifier module. The VAG
uses this data to generate the addresses of the process variables and apply them to the Fuzzifier. The Fuzzifier uses this data to access the page of MTT ROM where the TT values are stored. These values are applied to the comparator of Fuzzifier-I and as a result the code of an elementary fuzzy pattern ( PA i ) for the current variable (Lxj). i = 1...., N, is generated at the output and stored in the RPC.
Fuzzifier-II uses this code and the address of the variable generated by VAG to access MCL ROM where the CL values of the pattern ( PA i ) are stored. The CL values are applied to the comparator of Fuzzifier-II and the code of relevant cleamess level to measure the clearness degree of the pattem PA'j is generated at the output. This code and the code of t. pattem itself available from RPC are applied to the CLT chip. The output is the current value of C( PA i ) which is compared with the current content of the MIN
chip and the result is stored in the register of the cleamess level (RCL) of this chip. This procedure is repeated N-times for N process variables. By its completition. the RPC will contain the codes of the elementary fuzzy patterns f PA '1. PA '2~ -, PA 'n) and the RCL of the MIN chip will contain the minimum value of their clearness degree. The combined code of the elementary fuzzy pattems in the RPC is applied as an address to MCAP ROM to retrieve the code of the control action pattem ( PB; ) and the code of the control variable Ly j . This data and the content of the MIN chip are applied to access the location of the MCAD ROM where the model value y' of the control variable is stored.
This value serves as the control command to the process. In applications requiring the ~eneration of the control action pattem and its validity, the CTFLC chip will elimin~te the defuzzification and the output of the MCAP ROM and MIN chip will be the output.
The organization of the CTFLC chip makes the the system flexible for general purpose applications. It also assists in the systemization of the development of an application.
The addresses of the pages and locations of the MTT ROM, MCL ROM, MCAP ROM
and MCAD ROM can be detemmined off-line for a particular application. It is similar in its functionality to an expert system shell but implemented on a chip. The volume and the number of pages, their addresses and the address of each location of the ROMs can be determined using N, M, H and K values and the codes of the elementary fuzzy pattems, where "N" is the number of process Variables, "M" is the number of control action variables ~ "H" is the number of the elementary fuzzy pattems ~tt~ched to each variable, and "K" is the number of clearness levels used to represent the cleamess distribution of each elementary fuzzy pattern. The content of each location is determined and SUBSTITUTE SHEET
WO 94/28481 2 ! 6 3 ~ 0 6 PCT/CAg3/00223 programmed off-line using the N~ M, H, K data and the codes of the elementary fuzzy patterns of a particular control application. Hence. the proposed CTFLC chip offers a framework for rapid and general purpose application development.
PREFRRED EMBODIMENT OF NEURAL NETWORK IMPLEMENTATION OF THE
CTFLC. The CTFLC system is implemented using an architectllre of back propagation neural networks. This architecture is shown in Figure (31). It consists of a multiple of back propagation (PB) neural network blocks each design~ed to execute a specific task of the CTFLC system operation. These neural blocks are the Fuzzifer, Control Rule Selection (Pattern Matching). Approximate Reasoning and Defuzzifier. The blocks execute the same operational phases of the CTFLC system detailed in the forgoingdescription of the invention. It is possible, of course, to execute more than one task using one relatively larger neural network. This. however. results in a network with large inputs and outputs which may prove to be cumbersome during the training mode. as well as, the large memory it requires. Employing several small networks is, therefore, more practical, though they are equivalent in their functionality.
Each back propagation network block consists of one input layer, one or more hidden layers and one output layer. Each layer has a number of nodes and each node is connected through a weight to every node in the layers below and above the layer to which it belongs. The network has two modes; the learning (training) mode and the recall (operation) mode. In designing a back propagation network the weights are calculated using special learning methods called supervised learning. During the learning mode, the relevant data is presented at the input and output of the network, and the learning procedure is allowed to iterate to train the network. At the end of the training, the appropriate weights of the network are obtained. During the recall mode (the mode of operation) the network generates the appropriate output for any data presented at its input and belonging to the categories employed during the training. The neural networks are characterized by their speed of calculation (parallel processing). Addressing very complex processes in real-time operation is a possible option with these devices.
In designing the various neural network blocks of the CTFLC system, we train these blocks to obtain the appropriate values of the weights for each of them using supervised learning. As with all back propagation neural networks, the values of these weights are SUBSTITUTE SHEET
WO 94/28481 - ` . 2 1 6 3 0 0 6 PCT/CA93/00223 not unique for any block. This is an inherent characteristic of back propa ation networks.
The values of these weights also depend on the training data. Since the training data depends on the application, the weights of the neural network blocks will be different for the different applications, and, hence, the training should be performed for every application. In effect. the training is equivalent to storing the expertise knowledge of the domain in the weights of the network. The forthcoming description. therefore, will be concemed with the scheme. architPctllre and methods of obtaining applopliate weights for every block of the system such that these blocks execute the relevant tasks of the CTFLC.
The training algorithms are well documented procedures and will not be further detailed.
In essence we will be describing neural network architecture and implementation for the fuzzy expert system of the CTFLC.
During the fuzzification phase two tasks are executed. One to generate the elementary fuzzy pattems which describe the process situation (Fuzzifier-I), and the other to c~lru~
the cleamess degree of the fuzzy pattem (Fuzzifier-II) for the measurement data received from the process. Therefore, there will be one neural network designed for each task.
This procedure is repeated for every process variable. Evidently, for multivariable control system the same is lepea~ed for every loop.
Fuzzifier-I neural network block accepts a crisp measurement value as its input, and genelàtes a code as its output intlic~ting the fuzzy pattern selected. Each fuzzy pattem is ac.cigned a unique code to replésent it. Any suitable code is admissible and can be used.
Thê network will have a single input only . For N process variables. Fuzzifier-I will consist of N network blocks.
During the learning mode the weights of the neural network are calculated. To do that the data is prepared to cover all the models of the process variable at suitable intervals (discretization) chosen by the decigner. The size of the interval depends on the sensitivity of the process changes and the range of measurements (the size of the domain of models of the process variable). However, presenting the data with small interval sizes between them may lengthen the training period, or even result in the failure of the training. A
trade-off and engineering judgement may, therefore, be necesc~ry. However, few trails regarding the choice of the interval size is normally sufficient to decide on a suitable size.
The threshold of transition (TT) values should be calculated off-line and used for comparison. The training procedure is perfommed by applying a crisp value as an input to the network and the corresponding code (for the fuzzy pattem) at the output. The input - values between every two successive thresholds of transition correspond to a certain fuzzy pattem and its cleamess distribution. At the completion of the training the appropriate weights of the network are obtained. The neural network will have:
SUBSTITUTE SHEET
i) One input layer with one input.
ii) One hidden layer for most applications.
iii) One output layer with a number of nodes equal to the code of the elementary fuzzy patterns.
Each process variable has one such neural network.
Having selected the elementary fuzzy pattern in Fuzzifier-I, the neural network of Fuzzifier-II determines the clearness degree of this fuzzy pattern from its clearness distribution. Here the neural network accepts two inputs. One input comes from Fuzzifier-I and consists of the elementary fuzzy pattern code. The other input is the crisp data measurement received from the process. The output is a code representing a clearness degree level of the elementary fuzzy pattern.
During the learning mode of Fuzzifier-II neural network to calculate its weights~ the data is prepared to cover all the domain models for the process variable at suitable intervals (discretization) similar to that applied in Fuzzifier-I. It should be noted that the clearness degrees are estim~ted over the interval [0. 1], which makes the sensitivity with which the neural network should operate rather high. To overcome the difficulty, and to obtain maximum performance we use the network as a classifier and the interval [0, 1 ] is divided into levels (for example: 0 -- 0.2, 0.21 -- 0.4, ..., 0.81 -- 1.0) and each of these levels is replesented by a code. To improve the accuracy of performance the number of these levels is increased as required. In other words we present the input-output training data to the network in a form suitable for classification. The learning procedure is performed by applying an input vector whose elements are the crisp measurement value plus the code of the fuzzy pattern generated by Fuzzifier-I. The output is the code of cleamess level of the fuzzy pattern. At the completion of the training the appropriate weights of the network are obtained. The neural network will have:
i) One input layer. The number of inputs is equal to the code of the elementary fuzzy patterns associated with each process variable plus one.
ii) One hidden layer for most applications. For higher sensitivity, more hidden layers may be required.
iii) One output layer with an output vector. The number of elements in this vector is equal to the code of clearness levels chosen for the required accuracy.
Every process variable has one such neural network.
SUBSTITUTE SHEET
wo 94~2~1 ~ 2 1 6 3 0 0 6 PCT/CA93/00223 For the Control Rule Selection (Pattem Matching) block. the neural network accepts the outputs of Fuzzifier-I blocks as its inputs. These inputs consist of vectors, each of which consists of a code representing a fuzzy pattem. The output of this neural network is a code indicating the fuzzy pattem of the control action as well as the control action process variable.
During the leaming mode for the calculation of the weights of this network. the data is prepared to cover all the possible rules of the control protocol of the generic form of (1).
This data consists of the codes for the elementary fuzzy pattems (input) and the codes of the control action fuzzy pattems and associated control action variables (output). At the completion of the training the appropriate weights of the network are obtained.
Each network has:
i) One input layer with an input vector whose number of elements equal to the code of the elementary fuzzy patterns associated with process variable multiplied by thenumber of these variables for each loop.
ii) One hidden layer for most applications. For complex systems more hidden layers may be required.
iii) One output layer with a number of nodes equal to the code of the fuzzy patterns of the control actions and the associated control variable.
For a multivariable control system. each loop will have one such neural block.
For the Approximate Reasoning Block. the neural network accepts the output of Fuzzifier-II as its input. The output is the minimum value among the values presented at the input. This is the code of clearness degree which is associated with the control action pattem. The number of elements in the input vector is equal to the code of clearness levels multiplied by the number of process variables. The number of element in the output vector is equal to the code of cle~rnecc level.
During the leaming mode the input and output data is presented to the network in codes form which is suitable for classification. At the completion of the training the appropriate weights of the network are obtained.The network will have:
i) One input layer with the number of input elements equal to the code of process variables multiplied by the code of clearness levels.
ii) One hidden layer for most applications. For complex processes more hidden layers may be required.
SUBSTITUTE SHEET
4~
iii) One output layer with a number of output elements equal to the code of clearness levels.
The Defuzzifier Neural Network accepts two input vectors. One from the Control Rule Selection Block which represents the code of the selected control action pattem as well as the associated control action variable. and the other input from the Approximate Reasoning Block. The output is one element of real crisp data representing the value of the control command going to the process.
During the leaming mode the input data is presented to the network in the form of a vector whose elements consist of the action pattern and action variable code and the action pattern clearness level code. The output is a real number representing the control command issued by the controller to the process. The network will have:
i) One input layer with a number of input elements equal to the code of the control action fuzzy pattem and the associated process variable in the loop concemed plus the code of the cleamess level.
ii) One hidden layer for most applications. For complex applications more hiddenlayers may be required.
iii) One output layer with one node.
From the description of the implementation of the CTFLC system using neural networks it can be noted that the same operation and design principles used in software and hardware technological bases are maintained. This feature indicates that the design of the CTFLC system is technologically independent.
SUBSTITUTE SHEET
wo 94/2~1 ~ ` 2 1 6 3 0 0 6 PCT/CA93100223 WE CLAIM:
1. A knowledge-based fuzzy pattern processing system for control and decision making, which receives one of either input signals or input data rep~esenting status of a process to be controlled and in response generates one of either output control signals or output data, comprising:
a) a knowledge-base block containing knowledge on fuzzy patterns, each of said fuzzy patterns comprising a syn~rtir~l description (S), a domain (D) to which each of said fuzzy patterns is ~tt~hPd, a clearness distribution (r) which is a set of one of either clearness degrees or membership function values and forms a cognitive measure of fil77inP~ of each of said fuzzy patterns, thresholds of transitions between said fuzzy patterns, and fuzzy rules;
b) a first fuzzifier for receiving each of said one of either input signals or input data and in response generating respective indexes of input fuzzy patterns;
c) a second fuzzifier for receiving each of said one of either input signals or input data and in response genc,d~ing one of either a ,cs~ective value or respective index of one of said either clearness degrees or membership function values for each of said input fuzzy patterns;
d) a pattern matching and rule selection subsystem for receiving said indexes ofinput fuzzy patterns and in response generating indexes of output fuzzy patterns by firing only one of said fuzzy rules from said knowledge-base block;
e) an approximate reasoning subsystem operating in parallel with said pattern m~trhing and rule selection subsystem, for receiving each said respective value or respective index of one of said either clearness degrees or membership function values of each of said input fuzzy patterns and in response generating only one said respective value or respective index of said either clearness degrees or membership function values; and f) a defuzzifier for receiving said indexes of output fuzzy patterns and said only one said respective value or respective index of one of said either clearness degrees or membership function values and in response generating one of said output control signals or output data for each of said output fuzzy patterns.
2. The knowledge-based fuzzy pattern processing system of claim 1, wherein said SUBSTITUTE SHEET
Wo 94/28481 2 1 6 3 0 0 6 PCT/CA93100223 first fuzzifier further comprises means for comparing said one of either input signals or input data with said thresholds of transitions between said fuzzy pattems stored in said knowledge-base block and in response generating said indexes of input fuzzy patterns.
3. The knowledge-based fuzzy pattern processing system of claim 1, wherein said second fuzzifier further comprises means for either retrieving said clearness measures from said knowledge-base block or co,npaling said one of either input signals or input data with said clearness distribution stored in said knowledge-base block and in response generating said one of either a respective value or respective index of said either clearness degrees or membership function values for each of said input fuzzy patterns.
4. The knowledge-based fuzzy pattern processing system of claim 1, wherein said pattern matching and rule selection subsystem further comprises means for mapping said indexes of input fuzzy patterns into said indexes of output fuzzy patterns of the fired said only one of said fuzzy rules from said knowledge-base block.
5. The knowledge-based fuzzy pattern processing system of claim 1, wherein said approximate reasoning subsystem which receives from said second fuzzyifier said respective value or respeclive index of one of said either cleamess degrees or membership function values of each of said input fuzzy pattems, further comprises means for computing a single value or index out of said either clearness degrees or membership function values and assigning said single value or index to said output fuzzy patterns.
6. The knowledge-based fuzzy pattern processing system of claim 1, wherein said defuzzifier further comprises means for directly mapping said indexes of output fuzzy pattems and said only one said respective value or respective index of said either clearness degrees or membership function values into said one of either output control signals or output data.
SUMMARY OF THE INVENTION. The fuzzy controller presented in this invention is anintelligent-cognitive device which operates and makes decisions at the level of fuzzy panern processing, association and approximation. It is capable of performing the tasks of recognition, generation, ~cseccment of cleamess and validity measure of fuzzy patterns of the real world situations. The controller reasons with these patterns and their clearness measures to arrive at acceptable decisions using a new cognitive mechanism for approximate reasoning formalized as the Clearness Transformation Rule of Inference (CTRI). In this mechanism, the necessity to use fuzzy matrices and the time consuming Max-Min operations for approximate reasoning are eliminated. Hence, the fuzzy controller is a real-time operating device for decision-making even in complex and multivariable applications. Its behaviour and decisions can be traced back and validated explicitly which facilitates the control and expert knowledge acquisition and updating. The invention provides a systematic approach for the design of this fuzzy controller and decision maker system together with complete description of the implementation of their modules using Software (knowledge-based architecture), Customized VLSI Chips andNeural Network technology.
To accomplish the foregoing and other objects, and in accordance with the present invention . as described and embodied herein. a system. called the Clearness Transforming Fuzzy Logic Controller (CTFLC). is presented embodying the organization as well as the scheme of implementation of a fuzzy controller and decision-maker system whereby the process variable values are received as crisp data and according to which a control command is generated in the form of crisp data as output control actions. or the input is in the form of fuzzy patterns and linguistic scenarios and the output in the form of control comm~n-ls or control action patterns and scenarios which may be utilized by the operator to improve his/her options regarding the process operation and enhance his/her decisions. The fuzzy controller establishes its output through the execution of a series of knowledge based tasks involving situation pattern recognition. situation assessment in terms of cleamess measure, pattern matching and the deduction of the control action pattern. approximate reasoning to determine the clearness degree of the control action pattern. and defuzzification of the control pattern (if the output of the controller is required in the form of crisp data values).
SUBSTITUTE SHEET
WO 94128481 . 2 1 6 3 0 0 6 PCT/CA93/00223 The following are the distinguished functional and operational characterstics of the CTFLC system.
1. It is a system for general purpose applications capable of simulating human thinking in handling the tasks of fuzzy control and decision- making. These tasks are defined based on the use of a cognitive model of fuzzy control specifled in the invention description.
2. It is a device which operates at the level of fuzzy pattem processing (as a basic entity or portion of information) in achieving the tasks of control and decision making to produce acceptable solutions and decision patterns. It implements a set of knowledge-based tasks such as generation. recognition and ~csessment of the validity (Cle~rness degree) of fuzzy patterns and achieves approximation in the association between these patterns as well as imit~ting the human thinking in achieving a cognitive inference producing options of control and decision patterns together with ~csessmerlts of their validity. This capacity enables the application of the CTFLC as a fuzzy controller. Intelligent decision-maker and a declslon support system.
3. It applies a new scheme for approximate reasoning at the level of fuzzy pattern manipulation which elimin~s the necessity for the time con~lming Max-Min computation usually employed for approximate reasoning in similar devices. Hence. the CTFLC can operate in real-time when applied for control and decision-making in multivariable systems and complex processes.
4. Its organization and operating principles are independent of the the technology employed for its implement~tion. Various technological bases can be used to implement it while the same operation and design principles are m~int~ined. This characteristic of the CTFLC makes its integration with other systems a viable issue.
5. The use of generic rules and the systemization of the domain features in terms of data required by the operation and implementation of the controller simplifies the process of knowledge acquisition and the updating of the controller features (including itsperformance features). These facilities assist in a rapid application development and validation of the controller performance.
SUBSTITUTE Sh'~. ~T
Other objects and advantages of the invention will be apparent from the forthcoming description and claims of the invention including the a detailed description of the drawings in which:
BRIEF DESCRIPTION OF DRAWINGS
Figure ( 1 ) is a scheme illustrating the organization of the cognitive model of fuzzy control upon which the invention of the CTFLC system is based.
Figure (2) is a scheme illustrating the modules and operational phases of the CTFLC
system used for the embodiment of the invention.
Figure (3) is a diagram illustrating the operation of the modules of the CTFLC system at the level of input-output data used for the embodiment of the invention.
Figure (4) is a diagram illustrating the intel~leta~ion of the domain of a fuzzy pattem used for the specification of the operation of the CTFLC system of the invention.
Figure (5) is a diagram illustrating the interpretation of the cleamess measure of a fuzzy pattem used for the specification of the operation of the CTFLC system of the invention.
Figure (6) is a diagram illustrating the graphical presentation of the cleamess distribution of fuzzy pattems used for the presentation in this measure of the invention.
Figure (7) is a scheme illustrating the operation of the CTRI-based inference engine in deducing fuzzy pattems having the same syntax but with different cleamess degrees used for the embodiment of the CTFLC system of the invention.
Figure (8) is an analysis in the form of tables of the characteristics of tasks of the CTFLC
system in terrns of input-output data. knowledge and control strategies required for their accomplishment used for the embodiment of the CTFLC system of the invention.
Figure (9) is a scheme illustrating the intemal architecture of the CTFLC system at the level of the operational modules and the knowledge used by each each module used for the embodiment of the invention.
Figure (10) is a diagram showing the employment of the cleamess distributions of the fuzzy pattems which serve to understand the example of the operational phases of CTFLC
SUBSTITUTE SHEET
WO 94/28481 ~ ; A '' , 2 1 6 3 0 0 6 PCT/CA93/00223 ~i~cussed in the invention.
Figure ( l l ) is a diagram of the rule-base architecture of the CTFLC shell used for the preferred embodiment of the invention.
Figure ( 12) is a functional diagram of the Fuzzifier at the level of input-output data which illustrates the interaction between the two module: Fuzzifier-I and Fuzzifier-II used for the implementation of the preferred embodiment of the invention.
Figure (13) is a diagram showing the preferred off-line generation of the values of the thresholds of transition (TT) using the clearness distributions of fuzzy patterns used for the implementation of the Fuzzifier of the invention.
Figure ( 14) is a dia~ram illustrating the preferred off-line generation of the values of the clearness level thresholds ( CL) used for the implementation of the Fuzzifier of the invention.
Figure (15) is a functional diagram of the Defuzzifier module at the level of input-output data used for the implement~tion of the invention.
Figure (16) is a diagram illustrating the principle of counter-reflection of the clearness level of a fuzzy pattern on the elements of the domain space to infer crisp data of the control action to the process. used for the implementation of the Defuzzifier of the invention.
Figure (17) is a table showing the preferred embodiment of the CTFLC database system for the software implementation of the invention.
Figure ( 1 8-a) is a diagram illustrating the preferred off-line generation of the values of the thresholds of transition (TT) for the hardware implementation of the invention.
Figure (18-b) is a diagram illustrating the preferred determination of the code for each elementary fuzzy pattern for the hardware implementation the invention.
Figure ( 1 9-a) is a diagram of the preferred page organization of the ROM Memory for the SUBSTITUTE SHEET
WO 94/28481 2 ~ 6 3 0 0 6 PCT/CAg3/00223 storage of the Thresholds of Transition (MTT) for the hardware implementation of the invention.
Figure (l9-b) is a scheme showing the generic description of the contents of each page and location of the MTT ROM for the hardware implementation of the invention.
Figure (20) is a scheme of the preferred functional implementation of Fuzzifier-I to perform cycle- I of the operation of the Fuzzifier for the hardware implementation of the invention.
Figure (21) is a scheme of the preferred organization of Fuzzifier-I and the RPC to perform cycle-l of operation of the Fuzzifier for the hardware implementation of the invention.
Figure (22-a) is a diagram showing the preferred off-line generation of the values of the threshold of transition between clearness levels used for the hardware implementation of Fuzzfier-II of the invention.
Figure (22-b) is a diagram showing the preferred off-line determination of the codes of the threshold points between clearness level intervals for the hardware implementation of Fuzzifier-II of the invention.
Figure (23-a) is a scheme of the preferred embodiment for the page organization of the ROM Memory of the Clearness Levels (MCL) for the hardware implementation of the mventlon.
Figure (23-b) is a diagram of the functional equivalent of the preferred page organization of the ROM memory of the clearness levels MCL for the hardware implementation of the mventlon.
Figure (24) is a scheme for the preferred functional implementation of Fuzzifier-II for the hardware implementation of the invention.
Figure (25) is a scheme of the preferred organization of the interaction between CLT and MIN chip for the generation of the clearness degree of the pattern of the control action SUBSTITUTE SHEET
wO 94/28481 2 1 6 3 0 0 6 PCT/CA93/00223 used for the hardware implementation of the invention.
Figure (26) is a functional diagram of the of the Control Rule Selection module (Pattern Matching) used for the embodiment of the invention.
Figure (27) is a dia_ram of the preferred organization of the ROM memory of the control action pattems MCAP for the hardware impl~ment~tion of the invention.
Figure (28-a) is a diagram showing the preferred off-line determination of the control action crisp data in the implemenr~tion of the Defuzzifier for the hardware implementation of the invention.
Figure (28-b) is a diagram of the preferred org~ni7~rion of the ROM memory of the control action crisp data (MCAD) to implement the Defuzzifier for the hardware implem~nt~tion of the invention.
Figure (29) is a scheme of the preferred architecture of the CTFLC for the hardware implement~tion of the invention.
Figure (30) is a diagram of the operation of the CTFLC at the level of the functional blocks for the preferred hardware implemenr~tiQn of the invention.
Figure (31 ) is a diagram of the preferred Neural Network implementation of the CTFLC
of the invention.
DETA~ Fl) DESCRIPTION OF THE INVENTION
THE COGNITTVE MODEL OF FUZZY CONTROL. The functionality. design and operational principles of the Clearness Transformation Fuzzy Logic Controller (CTFLC) are specified based on the cognitive model of fuzzy control and decision- making. The general diagram of this model is presented in Figure (1). It illustrates the basic tasks and cognitive me~h~nicm~ of a human involved in the control and decision- making procedure at a rule-based and knowledge-based level of behaviour. This model is established through a psychological and cognitive study using, as a framework, the model of Rasmussen for supervisory control and decision-making. Applying this model. the SUBSTITUTE SHEET
.
human tasks were analysed as a loop of three phases which are: (a) situation pattern observation. detection and assessment. (b) control action planning and (c) action execution . The model of Figure ( 1 ) reflects these phases. Each phase is realized through performing a set of tasks. The states of the process variables such as FLOW, TEMPERA TURE etc.. (see Figure 1 ) are detected from the observed measured values and fuzzified in such terms as HIGH, LOW, etc. This fuzzification task .first . draws mental (fuzzy) pictures of the process situations in the short-temm memory. Once the approximate pattern of a process situation is established. the operator. secondly, assesses the "cleamess degree" of the situation pattern. He/she builds this clearness assessment based on his/her understanding and experience on what is going on in the controlled process.
The operator usually uses his/her own heuristic measures of the " clearness degree" in the clearness assessment of the patterns of process situations. The more understandable and clearer to him/her the detected situation patterns the more confident and clearer pattems of the control actions he/she will generate. The operator then matches this dynamic pattern with the static fuzzy pattem of the process situation which is established in the long-term memory. The result of performing this pattem matching task is the generation of fuzzy pattems of the control actions such as "INCREASE THE FLOW SLIGHTLY". etc to be applied to the process . The model presented in Figure (1) shows that this deduction process utilizes two mech~ni.~m~ The first is the pattem m~trhing by which the operator deduces the pattems of the control actions ( response to what to apply). The second.
which is within the basic claims of this invention. is a transformation mechanism by which he/she deduces the assessment of the pattern of the control action ( response to how clear the deduced pattem of the control action is). It has been identified that these two mechanisms are usually performed in parallel. In essence. the transformationmech~nicm is involved basically to achieve a cognitive approximation leading to define the clearness and importance of the patterns of the control actions depending on the clearness ~sessments of the detected pattems of process situations. This cognitive mechanism transforms the clearness measures of the detected patterns of the process situations to the inferred patterns of the control actions. Hence, the output of the deduction phase will be the pattern of the control action (by applying the pattern matching mechanism) as well as the clearness degree measure of this pattern (by applying the transformation mechanism). The operator then utilizes these two outputs to perform the defuzzification task by which he/she translates (defuzzifies) the fuzzy pattems of control SUBSTITUTE SHEET
WO 94/28481 2 1 6 3 0 0 6 PCT/CAg3/00223 g actions into precise control commands and executes them properly in the execution phase.
The basic results obtained from this cognitive model are the definition of the tasks of fuzzy control, the inte~ elation of these tasks through the use of the notion of a fuzzy pattem and its cleamess degree, and the identification of the approximate reasoning performed by the transformation mech~nism. In Figure (1), the (CapprOx) symbol which appears in the approximate reasoning block refers to the approximate degree of "strength" or "weakness"
of the situation pattern which will be transformed by the transformation mech~ni~m to the patterns of control actions. The approximate reasoning mech~nicm has been formulated as the Cleamess Transformation Rule of Inference (CTRI) and the fuzzy controller developed on its basis is called the Cleamess Transformation Fuzzy Logic Controller (CTFLC).
The tasks of the CTFLC are specified based on this cognitive model and summarized in the following order:
Fuzzify the measured variable values to Generate and Assess the fuzzy pattems of process situations ---> Perform pattem matching to infer the fuzzy patterns of control actions ---> Apply the transformation mechanism to Assess the patterns of actions through approximate reasoning ---> Defuzzify the deduced pattems of the control actions --->
Execute the deterministic control actions.
It is within the basic claims of this invention that the CTFLC is a system capable of handling the tasks and mech~ni~ms specified by the cognitive model of fuzzy control outlined in the forgoing description of the invention. In essence. the CTFLC is a cognitive and expert system device which is capable of simulating the human behaviour in performing the tasks of this model.
The general architectllre and operational phases of the CTFLC system capable of handling the tasks of the cognitive model of fuzzy control is illustrated in Figure (2). This system consists of the following modules: The Fuzzifier, The Controller Pattem MatchingMechanism, The Transformation Mechanism for Approximate Reasoning and the Defuzzifier. The controller operates in four phases labelled in Figure (2) as: Fuzzification, Rule Selection and Inference. Approximate Reasoning and Defuzzication. The flow of data and control between these four modules is coordinated by the Control and Inference module.
An overall account of the operation of the controller is illustrated in Figure (3) and summarized as follows. The controller receives crisp data which represents the measured or calculated values of the controlled process variables . This data is channelled to the SUBSTITUTE SHEET
WO 94/2848l 2 1 6 3 0 0 6 PCT/CA93/00223 Fuzzifier module which performs two operations on it. First it generates the description of the fuzzy pattern of each process variable (henceforth called an elementary fuzzy pattem) which constitutes the description of the complex fuzzy pattem of the process situation . And second it assesses the clearness degree of the 8enerated patterns (estim~ted by the cleamess degree of fuzzy pattern over the interval [0, l ], which will be defined later). The first output of the Fuzzifier (the situation fuzzy pattem) is channelled to the Pattern Matching module to deduce the fuzzy pattem of the control action. The second output of the fuzzifier. which is the cleamess degrees of the variable state pattems, are channelled to the Transformation Mechanism for Approximate Reasoning module which applies the CTRI and selects the minimum of the cleamess degrees it receives.
This minimum clearness measure is transformed to become the cleamess degree of the pattern of control action. Finally. the Defuzzifier module receives the pattern of the inferred control action (generated by the Pattern Matching Mech~ni~m) and its cleamess de~ree (generated by the Transformation Mech~nicm for Approximate Reasoning) anddeduces the crisp data (command) of the control action. These commands are then sent to regulate the process.
THEORETICAL BASES. The organizational and operational principles of the CTFLC
system use a set of new theoretical developments such as fuzzy pattem as a basic entity manipulated during operation. the use of specific measures to assess the cleamess degree of a fuzzy pattem in temms of the "strength" and "weakness". Also. the use of a reasoning mechanism which differentiates between the "dynamic pattems" (the detected process patterns in a dynamic operational environment) and "static pattems" (the pattems represented in the controller knowledge base). The CTFLC also applies a new scheme for approximate reasoning known as the Cleamess Transformation Rule of Inference (CTRI). These and other theoretical developments which are relevant to the understanding of the invention are summarized in the forthcoming description of the invention. In general~ the reader should bear in mind that the CTFLC should be looked upon as a fuzzy pattem processing and assessment device which utilizes the transformation mechanism for approximate reasoning with these patterns for the deduction of the control actions. Hence, two filnd~mental theoretical concepts have been extensively used in the development of the CTFLC. They are: the concept of fuzzy pattem and the formulation of the CTRI to implement the transformation mech~nism for approximate reasoning with fuzzy patterns.
In the following we provide details of these two concepts.
SUBSTITUTE SHEET
WO 94128481 : 2 1 6 3 0 0 6 PCT/CA93100223 -_l A FUZZY PATTERN is defined by the triple < 5, D, A >, where:
S - is the syntactical description of a fuzzy pattern;
D - is the domain to which the fuzzy pattem is ~tt~ched; and A - is the cleamess assessment of the fuzzy pattern.
We now proceed with the formal definition of each of these components.
S - Component characterizes the syntactical description of the fuzzy pattern. The invention assumes the use of the logic of fuzzy predicates to describe fuzzy patterns. In this context. the notion of a fuzzy predicate as an atomic formula of this logic is considered as an elementarv fuzzY pattem. Examples of formal fuzzy patterns are:
PA : Lx is A
PB: Lv is B
where, Lx, Ly - are linguistic variables of Zadeh and A, B - are their attribute-values defined as fuzzy subsets of the universes of discourse X and Y, respectively. Examples of element~ry fuzzy pattems are:
PA : THE STA TE OF TEMPERA TURE is HICH
Lx A
PB : THE STA TE OF PRESSURE is LOW
L~ B
Other complex fuzzy pattems are formally described as well-formed formulas (WFF) of this logic by applying the logical connections with these atomic formulas (elementary fuzzy predicates) following formal syntactical rules. Examples of complex fuzzy patterns are:
( PHIGH v PVER Y HIGH ---> PLOW ) ( PHlGH & (~PLOW) ---> PVER Y HlGH ) D - Component.. The domain of a fuzzy pattem PA, denoted as DA,X, is composed ofthree attributes ~ Lx, X, ~ >, where:
Lx- is the domain variable:
SUBSTITUTE SHEET
WO 94/28481 2 1 6 3 0 0 6 PCTICAg3/00223 X - is the space of all the instantial models and objects ( xl, x2....) that can be substituted as values for Lx;
~JX - is the set of substitutions of the form { xilLx} which contains the substitutions x from X for Lx.
An example of the domain of the elementary fuzzy pattem PA is:
DA ,X = < Lx = State of temperature, X = [ 0, 501, Crx = ~ 20; 30; 35; 45; 50} >
Figure (4) illustrates the definition of the domain of the elementary fuzzy pattern PA.
A- Component . This component characterizes the assessment of the cleamess measure of a fuzzy pattem. Fuzzy pattems may be looked upon as vague pictures of the real world situations. These pattems can be assessed using of cleamess measures built in the closed interval [O, 1] divided into a finite number of clearness values {akl (henceforth called truth levels also), i=1.2,..., K. The "validity" . or in equivalent term, the "cleamess degree" of a fuzzy pattern, is evaluated when the variable (e.g. L r) associated with a fuzzy pattem (such as PA) is substituted by an in~t~nti~l model (such as xi ) from the domain DA X . In this invention three measures: C, I and r are used to estim~te the cleamess degree of a fuzzy pattems . C is called the Clearness De~ree. denoted as C(PA), I is calledthelnte~rated Clearness De~ree denoted as l(PA) and r is the Clearness Distri~lltion, denoted as 17PA ), for a fuzzy pattern PA . Figure (5) illustrates the concept of these measures in the ~s~scment of fuzzy patterns.
The C - measure is used to assess the "local" cleamess of a fuzzy pattern and formulated as:
C: PA ~ [0. 1] / for Lri =Xi or:
C(PA) = C(xi is A) =o~
where: ak - is a cleamess level in the interval [O, l l -The I - measure is used to generate the integrated clearness degree of a fuzzy pattern obtained from the local cleamess degrees for different domain substitutions ~xj/Lx}.
There are different ways which can be used to generate I-measure. The invention defines three of them. they are:
1. I min = Mi~l ~ C(PAi)3 i SUBSTITUTE SHEET
2 . I mar = Max f C(PA i) }
i n C(PA j) 3 . l a~
n The fuzzy controller described in the invention utilizes Imin measure. However. the other two measures and other formulas to calculate l-measure can be used to implements the approximate reasoning rnerh~ni.cm of the controller which utilizes this measure to evaluate the CAPPROX-The r- measure is used to assess the "global" clearness of a fuzzy pattern and formulated as:
r(PA ) = ( Cl(PA ). C2(PA )...., Cn(pA ) ) I estimated for all the substitutionsl xilLxi } .
The following example illustrates the representation of C and r measures. Assume that the domain variables L ~ = (TEMPERA TURE STA TE) and Ly = (PRESS URE STA TE ) , which are described by the element~ry fuzzy pattems PHIGH and P LOW. respectively, have been substinlted by the models:
~ HIGH = 1 Xl = 15 ; X2 = 25 ; X3 = 35 ; X4 = 45 C~ LOW = { yl = l ; Y2 = 2 ; Y3 = 3 ; Y4= 4 and the cleamess degrees for these models were evaluated for these pattems as follows:
C(15 is HIGH) = 0.08 C(l is LOW) = 0.99 C(25 is HIGH) = 0.43 C(2 is LOW) = 0.90 C(35 is HIGH) = 0.87 C(3 is LOW) = 0.50 C(45 is HIGH) = 0.98 C(4 is LOW) = 0.l0 Then, the clearness distribution r(PHIGH ) of the fuzzy pattern PHIGH for these models is:
- r(PHIGH ) = l 0.08 0.43 0.87 0.98 ~, SUBSTITUTE SHEET
which is presented as shown in Figure (6-a), and the cleamess distribution r(PLow ) f PLOW for the models given above is:
r(PLOW )= ~ 0.99 0.90 0.50 0.10 ~.
shown in Figure( 6-b) .
These two measures are used by the CTFLC to assess the clearness of any complex fuzzy pattem described formally as a wff of the logic of fuzzy predicates.
In the development the CTFLC system the knowledge on the components < S, D, A >
are represented as: S, D and A k)~owledge-bases of the controller system. Each block captures the knowledge on one component of the specification of fuzzy pattems.
In addition to these three knowledge bases specifying fuzzy pattems. a fourth knowledge base is used to represent the heuristic knowledge of the expert on the process control and contains the controller rules. These rules describe the association between fuzzy pattems of the process situations and the the control actions. The control protocol of the CTFLC
system is composed of a finite set of fuzzy rules of the form:
IF <PattemofProcessSituatio~l> THEN <PattemofControlAction>
Both the pattern of the "Process Situation" and the pattem of the "Control Action" are specified as complex fuzzy patterns (wff of the logic of fuzzy predicates). A general form of a Situation-Action rule of the control protocol is as follows:
rF PA I and PA 2 a)ld PA n THEN PB j ( 1 ) where: PA i - are elementary fuzzy pattems of the general form "L,~-i is A i" (used to describe the pattems of the process variables, i = 1, 2...., N). PBj - are fuzzy pattems of the general form "Lvj is Bj" (used to describe the pattems of control actions, j = 1, 2, ..., M)-THE APPROXIMATE REASONING MECHANISM. The next basic theoretical conceptused in the development of the CTFLC system is the approximate reasoning merh~ni~m of the Cleamess Transformation rule of Inference (CTRI). This mechanism performs a cognitive approximation in the deduction of the cleamess, or in equivalent term the "validity", degree of the patterns of the inferred solutions. It draws an association between the cleamess measures of the pattems of antecedent and conclusion in the process of decision-making so that a clearer pattern of the antecedent will produce a clearer pattern of the conclusion. The vice-versa is also true. In this context, the CTRI is a SUBSTITUTE SHEET
WO 94/28481 ~ - 2 1 6 3 0 0 6 PCT/CA93/00223 -fommal implementation of the transformation mech~ni.cm of the coPnitive model of fuzzy control described earlier. In order to formulate the CTRI. the concepts of "dynamic" and "static" pattems are clarified. Following the human perception of the real world pattems, fuzzy pattems can be classified as "static" and "dynamic". Static pattems denote the pattems established in the human long term memory. They are also represented in the knowledge base of the Intelligent system as a result of the expert knowledge acquisition. Dynamic panems denote the pattems detected in the real dynamic operation.
These pattems are the output of the human perception observing the real world dynamic processes. It is assumed that the Fuzzifier module of the CTFLC (described earlier in the invention) is replacing the human in performing the task of generating the process dynamic pattems. The fundamental concept behind these classes of pattems is that they have the same syntactical description (regarding form, shape, content, etc.) but differ in their "cleamess" assessment in terms of the "strength" or "weakness", as it is defined in the following:
If G' is a dynamic pattem of G, then we say that the pattem G' is "clearer" or "stronger"
than G if the cleamess measure r(G') > r(G), and G' is "less clear" or "weaker" than G, if r(G') < r(G), for the same inst~nti~l models of the domain DG.X. where r(G) is the cleamess measure of a fuzzy pattern G.
Funher, the mech~nicm of the CTRI is formalized so that it produces the c!e~mess degree of a dynamic pattem using S, D and A knowledge about the syntax, domain and the cleamess degree of the static pattems represented in the knowledge base of the controller system. This mech~nicm is capable of generating different acsescments for the same patterns of situations detected under different intentions and circumstances. This capability is a direct simulation of the human behaviour in reasoning on dynamic patterns when he/she uses the static pattems established in his/her long-term memory as a basis in performing the task of process pattern assessment. This phenomena, which is implemented in the CTRI, explains why humm can produce different actions (decisions) for the same observed real world situations in the intention formation of the decision making process.
Formally, The CTRI is an inference rule that combines two mechanisms. These are the pattern matching and the assessment transformation mechanicms. The output of thepattern matching mechanism is the control action pattern. The output of the SUBSTITUTE SHEET
i 2 1 63006 WO 94/28481 . PCT/CA93/00223 - 1~
transformation mechanism is the clearness de8ree of the control action pattern. In essence. this mech~ni~m transforms the cleamess measure of the detected dynamic pattem of the process situation to the dynamic pattem of the deduced control action. This mechanism has been found an adequate tool for describing the approximate reasoning process that the human operator performs in the pattern matching activity.
The CTRI is formally stated as follows. Given two fuzzy pattems Pl and P2, where:
Pl: is a static patteln of a controller n~le as specified in the forgoing expression (1), i.e.
Pl = < Sinlation Pattern ~ > Control A ction Pattern> .
P2: is a dynamic pattern of a process situation given with its clearness degree, i.e.
P2 = <DynamicSituationPattern >and r(p2).
If these two pattems are applied to the CTRI. it will deduce:
P3: a dynamic pattem of tlle control action with an assessment of its clearness degree equal to that of P2, i.e.
P3 = < Dynarnic Pattern of the Control Action > with r(p3) =
r(P2).
Using the symbolic notations of the Logic of Fuzzy Predicates. the CTRI mechanism can be formulated as follows:
Given two fuzzy pattems (WFF of the logic of fuzzy predicates):
Pl :C ---> H
P2: G' and r(G~) (2) Deduce: P3: H' with r(H') = r(G').
where: G, H and G --> H are static pattems specified by the clearness degrees r(G) and r(H);
G' and H' are dynamic pattems of G and H, respectively.
It should be noted that the cleamess degree of the deduced dynamic pattern r(H') is not SUBSTITUTE SHEET
wo 94128481 2 1 6 3 ~ ~ 6 PCT/CAg3/00223 -necessarily equal to that of the static pattem r(H). The fact that the clearness assessment of the deduced fuzzy pattern H' is different from that of its static pattem H iS the new feature added by the CTRI to the classical schemes of deduction inference. It implements a "cognitive" inference mechanism beside the "syntactical" inference of the pattern m~ching mech~ m which is commonly applied in rule-based deductive systems. This capability of the CTRI makes it adequate for applications requiring approximate reasoning in the manipulation of fuzzy pattems having the same synt~ctic~l description but assessed with different degrees of validity and cleamess.
The inference engine of the CTFLC is based on the CTRI mech~ni~m and is schem~ti~ y presented in Figure (7). The knowledge base of the engine contains the rule of association between the static pattems. This scheme shows that the engine infers different cleamess assessments for the same fuzzy pattems applied to its input but assessed with different clearness degrees.
It should be noted that the formulation of the CTRI in (2) is adopted for approximate reasoning in single-input- single output systems. In applications of fuzzy controllers and expert systems in multivariable domains, the application of the CTRI is formulated as follows:
Given a controller rule of the knowledge base as a complex fuzzy pattem of the generic form (1):
Pl: ( PA I & PA 2 & -- & PA n ) ~~> PB ( static Pattent of the controller n~le) and a dynamic pattem to match the rule. which is:
P2: ( PA I & PA 2 & - & PA n ) (detected dynamic pattern of the process situation) where the cleamess degree of P2 is given by:
r'(P2) = { C(PA 1 ). C( PA '2 ).. C( PA 'n )}
with:
C( PA 1 ) = (Xl C( PA 2 ) = a2 SUBSTITUTE SHEET
wo 94128481 21 6 3 0 û 6 PCT/CA93/00223 .
C( PA'n) =an and al,a2, ..., an are cle~rnes~ levels estim~ted over the interval [ 0.1].
The CTRI will infer the dynamic pattem:
P3: PB' and assigns a clearness degree (truth estimation) to it which will be equal to the minimum of the cleamess degrees of the con~titnent elementary fuzzy patterns, i.e.:
C(PB ) = Min ( C( PA l ), C( PA, ), .... C( PA n) ) or:
C(PB ) = Min ( ac,. a~, ..., an ) The Min operator has been applied according to the clearness interpretation of the WFF
of the logic of fuzzy predicates (complex fuzzy pattems). This in~e,~ a~ion implies that a minimum of the clearness degrees of elementary fuzzy patterns is assigned to a complex fuzzy pattem built from these element~ry pattems using AND connector. Apparantly, this estimation coincides with the l min - measure described earlier in the invention.
The application of the CTRI for approximate reasoning in the CTFLC offers a spectrum of advantages to this device. First it gives flexibility of cognitive inference in deducing the cleamess degree of the inferred patterns of the control actions. This advantage makes it possible to produce patterns of decisions together with their clearness degree (validity) measure. This degree may exceed the clearness (validity) measure of the static patterns acquired from domain experts and represented in the knowledge-base of the controller .
This feature means that the CTFLC is capable of imit~ting the human behaviour in reacting with different actions for the same syntactical dynamic patterns of the process situations assessed with different clearness measures. Secondly, the CTRI performs reasoning at the level of fuzzy pattern processing. This feature makes it possible to compare the behaviour of the CTFLC with the human expert involved in decision-making procedures in the same domain. This advantage makes these devices more compatible with the human and acts as a support in behaviour. It will also facilitate the knowledge acquisition and updating in the development and validation of a CTFLC application. As a result, this feature minimi~e~ the time needed for the development of a CTFLC application andoffers easy access to validate and/or improve the controller performance. Finally, the SUBSTITUTE SHEET
wO 94/28481 - - 2 1 6 3 0 0 6 PCT/CA93/00223 -application of the CTRI in the CTFLC elimin~res the necessity of employing the time consuming Max-Min operations usually applied in similar devices for approximate reasoning ( e.g. CRI-based fuzzy controllers). This means that a new possibility for the application of fuzzy controllers to operate in real-time for the control of multivariable and complex processes become viable.
THE DESIGN AND OPERATIONAL PRINCIPLES OF THE CTFLC. The CTFLC
system operates in a task driven mode which implies that at each operational phase the controller is involved in performing a certain task. The tasks of the CTFLC are defined based on the cognitive model of fuzzy control described earlier in the invention.
The design and operational principles of the CTFLC are elaborated based on the analysis of requirements of these tasks ( in terms of the Input/Output. knowledge and reasoning modes needed to handle them) and the use generic task methodology for the design of knowledge-based systems. Further. each task is analysed in terms of the Input/Output relation, portion of knowledge needed and the appropriate reasoning model used to achieve it. The results of this analysis are summarized in Tables 1. 2 and 3~ respectively, as shown in Figure (8).
These tables cover the data, knowledge and control strategies required by the CTFLC
system to perform each task. The CTFLC system is built using four modules ( The Fuzzifier, The Controller Pattern Matching Mech~niclT, The Transformation Mech~nicm for Approximate Reasoning and the Defuzzifier) to perform these tasks. The system operates in four phases. Each phase of the operation of the fuzzy controller performs one task. These phases are: Fuzzification, Rule Selection, Approximate Reasoning and Defil 77ific~tinn The internal organization of the CTRI based fuzzy controller is presented in Figure (9).
The knowledge- base of the controller is organized so that each task/module is ~tt~/'h~d to the portion of knowledge that will be accesced in order to perform the task. An example of a controller which uses the dynamic pattern PA to match the control rule PA ----~ PB is used in Figure (Ct` tO simplify the understanding of the organization. The notations used in this figure to denote the knowledge portions are given below:
DA.X and DB,Y - domain knowledge of fuzzy pattems:
PA . PB - synt~ti~l knowledge to describe fuzzy patterns;
PA ---~ PB - heuristic knowledge encoded as control protocol rules;
SUBSTITUTE SHEET
- _O
r(PA) and r(Pg) - knowledge on the clearness distributions of fuzzy pattems.
Next we describe the operating phases of the CTFLC in some details. During the Fuzzification Phase. the process crisp data (xl, x,, ..., XN) are fuzzified to generate the dynamic elementary fuzzy patterns (PA'I, PA'2, ..., PA'N ) of the process situation. The generated situation pattern will be matched with the static pattem (PA 1, PA ,, ..., PA N) which is the the LHS of the controller rules. The fuzzification is achieved through the generation of the clearness degree acsessments C(PA j) for each domain model Xj and each elementary fuzzy pattern PA j using the clearness distribution knowledge as follows.
Since, in general. there is a finite set of elem~nr~ry fuzzy patterns that characterize the state of the variable Lxj, the Fuzzifier will select the elementary fuzzy pattern PA, which has the m~rimum cleamess degree (i.e., aj ma~r) for the crisp data (model) xi. Further, the elementary fuzzy patterns (PA'I. PA ,, .... PA N ) which are ~enerated in this way for N
variables will constitute the detected dynamic pattem of the process situation. It also generates f C(PA j )max } which is a set of the clearness degree measures c al max, a2 max, ..., an max >, where: an max ~ [0,1]. This set constin~teS the cleamess degree of the dynamic pattern of the process situation.
During the Rule Selection Phase the appropriate rule is selected by m~tc~ing the situation dynamic pattern (PA 'I, PA '~, ..., PA 'N) with the static pattern (PA I, PA ,, .. ., PA N) of the controller rules. The RHS of the matching rule is activated and the pattern(s) PB j of the control action(s) will be generated.
In the Approximate Reasoning Phase the CTRI scheme is applied. It transforms theminimum of the clearness degrees < al max. a2 max...., an max > generated by thefuzzifier to become the clearness degree of the inferred pattern of the control action, i.e:
C(Psj) = Min f C(PA I) ma~, C(PA ,) ma~, ..., C(PA n) ma~
or:
C(PBj) = Min f o~/ mar, ~, mar, ..., ~n max }
In the Defu77ification Phase the input is the pattem of the control action PBj and its local clearness degree C(Pgj) . The output of the defuzzifier is the crisp model (data) v ' of the variable Lvj. The Defuzzifier infers the model value (y') of the domain variable by performing a counter reflection of the value of C(PBj) on the clearness distribution r(Psj) SUBSTITUTE SHEET
WO 94/28481 ~ , ; 2 1 6 3 0 0 6 PCT/CA93/00223 , 2' arld projecting the result on the domain space.
The following example illustrates the four phases of the controller operation. Suppose that the controller has two input variables Lx 1, Lx2 and one output variable Ly which is the control variable to the process. Suppose that the control protocol consists of the following two rules:
Rl: IF PIHIGH and P2LOW THEN P3 NORMAL
R2: IF PlNoRMAL and P2HIGH THEN P3 LOW
where: Pl, P2 and P3 correspond to the elementary fuzzy patterns attached to the domain variables Lxl, Lx7 and Lv, respectively. Assume that the clearness distributionsr(PIHIGH )- r(PINORMAL)~ r(P2LOW) r(P2 HIGH), r(P3NoRMAL). and r(P3 LO~V) are shown in Fi~ure (lO). Suppose that xl = 20 and x2 = 35 are the crisp data (domain models) leplesentillg the measured values of the variables Lx I and Lx2 which are received by the controller. Then the four phases of the controller operation will be summarized as follows:
During the fuzzification phase the elementary fuzzy pattems of the process variables are generated together with their cleamess degrees. To generate these pattems, the crisp data is propagated against the clearness distributions of the elementary fuzzy pattems as follows: xl is tested against r(PPIHIGH) and r(Pl~oRMAL). From Figure (lO-a)), we have:
C (PI HIGH) = 0.50: and C (P1IVORMAL) = 0 99 from which PINORMAL is selected because it has the higher (maximum) cleamess degree.
Similarly, x2 is tested against r(p7Lo~, ) and r(P~HlGH) to choose the elementary fuzzy pattem which describes the state of Lx2 . From Figure (lO-b), we have:
C (P2LOW) = 0.20: and C (P2 HIGH) = 0 75 from which P' HIGH is selected because C(P~ HIGH ) = 0 75 .
Hence the situation pattem generated by the Fuzzifier is:
(Pl NORMAL and P2 HIGH) SUBSTITUTE SHEET
and its clearness degree is:
(C(PI NORMAL) C( P~ HIGH ) ) = (0-99, 0-75) During the rule selection and inference phase a pattern matching is performed with the given two control rules which results in the selected rule being R2. The inferred control action pattern is. then. (P3 LOW )-For approximate reasoning the CTRI is applied to transfer the clearness degree of thesituation pattern generated by the fuzzifier to become the clearness degree of the control pattem (P3 LO~V ). i.e:
C((P3 LOW ) = Min (0.99, 0.75) = 0.75 .
During the defuzzification phase the crisp value of the control action y' is generated. Its value is determined by counter reflection of the clearness degree of the control pattern (P3 LOW ). which is 0.75, on the clearness distribution (P3LOW ) . The result is the crisp value of the variable Ly which is equal to 1.29 (see Figure 10-c).
DETAILED DESCRIPTIQN OF THE PREFERRED EMBODIMENT OF THE CTFLC
SYSTEM. The implementation of the CTFLC system is described using three different technological bases. These are:
(i) Method for the implement~tion as an expert system shell.
(ii) Method for hardware implementation using customized VLSI Chip.
(iii) Method for implementation using Neural Network technology.
It should be noted that these three implementations follow the org~ni7~tion and design principles of the basic modules of the CTFLC system. These principles are elaborated in the description of the CTFLC shell. They are followed in the development of the hardware and neural implementation of the CTFLC. Slight modifications, where necessary, are made to the design approach to meet specific requirements of eachtechnology. However. the basic principles of the design and operation are m~int~ined PREFERRED EMBODIMENT OF THE EXPERT SYSTEM SHELL
SUBSTITUTE SHEET
WO 94/28481 ~ : 2 1 6 3 0 0 6 PCT/CA93/00223 IMPLEMENTATION. The architectllre of the CTFLC shell is developed using rule-based system organization as shown in Figure ( 1 1). This architecture is capable of implementing the tasks of the cognitive model of fuzzy control described earlier in the invention. The CTFLC shell has N inputs connected to the the process variables to acquire the process data xi, i = 1, 2, ..., N, and M outputs to apply the control actions yj, j = 1, 2, ..., M, to the controlled process. It incorporates the following operational modules: Fu:zifier, Pattern Matching witlt the -Process Control Rules, A pproximate Reasoning and Defuzzifier. The flow of data and control between these four operational modules is coordinated by the Control and Inference module. The Fuzzifier.
Pattern Matching and Defuzzifier are built as rule-based modules. Their rules are generated off-line and incorporated in the shell for any particular application. The Approximate Reasoning and the Control and Inference module are domain independent and constitute the control core of the shell. The CTFLC system, therefore. is a general purpose application expert system shell for fuzzy control and decision-making.
The Fuzzifier and Defuzzifier modules incorporate knowledge on fuzzy patterns of the applications, such as process situation and control action patterns. The knowledge about th omponents < S. D, A > of fuzzy patterns are used to define the rules of thesemodules. The Control Protocol module contains rules of the generic form of (1) to rel~esent the expertise knowledge on the control and regulation of the domain process.
The Approximate Reasoning module applies the CTRI to assess the clearness degrees of the control actions. All these modules share a common d~t~bace and they are supervised by the Control and ~nference module which applies the appropriate reasoning strategy to handle the task of each module ( the reasoning strategies are summarized in Table 3 of Figure (8)).
The functional presentation of the Fuzzifier Module at the Input/Output level is shown in Figure (12). The input to the Fuzzifier is the crisp data (xl, ..., XN) where each xi .eplesellts the current value (instantial model) of an input variable Lxi, i=l, ..., N -The output is two components. The first is the fuzzy pattern of the process situation obtained as a set of elementary fuzzy patterns such as (PA'I, ..., PA~n) . The second is a set of assessment degrees of the elementary patterns (C(PA 'I)mac.. C(PA 'n)~tla~ ) which are the maximum cleamess degrees of the elementary fuzzy patterns. These two outputs are produced by two rule-based modules: Fuzzifier-l and Fu if ier-ll, respectively. They SUBSTITUTE SHEET
WO 94/28481 ~ 2 ~ 6 3 0 () 6 PCT/CA93/00223 2~
operate in two cycles so that Fuzzifier-I ( cycle 1 ) generates an elementary fuzzy pattern (PA 'i) which serves as input to Fuzzifier-II to begin cycle 2 i.: which the clearness degree C(PA 'i)ma.~ is ~enerated. These two cycles are repeated N times (for N variables) in order to pe,fol-,- the task of the Fuzzifier Module. The interaction between these two rule bases to implement the Fuzzifier is illustrated in Figure ( 12).
The rules of Fu: if ier-l and Fu :ifier-ll are generated off-line before putting the controller into operation. The way these rules are derived and used during operation is outlined next.
The rules of Fu::ifier-l are determined using the following approach. The clearness distribution of the elementary fuzzy patterns. such as r(PLOW), r(PNORMAL), r(PHIGH). etc. are analyzed in order to determine the transition points between them (e.g.. the intersection points on the graphical presentation of these distributions). It is required that these points. referred to as the Thresholds of Transition (TT), are determined off-line for each process variable. In essence~ these TT points indicate the existence of a transition between the the elementary fuzzy patterns (PA /J. (h = 1, 2,...H), describing the state of the process variable Lxi(i = 1, 2,..., N). Figure (13) shows the derivation of the TT values for the variable Lxi specified by three (H = 3) elementary fuzzy patterns : PLOW. PNORMAL and PHlGH . In this figure two of these thresholds projected on the domain space X and denoted as:
TTL N = The Thresllold of Transition between r(PLOW ) and r(PNORMAL) TTN H = The Thresllold of Transition between r(PNORMAL) and (PHICH) The Fuzzifier recognizes the adequate elementary fuzzy pattem PA h which describes the current state of the variable LXi by deciding the interval (between two TT points) to which the value xi acquired from the process belongs. This approach facilitates the implem~n~tion of a one-to-one mapping so that for each model xi there is only one pattem PAi which will describe the current state of the variable LXi. This procedure can be implemented simply by comparing the value of xi with the values of the thresholds (TT).
The following generic rule has been derived to implement this procedure:
IF TT h-l, h < xi < TT h,ll+l THEN The Elementarv FU~ Y Pattern is PA h (3) SUBSTITUTE SHEET
WO 94/28481 ~ ; `; 2 1 6 3 û 0 6 PCT/CA93/00223 -where: TT~ , h and TT ll,h+l refer to the values of the thresholds of transition (TT) between the fuzzy patterns PAh-1, PAh and PAh, PAh+1, respectively.
For the example illustrated in Figure (13). three such rules are derived. They are:
Rl: IF O S xi < TTL~N THEN PLOW
R2: IF TTL ,N S xi ~ TTN,H THEN PNORMA L
R3: IF TTN H < xi THEN PHiGH
Similar rules may be derived for all process variables. Evidently the rules of Fuzzifier-I
can be built as a set of rules of the generic form (3).
The on-line operation of Fuzzifier-I to generate the elementary fuzzy patterns is accomplished by m~tching the crisp data xj coming from the process against these rules.
The result of this m~tching is the set of elementary fuzzy patterns (PA I . PA 2 . --, PA N) which constitute the description of the situation pattern. We note that these rules also generate elementary fuzzy patterns PA i which have maximum clearness degrees C(PA 'i ) max for a given models xi . i = 1,2,..., N, (these patterns are generated as best describing the state of process variables).
Fu::ifier-ll . This module is built with rules to generate the values of the clearness ~Csec~ments of the elementary fuzzy pattems. i.e. the set of the clearness degree values (C(PA 1 )max, C(PA 2)ma~, ..., C(PA N )max). which are assessed over the interval [0, l ~. These Rules are derived off-line in similar way to the rules of Fuzzifier-I as follows.
The truth (clearness) levels {~i} assessed over the interval ~0, ll are projected on the domain space Xi of the clearness distribution r(PAi ) for each elementary fuzzy pattern.
The values obtained are referred to as the " Clearness Level Thresholds " (CL). Figure (14) shows an example of the projection of five clearness levels (~l, ..., ~xs ) on the domain of r(PHlGH)- The result is five CL values (CLl, ..., CLs) on Xi (CL
should not be confused with the thresholds of transition TT between the clearness distributions specified earlier). These threshold points are used to formulate the rules which generate C(PA i)mal~ by employing simple comparison between the model xi and these CL values to decide to which interval (between these points) the model xi belongs.
The detected intervals indicate values of cle~rne~ levels in the interval [0, 1]. The rules employed by Fuzzifier-II have the following generic form:
IF TheEFP is PAh AND CLk < Xi <CLk+l THEN C(PAh ) = ~k (4) SUBSTITUTE SHEET
wo 94/28481 2 1 6 3 0 ~) 6 PCT/CA93/00223 where: EFP stands for "Elementary Fuzzy Pattern".
As an example. the following rules are generated for C(PLow) of Fi_ure (14).
Rl :IF TlzeEFPis PHICH a~d xi <CLl THEN C(pHlGH) = ~xo R2:1F T~leEFPis PHIGH and CLI S xi <CL2 THEN C(PHIGH) = 0!1 R3:IF The EFP is PHIGH and CL2 < xi < CL3 THEN C(PHIGH) = ~2 R4:IF T/teEFPis PHIGH and CL3 <xi <CL4 THEN C(pHlGH) = ~3 R5:1F TheEFPis PHIGH and CL4 Sxi <CL5 THEN C(PHIGH) = a4 R6:1F TlleEFPis PHlGH and CL5 <Xi THEN C(PHIGH) = .x5 Evidently. the number of rules of Fu :ifier-ll for each fuzzy pattern depends on the number of clearness levels used to measure the clearness degree of the pattern. The number of clearness levels (and. hence. the number of threshold points) can be chosen as large as desired depending on the required accuracy.
The Fuzzifier module characteristics are summarized as follows:
1. Input : Crisp data xi of the control process.
2. Output: Fuzzy pattern of a process situation (PA'I. PA'2...., PA N) and the assessment of clearness degrees of each elementary fuzzy pattern C(PA 'i)~ i = 1, ..., N .
3. Control strategy: Forward chaining to generate the fuzzy patterns (Fuzzifier-I) and to assess the patterns (Fuzzifier-II).
4. Knowledge required: < S, D, A > components of fuzzy patterns to derive the rules for Fuzzifier-1 and Fuzzifier-II.
SUBSTITUTE SHEET
WO 94/28481 2 1 6 ~ 0 3 6 PCT/CA93/00223 5. Generic Rules: Fuzzifier-I employs generic rule (3) and Fuzzifier-II employs generic rule (4).
Tlte Pattern Matching Wit/l tlle Process Control Rules Module contains the control rules of the generic form (1). This module is accessed during the Rule Selection and Inference Phase to deduce the patlerns of control actions. These patterns are deduced by m~tching the process situation pattem (PA ~, PA ,...., PA ~) (generated by the Fuzzifier ) with the LHS of the controller rules having patterns of the form (PA l~ PA 2~ -, PAN)- The RHS of the fired rule describes the pattem of the control action. The basic characteristics of this module are:
l. Input: Fuzzy pattems of process situations (PA ~, PA 2~ --, PA ~) -2. Output: Fuzzy pattems of the control actions (PBj), j = 1. ~ .... M.
3. Knowledge required: Controller rules of the generic form (1).
4. Control strategy: Forward chaining.
T~le A pproxim~te Reasoning Module implements the transformation mechanism of the CTRI. It selects the minimllm value of the clearness assessments generated by Fuzzifier-II and transforms it to become the clearness degree of the deduced pattem of control action. Let the fuzzy pattern of process situation be composed of a set of elementary fuzzy pattems (PA ~, PA '2~ ..., PA ~) which are generated by the Fuzzifier and let the inferred control action be (Pgj) . The cleamess degree C(PBj) which is transformed to the pattem of control action is:
C(Pg J) = Min ~C(PA 'I ) rna~, C(PA '2) ma~, , C(PA 'N) max}, or, C(Pg~) = Min (al max. a2 ma~. .-- . an max) Where: C(PA 'N) max = ai max - are the cleamess degrees evaluated over the interval [0, l ]
and generated by Fuzzifier-II.
This module is characterized by:
1. Input: Clearness degrees of the elementary fuzzy pattems generated by the Fuzzifier-II.
2. Output: Cleamess degree of the pattem of control action.
3. Control strategy: Compute Min (al max, a2 max, .... an max) and channel the result to the Defuzzifier module.
SUBSTITUTE SHEET
WO 94/28481 . 2 1 6 3 0 0 6 PCT/CA93/00223 2~
The Defl~::ifier Module receives as input the pattern of the control action PB j and its clearness measure C(PB'j) . The output is the crisp data y' which represents the control action (the control command) to be applied to the process. The functional representation of the Defuzzifier module at the level of Input-output is presented in Fi~ure(15). The defuzzification task is achieved by the counter reflection of C(PB j) in the clearness distribution r(pB j) to infer the crisp value y' for the control variable Lyj . The rules of the Defuzzifier are derived off-lines by discretizing the clearness distribution r(pB~j) into K-clearness (tmth) levels, f ak}, k = 1,2, ..., K. These clearness levels are projected on the variable domain space (e.g., Y) so that each level is associated with a set of models ~ yj ~ of this domain. A particular variable model y' is inferred when the value of C(PBj) refers to a certain clearness level. This task is achieved by using the following generic rule:
IF T11e Control Pattern is PBj AND ak S C(PBj) ~ aK+I THEN YkSY'~Y k+l (6) where, the value of y j is generated from the boundaries IYk. Yk+ll-Hence, the rules employed by the Defuzzifier module establish an association between the value of C(PBj) and the relevant model (value) y' of the control variable to be applied to the process. Figure (16) illustrates how six such rules are derived when C(PB'j) is discretized into six levels. The six rules for this example are:
IF The pattern is PBj and O S C ( PB i ) < al THEN Y~SYI
IF Thepatternis Pgj and al S C(PB~j) < a2 THEN Y~ SY'SY2 IF The pattern is PBj and a2 S C ( Pg~j ) < a3 THEN Y2 SY~SY3 IF The pattern is PBj and a3 S C ( Pg j ) < a4 THEN Y3 Sy'Sy4 IF The pattern is PB j and a4 S C ( Pg j ) < txs THEN Y~ SY'SY5 IF The pattern is PB j and aS S C ( Pg~j ) THEN y5 Sy' The number of discrete levels is accuracy dependent. i.e. for more accurate control commands the number of discrete levels is increased to any required limit.
The CTFLC shell has a special d~ba~e module which provides a complete record of the behaviour of the controller at each phase of operation. At the beginning of each control SUBSTITUTE SHEET
WO 94/28481 2 1 6 3 0 0 6 PCT/CA93/002~
cycle. the database contains only the current values of process variables. By the completion of the fuzzification phase. for example. it will contain a list of the elementary fuzzy pattems that describe the process situation pattem and the cleamess degree of each pattem as well. At the completion of the control cycle. the information in this database serves as an excellent record for the implementation of a backtracking chronological explanation of the controller operation and decision behaviour. Figure (17) illustrates an example of the basic elements of the controller cl~b~e The controller operation and control described so far are coordinated by a Control and Inference Module. This module is the control core of the system. It coordinates the operations of the modules and the succession of the four phases of the controller. It also updates the d~t~b~se with data obtained through the execution of each phase. The control module applies the appropriate reasoning strategy during each phase depending on the task to be performed in that phase and arranges an access to the knowledge required to perform that task .
The approach taken for the design of the CTFLC shell fAcili~tes the development of a friendly user interface. In developing a particular application. this shell facilitates the domain knowledge acquisition by providing a framework for the systemization of this process. This systelT i7~tion is offered through the use of the generic rules of the fonns (3), (4) and (6) in the development of the Fuzzifier and Defuzzifier modules of the CTFLC shell. Also. the approach assists the user to define the data N, M, H, and K off-line. This data is used by the shell to establish the number of rules for each module.
where: "N" is the number of process Variables. "M" is the number of control action variables . "H" is the number of element~ry fuzzy pattems attached to each variable. and "K" is the number of cleamess levels used to repr~sent the cleamess distribution of each elementary fuzzy pattem. The value "K" can be chosen so that a required accuracy in the operation of the CTFLC system is obtained. The use of the generic rules and the data N, M, H and K through a friendly user interface offers a convenient basis for a rapid application development. In on-line operation of the CTFLC shell. the records of the system database provide the user with a clear picture on the operational behaviour of the system together with options of altemative solutions evaluated for particular data supplied by the user.
SUBSTITUTE SHEET
WO 94/28481 ; 2 1 6 3 0 0 6 PCT/CA93/00223 3o PREFERRED EMBODIMEI~T OF THE CTFLC SYSTEM USING CUSTOMIZED
VLSI CHIP. Next the implementation of the CTFLC using VLSI chips is developed.
The approach for the implementation of the CTFLC expert system shell using rule-based architecture is employed to build the hardware modules of the system. The integrated CTFLC controller chip will, therefore. consist of the four modules: Fuzzifier. Pattern Matching, Approximate Reasoning and Defuzzifier. The proposed integrated chip iscapable of handling the tasks of the fuzzy CTFLC shell described earlier. It is also capable of implementing any control protocol specified by the generic rule (1) with N
variables connected to the input (to ac4uire the data xi, i = 1, 2, ..., N) from the process and M variables as the output to apply the control actions (yj, j = 1, 2, ..., M) to the controlled process. The CTFLC chip is, therefore. a general purpose application device for fuzzy control and decision-making. In the following, the implementation of each module is described.
The hardware implementation of the Fuzzifier Module is developed first. The functional epresentaLion of the Fuzzifier Module at the InputtOutput level is given in Figure 12. The input to the fuzzifier is the crisp data (xl, ..., x~v) where each xi represents the current in~t~ntial model of the process variable Lxi. This process data is acquired at a given time interval and stored in a RAM referred to as "Memorv of Crisp Data" (MCD). The output of the Fuzzifier is two components. The first is the fuzzy pattern of the process situation obtained as a set of el.oment~ry fuzzy patterns such as (PA'I, .... PA'N). The second is a set of the assessment degrees of the elementary patterns (C(PA'I)max.. C(PA~N)max ). These two outputs are produced by two functional blocks: Fuzzifier-I and Fuzzifier-II, respectively. They operate in two cycles so that Fuzzifier-I (cycle 1 ) generates a fuzzy pattern PA'i which serves as input to Fuzzifier-II to begin cycle 2 in which the clearness degree C(PA~i) is ~enerated. These two cycles are repeated N times (for N variables) in order to accomplish the task of the Fuzzifier Module.
To implement Fuzzifier-I, it is required that the values of the thresholds of transition (TT) between the clearness distributions of the elementary fuzzy patterns (PA h), h = 1, 2, ....
H, are determined off-line. Figure (18-a) shows the derivation of the TT values for the variable L.~i specified by three (H = 3) fuzzy elementary patterns: PLOW. P~ORMAL and PHIGH . The Fuzzifier recognizes the adequate elementary fuzzy pattern PA h by deciding the interval (between two TT points) to which xi belongs. This procedure can be SUBST I TUTE SHEET
wo 94128481 - ~ 2 1 6 3 0 0 6 PCT/CA93/00~-3 implemented simply by comparing the value of xi with the values of the thresholcusing a comparator element to implement a comparison of the form ~ . The res binary code which uniquely corresponds to an elementary fuzzy pattern PAh wh matches the current state of the process variable. Figure (18-b) shows an examp~codes produced by this comparison for the fuzzy predicates PLOW. PNORMAL and ~
The operation of Fuzzifier-I in generating a binary code for each elementary fuzzy pattern can be specified using the same generic rule of (3) applied in the C~TFLC shell. rewritten again here:
IF TT h-l, h < xi < TT h,h+l THEN The Elementarv Fu::y Pattern is PA h where: TT ~1-l, h, TT h,/l+l - refer to the values of the threshold of transilion (TT) betweenthefuzzypatternsPAh-l, PAh and PAh, PAh+l, respectively.
The TT values derived off-line are stored in a ROM memory module called the Memorv of Thresholds of Transition (MTT). This memory has a page organi7~tion where each page is devoted to store the TT values for one process variable. Hence. the MTT ROM
contains N pages (one pages for each variable) and H locations in each page (to store the TT values between H elementary fuzzy pattem for each variable). Each memory location contains one value of TT. It is required that the page address is generated by an address generator referred to as the Variable Page Address Generator (VAG). Each time a measurement xi is acquired from the process, it is applied to the VAG to activate the code of the page designated to store the TT values of the process variable LXi. Figure (19-a) shows the page organization of MTT ROM. The schematic representation of the MTT
ROM is shown in Figure (l9-b).
Fuzzifier-I uses a comparator block (see Figure (20)) to generate the codes for the elementary fuzzy pattems during operation. The comporator contains H elements each with two inputs. The first input receives the current value xi of the variable LXi. The other input receives a TT value from the MTT. Hence, each comparator element receives the same xi but dirrelenl TT value. The two inputs are compared and the result is a binary code ( p/, P2 ..., PH ) which are activated at the output of the comporator indicating the code of the recognized elPment~ry fuzzy pattern PA h that describes the current state of the variable Lxi. Each comparator element generates the value of Ph ~ f 0, 1} by performing the comparison:
SUBSTITUTE SHEET
wo 94128481 2 1 6 3 0 0 6 PCT/CA93/00223 if xi >TTh-l~h Ph = {
O if xi~TTh,11+1 Hence, by the comple~ition of N cycles the codes of the fuzzy elementary patterns (PA 'l~
..., PA ;l ) are generated. The codes of these elementary pattems are stored in a memory block referred to as " Register of the Elementary Pattems Codes" (RPC). Figure (21) shows the organization of the RPC and Fuzzifier -I.
During cycle 2, Fuzzifier-II generates the cleamess degree (local cleamess) C(PA h ) =
ak for each elementary fuzzy pattern generated in cycle 1. Fuzzifier-II implements the functionality of the equivalent rule-based module described earlier, using the generic rule of (4), l~w~ en again as:
IF PA h AND CLk S Xi < CLk+l THEN C(PA h ) = ~k To implement this rule, each clearness level in 1. 1] of r(PAh) is projected on the domain space Xi. The values obtained serve as threshold points between the cleamess levels and they are referred to as the "Thresholds of Cleamess Levels" (CL). These values are generated off-line. Figure (22-a) shows an example of the generation of (CL) for the elementary fuzzy pattem PHIGH. The clearness distribution r(PHlGH) is discretized into five cleamess levels (CLk), k = 1, 2, ..., 5) . Figure (22-b) shows the codes obtained for each cleamess level.
The CL values are stored in a ROM memory module referred to as the Memory of Cleamess Levels (MCL). The MCL has a page organization. The address for each page corresponds to the combined code generated from the code of the variable Lxi (obtained from VAG) and the code of the elementary pattem PAi (generated by Fuzzifier-I).
Hence, for N variables and H
elementary fuzzy patterns att~ched to each variable, the MCL will contain (N x H) pages.
Each page contains K locations (K cleamess levels for each cleamess distribution).
Figure (23-a) shows the page organization of the MCL using a ROM chip and its schematic equivalent is in Figure (23-b).
SUBSTITUTE SHEET
WO 94/28481 ~ 6 3 0 0 G PCT/CA93/00223 Fuzzifier-II uses the structure shown in Figure (24) to generate a code for the value of C(PAh) = ~k during on-line operation. This structure contains a comparator block consisting of K comparator elements each having two inputs. The first K inputs of the comparator receive the crisp value xi . The second K inputs receive "K" values of the threshold levels (CL) from the MCL. The result of the comparison is a binary code (ql, q2 ... ~ qK)- The generated code refers uniquely to a certain clearness level interval but does not refer to the value of this level of cleamess. Hence. a special code transformation is required to generate the code of the value of cleamess level. This transformation can be accomplished by a standard chip which we will call the Clearness Level Transformer (CLT) chip. The input is the code of the elementary fuzzy pattem PA ~i (generated by Fuzzifier-I in cycle 1) and the code of C(PA~i) generated by Fuzzifier-II (in cycle 2). The output is the code of the cleamess level C( PA 'i) = ak of the elementary fuzzy pattem PA 'i- This chip achieves a standard Boolean transformation at the level of input-output. Hence the implementation of the CLT will not be elaborated.
The Approximate Reasoning Module is developed next. This module is implemented employing a standard chip that realizes a Min function of its input and referred to as MIN
CHIP. The input to this chip is the clearness degree values ( C(PA '1)...., C(PA 'n) generated by the CLT chip. The output is the minimum value among these clearnessdegrees. This minimum value is considered as the cleamess degree C(PB~j) of the control action Pg; . This module operates in parallel with cycle^2 of Fuzzifier-II so that the code of the cle~rnecs level C(PA 'i) generated by cycle 2 will be immediately compared with the value generated in the previous cycle, (i.e. C(PA 'i-l )) . The result is stored in the MIN chip. Hence, at the completion of cycle 2, the MIN-Chip simultaneously gives the code of the minimllm clearness degree which will be the cleamess degree of the control action C(Pg jj) . Figure (25) illustrates the operation of this module.
Next the Pattem Matching Module is developed. Figure(26) illustrates the functional representation of this module at the Input-Output level. The input is the codes of the elementary patterns of the process situation ( PA~I, PA~2, ..., PA~n) which are generated by Fuzzifier-I. The output is the code of the fuzzy pattem of the control action pattem Pg~j and the code of the control variable Lyj . This association can be implemented using ROM memory module, referred to as the Memory of the Control A ction Pattern (MCAP). The codes of the elementary fuzzy patterns pattern ( PA '1~ PA '2~ -- PA 'N) serve as an address to access the MCAP location where the codes of the control action pattem PB j and the control variable (Lyj) are stored, SUBSTITUTE SHEET
j = 1, ..., M. ForM control variables and H control acrion patterns associated with each variable, the MCAP will have M pages and f~ locations in each page. Figure (27) illu~ tes the page organization of the MCAP.
We now develop the Defuzzifier Module. The defuzzifier has three inputs: the code of the control variable (Lyj), the code of the pattern of the control action (Pg;) and the code of the clearness degree value of the control action (C(Pg;) = ak). The output is the crisp data y'j which represents the control action to be applied to the controlled process. This task is accomplished using the approach mentioned in the forgoing description of the invention the CTFLC shell where the generic rule (6) of the defuzzifier is formulated.
This rule is rewritten here again:
IF TheCon~rolPattemis Pg; and xk SC(pBj) < r,c+l THEN yk<Y'<Y
k+l where, the value of y' is generated from the boundaries [Ylc. Yk+l]- The association specified by this rule is illustrated in Figure (28-a). This association is implemented using a ROM memory module referred to as the Memory of Control Action Crisp Data (MCA D). This ROM has a page organization in which each page is devoted to store the crisp values associated with the pattern of each control action Pg;. The address of each page is determined by the combined code of Lyj and PB j (generated by MCAP). Thecode of the clearness degree C(Pg J) serves as an address for the location where the crisp value of the control action y' is stored. Figure (28-b) shows the the organization of the MCAD ROM .
It should be noted that in applications where the output is required to be only in the form of a decision pattern together with its validity (in terms of clearness degree), the Defuzzifier module will not be required . This case is suited for many applications of Expert and Operator Support Systems.
The general architecture of the CTFLC chip at the level of functional blocks is presented in Figure (29). This architect~re implements the basic functional modules (Fuzzifier, Pattern Matching, Approximate Reasoning and Defuzzifier) through these blocks. The operation of the CTFLC chip at the level of these functional blocks is presented by the diagram of Figure (30). The CTFLC chip operates as follows. The process data (xl, .... XN) is acquired at given time intervals which are equal to the time of an operation cycle of the controller (the time of executing the four operational phases of the CTFLC system). This SUBSTITUTE SHEET
WO 94/28481 . 2 1 6 3 0 0 6 PCT/CA93/00223 -data is stored in MCD RAM and applied to the VAG and the Fuzzifier module. The VAG
uses this data to generate the addresses of the process variables and apply them to the Fuzzifier. The Fuzzifier uses this data to access the page of MTT ROM where the TT values are stored. These values are applied to the comparator of Fuzzifier-I and as a result the code of an elementary fuzzy pattern ( PA i ) for the current variable (Lxj). i = 1...., N, is generated at the output and stored in the RPC.
Fuzzifier-II uses this code and the address of the variable generated by VAG to access MCL ROM where the CL values of the pattern ( PA i ) are stored. The CL values are applied to the comparator of Fuzzifier-II and the code of relevant cleamess level to measure the clearness degree of the pattem PA'j is generated at the output. This code and the code of t. pattem itself available from RPC are applied to the CLT chip. The output is the current value of C( PA i ) which is compared with the current content of the MIN
chip and the result is stored in the register of the cleamess level (RCL) of this chip. This procedure is repeated N-times for N process variables. By its completition. the RPC will contain the codes of the elementary fuzzy patterns f PA '1. PA '2~ -, PA 'n) and the RCL of the MIN chip will contain the minimum value of their clearness degree. The combined code of the elementary fuzzy pattems in the RPC is applied as an address to MCAP ROM to retrieve the code of the control action pattem ( PB; ) and the code of the control variable Ly j . This data and the content of the MIN chip are applied to access the location of the MCAD ROM where the model value y' of the control variable is stored.
This value serves as the control command to the process. In applications requiring the ~eneration of the control action pattem and its validity, the CTFLC chip will elimin~te the defuzzification and the output of the MCAP ROM and MIN chip will be the output.
The organization of the CTFLC chip makes the the system flexible for general purpose applications. It also assists in the systemization of the development of an application.
The addresses of the pages and locations of the MTT ROM, MCL ROM, MCAP ROM
and MCAD ROM can be detemmined off-line for a particular application. It is similar in its functionality to an expert system shell but implemented on a chip. The volume and the number of pages, their addresses and the address of each location of the ROMs can be determined using N, M, H and K values and the codes of the elementary fuzzy pattems, where "N" is the number of process Variables, "M" is the number of control action variables ~ "H" is the number of the elementary fuzzy pattems ~tt~ched to each variable, and "K" is the number of clearness levels used to represent the cleamess distribution of each elementary fuzzy pattern. The content of each location is determined and SUBSTITUTE SHEET
WO 94/28481 2 ! 6 3 ~ 0 6 PCT/CAg3/00223 programmed off-line using the N~ M, H, K data and the codes of the elementary fuzzy patterns of a particular control application. Hence. the proposed CTFLC chip offers a framework for rapid and general purpose application development.
PREFRRED EMBODIMENT OF NEURAL NETWORK IMPLEMENTATION OF THE
CTFLC. The CTFLC system is implemented using an architectllre of back propagation neural networks. This architecture is shown in Figure (31). It consists of a multiple of back propagation (PB) neural network blocks each design~ed to execute a specific task of the CTFLC system operation. These neural blocks are the Fuzzifer, Control Rule Selection (Pattern Matching). Approximate Reasoning and Defuzzifier. The blocks execute the same operational phases of the CTFLC system detailed in the forgoingdescription of the invention. It is possible, of course, to execute more than one task using one relatively larger neural network. This. however. results in a network with large inputs and outputs which may prove to be cumbersome during the training mode. as well as, the large memory it requires. Employing several small networks is, therefore, more practical, though they are equivalent in their functionality.
Each back propagation network block consists of one input layer, one or more hidden layers and one output layer. Each layer has a number of nodes and each node is connected through a weight to every node in the layers below and above the layer to which it belongs. The network has two modes; the learning (training) mode and the recall (operation) mode. In designing a back propagation network the weights are calculated using special learning methods called supervised learning. During the learning mode, the relevant data is presented at the input and output of the network, and the learning procedure is allowed to iterate to train the network. At the end of the training, the appropriate weights of the network are obtained. During the recall mode (the mode of operation) the network generates the appropriate output for any data presented at its input and belonging to the categories employed during the training. The neural networks are characterized by their speed of calculation (parallel processing). Addressing very complex processes in real-time operation is a possible option with these devices.
In designing the various neural network blocks of the CTFLC system, we train these blocks to obtain the appropriate values of the weights for each of them using supervised learning. As with all back propagation neural networks, the values of these weights are SUBSTITUTE SHEET
WO 94/28481 - ` . 2 1 6 3 0 0 6 PCT/CA93/00223 not unique for any block. This is an inherent characteristic of back propa ation networks.
The values of these weights also depend on the training data. Since the training data depends on the application, the weights of the neural network blocks will be different for the different applications, and, hence, the training should be performed for every application. In effect. the training is equivalent to storing the expertise knowledge of the domain in the weights of the network. The forthcoming description. therefore, will be concemed with the scheme. architPctllre and methods of obtaining applopliate weights for every block of the system such that these blocks execute the relevant tasks of the CTFLC.
The training algorithms are well documented procedures and will not be further detailed.
In essence we will be describing neural network architecture and implementation for the fuzzy expert system of the CTFLC.
During the fuzzification phase two tasks are executed. One to generate the elementary fuzzy pattems which describe the process situation (Fuzzifier-I), and the other to c~lru~
the cleamess degree of the fuzzy pattem (Fuzzifier-II) for the measurement data received from the process. Therefore, there will be one neural network designed for each task.
This procedure is repeated for every process variable. Evidently, for multivariable control system the same is lepea~ed for every loop.
Fuzzifier-I neural network block accepts a crisp measurement value as its input, and genelàtes a code as its output intlic~ting the fuzzy pattern selected. Each fuzzy pattem is ac.cigned a unique code to replésent it. Any suitable code is admissible and can be used.
Thê network will have a single input only . For N process variables. Fuzzifier-I will consist of N network blocks.
During the learning mode the weights of the neural network are calculated. To do that the data is prepared to cover all the models of the process variable at suitable intervals (discretization) chosen by the decigner. The size of the interval depends on the sensitivity of the process changes and the range of measurements (the size of the domain of models of the process variable). However, presenting the data with small interval sizes between them may lengthen the training period, or even result in the failure of the training. A
trade-off and engineering judgement may, therefore, be necesc~ry. However, few trails regarding the choice of the interval size is normally sufficient to decide on a suitable size.
The threshold of transition (TT) values should be calculated off-line and used for comparison. The training procedure is perfommed by applying a crisp value as an input to the network and the corresponding code (for the fuzzy pattem) at the output. The input - values between every two successive thresholds of transition correspond to a certain fuzzy pattem and its cleamess distribution. At the completion of the training the appropriate weights of the network are obtained. The neural network will have:
SUBSTITUTE SHEET
i) One input layer with one input.
ii) One hidden layer for most applications.
iii) One output layer with a number of nodes equal to the code of the elementary fuzzy patterns.
Each process variable has one such neural network.
Having selected the elementary fuzzy pattern in Fuzzifier-I, the neural network of Fuzzifier-II determines the clearness degree of this fuzzy pattern from its clearness distribution. Here the neural network accepts two inputs. One input comes from Fuzzifier-I and consists of the elementary fuzzy pattern code. The other input is the crisp data measurement received from the process. The output is a code representing a clearness degree level of the elementary fuzzy pattern.
During the learning mode of Fuzzifier-II neural network to calculate its weights~ the data is prepared to cover all the domain models for the process variable at suitable intervals (discretization) similar to that applied in Fuzzifier-I. It should be noted that the clearness degrees are estim~ted over the interval [0. 1], which makes the sensitivity with which the neural network should operate rather high. To overcome the difficulty, and to obtain maximum performance we use the network as a classifier and the interval [0, 1 ] is divided into levels (for example: 0 -- 0.2, 0.21 -- 0.4, ..., 0.81 -- 1.0) and each of these levels is replesented by a code. To improve the accuracy of performance the number of these levels is increased as required. In other words we present the input-output training data to the network in a form suitable for classification. The learning procedure is performed by applying an input vector whose elements are the crisp measurement value plus the code of the fuzzy pattern generated by Fuzzifier-I. The output is the code of cleamess level of the fuzzy pattern. At the completion of the training the appropriate weights of the network are obtained. The neural network will have:
i) One input layer. The number of inputs is equal to the code of the elementary fuzzy patterns associated with each process variable plus one.
ii) One hidden layer for most applications. For higher sensitivity, more hidden layers may be required.
iii) One output layer with an output vector. The number of elements in this vector is equal to the code of clearness levels chosen for the required accuracy.
Every process variable has one such neural network.
SUBSTITUTE SHEET
wo 94~2~1 ~ 2 1 6 3 0 0 6 PCT/CA93/00223 For the Control Rule Selection (Pattem Matching) block. the neural network accepts the outputs of Fuzzifier-I blocks as its inputs. These inputs consist of vectors, each of which consists of a code representing a fuzzy pattem. The output of this neural network is a code indicating the fuzzy pattem of the control action as well as the control action process variable.
During the leaming mode for the calculation of the weights of this network. the data is prepared to cover all the possible rules of the control protocol of the generic form of (1).
This data consists of the codes for the elementary fuzzy pattems (input) and the codes of the control action fuzzy pattems and associated control action variables (output). At the completion of the training the appropriate weights of the network are obtained.
Each network has:
i) One input layer with an input vector whose number of elements equal to the code of the elementary fuzzy patterns associated with process variable multiplied by thenumber of these variables for each loop.
ii) One hidden layer for most applications. For complex systems more hidden layers may be required.
iii) One output layer with a number of nodes equal to the code of the fuzzy patterns of the control actions and the associated control variable.
For a multivariable control system. each loop will have one such neural block.
For the Approximate Reasoning Block. the neural network accepts the output of Fuzzifier-II as its input. The output is the minimum value among the values presented at the input. This is the code of clearness degree which is associated with the control action pattem. The number of elements in the input vector is equal to the code of clearness levels multiplied by the number of process variables. The number of element in the output vector is equal to the code of cle~rnecc level.
During the leaming mode the input and output data is presented to the network in codes form which is suitable for classification. At the completion of the training the appropriate weights of the network are obtained.The network will have:
i) One input layer with the number of input elements equal to the code of process variables multiplied by the code of clearness levels.
ii) One hidden layer for most applications. For complex processes more hidden layers may be required.
SUBSTITUTE SHEET
4~
iii) One output layer with a number of output elements equal to the code of clearness levels.
The Defuzzifier Neural Network accepts two input vectors. One from the Control Rule Selection Block which represents the code of the selected control action pattem as well as the associated control action variable. and the other input from the Approximate Reasoning Block. The output is one element of real crisp data representing the value of the control command going to the process.
During the leaming mode the input data is presented to the network in the form of a vector whose elements consist of the action pattern and action variable code and the action pattern clearness level code. The output is a real number representing the control command issued by the controller to the process. The network will have:
i) One input layer with a number of input elements equal to the code of the control action fuzzy pattem and the associated process variable in the loop concemed plus the code of the cleamess level.
ii) One hidden layer for most applications. For complex applications more hiddenlayers may be required.
iii) One output layer with one node.
From the description of the implementation of the CTFLC system using neural networks it can be noted that the same operation and design principles used in software and hardware technological bases are maintained. This feature indicates that the design of the CTFLC system is technologically independent.
SUBSTITUTE SHEET
wo 94/2~1 ~ ` 2 1 6 3 0 0 6 PCT/CA93100223 WE CLAIM:
1. A knowledge-based fuzzy pattern processing system for control and decision making, which receives one of either input signals or input data rep~esenting status of a process to be controlled and in response generates one of either output control signals or output data, comprising:
a) a knowledge-base block containing knowledge on fuzzy patterns, each of said fuzzy patterns comprising a syn~rtir~l description (S), a domain (D) to which each of said fuzzy patterns is ~tt~hPd, a clearness distribution (r) which is a set of one of either clearness degrees or membership function values and forms a cognitive measure of fil77inP~ of each of said fuzzy patterns, thresholds of transitions between said fuzzy patterns, and fuzzy rules;
b) a first fuzzifier for receiving each of said one of either input signals or input data and in response generating respective indexes of input fuzzy patterns;
c) a second fuzzifier for receiving each of said one of either input signals or input data and in response genc,d~ing one of either a ,cs~ective value or respective index of one of said either clearness degrees or membership function values for each of said input fuzzy patterns;
d) a pattern matching and rule selection subsystem for receiving said indexes ofinput fuzzy patterns and in response generating indexes of output fuzzy patterns by firing only one of said fuzzy rules from said knowledge-base block;
e) an approximate reasoning subsystem operating in parallel with said pattern m~trhing and rule selection subsystem, for receiving each said respective value or respective index of one of said either clearness degrees or membership function values of each of said input fuzzy patterns and in response generating only one said respective value or respective index of said either clearness degrees or membership function values; and f) a defuzzifier for receiving said indexes of output fuzzy patterns and said only one said respective value or respective index of one of said either clearness degrees or membership function values and in response generating one of said output control signals or output data for each of said output fuzzy patterns.
2. The knowledge-based fuzzy pattern processing system of claim 1, wherein said SUBSTITUTE SHEET
Wo 94/28481 2 1 6 3 0 0 6 PCT/CA93100223 first fuzzifier further comprises means for comparing said one of either input signals or input data with said thresholds of transitions between said fuzzy pattems stored in said knowledge-base block and in response generating said indexes of input fuzzy patterns.
3. The knowledge-based fuzzy pattern processing system of claim 1, wherein said second fuzzifier further comprises means for either retrieving said clearness measures from said knowledge-base block or co,npaling said one of either input signals or input data with said clearness distribution stored in said knowledge-base block and in response generating said one of either a respective value or respective index of said either clearness degrees or membership function values for each of said input fuzzy patterns.
4. The knowledge-based fuzzy pattern processing system of claim 1, wherein said pattern matching and rule selection subsystem further comprises means for mapping said indexes of input fuzzy patterns into said indexes of output fuzzy patterns of the fired said only one of said fuzzy rules from said knowledge-base block.
5. The knowledge-based fuzzy pattern processing system of claim 1, wherein said approximate reasoning subsystem which receives from said second fuzzyifier said respective value or respeclive index of one of said either cleamess degrees or membership function values of each of said input fuzzy pattems, further comprises means for computing a single value or index out of said either clearness degrees or membership function values and assigning said single value or index to said output fuzzy patterns.
6. The knowledge-based fuzzy pattern processing system of claim 1, wherein said defuzzifier further comprises means for directly mapping said indexes of output fuzzy pattems and said only one said respective value or respective index of said either clearness degrees or membership function values into said one of either output control signals or output data.
7. The knowledge-based fuzzy pattern processing system according to any one of claims 1, 2, 3, 4, 5 or 6, wherein said knowledge-base block, said first fuzzifier, said second SUBSTITUTE SHEET
wo 94/28481 ~ ` 2 1 6 3 0 0 6 PCT/CAg3/00223 fuzzifier, said pattern m~tching and rule selection subsystem, said approximate reasoning subsystem, and said defuzzifier are implemented as software for one of either general purpose usage or for development of a particular application, said software being in the form of one of either an application program or an expert system shell.
wo 94/28481 ~ ` 2 1 6 3 0 0 6 PCT/CAg3/00223 fuzzifier, said pattern m~tching and rule selection subsystem, said approximate reasoning subsystem, and said defuzzifier are implemented as software for one of either general purpose usage or for development of a particular application, said software being in the form of one of either an application program or an expert system shell.
8. The knowledge-based fuzzy pattern processing system according to any one of claims 1, 2, 3, 4, 5 or 6, wherein said knowledge-base block, said first fuzzifier, said second fuzzifier, said pattern m~tching and rule selection subsystem, said approximate reasoning subsystem, and said defuzzifier are implemented in hardware using VLSI chips.
9. The knowledge-based fuzzy pattern processing system according to any one of claims 1, 2, 3, 4, 5 or 6, wherein said knowledge-base block, said first fuzzifier, said second fuzzifier, said pattern m~tching and rule selection subsystem, said approximate reasoning subsystem, and said defuzzifier are implemented using a neural network.
10. A method of generating one of either output control signals or output data in response to receiving one of either input signals or input data in a knowledge-based fuzzy pattern proces~;ng system for control and decision making, comprising the steps of:
a) storing synt~rtir~l descriptions of fuzzy patterns, clearness measures of said fuzzy patterns which are CA~)lC55ed in the form of one of either clearness degrees or membership function values, thresholds of transitions between said fuzzy patterns, and fuzzy rules;
b) receiving each of said one of either input signals or input data and in response generating respective indexes of input fuzzy patterns;
c) receiving each of said one of either input signals or input data and in response generating one of either a respective value or respective index of one of said either clearness degrecs or membership function values for each of said input fuzzy patterns;
d) in parallel (i) receiving said indexes of input fuzzy pattems and -- responsegenerating indexes of output fuzzy patterns by firing only one of said fuzzy ru and (ii) receiving each said respective value or respective index of one of said either cle~ degrees SUBSTITUTE SHEET
wo 94/28481 2 ~ 6 3 0 0 6 PCT/CA93/00223 or membership function values of each of said input fuzzy patterns and in response generating only one said respective value or respective index of said either clearness degrees or membership function values; and e) receiving said indexes of output fuzzy patterns and said only one said ~csl~ecLi~re value or respective index of one of said either clearness degrees or membership function values and in response generating one of said either output control signals or output data for each of said output fuzzy patterns.
a) storing synt~rtir~l descriptions of fuzzy patterns, clearness measures of said fuzzy patterns which are CA~)lC55ed in the form of one of either clearness degrees or membership function values, thresholds of transitions between said fuzzy patterns, and fuzzy rules;
b) receiving each of said one of either input signals or input data and in response generating respective indexes of input fuzzy patterns;
c) receiving each of said one of either input signals or input data and in response generating one of either a respective value or respective index of one of said either clearness degrecs or membership function values for each of said input fuzzy patterns;
d) in parallel (i) receiving said indexes of input fuzzy pattems and -- responsegenerating indexes of output fuzzy patterns by firing only one of said fuzzy ru and (ii) receiving each said respective value or respective index of one of said either cle~ degrees SUBSTITUTE SHEET
wo 94/28481 2 ~ 6 3 0 0 6 PCT/CA93/00223 or membership function values of each of said input fuzzy patterns and in response generating only one said respective value or respective index of said either clearness degrees or membership function values; and e) receiving said indexes of output fuzzy patterns and said only one said ~csl~ecLi~re value or respective index of one of said either clearness degrees or membership function values and in response generating one of said either output control signals or output data for each of said output fuzzy patterns.
11. A back propagation neural network architecture for a clearness transformation fuzzy logic control system, said architecture comprising:
first fuzzifier means having a plurality of back propagation neural networks blocks, each block comprising a plurality of layers, each layer comprising a plurality of neurons operating in parallel, with each layer for receiving layer input signals and generating layer output signals, such that each block accepts crisp data inputs from a process to be controlled and for gen~ld~ing an output le~l~se~-ting an elementary fuzzy pattern of said process situation;
a second fuzzifier means having a plurality of back propagation neural network blocks, each block comprising a plurality of layers, each layer comprising a plurality of neurons in parallel with each layer receiving layer input signals and generating layer output signals, such that each block accepts as input said crisp data measurements from said process to be controlled as well as the output of the first fuzzifier means, and for generating an output ~cl~lcsenting a clearness level of said elementary fuzzy pattern of said process situation;
a back propagation neural network block for control rule matching having a plurality of layers, each layer comprising a plurality of neurons operating in parallel, with each layer input signals and generating layer output signals, said block for receiving the outputs of said first fuzzifier means ,el)lesellting said elementary fuzzy patterns of said process situation and for generating outputs ,el),,senting a selected control action pattern;
a back propagation neural network block for approximate reasoning having a plurality of layers, each layer comprising a plurality of neurons operating in parallel, with each layer receiving layer input signals and for generating layer output signals, said block for accepting said outputs of said second fuzzifier means which represent the clearness degrees of SUBSTITUTE SHEET
wo 94/28481 ~ 1 6 3 0 0 6 PCT/CA93/00223 the elementary fuzzy patterns of the process situation as inputs and for generating an output repl~s~nting a minimum value of these clearness degrees; and defuzzifier means having a plurality of back propagation neural network blocks, each said block having a plurality of layers, each layer having a plurality of neurons ope,ating in parallel, with each layer receiving layer input signals and for generating layer output signals, each said block having a first input for receiving said output of said rule matching neural block r~læse~-ting the sele~t~d control action pattern as well as the control variable, and a second input for receiving the output of said approximate reasoning neural block which ~c~rcsellts the clearness degree of the control action fuzzy pattern and having an output for generating crisp data repl~ser,li"g a control command for said process to be controlled.
SUBSTITUTE SHEET
first fuzzifier means having a plurality of back propagation neural networks blocks, each block comprising a plurality of layers, each layer comprising a plurality of neurons operating in parallel, with each layer for receiving layer input signals and generating layer output signals, such that each block accepts crisp data inputs from a process to be controlled and for gen~ld~ing an output le~l~se~-ting an elementary fuzzy pattern of said process situation;
a second fuzzifier means having a plurality of back propagation neural network blocks, each block comprising a plurality of layers, each layer comprising a plurality of neurons in parallel with each layer receiving layer input signals and generating layer output signals, such that each block accepts as input said crisp data measurements from said process to be controlled as well as the output of the first fuzzifier means, and for generating an output ~cl~lcsenting a clearness level of said elementary fuzzy pattern of said process situation;
a back propagation neural network block for control rule matching having a plurality of layers, each layer comprising a plurality of neurons operating in parallel, with each layer input signals and generating layer output signals, said block for receiving the outputs of said first fuzzifier means ,el)lesellting said elementary fuzzy patterns of said process situation and for generating outputs ,el),,senting a selected control action pattern;
a back propagation neural network block for approximate reasoning having a plurality of layers, each layer comprising a plurality of neurons operating in parallel, with each layer receiving layer input signals and for generating layer output signals, said block for accepting said outputs of said second fuzzifier means which represent the clearness degrees of SUBSTITUTE SHEET
wo 94/28481 ~ 1 6 3 0 0 6 PCT/CA93/00223 the elementary fuzzy patterns of the process situation as inputs and for generating an output repl~s~nting a minimum value of these clearness degrees; and defuzzifier means having a plurality of back propagation neural network blocks, each said block having a plurality of layers, each layer having a plurality of neurons ope,ating in parallel, with each layer receiving layer input signals and for generating layer output signals, each said block having a first input for receiving said output of said rule matching neural block r~læse~-ting the sele~t~d control action pattern as well as the control variable, and a second input for receiving the output of said approximate reasoning neural block which ~c~rcsellts the clearness degree of the control action fuzzy pattern and having an output for generating crisp data repl~ser,li"g a control command for said process to be controlled.
SUBSTITUTE SHEET
Claims (15)
1. A fuzzy logic decision-maker for receiving input signals, utilising data in a knowledge-base and, based on said input signals and said data, providing output signals in order to provide knowledge-based decision making, said knowledge-base of the type containing - fuzzy rules comprising representations of fuzzy patterns of consequents (THENs) and representations of fuzzy patterns of antecedents (IFs);
- clearness distributions comprising collections of representations of clearness degrees, said clearness degrees defining cognitive measures which assess the fuzziness of fuzzy patterns, and - representations of thresholds of transitions, said thresholds of transitions being the intersection points of every two adjacent clearness distributions, said fuzzy logic decision-maker comprising:
- a fuzzifier comprising first means for mapping said input signals into representations of input fuzzy patterns and second means for mapping said input signals into representations of input clearness degrees of said input fuzzy patterns, said input clearness degrees being valued in the interval of zero to one, where zero represents "absolutely unclear" ("absolutely false") and one represents "absolutely clear" ("absolutely true");
- pattern matching and rule selection means for receiving said representations of input fuzzy patterns from said first means of said fuzzifier and, responsive thereto, for selecting one rule from said knowledge-base, and for generating representations of output fuzzy patterns based on the consequent (THEN) portion of said rule;
- approximate reasoning means for receiving said representations of input clearness degrees from said second means of said fuzzifier and for mapping same into a representation of an output clearness degree, said approximate reasoning means operating in parallel with said pattern matching and rule selection means; and - defuzzifier means for receiving said representations of output fuzzy patterns from said pattern matching and rule selection means and for receiving said representation of an output clearness degree from said approximate reasoning means and for mapping said representations of output fuzzy patterns and said representation of an output clearness degree into said output signals.
- clearness distributions comprising collections of representations of clearness degrees, said clearness degrees defining cognitive measures which assess the fuzziness of fuzzy patterns, and - representations of thresholds of transitions, said thresholds of transitions being the intersection points of every two adjacent clearness distributions, said fuzzy logic decision-maker comprising:
- a fuzzifier comprising first means for mapping said input signals into representations of input fuzzy patterns and second means for mapping said input signals into representations of input clearness degrees of said input fuzzy patterns, said input clearness degrees being valued in the interval of zero to one, where zero represents "absolutely unclear" ("absolutely false") and one represents "absolutely clear" ("absolutely true");
- pattern matching and rule selection means for receiving said representations of input fuzzy patterns from said first means of said fuzzifier and, responsive thereto, for selecting one rule from said knowledge-base, and for generating representations of output fuzzy patterns based on the consequent (THEN) portion of said rule;
- approximate reasoning means for receiving said representations of input clearness degrees from said second means of said fuzzifier and for mapping same into a representation of an output clearness degree, said approximate reasoning means operating in parallel with said pattern matching and rule selection means; and - defuzzifier means for receiving said representations of output fuzzy patterns from said pattern matching and rule selection means and for receiving said representation of an output clearness degree from said approximate reasoning means and for mapping said representations of output fuzzy patterns and said representation of an output clearness degree into said output signals.
2. The fuzzy logic decision-maker of claim 1 in which said fuzzifier first means comprises means to compare said input signals with said representations of thresholds of transitions contained in said knowledge-base such that each of said input signals is mapped into a corresponding representation of a fuzzy pattern.
3. The fuzzy logic decision-maker of claim 2 in which said fuzzifier second means receives said input signals and said representations of input fuzzy patterns generated by said fuzzifier first means from said input signals, said fuzzifier second means comprising means for selecting a clearness distribution from said knowledge-base corresponding to each of said input fuzzy patterns, and means for utilising each said clearness distribution, and the input signal utilised by said fuzzifier first means in generating the representation of the fuzzy pattern which corresponds to said clearness distribution, to generate a representation of a clearness degree.
4. The fuzzy logic decision-maker of claim 3 wherein said clearness distribution may be mapped into a pre-determined number of discrete clearness degrees.
5. The fuzzy logic decision-maker of claim 3 wherein each clearness distribution has an x-axis representing the range of input variable values for the fuzzy pattern which is associated with the input variable and which corresponds with said each clearness distribution and a y-axis representing clearness degrees and wherein said means for utilising each said clearness distribution, and the input signal utilised by said fuzzifier first means in generating the representation of the fuzzy pattern which corresponds to said clearness distribution, locates said input signal on the x-axis of said clearness distribution and projects said input signal onto the y-axis of said clearness distribution in order to obtain the clearness degree of said input fuzzy pattern for said input signal.
6. The fuzzy logic decision-maker of claim 1 wherein said representations of input fuzzy patterns comprise indices, names, or addresses of said input fuzzy patterns and wherein said representations of output fuzzy patterns comprise indices, names, or addresses of said output fuzzy patterns.
7. The fuzzy logic decision-maker of claim 1 wherein said means for mapping of said approximate reasoning means comprises means for determining the minimum value of input clearness degrees represented by said representations of input clearness degrees and for assigning said minimum value to the output clearness degree represented by said representation of an output clearness degree.
8. The fuzzy logic decision-maker of claim 1 wherein said means for mapping of said approximate reasoning means comprises means for determining the maximum value of input clearness degrees represented by said representations of input clearness degrees and for assigning said maximum value to the output clearness degree represented by said representation of an output clearness degree.
9. The fuzzy logic decision-maker of claim 1 wherein said means for mapping of said approximate reasoning means comprises means for determining the average value of input clearness degrees represented by said representations of input clearness degrees and for assigning said average value to the output clearness degree represented by said representation of an output clearness degree.
10. The fuzzy logic decision-maker of claim 3 wherein said defuzzifier means comprises means for selecting a clearness distribution from said knowledge-base corresponding to each of said output fuzzy patterns, and means for utilising each said output fuzzy pattern clearness distribution to map said representation of an output clearness degree to a value for one of said control signals.
11. The fuzzy logic decision-maker of claim 10 wherein said output fuzzy pattern clearness distribution may be mapped into a pre-determined number of clearness degrees.
12. The fuzzy logic decision-maker of claim 10 wherein each clearness distribution has an x-axis representing the range of output variable values for the fuzzy pattern which is associated with the output variable and which corresponds with said each clearness distribution and a y-axis representing clearness degrees and wherein said means for utilising each said output fuzzy pattern clearness distribution to map said representation of an output clearness degree to a value for one of said control signals comprises means for locating said output clearness degree on the y-axis of said output fuzzy pattern clearness distribution and for projecting said output clearness degree onto the x-axis of said output fuzzy pattern clearness distribution.
13. The fuzzy logic decision-maker of any of claims 1, 2, 3, 5, 7, 8, 9, 10, and 12 wherein said received input signals are input signals from a process and said output signals are output control signals to said process in order to provide knowledge-based control of said process.
14. A method for controlling a process having process signals comprising the following steps:
- mapping said process signals into representations of input fuzzy patterns;
- mapping said process signals into representations of input clearness degrees of said input fuzzy patterns, said input clearness degrees defining cognitive measures which assess the fuzziness of input fuzzy patterns, said input clearness degrees being valued in the interval of zero to one, where zero represents "absolutely unclear" ("absolutely false") and one represents "absolutely clear" ("absolutely true");
- selecting a fuzzy rule from a collection of fuzzy rules of the type comprising representations of fuzzy patterns of consequents (THENs) and representations of fuzzy patterns of antecedents (IFs) having an antecedent matching said representations of input fuzzy patterns;
- generating representations of control action fuzzy patterns based on the consequent (THEN) portion of said selected rule;
- while selecting a fuzzy rule, mapping said representations of input clearness degrees into a representation of a control action clearness degree, each said control action clearness degree defining cognitive measures which assess the fuzziness of control action fuzzy patterns;
-mapping said representations of control action fuzzy patterns and said representation of a control action clearness degree into output signals and inputting said process with said output signals in order to control said process.
15. The method of claim 14 wherein said step of mapping said process signals into representations of input fuzzy patterns comprises comparing each of said process signals with representations of thresholds of transitions, said thresholds of transitions being the intersection points of every two adjacent, clearness distributions, said clearness distributions
- mapping said process signals into representations of input fuzzy patterns;
- mapping said process signals into representations of input clearness degrees of said input fuzzy patterns, said input clearness degrees defining cognitive measures which assess the fuzziness of input fuzzy patterns, said input clearness degrees being valued in the interval of zero to one, where zero represents "absolutely unclear" ("absolutely false") and one represents "absolutely clear" ("absolutely true");
- selecting a fuzzy rule from a collection of fuzzy rules of the type comprising representations of fuzzy patterns of consequents (THENs) and representations of fuzzy patterns of antecedents (IFs) having an antecedent matching said representations of input fuzzy patterns;
- generating representations of control action fuzzy patterns based on the consequent (THEN) portion of said selected rule;
- while selecting a fuzzy rule, mapping said representations of input clearness degrees into a representation of a control action clearness degree, each said control action clearness degree defining cognitive measures which assess the fuzziness of control action fuzzy patterns;
-mapping said representations of control action fuzzy patterns and said representation of a control action clearness degree into output signals and inputting said process with said output signals in order to control said process.
15. The method of claim 14 wherein said step of mapping said process signals into representations of input fuzzy patterns comprises comparing each of said process signals with representations of thresholds of transitions, said thresholds of transitions being the intersection points of every two adjacent, clearness distributions, said clearness distributions
15. Cont'd comprising collections of representations of clearness degrees, and selecting an input fuzzy pattern based on each such comparison.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002163006A CA2163006A1 (en) | 1993-05-20 | 1993-05-20 | Fuzzy logic controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002163006A CA2163006A1 (en) | 1993-05-20 | 1993-05-20 | Fuzzy logic controller |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2163006A1 true CA2163006A1 (en) | 1994-12-08 |
Family
ID=4156967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002163006A Abandoned CA2163006A1 (en) | 1993-05-20 | 1993-05-20 | Fuzzy logic controller |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2163006A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099057A (en) * | 2020-09-17 | 2020-12-18 | 重庆大学 | Double-threshold cooperation GNSS interference detection algorithm based on fuzzy logic |
-
1993
- 1993-05-20 CA CA002163006A patent/CA2163006A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099057A (en) * | 2020-09-17 | 2020-12-18 | 重庆大学 | Double-threshold cooperation GNSS interference detection algorithm based on fuzzy logic |
CN112099057B (en) * | 2020-09-17 | 2024-03-05 | 重庆大学 | Double-threshold cooperation GNSS interference detection algorithm based on fuzzy logic |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yeung et al. | A multilevel weighted fuzzy reasoning algorithm for expert systems | |
Pedrycz | Fuzzy neural networks and neurocomputations | |
Martignon et al. | Fast, frugal, and fit: Simple heuristics for paired comparison | |
Gottinger et al. | Intelligent decision support systems | |
US5499319A (en) | Fuzzy logic controller | |
Huang et al. | Neural-expert hybrid approach for intelligent manufacturing: a survey | |
Nie et al. | Rule-based modeling: Fast construction and optimal manipulation | |
Zdanowicz et al. | New mechanisms for reasoning and impacts accumulation for rule-based fuzzy cognitive maps | |
Chung | A neuro-based expert system for facility layout construction | |
Ebert | Fuzzy classification for software criticality analysis | |
CA2163006A1 (en) | Fuzzy logic controller | |
Low et al. | Connectionist expert system with adaptive learning capability | |
Bahrami et al. | From fuzzy input requirements to crisp design | |
Saridis et al. | Analytic formulation of intelligent machines as neural nets | |
Yuanhui et al. | Combining neural network, genetic algorithm and symbolic learning approach to discover knowledge from databases | |
WO1994028481A1 (en) | Fuzzy logic controller | |
Papalambros | Knowledge-based systems in optimal design | |
Jung et al. | Connectionist approaches to inexact reasoning and learning systems for executive and decision support: Conceptual design | |
Lee et al. | Representing knowledge for portfolio management decision making | |
Blanning | Expert systems as an organizational paradigm | |
Bugariin et al. | Compacting rules for fuzzy production system computation | |
Goel | THE REALITY AND FUTURE OF EXPERT SYSTEMS A Manager's View of AI Research Issues | |
Liu et al. | Case-based diagnostic system using fuzzy neural network | |
Cheu et al. | Enhancing decision support system with neural fuzzy model and simple model visualizations | |
Talluru et al. | Knowledge representation for investment strategy selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Discontinued |