FUZZY CONTROL: Mamdani & Takagi-Sugeno Controllers Khurshid Ahmad, Professor of Computer Science, Department of Computer Science Trinity College, Dublin-2, IRELAND October 29/Nov 5th, 2010 https://www.cs.tcd.ie/Khurshid.Ahmad/Teaching/Teaching.html 1 1 FUZZY CONTROL Control Theory? •The term control is generally defined as a mechanism used to guide or regulate the operation of a machine, apparatus or constellations of machines and apparatus. 2 FUZZY CONTROL Control Theory? An Input/Output Relationship 3 FUZZY CONTROL Control Theory? An Input/Output Relationship IDENTIFIED using Fuzzy Logic 4 FUZZY CONTROL Control Theory? An Input/Output Relationship IDENTIFIED using Fuzzy Logic 5 FUZZY CONTROL Control Theory? •Typically, rules contain membership functions for both antecedents and consequent. •Argument is that the consequent membership function can be simplified – this argument is based on a heuristic that operators in a control environment divide the variable space (say, error, change in error and change in control) into PARTITIONS; • Within each partition the output variable is a simple, often linear function of the input variables and not membership functions 6 FUZZY CONTROL Control Theory? •Typically, rules contain membership functions for both antecedents and consequent. Mamdani Controller If e(k) is positive(e) and Δe(k) is positive(Δe) then Δu(k) is positive (Δu) Takagi-Sugeno Controllers: If e(k) is positive(e) and Δe(k) is positive(Δe) then Δu(k) =e(k)+ß Δe(k)+δ; • , ß and δ are obtained from empirical observations by relating the behaviour of the errors and change in errors over a fixed range of changes 7 in control FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers According to Yager and Filev, ‘a known disadvantage of the linguistic modules is that they do not contain in an explicit form the objective knowledge about the system if such knowledge cannot be expressed and/or incorporated into fuzzy set framework' (1994:192). Typically, such knowledge is available often: for example in physical systems this kind of knowledge is available in the form of general conditions imposed on the system through conservation laws, including energy mass or momentum balance, or through limitations imposed on the values of physical constants. 8 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Tomohiro Takagi and Michio Sugeno recognised two important points: 1. Complex technological processes may be described in terms of interacting, yet simpler sub processes. This is the mathematical equivalent of fitting a piece-wise linear equation to a complex curve. 2. The output variable(s) of a complex physical system, e.g. complex in the sense it can take a number of input variables to produce one or more output variable, can be related to the system's input variable in a linear manner provided the output space can be subdivided into a number of distinct regions. Takagi, T., & Sugeno, M. (1985). ‘Fuzzy Identification of Systems and its Applications to Modeling and Control’. IEEE Transactions on Systems, Man and Cybernetics. Volume No. SMC-15 (No.1) pp 116-132. 9 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Takagi-Sugeno fuzzy models have been widely used to identify the structures and parameters of unknown or partially known plants, and to control nonlinear systems. 10 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Mamdani style inference: The Good News: This method is regarded widely ‘for capturing expert knowledge’ and facilitates an intuitively-plausible description of knowledge; The Bad News: This method involves the computation of a two-dimensional shape by summing, or more accurately integrating across a continuously varying function. The computation can be expensive. 11 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Mamdani style inference: The Bad News: This method involves the computation of a twodimensional shape by summing, or more accurately integrating across a continuously varying function. The computation can be expensive. For every rule we have to find the membership functions for the linguistic variables in the antecedents and the consequents; For every rule we have to compute, during the inference, composition and defuzzification process the membership functions for the consequents; Given the non-linear relationship between the inputs and the output, it is not easy to identify the membership functions for the linguistic variables in the consequent 12 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Literature on conventional control systems has suggested that a complex non-linear system can be described as a collection of subsystems that were combined based on a logical (Boolean) switching system function. In realistic situations such disjoint (crisp) decomposition is impossible, due to the inherent lack of natural region boundaries in the system, and also due to the fragmentary nature of available knowledge about the system. 13 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Takagi and Sugeno (1985) have argued that in order to develop a generic and simple mathematical tool for computing fuzzy implications one needs to look at a fuzzy partition of fuzzy input space. In each fuzzy subspace a linear inputoutput relation is formed. The output of fuzzy reasoning is given by the values inferred by some implications that were applied to an input. 14 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Takagi and Sugeno have described a fuzzy implication R as: R: if (x1 is mA(x1),… xk is mA(xk)) then y = g(x1, …, xk) 15 A solution for the coefficients of the consequent in TSK Systems Rule1 : x is m1 ( x) THEN y p0 p1 x COMPOSITION m1 ( x) *[ p0 p1 x] y m1 ( x) There are two unknowns: p0 and p1. So we need two simultaneous equations for two values of x, say x1 and x2, and two values of y – y1 and y1 p0 p1 x1 y2 p0 p1 x2 y1 y2 p1 ; x1 x2 y1 y2 p0 y1 x1 x2 16 A solution for the coefficients of the consequent in TSK Systems Consider a two rule system: Rule1 : x is m1 ( x) THEN y p01 p11 x Rule2 : x is m 2 ( x) THEN y p02 p12 x COMPOSITION m1 ( x) *[ p01 p11 x] m 2 ( x) *[ p02 p12 x] y m1 ( x) m 2 ( x) m1 ( x) *[ p01 p11 x] m 2 ( x) *[ p02 p12 x] mˆ1 ( x) m1 ( x) m 2 ( x) y mˆ1 ( x) * [ p01 p11 x] mˆ 2 ( x) *[ p02 p12 x] 17 A solution for the coefficients of the consequent in TSK Systems There are 4 unknowns p01, p11, p02, p12, so we need 4 equations. And, these can be obtained from 4 observations comprising 4 diffierent values of and y 4mˆ ( x) * [ p p x] mˆ ( x) * [ p p x] 1 01 11 2 02 12 Fourvaluesof x x1 , x2 , x3 , x4 and for each x, will haveavalue y1 mˆ1 ( x1 ) * p01 mˆ 2 ( x1 ) * p02 mˆ1 ( x1 ) * x1 * p11 mˆ 2 ( x1 ) * x1 * p11 .................................................... .................................................... y4 mˆ1 ( x4 ) * p01 mˆ 2 ( x4 ) * p02 mˆ1 ( x4 ) * x4 * p11 mˆ 2 ( x4 ) * x4 * p11 18 A solution for the coefficients of the consequent in TSK Systems There are 4 unknowns p01, p11, p02, p12, so we need 4 equations. And, these can be obtained from 4 observations comprising 4 diffierent values of and 4 y mˆ1 ( x) *[ p01 p11 x] mˆ 2 ( x) *[ p02 p12 x] Fourvaluesof x x1 , x2 , x3 , x4 and for each x, will haveavalue y1 mˆ1 ( x1 ) * p01 mˆ 2 ( x1 ) * p02 mˆ1 ( x1 ) * x1 * p11 mˆ 2 ( x1 ) * x1 * p11 y1 mˆ1 ( x1 ) y mˆ ( x ) 2 1 2 y3 mˆ1 ( x3 ) y4 mˆ1 ( x4 ) mˆ 2 ( x1 ) mˆ 2 ( x1 ) mˆ1 ( x1 ) * x1 mˆ 2 ( x1 ) * x1 p01 mˆ 2 ( x2 ) mˆ 2 ( x2 ) mˆ1 ( x2 ) * x1 mˆ 2 ( x2 ) * x2 p02 mˆ 2 ( x3 ) mˆ 2 ( x3 ) mˆ1 ( x3 ) * x3 mˆ 2 ( x3 ) * x3 p11 mˆ 2 ( x4 ) mˆ 2 ( x4 ) mˆ1 ( x4 ) * x4 mˆ 2 ( x4 ) * x4 p21 19 A solution for the coefficients of the consequent in TSK Systems There are 4 unknowns p01, p11, p02, p12, so we need 4 equations. y1 mˆ1 ( x1 ) y mˆ ( x ) 2 1 2 y3 mˆ1 ( x3 ) y4 mˆ1 ( x4 ) mˆ 2 ( x1 ) mˆ 2 ( x2 ) mˆ 2 ( x3 ) mˆ 2 ( x4 ) mˆ1 ( x1 ) * x1 mˆ1 ( x2 ) * x1 mˆ1 ( x3 ) * x3 mˆ1 ( x4 ) * x4 mˆ 2 ( x1 ) * x1 mˆ 2 ( x2 ) * x2 mˆ 2 ( x3 ) * x3 mˆ 2 ( x4 ) * x4 Y X T P P [ X T X ]1X T Y p01 p 02 p11 p21 20 A solution for the coefficients of the consequent in TSK Systems Takagi and Sugeno have (a) generalised the method to an n-rule, m-parameter system; and (b) claim that ‘this method of identification enables us to obtain just the same parameters as the original system, if we have a sufficient number of noiseless output data for identification’ (Takagi and Sugeno, 1985:119). y1 mˆ1 ( x1 ) y mˆ ( x ) 2 1 2 y3 mˆ1 ( x3 ) y4 mˆ1 ( x4 ) mˆ 2 ( x1 ) mˆ 2 ( x2 ) mˆ 2 ( x3 ) mˆ 2 ( x4 ) mˆ1 ( x1 ) * x1 mˆ1 ( x2 ) * x1 mˆ1 ( x3 ) * x3 mˆ1 ( x4 ) * x4 mˆ 2 ( x1 ) * x1 mˆ 2 ( x2 ) * x2 mˆ 2 ( x3 ) * x3 mˆ 2 ( x4 ) * x4 Y X T P P [ X T X ]1X T Y p01 p 02 p11 p21 21 A solution for the coefficients of the consequent in TSK Systems In order to determine the values of the parameters p in the consequents, one solves the LINEAR system of algebraic equations and tries to minimize the difference between the ACTUAL output of the system (Y) and the simulation [X]T[P] : Y X P T 22 A solution for the coefficients of the consequent in TSK Systems In order to determine the values of the parameters p in the consequents, one solves the LINEAR system of algebraic equations and tries to minimize the difference between the ACTUAL output of the system (Y) and the simulation [X]T[P] : Y X P T 23 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Takagi and Sugeno have described a fuzzy implication R as: R: if (x1 is mA(x1),… xk is mA(xk)) then y = g(x1, …, xk), where: A zero order Takagi-Sugeno Model will be given as R: if (x1 is mA(x1),… xk is mA(xk)) then y = k 24 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example Consider the problem of controlling an air-conditioner (again). The rules that are used to control the airconditioner can be expressed as a cross product: CONTROL = TEMP ×SPEED 25 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example The rules can be expressed as a cross product of two term sets: Temperature and Speed. CONTROL = TEMP × SPEED Where the set of linguistic values of the term sets is given as TEMP = COLD + COOL + PLEASANT + WARM + HOT SPEED = MINIMAL + SLOW + MEDIUM + FAST + BLAST 26 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example A Mamdani Controller Recall that the rules governing the airconditioner are as follows: RULE#1: IF TEMP is COLD THEN SPEED is MINIMAL RULE#2: IF TEMP is COOL THEN SPEED is SLOW RULE#3: IF TEMP is PLEASENT RULE#4: IF THEN SPEED is MEDIUM TEMP is WARM THEN SPEED is FAST RULE#5: IF TEMP is HOT THEN SPEED is BLAST 27 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example A Zero-order Takagi-Sugeno Controller Recall that the rules governing the airconditioner are as follows: RULE#1: IF TEMP is COLD THEN SPEED =k1 RULE#2: IF TEMP is COOL THEN SPEED = k2 RULE#3: IF TEMP is PLEASENT THEN SPEED =k3 RULE#4: IF TEMP is WARM THEN SPEED =k4 RULE#5: IF TEMP is HOT THEN SPEED =k5 28 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example A First-order Takagi-Sugeno Controller Recall that the rules governing the airconditioner are as follows: RULE#1: IF TEMP is COLD THENSPEED =j1+k1*T RULE#2: IF TEMP is COOL THENSPEED = j2+k2*T RULE#3: IF TEMP is PLEASENT THENSPEED =k3 RULE#4: IF TEMP is WARM THENSPEED = j4+ RULE#5: IF TEMP is HOT THENSPEED =k5 k4 T 29 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example Temperature Fuzzy Sets 1 Truth Value 0.9 Cold Cool Pleasent Warm Hot 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 5 10 15 20 25 30 Temperature Degrees C 30 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example The analytically expressed membership for the reference fuzzy subsets for the temperature are: T 1 10 T ' COOL' m COOL (T ) 1 2.5 T m COOL (T ) 3.5 5 T ' PLEAS ENT' m PLEA (T ) 6 2.5 T m PLEA (T ) 8 2.5 T 'WARM ' ' m WARM (T ) 3.5 5 T m WARM (T ) 5.5 5 T ' HOT ' m HOT (T ) 11 2.5 m HOT (T ) 1 ' COLD' m COLD (T ) 0 T 1 0; 0 T 1 2.5 1 2.5 T 1 7.5; 1 5 T 1 7.5 1 7.5 T 2 0; 1 7.5 T 2 2.5 2 2.5 T 2 7.5 25 T 30 T 30 31 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example Speed Fuzzy Sets For FLC of Mamdani type Truth Value 1 0.8 MINIMAL SLOW MEDIUM FAST BLAST 0.6 0.4 0.2 0 0 10 20 30 40 50 Speed 60 70 80 90 100 32 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example The zero-order speed control just takes one SINGLETON value at fixed values of the velocity; for all other values the membership function is defined as zero ' MINIMAL' m MINIMAL (V ) 1 V 0; m SLOW (V ) MEDIUM' m MED (V ) ' FAST' m FAST (V ) ' BLAST' m BLAST (V ) V 30 ' SLOW ' 1 1 V 50 1 V 70 1 V 100 33 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example Let the temperature be 5 degrees centigrade: Fuzzification: 5 degrees means that it can be COOL and COLD; Inference: Rules 1 and 2 will fire: Composition: The temperature is ‘COLD’ with a truth value of μ COLD=0.5 the SPEED will be k1 The temperature is ‘COOL’ with a truth value of μCOOL =0.5 the SPEED will be k2 ‘DEFUZZIFICATION’: CONTROL speed is (μ COLD*k1+ μCOOL *k2)/(μ COLD+ μCOOL)= (0.5*0+0.5*30)/(0.5+0.5)=15 RPM 34 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example Zero Order Takagi Sugeno Controller 1 Membership Function 0.9 0.8 0.7 MINIMAL 0.6 SLOW 0.5 MEDIUM 0.4 FAST 0.3 BLAST 0.2 0.1 0 0 20 40 60 80 Speed 100 120 140 35 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example FUZZIFICATION: Consider that the temperature is 16oC and we want our knowledge base to compute the speed. The fuzzification of the the crisp temperature gives the following membership for the Temperature fuzzy set: mCOLD mCOOL mPLEASENT mWAR mHOT M Temp=16 Fire Rule (#) yes/no 0 (#1) no 0.3 (#2) yes 0.4 (#3) yes 0 0 (#4) no (#5) no 36 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example INFERENCE: Consider that the temperature is 16oC and we want our knowledge base to compute the speed. Rule #2 & 3 are firing and are essentially the fuzzy patches made out of the cross products of COOL x SLOW PLEASANT x MEDIUM 37 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example COMPOSITION: The COOL and PLEASANT sets have an output of 0.3 and 0.4 respectively. The singleton values for SLOW and MEDIUM have to be given an alpha-level cut for these output values respectively: Zero-order Takagi-Sugeno Model Membership Function (alpha-cut) 0.45 0.4 0.35 MINIMAL SLOW MEDIUM 0.3 0.25 0.2 FAST BLAST 0.15 0.1 0.05 0 0 20 40 60 Speed 80 100 120 38 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example DEFUZZIFICATION: The problem of finding a single, crisp value is no longer a problem for a Takagi-Sugeno controller. All we need is the weighted average of the singleton values of SLOW & MEDIUM. Recall the Centre of Area computation for the Mamdani controller 1 m output x 1..... . xn ( y) y m output x 1..... . xn ( y) 39 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example DEFUZZIFICATION: For Takagi-Sugeno, the computation for η is restricted to the singleton values of the SPEED linguistic variable – we do not need to sum over all values of the variable y: y m x1 ..... . xn output mx 1..... . xn SLOW * m __________ output ( y) SLOW _ (.) MEDIUM * m x '' __________ MEDIUM _ x' SLOW m ( y) _ x' (.) m x '' MEDIUM _ (.) (.) 40 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example DEFUZZIFICATION: For Takagi-Sugeno, the computation for η is restricted to the singleton values of the SPEED linguistic variable – we do not need to sum over all values of the variable y: SLOW * m __________ SLOW _ (.) MEDIUM * m x '' MEDIUM _ x' SLOW m __________ _ x' (.) m x '' MEDIUM _ (.) (.) (0.3 * 30 0.4 * 50) 41.42857 (0.3 0.4) 41 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example DEFUZZIFICATION: Recall the case of the Mamdani equivalent of the fuzzy airconditioner – where we had fuzzy sets for the linguistic variables SLOW and MEDIUM: The ‘Centre of Area’ (COA) computations involved a weighted sum over all values of speed between 12.5 and 57.5 RPM: in the Takagi-Sugeno case we only had to consider values for speeds 30RPM and 50 RPM. 42 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example DEFUZZIFICATION: Recall the case of the Mamdani equivalent of the fuzzy air-conditioner – where we had fuzzy sets for the linguistic variables SLOW and MEDIUM: The ‘Centre of Area’ (COA) computations involved a weighted sum over all values of speed between 12.5 and 57.5 RPM: in the Takagi-Sugeno case we only had to consider values for speeds 30RPM and 50 RPM. OUTPUT OF 2 RULES WEIGHTED SPEED SPEED SLOW MEDIUM 12.5 0.125 0 0.125 1.5625 15 0.25 0 0.25 3.75 17.5 0.3 0 0.3 5.25 20 0.3 0 0.3 6 22.5 0.3 0 0.3 6.75 25 0.3 0 0.3 7.5 27.5 0.3 0 0.3 8.25 30 0.3 0 0.3 9 32.5 0.3 0 0.3 9.75 35 0.3 0 0.3 10.5 37.5 0.3 0 0.3 11.25 40 0.3 0 0.3 12 42.5 0.3 0.25 0.3 12.75 45 0.25 0.4 0.4 18 47.5 0.125 0.4 0.4 19 50 0 0.4 0.4 20 52.5 0 0.4 0.4 21 55 0 0.4 0.4 22 57.5 0 0.25 0.25 14.375 5.925 218.6875 SUM The speed is 36.91 RPM 43 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example DEFUZZIFICATION: For Mean of Maxima for the Mamdani controller, we had to have an alpha-level cut of 0.4, and the summation ran between 45-57.5 RPM, leading to a speed of 50 RPM. We get the same result for Takagi-Sugeno controllers: η= (0.4*50)/0.4=50 RPM 44 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example DEFUZZIFICATION: Comparing the results of two model identification exercises – Mamdani and Takagi-Sugeno- we get the following results: Controller TakagiSugeno (RPM) Mamdani (RPM) Centre of Area 41.43 36.91 Mean of Maxima 50.00 50.00 45 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example DEFUZZIFICATION: Comparing the results of two model identification exercises – Mamdani and Takagi-Sugeno- we get the following results: Mamdani Controller and the use of COA is the best result Controller Centre of Area Mean of Maxima Error Takagi-Sugeno Mamdani (RPM) (RPM) 12% 35% 0% 35% 46 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers A formal derivation Consider a domain where all fuzzy sets are associated with linear membership functions. Let us denote the membership function of a fuzzy set A as mA(x), x X. All the fuzzy sets are associated with linear membership functions. Thus, a membership function is characterised by two parameters giving the greatest grade 1 and the least grade 0. The truth value of a proposition “x is mA and y is mB” is expressed as x is μ A and y is μB μ A μB 47 FUZZY CONTROL FUZZY CONTROLLERS- An example A worked example Consider an FLC of Mamdani type: e(k) N Z P e(k) N N N Z Z P N Z P Z P P which expresses rules like: Rule 1: If e(k) is negative AND e(k) is negative then u(k) is negative ALSO Rule 9: If e(k) is positive AND e(k) is positive then u(k) is positive 48 FUZZY CONTROL FUZZY CONTROLLERS- An example A worked example Consider an FLC of Mamdani type: e(k) N Z P e(k) N N N Z Z P N Z P Z P P The nine rules express the dependence of (change) in the value of control output on the error (the difference between expected and output values) and the change in error). This dependence will capture some very complex non-linear, and linear 49 relationships between e and Δe and Δu. FUZZY CONTROL FUZZY CONTROLLERS- An example A zero-order Takagi-Sugeno Controller e(k) N Z P e(k) N 1 2 3 Z P 4 5 6 7 8 9 which expresses rules like: Rule 1:If e(k) is negative AND e(k) is negative then u(k) =1 Rule 9:If e(k) is positive AND e(k) is positive then u(k) = 9 50 FUZZY CONTROL FUZZY CONTROLLERS- An example A first-order Takagi-Sugeno Controller e(k) N e(k) N Z P Z P 1e+ß1 e +δ1 2e+ß2 e+ δ2 3e+ß3 e+ δ3 4e+ß4 e +δ4 5e+ß5 e+ δ5 6e+ß6 e+ δ6 7e+ß7 e+ δ7 8e+ß8 e+ δ8 9e+ß9 e+ δ9 which expresses rules like: Rule 1:If e(k) is negative AND e(k) is negative then u(k) =1e+ß1 e+δ1 Rule 9:If e(k) is positive AND e(k) is positive then u(k) =9e+ß9 e+δ9 51 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Takagi and Sugeno have described a fuzzy implication R is of the format: R: if (x1 is mA(x1),… xk is mA(xk)) then y = g(x1, …, xk), where: y Variable of the consequence whose value is inferred x1, …, xk Variables of the premise that appear also in the part of the consequence mA(x1),….. mA(x1) Fuzzy sets with linear membership functions representing a fuzzy subspace in which the implication R can be applied for reasoning. f Logical function connects the propositions in the premise. g Function that implies the value of y when x1,…. xk 52 satisfies the premise. FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers In the premise if μA(xi) is equal to Xi for some i where Xi is the universe of discourse of xi, this term is omitted; xi is unconditioned; otherwise xi is regarded as conditioned. 53 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers In the premise if mA(xi) is equal to Xi for some i where Xi is the universe of discourse of xi, this term is omitted; xi is unconditioned. The following example will help in clarifying the argumentation related to 'conditioned' and 'unconditioned' terms in a given implication: R: if x1 is small and x2 is big then y = x1 + x2 + 2x3. The above implication comprises two conditioned premises, x1 and x2, and one unconditioned premise, x3. The implication suggests that if x1 is small and x2 is big, then the value of y would depend upon and be equal to the sum of x1, x2, and 2x3., where x3 is unconditioned in the premise. 54 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Typically, for a Takagi-Sugeno controller, an implication is written as: R: if x1 is m1 and … and xk is mk then y = p0 + p1x1 + … + pkxk. The assumption here is that only ‘and’ connectives are used in the antecedants or premises of the rules. And, that the relationship between the output and inputs is strictly a LINEAR (weighted average) relationship. (The weights here are p0 ,p1….. pk). 55 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Reasoning Algorithm Recall the arguments related to the membership functions of the union and intersection of fuzzy sets. The intersection of sets A and B is given as: mAB = min (mA, mB) We started this discussion by noting that we will explore the problems of multivariable control (MultipleInputSingleOutput). Usually, the rule base in a fuzzy control system comprises a number of rules; in the case of multivariable control the relevant rules have to be tested for what they imply. 56 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Consider a system with n implications (rules); the variable of consequence, y, will have to be notated for each of these implications, leading to yi variables of consequence. There are three stages of computations in Takagi-Sugeno controllers: FUZZIFICATION: Fuzzify the input. For all input variables compute the implication for each of the rules; INFERENCE or CONSEQUENCES: For each implication compute the consequence for a rule which fires. Compute the output y for the rule by using the linear relationship between the inputs and the output (y = p0 + p1x1 + … + pkxk.). AGGREGATE (& DEFUZZIFICATION): The final output y is inferred from n-implications and given as an average of all individual implications yi with weights |y= yi |: y = ( |y= yi | * yi )/ |y= yi | where |y= yi | stands for the truth value of a given proposition. 57 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Consider the following fuzzy implications (or rules) R1,R2, R3 used in the design of a Takagi-Sugeno controller: R1 If x1 is small1 & x2 is small2 then y(1) =x1+x2 R2 If x1 is big1 then y(2) = 2x1 R3 If x2 is big2 then y(3) =3x2 where y (i) refers to the consequent variable for each rule labelled Ri and x1 and x2 refer to the input variables that appear in premise of the rules. 58 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers The membership function for small1, small2, big1 and big2 are given as follows x Sm all1 Sm all2 0 1 1 1 0.938 0.875 2 0.875 0.75 3 0.813 0.625 4 0.75 0.5 5 0.688 0.375 6 0.625 0.25 7 0.563 0.125 8 0.5 0 9 0.438 0 10 0.375 0 11 0.313 0 12 0.25 0 13 0.188 0 14 0.125 0 15 0.063 0 16 0 0 17 0 0 18 0 0 19 0 0 20 0 0 Big1 0 0 0 0 0 0 0 0 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Big2 0 0 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1 1 1 1 1 1 1 1 1 1 1 59 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers The membership function for small1, small2, big1 and big2 are given as follows Takagi-Sugeno Example pp 117 1 0.9 Membership Function 0.8 0.7 Small1 0.6 0.5 Small2 0.4 0.3 Big1 0.2 Big2 0.1 0 0 5 10 Input x 15 20 60 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers An example Let us compute the FINAL OUTPUT y for the following values: x1 = 12 & x2 = 5 using Takagi and Sugeno’s formula: y = (Σ |y= yi | * yi )/ Σ |y= yi | where |y= yi | stands for the truth value of a 61 given proposition. FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers An example FUZZUFICATION: We have the following values of the membership functions for the two values x1 = 12 & x2 = 5: x 1= x 2= Small1 Small2 12 0.25 0 5 0.6875 0.375 Big1 0.2 0 Big2 1 0.375 62 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers An example INFERENCE & CONSEQUENCE: x1 = 12 & x2 = 5 Truth Value Rule Consequenc e Min (Premise 1 & Premise2) Premise 1 Premise 2 R1 Small1 ( x1 ) = 0.25 Small2 ( x2 ) = 0.375 R2 Big1 ( x1 ) = 0.2 y(2)= 2x1 = 24 0.2 R3 Big2 ( x2 ) = 0.375 y(3)= 3x2 = 15 0.375 y(1)= x1 + x2 =12+5 Min(0.25, 0.375)=0.25 63 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers An example AGGREGATION (&DEFUZZIFICATION): x1 = 12 & x2 = 5 y = ( |y= yi | * yi )/ |y= yi | Using a Centre of Area computation for y we get: (i ) (i ) y y * y y i 1,3 (i ) y y i 1,3 y 0.25 *17 0.2 * 24 0.375 *15 17.8 0.25 0.2 0.375 64 FUZZY CONTROL FUZZY CONTROLLERS Key difference between a Mamdani-type fuzzy system and the Takagi-Sugeno-Kang System? A zero-order Sugeno fuzzy model can be viewed as a special case of the Mamdani fuzzy inference system in which each rule is specified by fuzzy singleton or a pre-defuzzified consequent. In Sugeno’s model, each rule has a crisp output, the overall input is obtained by a weighted average – this avoids the timeconsuming process of defuzzification required in a Mandani model. The weighted average operator is replaced by a weighted sum to reduce computation further. (Jang, Sun, Mizutani (1997:82)). 65 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers X X X X X Takagi, T., & Sugeno, M. (1985). ‘Fuzzy Identification of Systems and its Applications to Modeling and Control’. IEEE Transactions on Systems, Man and Cybernetics. Volume No. SMC-15 (No.1) pp 116-132. 66 FUZZY CONTROL FUZZY CONTROLLERS – Takagi-Sugeno Controllers Takagi and Sugeno (1985) have argued that in order to develop a generic and simple mathematical tool for computing fuzzy implications one needs to look at a fuzzy partition of fuzzy input space. In each fuzzy subspace a linear input-output relation is formed. The output of fuzzy reasoning is given by the values inferred by some implications that were applied to an input. 67 FUZZY CONTROL FUZZY CONTROLLERS A fuzzy logic controller (FLC) with a rule base is defined by the matrix: e(k) N e(k) N Z P Z N N Z P N Z P Z P P where the matrix interrelates the error value e(k) at a given time k, e(k) denotes the change in error (= e(k) - e(k-1)), and the control change u(k) is defined as the difference between u(k) and u(k-1). The term-sets of the input and output variables of the FLC error e, error change e and control change u by the linguistic labels negative (N), approximately zero (Z) and positive (P). The 68 above FLC matrix can equivalent antecedent/consequent rule set FUZZY CONTROL FUZZY CONTROLLERS A fuzzy logic controller (FLC) can be described as a function of a number of variables - an FLC helps us to see how the variables are related to each other. This relationship uses rules (of thumb) involving vague predicates like: e is approximately zero u is positive e is negative 69 FUZZY CONTROL FUZZY CONTROLLERS Consider a fuzzy rule base comprising an n-rule rulebase inputs A&B and output C. Let χAm and χBm and χCm denote the linguistic values represented as fuzzy subsets of the respective universes of discourse α (for A), β (for B), and κ (for C): IF A is A & B is B THEN C is C 1 1 1 IF A is A & B is B THEN C is C 2 2 2 2 IF A is An & B is B THEN C is C n n 70 FUZZY CONTROL FUZZY CONTROLLERS The rule-base in itself is a DISJUNCTION in that given an input value for A and B, all rules will be tested and whilst some will fire and others will fail to fire. The degree of firing or level of firing of the ith rule with respect to input values A=α1 and B=β1 τi= (χAi Λ χBi)≈ min(χAi,χBi) will be chosen. This looks like an OR operation over all the rules. IF A is A & B is B THEN C is C 1 1 1 IF A is A & B is B THEN C is C 2 2 2 2 IF A is An & B is B THEN C is C n n 71 FUZZY CONTROL FUZZY CONTROLLERS Note that the degree of firing or level of firing of the ith rule with respect to input values A=α1 and B=β1 τi= (χAi Λ χBi)≈ min(χAi,χBi) Takes value from the unit interval and the DOF ‘characterises the truthfulness of the antecedent part of the ith rule, different values of τi that are related to different levels of relevance between the measured values α1 and β1, and the conditions associated with the linguistic variables χAi,χBi. (Yager & Filev 1994:118-119). 72 FUZZY CONTROL FUZZY CONTROLLERS Another way of writing a fuzzy rule-base is as follows IF A is A & B is B THEN C is C 1 1 1 ALSO IF A is A & B is B THEN C is C 2 2 2 2 ALSO IF A is An & B is B THEN C is C n n The chaining operator ALSO has disjunctive reading 73 FUZZY CONTROL FUZZY CONTROLLERS Next individual rule outputs are to be determined and will be denoted by Fi(κ): The DOF τi interacts with the consequent, C of χCi, of the ith rule to provide the output Fi(κ). This interaction is also referred to as fuzzy implication. Typically in the fuzzy control system a method of for inferring the rule output AND-ing χCi and the DOF τi interact to produce the output Fi(κ). Fi i Ci 74 FUZZY CONTROL FUZZY CONTROLLERS Next we have to look at the aggregation of the output of all the rules for finally generating an output: The overall system output is given as F ( ) i Fi ( ) or F ( ) i ( i i ( )) 75 FUZZY CONTROL FUZZY CONTROLLERS Defuzzification Finally output of the system is defuzzified. 76 FUZZY CONTROL FUZZY CONTROLLERS A CONTROL PROCEDURE FIND the firing level of each of the rules FUZZIFICATION FIND the output of each of the rules INFERENCE AGGREGATE the individual rule outputs to obtain the overall system output COMPOSITION OBTAIN a crisp value to be input to the controlled system DEFUZZIFICATION 77 FUZZY CONTROL FUZZY CONTROLLERS The level of matching: between the linguistic label Bi1 and the input value x1 is determined by the membership grade of x1* in the fuzzy set representing Bi1: Bi1(x1*) as the level of matching for the first antecedant. Similarly Bi2(x2*) is the level of matching for the second antecedant. 1. The level or degree of firing for a rule set of the type Rule: If U1 is Bi1 AND U2 is Bi2 THEN V is Di which has a conjunctive connection. The degree of firing (DOF) of the ith rule with respect to input values U1 is x1* and U2 is x2* is given as i: i = Bi1(x1*) Bi2(x2*) min(Bi1(x1*), Bi2(x2*)) 78 FUZZY CONTROL FUZZY CONTROLLERS EXAMPLE U1 error e(k) U2 change of error e(k) and V change of control u B11 positive B32 approximately zero Given the inputs to an FLC are the values U1 = x1* and U2 = x2*, then we are faced with the problem of determining the appropriate value of the variable V. 79 FUZZY CONTROL FUZZY CONTROLLERS 2. The output of individual rule (Fi(y)) depends on the interaction between the DOF) (i) and the consequent of the rule (Di). The MAMDANI method suggests that: Fi(y) = i Di min (i, Di) 80 FUZZY CONTROL FUZZY CONTROLLERS 3. The aggregation of the individual rule outputs to obtain the overall control system output (Fy). The rules are ‘chained’ through ALSO thus individual rule outputs are aggregated using the disjunctive connective ALSO. The overall system output is: (Fy) = ViFi(y) = Vi(iDi(y)) OR connective Recall IF U1 is B11 AND U2 is B12 then U is D1 ALSO IF U1 is Bm1 AND V2 is Bm2 then V is Dm 81 FUZZY CONTROL FUZZY CONTROLLERS 4. The extraction of a crisp output value: The output fuzzy set cannot be used directly as input to the controlled system. We need to select one element y* from the universe Y (e.g., u* from all possible values of u - the change of control). So we should defuzzify: typically used methods of defuzzification include the so-called centre of area method. Let the output Y be a finite universe of discourse and F(y) be a DISCRETE membership function: n F ( y i ) yi y* i 1 F ( yi ) 82 FUZZY CONTROL FUZZY CONTROLLERS- An example Example FLC of Takagi-Sugeno type: e(k) N e(k) N Z P Z P 1e+ß1 e+δ1 2e+ß2 e+δ2 3e+ß3 e+δ3 4e+ß4 e+δ4 5e+ß5 e+δ5 6e+ß6 e+δ6 7e+ß7 e+δ7 8e+ß8 e+δ8 9e+ß9 e+δ9 which expresses rules like: Rule 1: If e(k) is negative AND e(k) is negative then u(k) =1e+ß1 e+δ1 Rule 9: If e(k) is positive AND e(k) is positive then u(k) =9e+ß9 e+δ9 83 FUZZY CONTROL FUZZY CONTROLLERS- An example Example FLC of Takagi-Sugeno type: e(k) N Z P e(k) N k1 k2 k3 Z P k4 k5 k6 k7 k6 k0 which expresses rules like: Rule 1: If e(k) is negative AND e(k) is negative then u(k) =k1 Rule 9: If e(k) is positive AND e(k) is positive then u(k) =9 84 FUZZY CONTROL FUZZY CONTROLLERS- An example Example FLC of Mamdani type: e(k) N Z P e(k) N N N Z Z P N Z P Z P P which expresses rules like: Rule 1: If e(k) is negative AND e(k) is negative then u(k) is negative ALSO Rule 9: If e(k) is positive AND e(k) is positive then u(k) is positive 85 FUZZY CONTROL FUZZY CONTROLLERS- Mamdani Controlers A worked example Consider an FLC of Mamdani type: A source for MATLAb FILES FOR BUILDING Mamdani Controllers is http://ist.psu.edu/yen/FLtext/matlab/FuzzyControl/ 86 FUZZY CONTROL FUZZY CONTROLLERS- An example The membership functions for the three elements of the term set for the error e are given as: error m negative ( e) m error positive (e) error m zero (e) 0 e2 0 e2 1 1 0 e 1 2 1 e0 2e0 e 2 e0 0e2 e 2 e 2 & e 2 2e 2 e0 87 FUZZY CONTROL FUZZY CONTROLLERS The reference fuzzy set for the error for a specific case is given as: Reference Fuzzy Sets for Error e Membership Function 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -3 -2 -1 Negative Zero Positive 0 1 2 3 Error Value 88 FUZZY CONTROL FUZZY CONTROLLERS- An example The membership functions for the three elements of the term set for the change in error e are given as: m m m error change negative error change positive error change zero ( e) ( e) ( e) 0 2e e 0 1 / 2 e 0 1 e 1 / 2 0 2 e 1 e 1 2 & e 1 2 e 1 2 1 e 0 0 e 0 2e 1 0 e e 1 2 1 2 1 2 89 FUZZY CONTROL FUZZY CONTROLLERS The reference fuzzy set for the change in error e is given as: Reference Fuzzy Sets for Error Change Membership Value 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -1 -0.5 Negative Zero Positive 0 0.5 1 Error Change 90 FUZZY CONTROL FUZZY CONTROLLERS- An example The membership functions for the three elements of the term set for the change in control u are given as: 0 controlchange mnegative ( u ) 13 u 1 u 0 3 u 0 u 3 change m error ( u ) positive 0 1 3 u 1 u 0 0 u 3 u 3 errorchange m zero ( u ) 0 u 3 & u 3 u 3 u 3 3 1 1 u 0 91 FUZZY CONTROL FUZZY CONTROLLERS The reference fuzzy set for the change in control u is given as: Reference Fuzzy Sets for Change of Control 1 Membership Values 0.9 0.8 0.7 Negative Zero Positive 0.6 0.5 0.4 0.3 0.2 0.1 0 -5 -4 -3 -2 -1 0 1 2 3 4 5 Change of Control 92 FUZZY CONTROL FUZZY CONTROLLERS – An example Recall that there are nine rules in all: 1.IF e(k) is NEGATIVE & e(k) is NEGATIVE 2.IF e(k) is NEGATIVE & e(k) is ZERO 3.IF e(k) is NEGATIVE & e(k) is POSITIVE 4.IF e(k) is ZERO & e(k) is NEGATIVE 5.IF e(k) is ZERO & e(k) is ZERO 6.IF e(k) is ZERO & e(k) is POSITIVE 7.IF e(k) is POSITIVE & e(k) is NEGATIVE 8.IF e(k) is POSITIVE & e(k) is ZERO 9.IF e(k) is POSITIVE & e(k) is POSITIVE THEN u(k) is NEGATIVE THEN u(k) is NEGATIVE THEN u(k) is ZERO THEN u(k) is NEGATIVE THEN u(k) is ZERO THEN u(k) is POSITIVE THEN u(k) is ZERO THEN u(k) is POSITIVE THEN u(k) is POSITIVE 93 FUZZY CONTROL FUZZY CONTROLLERS – An example 94 FUZZY CONTROL FUZZY CONTROLLERS – An example 95 FUZZY CONTROL FUZZY CONTROLLERS – An example 96 FUZZY CONTROL FUZZY CONTROLLERS – An example 97 FUZZY CONTROL FUZZY CONTROLLERS – An example 98 FUZZY CONTROL FUZZY CONTROLLERS – An example We need the the membership functions for the output in a discrete form. By equidistant discretization of the universe Y Y=[-6,-4.5,-3,-1.5,0,1.5,3,4.5,6]) we have: Negative Negative u D1 -6 1 -4.5 1 -3 1 -1.5 0.5 0 0 1.5 0 3 0 4.5 0 6 0 Zero Negative Zero Positive Zero Positive Positive D2 D3 D4 D5 D6 D7 D8 D9 1 1 1 0.5 0 0 0 0 0 0 0 0 0.5 1 0.5 0 0 0 1 1 1 0.5 0 0 0 0 0 0 0 0 0.5 1 0.5 0 0 0 0 0 0 0 0 0.5 1 1 1 0 0 0 0.5 1 0.5 0 0 0 0 0 0 0 0 0.5 1 1 1 0 0 0 0 0 0.5 1 1 1 99 FUZZY CONTROL FUZZY CONTROLLERS – An example Consider the case where e(k)= -2.1 and e(k)= 0.5. The fuzzification of the input leads to two observations: m error negat ive(e) 0 e2 1 e0 2 e 0 e 2 m error negat ive( 2.1) 1 change m error (e) positive 0 2e 1 change m error (0.5) positive 1 e 0 0 e 12 e 12 100 FUZZY CONTROL FUZZY CONTROLLERS – An example Consider the case where e(k)= -2.1 and e(k)= 0.5. The fuzzification of the input leads to two observations: m error negat ive(e) 0 e2 1 e0 2 e 0 e 2 m error negat ive( 2.1) 1 change m error (e) positive 0 2e 1 change m error (0.5) positive 1 e 0 0 e 12 e 12 101 FUZZY CONTROL FUZZY CONTROLLERS – An example For the case where e(k)= -2.1 and e(k)= 0.5, the level or degree of firing for the 9-rule rule set: Negative Rule1 1 Rule2 1 Rule3 1 e & e Zero Positive Rule4 0 Rule5 0 Rule6 0 Rule7 0 Rule8 0 Rule9 0 Negative & & & & & & & & & (=min {e, e}) Zero Positive 0 Output 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 102 FUZZY CONTROL FUZZY CONTROLLERS – An example The output of individual rule (Fi(y)) depends on the interaction between the degree (level) of firing (DOF or i) and the consequent of the rule (Di). We are considering the case where e(k)= -2.1 and e(k)= 0.5. D1 D2 D3 D4 D5 D6 D7 D8 D9 [ [ [ [ [ [ [ [ [ 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0.5 0.5 0.5 0.5 0.5 0 0.5 0 0 0 0 1 0 1 0 1 0 0 0 0 0.5 0 0.5 0.5 0.5 0.5 0.5 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 ] ] ] ] ] ] ] ] ] 103 0 0 1 0 0 0 0 0 0 FUZZY CONTROL FUZZY CONTROLLERS – An example The MAMDANI method suggests that: Fi(y) = i Di min (i, Di) We are considering the case where e(k)= -2.1 and e(k)= 0.5. F1=D11 F2=D22 F3=D33 F4=D44 F5=D55 F6=D66 F7=D77 F8=D88 F9=D99 [ [ [ [ [ [ [ [ [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0.5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ] ] ] ] ] ] ] ] ] 104 FUZZY CONTROL FUZZY CONTROLLERS – An example The aggregation of the individual rule outputs to obtain the overall control system output (Fy). The rules are ‘chained’ through ALSO thus individual rule outputs are aggregated using the disjunctive connective ALSO. F ( y) F ( y ) ( D ( y)) i i i i i The overall system output for the inputs e(k)= -2.1 and e(k)= 0.5 is: F( u) u =[ =[ 0 0 -6 -4.5 0 0.5 -3 -1.5 1 0.5 0 1.5 0 0 3 4.5 0] 6] 105 FUZZY CONTROL FUZZY CONTROLLERS – An example The extraction of a crisp output value: The output fuzzy set cannot be used directly as input to the controlled system. We need to select one element y* from the universe Y (e.g., u* from all possible values of u - the change of control). So we should defuzzify: typically used methods of defuzzification include the so-called centre of area method. Let the output Y be a finite universe of discourse and F(y) be a DISCRETE membership function: n F ( y i ) yi y* i 1 F ( yi ) 106 FUZZY CONTROL FUZZY CONTROLLERS – An example The extraction of a crisp output value: Centre of Area Computation: The weighted average of the output fuzzy set with the corresponding value of the membership function for each of the change in control u for the inputs e(k)= -2.1 and e(k)= 0.5 is: F( u) u =[ =[ 0 0 -6 -4.5 0 0.5 -3 -1.5 1 0.5 0 1.5 0 0 3 4.5 0] 6] Defuzzified value of [0 * (6) 0 * (4.5) 0 * (3) 0.5 * (1.5) 1 * 0 0.5 *1.5 0 * 3 0 * 4.5 0 * 6] [0 0 0 0.5 1 0.5 0 0 0] u (k ) 0 / 2 0 u (k ) 107 FUZZY CONTROL FUZZY CONTROLLERS – Another example For the case where e(k)= -0.9 and e(k)= 0.2, the level or degree of firing for the 9-rule rule set: Negative Rule1 0.45 Rule2 0.45 Rule3 0.45 Zero Rule4 0.55 Rule5 0.55 Rule6 0.55 e & e Positive Rule7 0 Rule8 0 Rule9 0 Negative & & & & & & & & & Zero (=min {e, e}) Positive 0 Output 0 0.6 0.45 0.4 0 0.4 0 0.6 0.55 0.4 0 0.4 0 0.6 0 0.4 0 108 FUZZY CONTROL FUZZY CONTROLLERS – Another example The output of individual rule (Fi(y)) depends on the interaction between the degree (level) of firing (DOF or i) and the consequent of the rule (Di). We are considering the case where e(k)= -0.9 and e(k)= 0.2 Negative Negative Zero Negative Zero Positive Zero Positive Positive D1 D2 D3 D4 D5 D6 D7 D8 D9 Output 1 1 1 0.5 0 0 0 0 0 1 1 1 0.5 0 0 0 0 0 0 0 0 0.5 1 0.5 0 0 0 1 1 1 0.5 0 0 0 0 0 0 0 0 0.5 1 0.5 0 0 0 0 0 0 0 0 0.5 1 1 1 0 0 0 0.5 1 0.5 0 0 0 0 0 0 0 0 0.5 1 1 1 0 0 0 0 0 0.5 1 1 1 0 0.45 0.4 0 0.55 0.4 0 0 0 109 FUZZY CONTROL FUZZY CONTROLLERS – Another example The MAMDANI method suggests that: Fi(y) = i Di min (i, Di) We are considering the case where e(k)= -0.9 and e(k)= 0.2. F1=D11 F2=D22 F3=D33 F4=D44 F5=D55 F6=D66 F7=D77 F8=D88 F9=D99 [ 0 0 0 0 0 [ 0.45 0.45 0.45 0.45 0 [ 0 0 0 0.4 0.4 [ 0 0 0 0 0 [ 0 0 0 0.5 0.55 [ 0 0 0 0 0 [ 0 0 0 0 0 [ 0 0 0 0 0 [ 0 0 0 0 0 0 0 0.4 0 0.5 0.4 0 0 0 0 0 0 0 0 0.4 0 0 0 0 0 0 0 0 0.4 0 0 0 0 0 0 0 0 0.4 0 0 0 ] ] ] ] ] ] ] ] ] 110 FUZZY CONTROL FUZZY CONTROLLERS – Another example The aggregation of the individual rule outputs to obtain the overall control system output (Fy). The rules are ‘chained’ through ALSO thus individual rule outputs are aggregated using the disjunctive connective ALSO. F ( y) F ( y ) ( D ( y)) i i i i i The overall system output for the inputs e(k)= -0.9 and e(k)= 0.2 is: F( u) u =[ 0.45 0.45 0.45 0.5 0.55 =[ -6 -4.5 -3 -1.5 0 0.5 1.5 0.4 3 0.4 4.5 0.4 ] 6] 111 FUZZY CONTROL FUZZY CONTROLLERS – Another example The extraction of a crisp output value: Centre of Area Computation: The weighted average of the output fuzzy set with the corresponding value of the membership function for each of the change in control u for the inputs e(k)= -0.9 and e(k)= 0.2 is: F( u) u =[ 0.45 0.45 0.45 0.5 0.55 =[ -6 -4.5 -3 -1.5 0 0.5 1.5 0.4 3 0.4 4.5 0.4 ] 6] The defuzzified value of u is u = -0.67 / 4.1 = -0.16 112 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example Takagi-Sugeno model is an approximation of a Mamdani controller – in that the TakagiSugeno model ignores the fuzziness of linguistic variables in the consequent, but accounts for the fuzziness of variables in the antecedants; whereas Mamdani controller takes into the fuzziness of variables appearing both in the antecdents and the consequent. 113 FUZZY LOGIC & FUZZY SYSTEMS Knowledge Representation & Reasoning: The Air-conditioner Example Model Identification: Given a choice between two models, say Mamdani and TakagiSugeno, we have to first identify why to chose a fuzzy logic system (will a crisp description not work as it is simpler to compute) and second whether to use an elaborate model (say Mamdani) rather than an approximation to the model (say, Takagi-Sugeno). The choice can be based on the relative performance of the two models 114