Defuzzification Methods
Defuzzification Methods
The centroid method is a defuzzification technique. Defuzzification is the process of converting a fuzzy set (which
represents an imprecise or ambiguous concept) into a single, crisp (precise) numerical value. In fuzzy logic, after
you've performed fuzzy inference (using fuzzy rules based on your input fuzzy sets), you end up with a fuzzy set
representing the output. This fuzzy set describes the degree to which different output values are possible. The
centroid method takes this fuzzy output set and determines the single best representative value for it. This
representative value is the "center of gravity" or the "balancing point" of the fuzzy set. Imagine the fuzzy set as
a 2D shape on a graph. The centroid is the point where you could balance that shape on a pin.
1. Fuzzy Output Set: This is the result of applying fuzzy rules and inference to your input fuzzy sets. It
represents the overall fuzzy conclusion, expressed as a membership function. This membership function
maps output values to their corresponding degrees of membership (between 0 and 1). It often takes
the form of a curve (usually irregular, not necessarily a familiar geometric shape).
2. Membership Function: The membership function defines the shape of the fuzzy set. It visually shows
the "degree of truth" for each possible output value. The higher the value on the membership function
for a given output value, the stronger the belief in that output value.
3. Area Under the Curve (AUC): The centroid method essentially calculates the "center of gravity" by
taking into account the entire shape of the fuzzy output set. This involves conceptually considering each
point on the curve, and weighing it by its corresponding membership degree.
4. Crisp Output: The final, single, numerical value produced by the centroid method. This value is the
defuzzified result, representing the best overall output based on the fuzzy logic inference.
1. Define the Fuzzy Output Set: This is the fuzzy set resulting from the inference process. It's typically
defined mathematically using a membership function: µ(x), where x represents the possible output
values, and µ represents the degree of membership (0 to 1).
2. Mathematical Formulation: The centroid (C) is calculated using the following integral equation:
3. C = ∫ x * µ(x) dx / ∫ µ(x) dx
o The top integral is the first moment and the denominator is the area.
o Normalized by the area: The weighted average is divided by the total area under the curve.
This ensures the result is within the range of the output variable.
4. Numerical Implementation (Discrete Case - more common in practice): In most practical applications,
we don't have a continuous function to integrate. Instead, we deal with discrete values (sampled points)
of the fuzzy output set. The integral is then approximated by a summation:
o µ(xᵢ): The membership function value for each discrete output value xᵢ.
5. For each point, find the membership degree using the output fuzzy set's membership function.
6. Result: The Crisp Output Value: The value of 'C' is the defuzzified output – your single, crisp number
that represents the final decision of your fuzzy logic system.
Let's say you have a fuzzy output set that is a triangular membership function representing "Speed" in a system
controlling a motor. The x-axis represents "Speed" in RPM (revolutions per minute). The triangular fuzzy set is
defined as:
o Low Speed: Membership degree 0 for speed ≤ 0 RPM. Linearly increases to 1 at 10 RPM. Decreases
linearly to 0 at 20 RPM.
o Medium Speed: This triangular membership function is a result of fuzzy reasoning with input variables.
For simplicity, let's say the output is a fuzzy set. The output variable is, "Speed," and it has the triangular
membership function defined over the range (0 to 100 RPM). The triangle peaks at 50 RPM with a
membership degree of 1. It is 0 at 0 RPM and 100 RPM.
1. Graph: You have a triangle on the graph. The base goes from 0 to 100 RPM, and the peak is at 50 RPM.
2. Discrete Implementation (Simplified): To perform the calculation, we'll sample the speed range. Let's
take a simplified example with only 5 points.
o C ≈ 100 / 2 = 50 RPM
In this simplified example, the centroid is 50 RPM, which is also the peak (the most plausible speed). This example
reinforces the "balancing point" concept. The centroid will always "favor" areas of the fuzzy set with high
membership values. As this fuzzy set is simple and symmetrical, this is not surprising.
Consider a fuzzy output set for "Temperature Control". The fuzzy output variable is "Heating Power" (in
percentage). The fuzzy output set results from fuzzy rules applied to, say, "Room Temperature" and "Desired
Temperature" (these would be input fuzzy sets that are the result of fuzzification). Let's say the resulting fuzzy
output for "Heating Power" looks like this, represented as a discrete data with a membership function that takes
this values:
o Σ (xᵢ * µ(xᵢ)) = (0 * 0) + (20 * 0.3) + (40 * 0.8) + (60 * 1) + (80 * 0.6) + (100 * 0.1)
The result tells us that the fuzzy logic system, after evaluating the fuzzy rules and forming the fuzzy output,
"believes" that the optimal heating power to apply is approximately 55.7%. This value is the "best" crisp
representation of the fuzzy output and will be used to control the heater's power.
o Accurate: Often provides good defuzzification results that represent the overall fuzzy conclusion well.
o Generally Preferred: Frequently used because it balances the membership values and the range in an
acceptable manner.
o Computationally Intensive: Can be more complex to calculate, especially for complex fuzzy sets with
many sampled points. More calculations are generally required.
o Sensitive to outliers and local maxima/minima: Can be significantly impacted by the shape of the
membership function. If the fuzzy set is very complex with multiple peaks or irregular shapes, the
centroid might not be the most representative value.
o Difficulty in defining the fuzzy output variable: The accuracy of centroid calculation depends a lot on
the range of the output variable definition, and the step size or the sampling rate in the discrete
calculation.
o Mean of Maxima (MOM): Finds the average of the output values that have the maximum membership
degree. Simple to calculate.
o Bisector of Area (BOA): Finds the output value that divides the area under the fuzzy set into two equal
halves. Less sensitive to outliers.
o Largest of Maxima (LOM): Returns the largest output value with the maximum membership degree.
o Smallest of Maxima (SOM): Returns the smallest output value with the maximum membership degree.
The choice of defuzzification method depends on the specific application, the desired characteristics of the
output, and computational constraints. The centroid method is, however, widely considered a robust and
generally reliable option.
Before we zoom in on Bisector (Mean of Maxima), let's recap the overall process of fuzzy logic. It typically involves
these key stages:
1. Fuzzification: This is where we take crisp (precise, numerical) input values and translate them into fuzzy
sets. Each fuzzy set represents a linguistic variable (like "temperature") and each value in the fuzzy set
is assigned a membership grade between 0 and 1, indicating the degree to which it belongs to that set.
For example, if the temperature is 25°C, and the fuzzy set "Warm" is defined with a membership
function, it might have a membership grade of 0.8, meaning it's "pretty warm."
2. Fuzzy Inference: This stage applies the fuzzy rules (IF-THEN rules) that govern your system. These rules
combine fuzzy sets and use logical operators (like AND, OR, NOT) to determine the output fuzzy sets.
The rules connect the fuzzy inputs to the fuzzy outputs based on the system's logic. This often involves
two main processes:
o Aggregating: Combining the outputs of multiple rules to produce a single fuzzy set that
represents the overall output.
o Inferring: Using fuzzy inference methods like Mamdani or Sugeno to perform the rule
evaluation.
3. Defuzzification: This is where we take the resulting fuzzy output set (from fuzzy inference) and convert
it back into a single, crisp (precise) numerical value. Defuzzification methods essentially try to find the
"best" or most representative single value to summarize the entire fuzzy output. This is what Bisector
(Mean of Maxima) is all about.
The Bisector (Mean of Maxima) method, as the name suggests, focuses on the area under the fuzzy output
membership function to determine the crisp output. The process works as follows:
1. Identify the Maximum Membership Values: Locate all the points along the output membership
function where the membership grade reaches its maximum value. There might be a single point, or
there might be a range of points that share the same maximum membership value.
2. Find the Interval: Determine the interval or segment along the x-axis (the output variable's domain)
that corresponds to these maximum membership values. This could be a single point if the maximum
occurs at a single x-value, or it could be a range of x-values if the membership function has a flat top
(plateau) at the maximum membership grade.
3. Calculate the Midpoint (Bisector): Calculate the midpoint (the center) of this interval. This midpoint is
the crisp output value. If you only have one single value (no range) at the maximum, then it is that value.
o Intuitive: It tends to identify a representative value that reflects the dominant output membership
values.
o Handles Flat Tops: It handles fuzzy output sets with flat tops (plateaus) quite well because it correctly
takes the average of all the maxima.
Disadvantages of Bisector (Mean of Maxima)
o Sensitivity to Shape: It's affected by the shape of the membership function, especially if it has multiple
peaks or is irregularly shaped.
o Potential for Oversensitivity: It can sometimes be too sensitive to very small changes in the
membership function, leading to slight fluctuations in the crisp output.
o Could Ignore Information: If the membership function has multiple peaks, Bisector only considers the
area under the maximum. All other area under the function, could be lost.
Step-by-Step Example
Let's imagine a simple temperature control system for an oven. We have the following:
o Input: The difference between the desired temperature and the actual temperature, let's call it
"Temperature Error".
o Output: The amount of power we send to the heating element, which is our "Power Level."
o Fuzzy Sets: We'll use the following (highly simplified) fuzzy sets:
o Fuzzy Rules:
o After fuzzification, inference and aggregation we have the following output membership function:
1. Identify the Maximum: The maximum membership grade in the output fuzzy set is 1.0.
2. Find the Interval of Maximum: The segment of the output variable (Power Level) that has a
membership grade of 1.0 is between the values 0 and 50.
4. Crisp Output: The crisp output power level would be 25. This is the value the system would set for the
heating element.
Let's say, after fuzzy inference and aggregation, we have an output membership function like this:
Identify
the Maximum: The maximum membership grade is 1.0.
1. Find the Intervals of Maximum: The segments of the output variable (Power Level) that have a
membership grade of 1.0 are the ranges 20-50 and 70-100.
2. Calculate the Midpoints of Maxima: The midpoint of the range between 20 and 50 is (20 + 50) / 2 = 35.
The midpoint of the range between 70 and 100 is (70+100)/2 = 85.
3. Calculate the Bisector: Because there are multiple interval, and the area beneath the membership
function is not symmetrical or does not look right, you must find the average of both area's center of
mass. Using the basic principle of areas and taking the midpoints of all the areas: Bisector = (Midpoint_1
+ Midpoint_2) / 2 = (35 + 85)/2 = 60.
o Simplicity is needed: When you want a straightforward defuzzification method that's easy to implement
and understand.
o Good at handling fuzzy sets with a single peak The bisector method is excellent when dealing with
simple fuzzy sets that are easily defined.
o Speed is important: The calculations are typically faster than some other methods.
In Summary
The Bisector (Mean of Maxima) method is a valuable tool in fuzzy logic, providing a direct and intuitive way to
convert fuzzy outputs into crisp values. By focusing on the area under the membership function, it helps make
decisions based on imprecise information, making it suitable for many control and decision-making systems
where the precision is not of high importance. While it has limitations (like sensitivity to the shape of membership
functions), its ease of use and computational simplicity often make it an excellent choice for defuzzification.
Remember that the best defuzzification method depends on the specific application and the nature of your fuzzy
output set.
1. What is Defuzzification?
Before we talk about MOM, let's understand the bigger picture. Fuzzy logic, at its core, deals with degrees of
truth rather than absolute true/false values. You input crisp (precise) values, fuzzy logic rules are applied, and
you end up with fuzzy sets – membership functions representing the "degree of belonging" to different linguistic
terms (like "small," "medium," "large"). The defuzzification process is crucial. It's the final step in fuzzy logic
processing, where you convert the fuzzy output (a fuzzy set) into a single, crisp (non-fuzzy) value that can be
used to control a system or make a decision. Think of it as translating fuzzy concepts into concrete actions.
MOM is one of several popular defuzzification techniques. The main goal of MOM is to identify the "best" crisp
value from the fuzzy output. It's specifically designed to handle situations where the fuzzy output has multiple
elements that share the highest membership value (i.e., they are all equally the "most" members of the fuzzy
set). In such scenarios, MOM aims to find the average of the x-axis values where the membership function is at
its maximum.
o a. Identify the Maximum Membership Value: First, you need to examine the fuzzy output and
determine the maximum membership value (often denoted as μmax). This is the highest degree of
membership found across all the elements of the fuzzy set.
o b. Locate Elements with Maximum Membership: Next, identify all the elements in the fuzzy set (i.e.,
the values on the x-axis, which represent the crisp output domain) that have this maximum membership
value (μmax). This means finding all the points where the membership function reaches its peak. You
will have a set of x-axis coordinates, each corresponding to a point on the membership function where
the membership value is at its maximum.
o c. Calculate the Average (Mean) of the Maxima: Finally, compute the average (arithmetic mean) of the
x-axis values you identified in the previous step. This average is the crisp output value generated by the
MOM method.
Output_Crisp = (∑x_i) / n
where:
o x_i represents the x-axis values where the membership function is at its maximum.
o ∑x_i represents the sum of all the x-axis values with maximum membership values.
4. Illustrative Examples
Imagine a fuzzy output represented by a membership function that looks like this:
o b. Elements with Maximum Membership: The x-axis values where the membership is 1 are: 5, 6, and
7.
o X-axis: 0 1 2 3 4 5 6 7 8 9 10
o b. Elements with Maximum Membership: The x-axis values where the membership is 1 are: 4 and 5.
In this case we have three elements: 4, 5, and 6, that have the maximum membership value (1).
o b. Elements with Maximum Membership: The x-axis values where the membership is 1 are: 4, 5 and 6.
5. Advantages of MOM
o Considers All Maxima: Unlike some other methods (like "Left-Most Maxima" or "Right-Most Maxima"),
MOM takes into account all elements that share the highest membership, providing a more balanced
representation.
o Smooth Output: When used in control systems, MOM tends to produce reasonably smooth control
signals, minimizing abrupt changes.
6. Disadvantages of MOM
o Sensitivity to Noise: MOM can be sensitive to slight variations in the fuzzy output. If the membership
function has tiny fluctuations around the maximum value, these might subtly alter the crisp output.
o Equal Weights: It treats all elements at the maximum membership value equally. It doesn't account for
the "width" of the membership function. A wider region of maximum membership might intuitively feel
like a more "representative" answer, but MOM doesn't consider that.
o Computational Complexity: Compared to methods like Centroid (which integrates the entire area under
the membership function), MOM is computationally less intensive. However, if there are a large number
of elements at the maximum membership, the summation and division can slightly increase complexity.
o Centroid (or Center of Area - COA): This is the most common defuzzification technique. COA calculates
the center of gravity of the fuzzy set's area. COA is generally considered the most accurate but
computationally the most complex.
o Bisector: This method finds the crisp value that divides the area under the membership function into
two equal halves.
o Largest of Maxima (LOM) / Rightmost Maxima: This is the simplest technique. It selects the crisp value
corresponding to the rightmost point where the maximum membership is reached. It's less stable than
MOM, especially if the maximum occurs over a range.
o Smallest of Maxima (SOM) / Leftmost Maxima: This picks the leftmost element at the maximum.
Similar to LOM, this can be unstable.
8. Applications of MOM
MOM, due to its simplicity and ability to handle multiple maxima, is used in a wide array of fuzzy logic
applications, including:
o Control Systems: Regulating temperature, speed, pressure, etc. in various industrial processes.
o Decision-Making Systems: Fuzzy logic is often used to make decisions about things like credit scoring,
medical diagnosis, or stock trading, where a crisp value is needed for specific action.
o Image Processing: For tasks like edge detection, segmentation, and image enhancement, where the
final output is often a crisp value for each pixel.
o Robotics: Used in robot navigation, object recognition, and other robotic tasks.
Before we jump into LOM, let's quickly recap the broader context. Fuzzy Logic is a mathematical framework
designed to handle uncertainty and vagueness. Unlike traditional "crisp" logic (true/false, 0/1), fuzzy logic allows
for degrees of truth, represented by values between 0 and 1. This is especially useful for modeling real-world
scenarios where concepts aren't always clear-cut (e.g., "tall," "hot," "expensive").
1. Fuzzification: Converting crisp (precise) input values into fuzzy sets. This means determining the degree
to which an input belongs to different fuzzy sets (e.g., "low," "medium," "high"). Membership functions,
which assign membership values between 0 and 1, are used to achieve this.
2. Fuzzy Inference: Applying fuzzy rules (IF-THEN statements) to determine fuzzy outputs based on the
fuzzified inputs. These rules combine fuzzy sets using fuzzy operations like AND, OR, and NOT.
3. Defuzzification: Converting the fuzzy output (a fuzzy set) into a single, crisp output value. This is where
different defuzzification methods come into play. This is what LOM does.
The Largest of Maxima (LOM), also known as the Maximum Membership Principle with the Highest Value is a
defuzzification method that chooses the largest (highest) crisp value (the one along the x-axis of the membership
function) that corresponds to the maximum membership value (the highest point on the y-axis, which represents
the degree of truth) of the fuzzy output.
In simpler terms:
1. Find the maximum membership value: Look at the fuzzy output set (the one that results from the
inference step) and identify the highest membership value (the highest point of any of the membership
functions in the output set). If multiple membership functions intersect at the same maximum value,
you will need to consider all the functions that intersect there.
2. Locate the largest crisp value: Identify all crisp values (the x-axis value) for which the fuzzy set has the
maximum membership value.
3. Select the largest: Choose the largest of these crisp values as the final defuzzified output.
o Sensitivity to Shape: LOM is sensitive to the shape and placement of the output membership functions.
It can lead to different results depending on how the membership functions are defined.
o Non-linearity: It's a non-linear defuzzification method. Small changes in the fuzzy output can
sometimes lead to significant jumps in the crisp output.
o Potential for Bias: In some situations, LOM may not provide a truly representative output if multiple
fuzzy sets have the same maximum membership value and are very differently distributed.
Scenario: A fuzzy system controls the speed of a motor based on the "Error" (difference between the desired
speed and actual speed). The fuzzy output is "Motor Speed," which can be "Slow," "Medium," or "Fast." The
inference step has yielded the following fuzzy output for "Motor Speed":
1. The Output Fuzzy Set: Imagine after fuzzification and rule evaluation, we get the following fuzzy output for
the Motor Speed:
o Slow: Membership value of 0 for all values, except a triangle which has the apex at x=2 and a value of
0, i.e., membership value=0, for x<0 and x>4.
o Medium: Has a trapezoidal shape: a membership value of 0.4 for x=2 and x=4; value of 1 for x=6; value
of 0.4 for x=8.
o Fast: Triangle, which has an apex at x=12 and a value of 1, i.e. membership value=0, for x<10 and x>14.
o The membership values are 1 for the "Fast" set (at x = 12), and 1 for the "Medium" set (at x=6).
o Final Output:
Imagine plotting the "Slow", "Medium", and "Fast" fuzzy sets on a graph, with the x-axis representing Motor
Speed (e.g., in RPM) and the y-axis representing the membership value (0 to 1).
o From the intersection of the shapes, you can easily see that the maximum membership value is 1 and it
occurs at different points along the speed axis. The final LOM result takes the largest value from all of
them.
Scenario: Same as before. Error is still driving the Motor Speed. The fuzzy output for "Motor Speed" is different:
o Fast: Trapezoid with starts at x= 6 and ends at x= 14. It starts with a value 0 at x=0, goes up to value 1 at
x=10 and continues with value 1 until x=14.
o Step 1: Find the Maximum Membership: Membership values are 1 at x= 6 (Medium), and 1 at any point
from x=10 to x=14 for Fast.
o Step 2: Find the crisp values: crisp values for which membership value is 1 : 6, and all values between
10 and 14.
o Defuzzified output: The final, crisp motor speed output would be 14.
Advantages of LOM:
o Computational Efficiency: LOM requires less computational power compared to more complex
methods like the Center of Gravity (COG) or the Mean of Maxima (MOM).
o Sensitivity to Shapes: The result is highly dependent on the shape of the output fuzzy sets. Small
changes in membership functions can dramatically change the crisp output.
o Loss of Information: LOM discards a lot of information. It only considers the maximum membership
value. Other values in the fuzzy set don't influence the result.
o Not Always Representative: In some cases, especially with multiple fuzzy sets having the same
maximum membership value, the selected output might not be a good representation of the overall
fuzzy output.
o Discontinuities: The crisp output can have discontinuities (jumps) if the input changes slightly.
o The shape of the output membership functions is carefully designed and well-understood.
o A decisive output is needed (e.g., on/off control) or a single maximum point is relevant.
o A more nuanced output is desired (e.g., reflecting the overall distribution of the fuzzy set).
o Center of Gravity (COG): COG calculates the weighted average of the fuzzy set, where the weights are
the membership values. It provides a more balanced and representative output. COG is usually more
computationally intensive than LOM.
o Mean of Maxima (MOM): MOM takes the average of all the crisp values that have the maximum
membership value. It's a compromise between LOM and COG. MOM can be less sensitive to the shape
of the membership functions than LOM.
o Bisector of Area: This method finds the crisp value that divides the area under the fuzzy output set into
two equal parts.
E. Smallest of Maxima (SOM)
Let's delve deep into the "Smallest of Maxima" (SOM) defuzzification method within the realm of fuzzy
logic operations. We'll break it down, explaining its purpose, how it works, its strengths, weaknesses,
and illustrate with examples.
Before we get into SOM, it's crucial to understand the context. Fuzzy logic, unlike classical (crisp) logic,
deals with degrees of truth, represented by membership functions. These membership functions
assign a value between 0 and 1 (or 0% and 100%) to each element in a universe of discourse,
representing its degree of belonging to a fuzzy set.
A fuzzy inference system (FIS) processes fuzzy inputs, applies fuzzy rules (typically in the form of
"IF…THEN…") and ultimately produces a fuzzy output. This fuzzy output is itself a fuzzy set – a set of
possible output values, each with an associated degree of membership. However, to get a crisp,
actionable value (a single number) from the fuzzy output, we need to defuzzify it. Defuzzification is
the process of converting the fuzzy output set into a single, crisp value.
There are several defuzzification methods, each with its own characteristics and suitability for different
applications. SOM is one of them.
SOM is a defuzzification technique that selects the smallest value among those output values that have
the maximum membership degree in the fuzzy output set. It's part of the "maximum membership"
family of methods, but focuses specifically on the lower bound of the "maxima."
In simpler terms:
1. Find the Maxima: Identify all output values (or points) in the fuzzy output set that have the
highest degree of membership (the peak or peaks of the fuzzy set).
2. Choose the Smallest: From these identified maxima, select the smallest (the lowest) of the
output values. This smallest value is the crisp output, the final result.
o Simplicity: It's computationally straightforward. The algorithm involves finding the maximum
membership value and then locating the smallest value that attains that membership.
o Preservation of Lower Bound: In certain applications, the lower bound of the fuzzy output is
important. SOM tends to "lean" towards this lower bound compared to some other methods.
This can be desirable if you want to be cautious or conservative in your control action.
Let's illustrate SOM with a concrete example. Imagine we're controlling the speed of a motor based on
the error (difference between desired speed and actual speed) and the change in error (how quickly
the error is changing). The fuzzy output represents the control signal we'll send to the motor (e.g., the
voltage).
o Universe of Discourse (Output): Let's assume the motor voltage can range from 0 to 10 Volts.
This is our universe of discourse.
o Fuzzy Output Set: Through fuzzy inference (based on the error and change in error), our fuzzy
output set looks like this (in a simplified representation, which would typically be defined by
membership functions):
o SOM Calculation:
1. Find the Maxima: Identify the output values that have the maximum membership
degree. In this example, the maximum membership degree is 1.0, and it occurs at
output values of 4 Volts and 5 Volts.
2. Choose the Smallest: Select the smallest of the maxima. The smallest value between
4 Volts and 5 Volts is 4 Volts.
Let's create a different, more nuanced example. We're controlling a heater, and the fuzzy output is the
"Power Output."
o Fuzzy Output Set: After fuzzy inference, the output might look like this:
o SOM Calculation:
1. Find the Maxima: The maximum membership degree is 1.0 (at 30 Watts) and 0.9 (at
70 Watts).
2. Choose the Smallest: The maxima are at 30 Watts and 70 Watts. SOM selects the
smallest, which is 30 Watts.
o Focus on the Minimum: SOM always favors the lowest value among the maxima.
o Multiple Maxima: The method handles multiple peaks in the fuzzy output set.
o Crisp Output: The result is a single, crisp value (e.g., 4 Volts, 30 Watts).
4. Strengths of SOM
o Suitable for Certain Applications: Can be appropriate in scenarios where you want to prioritize
a more conservative action or avoid excessive output values. For example, in controlling a
furnace, SOM might start the furnace a little slower to avoid overshooting the target
temperature.
5. Weaknesses of SOM
o Sensitivity to Outliers: If the fuzzy output has a "spike" at a low value, even if it's a minor peak,
SOM will choose it. This can make the controller overly sensitive or unstable in some cases.
o Loss of Information: The method only uses the "extreme" points and ignores the distribution
of the fuzzy set. This can lead to a loss of information about the shape and characteristics of
the fuzzy output. It doesn't consider the "area" under the curve of the fuzzy output.
o Not Always the Best Choice: In many applications, other methods like Center of Gravity (COG)
or Mean of Maxima (MOM) might produce more appropriate control actions. COG, for
instance, considers the entire shape of the fuzzy output set.
o Center of Gravity (COG): Calculates the centroid (center of mass) of the fuzzy output set. It's
generally considered to produce the most stable and accurate results, but is computationally
more complex. COG considers the entire shape.
o Mean of Maxima (MOM): Averages all output values that have the maximum membership
degree. It is often preferred when there are multiple peaks that are relevant, as it provides a
"middle ground."
o Largest of Maxima (LOM): The opposite of SOM; selects the largest output value among the
maxima.
o Bisector of Area (BOA): Finds the output value that divides the area under the fuzzy output
set into two equal halves.
7. Applications of SOM
o Conservative Control: When you want a control system to err on the side of caution.
o Certain Rule Bases: The effectiveness of SOM depends on the design of the fuzzy rules.
The selection of a defuzzification method is a critical design choice. You should consider:
o Computational Resources: How much processing power and memory are available?
o Fuzzy Rule Design: The rules themselves influence the shape of the fuzzy output, and this
affects the choice of method.
o Experimentation and Tuning: Testing and tuning are essential to determine the most suitable
method for your specific application.