Center of Gravity (CoG) method for defuzzification
Center of Gravity (CoG) is the most prevalent and physically appealing of all the defuzzification methods [Sugeno, 1985, Lee 1990]
The basic principle in the CoG method is to find the point xâ where a vertical line would slice the aggregate into two equal masses.
If ÎŧC is defined with continuous MF:
âĢ ÎŧC(x) dx denotes the area of the region bounded by the curve C.
If ÎŧC is defined with discrete MF:
Disadvantage: Computationally intensive
CoG: A geometrical method of calculation
This method returns a precise value depending on the fuzzy set‘s center of gravity. The overall area of the membership function distribution used to describe the combined control action is divided into a number of sub-areas (such as triangle, trapezoidal etc.).
The area and center of gravity, or centroid, of each sub regions, are calculated. Then the sum of all these sub-areas is used to determine the defuzzified value for a discrete fuzzy set
Let Ai and xi denote the area and center of gravity of i-th sub-region.
Ai=âĢ ÎŧC(x) dx and n is the number of geometrical components
Example:
To compute the crisp value corresponding to the above output fuzzy sets, we shall create aggregate output by placing them on the same axis
To compute the area covered by these aggregated fuzzy sets, we need to compute the equation of each line forming the region
Equation of line ab:
(y – y1) / (x – x1) = (y2 – y1) / (x2 – x1)
For line ab, (x1, y1) = (0, 0) and (x2, y2) = (1, 0.5)
(y – 0) / (x – 0) = (0.5 – 0) / (1 – 0)
y / x = 0.5 / 1
y = 0.5x
Line ranges from [0, 1] on X-axis
Equation of line bc:
(y – y1) / (x – x1) = (y2 – y1) / (x2 – x1)
For line ab, (x1, y1) = (1, 0.5) and (x2, y2) = (3.5, 0.5)
The horizontal line has a slope zero, and for any value of x, the y coordinate will remain unchanged. So, for line bc
y = 0.5
Line ranges from [1, 3.5] on X-axis
Equation of line cd:
(y – y1) / (x – x1) = (y2 – y1) / (x2 – x1)
For line ab, (x1, y1) = (3.5, 0.5) and (x2, y2) = (4, 0.8)
(y – 0.5) / (x – 3.5) = (0.8 – 0.5) / (4 – 3.5)
(y – 0.5) / (x – 3.5) = 0.3 / 0.5
y=(3x / 5) – (8 / 5)
The line ranges from [3.5, 4] on X-axis
Equation of line de:
(y – y1) / (x – x1) = (y2 – y1) / (x2 – x1)
For line ab, (x1, y1) = (4, 0.8) and (x2, y2) = (6, 0.8)
The horizontal line has a slope zero, and for any value of x, the y coordinate will remain unchanged. So, for line bc
y = 0.8
Line ranges from [4, 6] on X-axis
Equation of line ef:
(y – y1) / (x – x1) = (y2 – y1) / (x2 – x1)
For line ab, (x1, y1) = (6, 0.8) and (x2, y2) = (8, 0)
(y – 0.8) / (x – 6) = (0 – 0.8) / (8 – 6)
(y – 0.8) / (x – 6) = (-0.8 / 2)
y = -0.4x + 3.2
Line ranges from [6, 8] on X-axis
Summary of line equations:
Putting all these values in the equation for the CoG method,
= 4.151
Hi, Sir! Thanks for vivid explanation. But I’m still confused how to get range in bc line, that’s on y =3.5 whereas in graph there’s no clear written 3.5? Actually, on point, I’m still confused to determine the range line if there’s no written of number on x absis (not exact in the number, so it’s about comma), is there any formula or rule ? Please explain this, Sir. Thanks a lot
Thanks. For that you need to find the intersection of two lines. Probably in defuzzification video, I have explained how to find endpoint coordinates of the line
its 3.625 not 3.5
Thanks for bringing it to my notice
the intersection of 2 lines are at 3.625 not 3.5!
Noted with thanks. Difference may be due to rounding perhaps