Fuzzy Logic: Theory, Inference, Control, and Applications


Course notes covering theory and practice from fuzzy sets and membership functions to Mamdani and Sugeno inference, fuzzy control, clustering, ANFIS, and type-2 systems.
Introduction — scope and approach. Many concepts in the real world do not have sharp boundaries. We may say that an environment is “hot,” a vehicle is “fast,” a risk is “high,” a project budget is “adequate,” or a service is “good,” yet the boundaries of these concepts are rarely separated by a single exact number.
Classical logic and classical set theory treat membership sharply:
member → 1
not member → 0In fuzzy set theory, an element may belong to a set with a particular degree of membership:
0 ≤ μA(x) ≤ 1For example, an environment at 26 °C may be modeled as:
membership in WARM = 0.8
membership in HOT = 0.4The value 0.4 does not mean “there is a 40% probability that the air is hot.” It indicates the degree to which 26 °C conforms to the concept of “hot” within the chosen model.
This distinction is fundamental to fuzzy logic.
Fuzzy logic is particularly useful when:
- boundaries are not sharp,
- expert knowledge can be expressed through linguistic rules,
- a complete mathematical model of the system is difficult or expensive to obtain,
- measurements or concepts contain uncertainty or vagueness,
- a rule base close to human decision-making is desired,
- a nonlinear input-output relationship needs to be approximated.
Fuzzy logic, however, is not a universal method that “solves everything whenever uncertainty exists.” The choice of membership functions, rule base, scales, and inference method directly determines system behavior.
Fuzzy logic is treated not only at a definitional level, but together with its mathematical foundations, inference mechanisms, control design, and current application tools.
Unit 1: Fuzzy Sets, Membership, and Core Concepts
1.1. Historical Development
The starting point of fuzzy set theory is Lotfi A. Zadeh's 1965 paper “Fuzzy Sets.” In this work, Zadeh defined a structure in which set membership could be represented not only by 0 or 1, but by degrees between 0 and 1.
The 1965 paper:
L. A. Zadeh, “Fuzzy Sets,” Information and Control, 8(3), 338-353, 1965.
established the fundamental mathematical framework of fuzzy sets.
Important developments followed:
1965 → Fuzzy sets
1970 → Decision making in a fuzzy environment
1975 → Linguistic variables and approximate reasoning
1975 → Mamdani-Assilian fuzzy controller
1985 → Takagi-Sugeno system model
1993 → ANFIS / neuro-fuzzy learningBellman and Zadeh addressed decision making with fuzzy goals and fuzzy constraints in 1970.
Zadeh's 1975 work on linguistic variables established a mathematical basis for representing natural-language expressions such as “young,” “very hot,” or “approximately high” through fuzzy sets.
Mamdani and Assilian's 1975 work demonstrated the engineering importance of fuzzy control by converting the linguistic control rules of an expert operator into an automatic controller.
In 1985, Takagi and Sugeno introduced a different fuzzy modeling approach in which the consequent is a constant or a function of the inputs.
In 1993, J.-S. R. Jang's ANFIS work introduced an adaptive-network approach that can learn fuzzy-inference-system parameters from data.
This historical progression requires one important clarification:
Fuzzy set theory was not built on top of artificial neural networks in 1965.
The systematic integration of fuzzy logic and neural networks developed later in neuro-fuzzy systems.
1.2. Precision, Uncertainty, and Fuzziness
Scientific modeling traditionally seeks precise definitions. The real world, however, does not always consist of sharp boundaries.
For example:
When is a person tall?
When is a road congested?
When is a temperature high?
When is a risk unacceptable?It is difficult to assign one universal threshold to many of these questions.
For example, a classical model such as:
height ≥ 170 cm → tall
height < 170 cm → shortis mathematically precise.
But:
169.999 cm → short
170.000 cm → tallcreates an artificial discontinuity in everyday conceptual use.
A fuzzy approach softens the boundary:
165 cm → tall membership 0.2
170 cm → tall membership 0.5
180 cm → tall membership 0.9The membership values depend on the model design.
Rather than eliminating vagueness, fuzzy logic attempts to transform it into a numerical and processable representation.
1.3. Fuzziness and Probability Are Not the Same Thing
This is one of the most frequently confused aspects of fuzzy logic.
1.3.1. Probability
Probability generally expresses uncertainty about whether an event will occur.
Probability of rain tomorrow = 0.30The event itself has a crisp outcome:
it rains
or
it does not rainThe uncertainty lies in our knowledge before the event occurs.
1.3.2. Fuzziness
Fuzziness describes how strongly an object or state conforms to a concept.
Today's weather has membership 0.30 in the “cool” set.The question is not:
Is the weather cool or not?
but:
To what degree is the weather cool?
Summary:
- Probability: Will the event occur?
- Fuzziness: To what degree does the state fit the concept?
A fuzzy membership degree is not a probability.
1.4. Crisp Sets
Let X be a universal set and A a subset of it.
In a crisp set, the characteristic function is:
χA(x) = 1, x ∈ A
χA(x) = 0, x ∉ AFor example, if we define the set “hot” as:
A = {x | x ≥ 30 °C}then:
29.9 °C → 0
30.0 °C → 1The definition is mathematically clear.
But in many real-world problems involving gradual concepts, the transition is too abrupt.
1.5. Fuzzy Sets
A fuzzy set A is defined by a membership function assigning each element of the universe a membership degree:
μA : X → [0,1]Here:
μA(x) = 0means the element does not belong to the set at all,
μA(x) = 1means full membership, and
0 < μA(x) < 1means partial membership.
A fuzzy set may be represented symbolically as:
A = {(x, μA(x)) | x ∈ X}An important point is:
The membership degree is not a physical property of the object; it is part of the chosen conceptual model.
The same temperature can have different membership values in different contexts.
For example, 28 °C may be modeled as:
hot in terms of human comfort
cold in terms of an industrial furnace1.6. Universe of Discourse
The range over which a fuzzy variable operates is called the universe of discourse.
For room temperature:
X = [0, 50] °CFor vehicle speed:
X = [0, 200] km/hMembership functions are defined over this range.
If the universe of discourse is chosen incorrectly, even well-designed membership functions and rules may produce unexpected behavior.
1.7. Membership Function
The membership function is the bridge between a quantitative input and a linguistic concept.
For temperature, fuzzy sets such as:
COLD
WARM
HOTmay be defined.
Each is represented by a function:
μCOLD(T)
μWARM(T)
μHOT(T)The same temperature may belong to multiple sets at the same time.
For example:
T = 24 °C
μCOLD(24) = 0.1
μWARM(24) = 0.8
μHOT(24) = 0.3This overlap allows fuzzy systems to produce smooth transitions instead of sharp thresholds.
1.8. Fundamental Properties of Membership Functions
1.8.1. Support
The region in which membership is greater than zero:
support(A) = {x | μA(x) > 0}1.8.2. Core
The region in which membership equals 1:
core(A) = {x | μA(x) = 1}1.8.3. Boundary
The region of partial membership:
boundary(A) = {x | 0 < μA(x) < 1}1.8.4. Height
The maximum membership degree of a fuzzy set:
h(A) = sup μA(x)If:
h(A) = 1the set is a normal fuzzy set.
1.9. Triangular Membership Function
This is one of the most common and computationally simple membership functions.
For parameters:
a < b < cit is defined as:
0 x ≤ a
μ(x) = (x-a)/(b-a) a < x ≤ b
(c-x)/(c-b) b < x < c
0 x ≥ cGraph:
μ
1 /
/ \
/ \
0 ______/_____________ x
a b cAdvantages:
- simple,
- fast,
- interpretable,
- suitable for embedded systems.
1.10. Trapezoidal Membership Function
It is defined by four parameters:
a ≤ b ≤ c ≤ dShape:
μ
1 ______
/ \
/ \
0 ____/_______________ x
a b c dIt is particularly useful when a concept is considered fully valid over a range.
For example:
“normal temperature”may be modeled with membership 1 over an interval.
1.11. Gaussian Membership Function
A Gaussian membership function is smooth and differentiable.
μ(x) = exp(-0.5 * ((x-c)/σ)^2)where:
c → center
σ → spreadGaussian functions are useful for:
- smooth transitions,
- optimization,
- learning parameters from data,
- neuro-fuzzy systems.
1.12. Other Membership Functions
Other functions used in fuzzy systems include:
- sigmoid,
- S-curve,
- Z-curve,
- generalized bell,
- Pi-curve,
- custom user-defined functions.
The shape of the membership function depends on the problem.
What matters is not graphical aesthetics, but:
whether it represents the intended input-output behavior correctly.
1.13. Membership Function Selection Criteria
Membership functions can be determined in several ways.
1.13.1. Expert Knowledge
An expert might provide initial ranges such as:
0-15 °C very cold
10-25 °C cold
20-30 °C warm
25-40 °C hot1.13.2. Data
Measurement data can be used to determine membership-function parameters through:
- clustering,
- optimization,
- regression,
- neuro-fuzzy learning.
1.13.3. Hybrid Approach
The initial structure is defined by an expert and then adjusted using data.
This is often a good balance in engineering problems.
1.14. Alpha-cut
The elements of a fuzzy set above a particular membership level are represented by an α-cut:
Aα = {x | μA(x) ≥ α}For example, if:
α = 0.7only elements with membership degree 0.7 or greater are included.
Alpha-cuts help analyze a fuzzy set as a sequence of crisp sets.
1.15. Fuzzy Numbers
Fuzzy sets defined over the real numbers, generally normal and convex, can be used as fuzzy numbers.
For example, the concept:
approximately 100can be represented by the triangular fuzzy number:
(90, 100, 110)This representation is used in areas such as:
- cost,
- duration,
- estimation,
- expert assessment,
- multi-criteria decision making.
1.16. Linguistic Variables
One of Zadeh's fundamental contributions to fuzzy logic is the concept of the linguistic variable.
Numerical variable:
Temperature = 27.3 °CLinguistic variable:
Temperature = hotA term set for a linguistic variable may be:
T(Temperature) = {
very cold,
cold,
warm,
hot,
very hot
}Each linguistic term corresponds to a fuzzy set.
1.17. Linguistic Hedges
In natural language, words such as:
very
somewhat
quite
approximately
notmodify the meaning of a concept.
In fuzzy logic, these may be modeled as linguistic hedges.
For example, a classical approach may use:
μVERY_HOT(x) = μHOT(x)^2This suppresses lower membership values and narrows the “very hot” set.
Similarly, an expansion may use:
μSOMEWHAT_HOT(x) = sqrt(μHOT(x))These are not mandatory definitions; they are part of the chosen fuzzy-language model.
1.18. Fuzzy Set Operations
Classical set operations can be extended to fuzzy sets.
1.18.1. Complement
Standard complement:
μ¬A(x) = 1 - μA(x)1.18.2. Intersection
Zadeh's standard intersection:
μA∩B(x) = min(μA(x), μB(x))1.18.3. Union
Standard union:
μA∪B(x) = max(μA(x), μB(x))For example, if:
μA(x) = 0.7
μB(x) = 0.4then:
A AND B → min(0.7, 0.4) = 0.4
A OR B → max(0.7, 0.4) = 0.7
NOT A → 1 - 0.7 = 0.31.19. T-norm and T-conorm
min and max are not the only choices in fuzzy logic.
General intersection operations are expressed through the T-norm family, while union operations are expressed through T-conorm / S-norm families.
Example T-norms:
minimum:
T(a,b) = min(a,b)
product:
T(a,b) = a*bExample S-norms:
maximum:
S(a,b) = max(a,b)
probabilistic sum:
S(a,b) = a + b - a*bFor:
a = 0.7
b = 0.4we obtain:
min = 0.4
product = 0.28
max = 0.7
probor = 0.82The choice of operator changes rule firing strengths and therefore system output.
1.20. Fuzzy Relations
Classical relations can also be extended through membership degrees.
A fuzzy relation may be defined as:
R : X × Y → [0,1]For example:
“x is close to y”can be modeled as a graded relationship between two variables.
Fuzzy relations are important in:
- inference,
- decision making,
- pattern matching,
- control theory.
1.21. Relationship Between Fuzzy Logic and multi-valued Logic
Classical logic uses two values:
TRUE = 1
FALSE = 0In fuzzy logic, a degree of truth may lie in:
[0,1]For example, the proposition:
“the weather is hot”may be modeled with a truth degree of 0.65.
However, equating fuzzy logic only with “multi-valued logic” is incomplete.
Fuzzy systems also involve:
- fuzzy sets,
- linguistic variables,
- membership functions,
- inference rules,
- approximate reasoning.
Unit 2: Fuzzy Inference Systems and Rule Design
Building a fuzzy inference system begins by defining input universes and membership-function overlap. Examine which operating region each rule covers and search explicitly for regions where no rule fires. After choosing inference and defuzzification methods, test boundary inputs and conflicting rules. A plausible numerical output is insufficient if small input changes create unexplained output discontinuities.
2.1. Fuzzy Inference System
A Fuzzy Inference System (FIS) produces output from inputs through fuzzy rules.
General flow:
Crisp input
↓
Fuzzification
↓
Rule evaluation
↓
Inference
↓
Aggregation of rule consequents
↓
Defuzzification
↓
Crisp outputA classical Mamdani system has four basic components:
- Fuzzifier
- Knowledge / rule base
- Inference engine
- Defuzzifier
The same four-stage structure remains a common way to describe a fuzzy inference system.
2.2. Fuzzification
Fuzzification is the process of calculating the membership degrees of a crisp input in the relevant fuzzy sets.
For example, for:
Temperature = 27 °Cwe might obtain:
μWARM(27) = 0.6
μHOT(27) = 0.7The input is no longer represented only as:
27From the perspective of the inference system, it becomes:
27 °C → {WARM:0.6, HOT:0.7}2.3. Rule Base
The rule base carries expert knowledge in a fuzzy system.
General form:
IF <antecedent> THEN <consequent>Example:
IF temperature is HOT
AND humidity is HIGH
THEN fan speed is FASTAnother example:
IF vehicle speed is SLOW
AND distance to target is FAR
THEN INCREASE motor powerRules can express expert behavior in place of an explicit numerical model.
2.4. Antecedent and Consequent
A fuzzy rule has two parts.
2.4.1. Antecedent
IF temperature is HOT AND humidity is HIGH2.4.2. Consequent
THEN fan speed is FASTThe antecedent determines the degree to which the rule is active.
The consequent determines how that activation is transferred into the output space.
2.5. Rule Firing Strength
For example, let:
μHOT(T) = 0.7
μHIGH_HUMIDITY(H) = 0.4and suppose AND uses min:
w = min(0.7, 0.4)
w = 0.4This value is the rule's firing strength.
If product is used:
w = 0.7 * 0.4
w = 0.28Thus the AND operator is more than an implementation detail; it is a design decision that affects system behavior.
2.6. Mamdani Inference System
Mamdani-type fuzzy inference is one of the best-known methods in engineering.
It was demonstrated by E. H. Mamdani and S. Assilian in 1975 in the context of steam-engine control.
A typical Mamdani rule is:
IF x is A
AND y is B
THEN z is Cwhere:
A, B → input fuzzy sets
C → output fuzzy setExamples:
IF budget is INSUFFICIENT
THEN risk is HIGHor:
IF temperature is HOT
AND humidity is HIGH
THEN fan speed is FAST2.7. Stages of Mamdani Inference
Mamdani inference generally proceeds as follows:
1. Receive crisp inputs
2. Fuzzify inputs
3. Calculate firing strength of each rule
4. Apply implication to each rule consequent
5. Aggregate all rule outputs
6. Defuzzify the aggregated fuzzy outputEach stage should be considered explicitly.
2.8. Mamdani Implication
Suppose a rule has firing strength:
w = 0.4and consequent set:
FAST2.8.1. Clipping
In a classical Mamdani approach:
μresult(z) = min(w, μFAST(z))The membership function is clipped at level w.
2.8.2. Scaling
Alternatively:
μresult(z) = w * μFAST(z)scales the membership function.
The two methods do not necessarily produce the same result.
2.9. Aggregating Rule Consequents
Many rules may affect the same output variable.
For example:
Rule 1 → FAST, degree 0.4
Rule 2 → MEDIUM, degree 0.7
Rule 3 → FAST, degree 0.2These consequents are combined into a single output fuzzy set.
A common aggregation method is:
maxFor every output point:
μagg(z) = max(μ1(z), μ2(z), ..., μn(z))This operation is called aggregation.
2.10. Defuzzification
After Mamdani inference, the output is still a fuzzy set.
A physical system generally requires a crisp value such as:
motor power = ?
fan PWM = ?
valve opening = ?
green-light duration = ?The process of obtaining a crisp number from a fuzzy output is called defuzzification.
2.11. Centroid Method
One of the most common defuzzification methods is the centroid / center-of-gravity method.
For a continuous output:
∫ z μ(z) dz
z* = -------------------------
∫ μ(z) dzThis gives the geometric center of gravity of the aggregated fuzzy set.
With discrete sampling:
Σ zi μ(zi)
z* = -------------------------
Σ μ(zi)may be used.
Mamdani examples commonly use the centroid method.
2.12. Other Defuzzification Methods
Centroid is not the only option.
2.12.1. Bisector
Select the point that divides the area into two equal parts.
2.12.2. Mean of Maximum — MOM
Take the mean of all points having maximum membership.
2.12.3. Smallest of Maximum — SOM
Select the smallest value having maximum membership.
2.12.4. Largest of Maximum — LOM
Select the largest value having maximum membership.
Method selection should consider:
- computational cost,
- output precision,
- system behavior,
- real-time requirements.
2.13. Mamdani Example: Risk Assessment
Project risk can be modeled as a compact two-input fuzzy inference example.
Inputs:
Budget
Number of EmployeesOutput:
RiskLinguistic sets:
Budget:
INSUFFICIENT
TIGHT
SUFFICIENT
Employees:
FEW
MANY
Risk:
LOW
NORMAL
HIGHExample rules:
IF budget is SUFFICIENT
OR employees are FEW
THEN risk is LOW
IF budget is TIGHT
AND employees are MANY
THEN risk is NORMAL
IF budget is INSUFFICIENT
THEN risk is HIGHFor an input pair such as:
Budget = 70
Employees = 45each input is evaluated in the corresponding membership functions.
Multiple rules may fire simultaneously.
This is one of the key differences between a fuzzy system and a crisp decision table.
2.14. Sugeno Inference System
In the Takagi-Sugeno-Kang (TSK) approach, the consequent does not have to be a fuzzy output set as it is in Mamdani systems.
A first-order Sugeno rule may be:
IF x is A
AND y is B
THEN z = p*x + q*y + rA zero-order Sugeno system uses a constant consequent:
z = cFor example:
IF budget is INSUFFICIENT
THEN risk = 902.15. Calculating Sugeno Output
Let each rule have firing strength:
wiand crisp consequent:
ziThe overall output is calculated as a weighted average:
Σ wi * zi
z* = -------------------------
Σ wiFor example:
w1 = 0.1, z1 = 20
w2 = 0.2, z2 = 50
w3 = 0.5, z3 = 80then:
z* =
(0.1*20 + 0.2*50 + 0.5*80)
/
(0.1 + 0.2 + 0.5)
= 65Therefore, Sugeno systems do not require a separate output-membership-set defuzzification stage in the classical Mamdani sense.
2.16. Zero-order and first-order Sugeno
2.16.1. Zero-order
IF x is A THEN z = cEvery consequent is constant.
Advantages:
- simple,
- fast,
- suitable for embedded systems.
2.16.2. First-order
IF x is A AND y is B
THEN z = p*x + q*y + rThe output is a linear function of the inputs.
This structure is powerful for data-driven system identification and adaptive learning.
2.17. Mamdani versus Sugeno
- Rule consequent: Mamdani: Fuzzy set; Sugeno: Constant or function.
- Interpretability: Mamdani: Usually high; Sugeno: Consequent is more mathematical.
- Defuzzification: Mamdani: Required; Sugeno: Weighted average.
- Computation: Mamdani: Can be heavier; Sugeno: Usually faster.
- Data-driven tuning: Mamdani: Possible; Sugeno: Especially suitable.
- Human expert rules: Mamdani: Very natural; Sugeno: Antecedent natural, consequent mathematical.
- Control: Mamdani: Common; Sugeno: Strong in dynamic and adaptive systems.
There is no universal rule that Mamdani is “more accurate” or Sugeno is simply “faster.”
The choice depends on the structure of the problem.
2.18. Tsukamoto Inference
Another method, though discussed less often than Mamdani and Sugeno, is Tsukamoto inference.
In a Tsukamoto system, the fuzzy set in each rule consequent must have a monotonic membership function.
Each rule produces a crisp:
zifrom its firing strength:
wiThe final output is again calculated in a weighted-average-like form.
Tsukamoto can be viewed conceptually as lying between Mamdani and Sugeno, although its use is more limited.
2.19. There Is No Single Correct Inference Method
Even with the same:
- membership functions,
- input values,
- rule base,
using:
AND = mininstead of:
AND = productor:
implication = mininstead of:
implication = productmay produce different results.
Changing the defuzzification method can likewise alter the output.
A FIS is therefore:
more than a list of rules.
Its complete definition includes at least:
input ranges
membership functions
rule base
AND method
OR method
implication
aggregation
defuzzification
scaling2.20. Rule-Base Design Principles
A fuzzy rule base is generally created from three sources.
2.20.1. Expert Knowledge
An operator or domain expert may provide rules such as:
IF error is large positive
AND error is increasing
THEN strongly increase control2.20.2. Data
Rules can be generated by examining input-output examples.
2.20.3. Physical Knowledge
Known system behavior constrains the rule logic.
For example, in temperature control:
IF the room is already very hot
THEN increase heater poweris physically nonsensical.
2.21. Rule Explosion
When many membership functions are used for each input, the rule count grows rapidly.
For example:
3 inputs
5 membership functions per inputfull combination:
5^3 = 125rules.
With six inputs:
5^6 = 15,625This is the rule explosion problem.
Possible approaches include:
- fewer membership functions,
- hierarchical FIS,
- sparse rule bases,
- data-driven rule generation,
- feature selection,
- connecting several smaller FIS components.
Modern tools also support structures such as FIS trees for this purpose.
2.22. Rule Weights
Not every rule has to carry the same confidence.
A rule weight may be defined as:
0 ≤ wrule ≤ 1For example:
IF vibration is HIGH
THEN failure risk is HIGH
Weight = 0.9A weaker expert rule could be included with:
Weight = 0.5Assigning arbitrary weights does not make a system more reliable.
Weights should be supported by:
- expert rationale,
- data,
- optimization.
2.23. Scaling Factors
Physical inputs in control systems are often normalized.
For example, let:
e = physical error
Ge = input scaling gainThen:
en = Ge * eproduces a normalized input.
Similarly:
Δen = Gde * Δe
Δu = Gdu * Δunmay be used.
Scaling factors can strongly affect fuzzy-controller behavior, much like controller gains.
2.24. Rule Explosion, Monotonicity, and Coverage
Rule counts grow quickly with input dimensionality and membership sets. A full table is often unnecessary; meaningful interactions should be modeled while uncovered regions are tested explicitly.
A rule base can also create unintended non-monotonic behavior. If an output should never decrease as a risk variable increases, the generated surface should be scanned numerically rather than checked at a few hand-picked points.
Explainability does not automatically improve as the number of fuzzy rules grows; the rule surface must remain inspectable and testable.
From rule activation to a numerical output. In zero-order Sugeno inference, suppose two rules fire with strengths w₁ = 0.25 and w₂ = 0.75, producing constant consequents z₁ = 20 and z₂ = 80. The weighted result is z = (w₁z₁ + w₂z₂)/(w₁ + w₂) = (5 + 60)/1 = 65. A rule with zero firing strength contributes nothing. If all strengths vanish, the denominator is zero, so a safe default or hold-last-valid-output policy must be designed explicitly. With more rules, the same weighted normalization applies. This computation must not be confused with centroid defuzzification of a Mamdani output membership function; the two approaches are not generally equivalent.
Unit 3: Fuzzy Control and Real-Time Design
Fuzzy-controller design begins by scaling inputs such as error and error rate to the physical plant. Inspect the resulting control surface in simulation; stability and actuator saturation cannot be delegated to intuitive rule names. For deployment, assess sampling interval, sensor noise, and delay together. One successful tracking experiment is insufficient without checking output bounds across initial conditions and disturbances.
3.1. Fuzzy Control
The purpose of a controller is to drive a measured system output toward desired behavior.
Classical feedback:
Reference r(t)
↓
(-) ← y(t)
↓
Error e(t)
↓
Controller
↓
Control u(t)
↓
Process
↓
Output y(t)In a fuzzy controller, the controller block contains a rule-based FIS.
3.2. Error and Change in Error
Two very common fuzzy-control inputs are:
e(k) = r(k) - y(k)and:
Δe(k) = e(k) - e(k-1)The output may be:
u(k)or, in incremental form:
Δu(k) = u(k) - u(k-1)The same structure is suitable for the temperature-control example.
3.3. Rationale for Using Error Derivatives
Error magnitude alone does not indicate the direction of system motion.
Suppose in two cases:
e = +5In the first case, error is decreasing rapidly:
Δe < 0In the second, error is growing:
Δe > 0The same control action may not be appropriate in both cases.
The pair:
e
Δetherefore carries both position and trend information.
3.4. Linguistic Sets for Control
A classical term set for error and change in error is:
NB → Negative Big
NS → Negative Small
ZE → Zero
PS → Positive Small
PB → Positive BigA more detailed system may use seven terms:
NB
NM
NS
ZE
PS
PM
PBMore membership functions do not automatically mean better control.
As membership count increases, so do:
- rule count,
- tuning complexity,
- computational load.
3.5. Example fuzzy-control Rule
Depending on the sign convention, a rule may be:
IF error is PB
AND change in error is PS
THEN change in control is PBAnother rule may be:
IF error is ZE
AND change in error is ZE
THEN change in control is ZEThe rule table is not universal.
For example:
e = reference - measurementand:
e = measurement - referencerequire opposite sign conventions in the rule table.
Using a ready-made rule table outside its original context is therefore incorrect.
3.6. Fuzzy Control versus on-off Control
On-off control may behave sharply:
e > 0 → full power
e < 0 → offHysteresis can be added to reduce rapid switching.
Fuzzy control can instead produce graded behavior such as:
increase slightly
increase moderately
increase strongly
hold
reduce slightlyThis can provide smoother control in uncertain and nonlinear systems.
3.7. Fuzzy Control versus PID
A PID controller operates as:
u(t) =
Kp*e(t)
+ Ki*∫e(t)dt
+ Kd*de(t)/dtPID is:
- simple,
- well understood,
- widely used,
- analyzable,
- sufficient for many processes.
Fuzzy control can:
- incorporate expert knowledge,
- represent nonlinear behavior easily,
- operate without a complete mathematical model.
However:
Fuzzy control is not automatically better than PID.
For a simple process where PID works well, a fuzzy controller may add unnecessary complexity.
3.8. Fuzzy PID
The two approaches can be combined.
For example, a fuzzy system may tune:
Kp
Ki
Kdgains according to operating conditions.
Flow:
e, Δe
↓
Fuzzy tuner
↓
Kp, Ki, Kd
↓
PID
↓
ProcessThis is used in fuzzy PID / gain scheduling controllers.
3.9. The Stability Question
The source notes list the difficulty of stability analysis among the disadvantages of fuzzy systems.
This is partly correct.
Analytical stability methods are more direct for simple linear systems such as classical PID-controlled plants.
Fuzzy controllers can be harder to analyze because of:
- many rules,
- nonlinear surfaces,
- piecewise behavior.
However, the statement:
“The stability of fuzzy systems cannot be analyzed.”
is incorrect.
Lyapunov-based methods, sector conditions, LMI approaches, and Takagi-Sugeno model-based stability analysis can be used.
3.10. Performance Metrics
The quality of a fuzzy controller should not be judged only from its surface plot.
Control-system metrics may include:
- rise time,
- settling time,
- overshoot,
- undershoot,
- steady-state error,
- integral absolute error,
- integral squared error,
- control energy,
- disturbance rejection,
- noise sensitivity.
For example:
IAE = ∫ |e(t)| dtand:
ISE = ∫ e(t)^2 dtcan be used.
3.11. Surface Plot
For a two-input, one-output FIS:
z = F(x,y)can be visualized as a three-dimensional surface.
This is useful for identifying:
- discontinuities in the rule base,
- excessively steep regions,
- unexpected inverse behavior,
- unused input regions,
- control saturation.
Representative surface-plot examples include:
budget
number of employees
riskand:
speed
queue length
green-light durationthrough surface plots.
3.12. Traffic-light Example
A two-input traffic-light model illustrates the same inference structure.
Inputs:
Main-road average speed: [0,60] km/h
Side-road queue length: [0,200] mOutput:
Green-light duration: [0,90] sLinguistic values:
Speed:
SLOW
NORMAL
FAST
Queue:
SHORT
NORMAL
LONG
Green Duration:
SHORT
MEDIUM
LONGExample rules:
IF speed is FAST
THEN green duration is LONG
IF speed is NORMAL
AND queue is SHORT
THEN green duration is SHORT
IF speed is NORMAL
AND queue is LONG
THEN green duration is LONGThe most instructive aspect of this example is not a single result value, but:
the input-output surface created by all rules together.
3.13. Tipping Example
A classic problem frequently used when teaching fuzzy logic is:
service quality
food quality
→ tipFor example:
IF service is POOR
OR food is STALE
THEN tip is LOW
IF service is AVERAGE
THEN tip is MEDIUM
IF service is GOOD
OR food is GOOD
THEN tip is HIGHThis problem is suitable for demonstrating:
- membership functions,
- the OR operation,
- Mamdani inference,
- defuzzification.
3.14. Multiple-input Systems
A FIS does not have to be:
1 input → 1 outputFor example, a system may be constructed as:
Inputs:
soil moisture
soil temperature
Outputs:
motor operating time
motor speedA representative application produces motor speed and operating time from temperature and humidity inputs.
3.15. Multiple-output Systems
Multiple outputs can be generated as:
F(x1, x2, ..., xn)
→ y1, y2, ..., ymAs the system becomes more complex, however:
- rule interpretability,
- number of rules,
- interactions among outputs
can become difficult to manage.
Sometimes, several smaller FISs that feed one another are more manageable than one large multiple-output system.
3.16. Real-time Embedded Implementation
A MATLAB-Arduino example measures:
temperature
humidityand produces:
motor PWM
motor operating timeA typical loop in a real-time fuzzy control system is:
Read sensors
↓
Scale to physical units
↓
Evaluate the FIS
↓
Clamp the output to safe limits
↓
Apply it to the actuator
↓
Wait for the next sampling instantThe FIS is not the only design concern. The system design must also include:
- sensor calibration,
- sampling time,
- actuator saturation,
- safety limits,
- communication failures.
3.17. Sampling Time
In a digital control system, the sampling period:
Tsis a critical parameter.
Sampling that is too slow can produce:
- delayed control action,
- oscillation,
- poor disturbance rejection.
Excessively fast sampling can produce:
- unnecessary computational load,
- increased sensitivity to sensor noise.
Using fuzzy logic does not eliminate this classical control-engineering problem.
3.18. Saturation and Limits
A FIS should not produce physically impossible outputs such as:
motor power = 130%If the actuator range is:
0 ≤ PWM ≤ 255then the output must be limited accordingly.
Inputs falling outside the expected universe of discourse must also be handled.
For example:
expected temperature = [-20,50]
measured temperature = 75The system behavior for this case should be defined in advance.
3.19. Practical Sequence for FIS Design
A useful starting sequence for an engineering problem is:
1. Define the control or estimation objective
2. Select the inputs
3. Select the outputs
4. Define the physical ranges
5. Define the scaling structure
6. Define the linguistic terms
7. Construct the membership functions
8. Build the rule base
9. Select the inference operators
10. Select the defuzzification method
11. Inspect the surface
12. Simulate
13. Test boundary cases
14. Tune the parameters
15. Validate on the real system3.20. Determining the Number of Membership Functions
Increasing the number of membership functions makes the model more detailed.
However:
too many membership functions
→ too many rules
→ too many parameters
→ more difficult tuning
→ possible overfittingFor an initial design, many control problems can use an odd number of symmetric sets such as:
3
5
7This is not a rule, however.
The structure of the data or process may require asymmetric memberships.
3.21. Overlap
Overlap between neighboring membership functions provides smooth transitions.
For example, if the sets:
COLD
WARM
HOTdo not overlap at all, the system approaches conventional threshold logic.
Excessive overlap, on the other hand, may cause many rules to fire strongly at the same time.
Good overlap should:
produce transitions in the input space that are smooth while remaining sufficiently discriminative.
3.22. Coverage
At least one meaningful membership function should be active for every possible input value.
For example, suppose:
X = [0,100]but the membership functions cover only:
[0,30]
[40,60]
[70,100]Then no rule may fire in the regions:
30-40
60-70This is a design error.
3.23. Rule Consistency
Rules can conflict:
IF temperature is HOT
THEN fan is FASTand:
IF temperature is HOT
THEN fan is SLOWIf both rules are valid in the same context, they may produce unexpected behavior on the system surface.
Conflicts may arise from:
- differences between expert opinions,
- an incorrect rule,
- missing context,
- too few inputs.
Rule inspection is part of the design process.
3.24. Incomplete Rule Bases
It is not mandatory to write a rule for every input combination.
Not every possible input combination requires an explicit rule in practice, but uncovered regions must be intentional.
An incomplete rule base should nevertheless be intentional.
The following question must be asked:
What happens if the system operates in a region for which no rule has been defined?
In some FIS implementations, no output may be produced or a default behavior may occur.
The operating space should therefore be tested.
3.25. Rule Coverage and Defined Controller Output
A fuzzy controller may require at least one rule with a positive firing strength to produce a defined output. Under product-based firing, a two-input rule can have \(\alpha_i=\mu_{A_i}(e)\mu_{B_i}(\Delta e)\). If every \(\alpha_i=0\), the denominator of a weighted-average defuzzifier vanishes. This is not merely a numerical implementation detail; it reveals a rule-coverage gap.
The input universe is specified first, followed by an examination of whether membership-function supports actually cover that universe. Grid testing can expose gaps but does not mathematically guarantee coverage over a continuous input domain. The union of supports and intersections of rule antecedents should also be analyzed. Clamping inputs beyond physical bounds can map different physical situations to the same fuzzy state.
Behavior when no rule fires must be specified in advance. Safe hold, bounded reference, and fault state are possible policies, but the correct choice depends on the physical plant. Defaulting to zero output is not universally safe. Coverage tests should include boundaries, disconnected sensors, NaN values, noise, and membership-function parameter changes.
Unit 4: ANFIS, Fuzzy Clustering, Decision Making, and Type-2 Systems
4.1. Learning Capabilities of Fuzzy Systems
In a classical, manually designed Mamdani controller:
- a person defines the membership functions,
- an expert writes the rules,
- the parameters remain fixed.
In that sense, the system does not learn by itself.
This does not justify the conclusion that:
“Fuzzy logic systems cannot learn.”
In modern fuzzy systems, the following can be tuned from data:
- membership parameters,
- Sugeno consequent coefficients,
- rule weights,
- and, in some cases, rule structure.
ANFIS is one of the best-known examples in this area.
4.2. ANFIS
An Adaptive-Network-Based Fuzzy Inference System (ANFIS) represents a Sugeno-type fuzzy inference system within an adaptive network structure.
In Jang's 1993 work, the system was presented as a structure capable of combining:
- human knowledge through fuzzy rules,
- numerical data through training samples.
Consider a simple two-input Sugeno system:
Rule 1:
IF x is A1 AND y is B1
THEN f1 = p1*x + q1*y + r1
Rule 2:
IF x is A2 AND y is B2
THEN f2 = p2*x + q2*y + r2The ANFIS training process adjusts:
membership functions
+
consequent coefficientsaccording to the data.
4.3. ANFIS Layers
In the classical ANFIS description, computation can be viewed through the following layers:
Input
↓
Membership degrees
↓
Rule firing strengths
↓
Normalized firing strengths
↓
Sugeno consequents
↓
Total outputFor example:
w1 = μA1(x) * μB1(y)
w2 = μA2(x) * μB2(y)then:
w̄1 = w1 / (w1+w2)
w̄2 = w2 / (w1+w2)and:
f = w̄1*f1 + w̄2*f2may be computed.
4.4. Purpose of neuro-fuzzy Systems
A strength of neural networks can be expressed as:
learning from datawhile a strength of fuzzy systems can be expressed as:
linguistic rule structure and interpretabilityThe objective of a neuro-fuzzy approach is to combine:
learnability
+
rule-based representationAs the number of parameters grows, however, the system may lose some of its original human interpretability.
The assumption that “fuzzy = always explainable” should therefore also be used with caution.
4.5. Training and Overfitting
Tuning membership functions from data is useful.
As in conventional machine learning, however, problems can occur such as:
- overfitting to training data,
- distribution shift,
- fitting to noise,
- poor generalization.
In data-driven FIS design, the data should be separated into:
training
validation
testsets.
4.6. Current MATLAB Note: ANFIS
The MATLAB Fuzzy Logic Toolbox API has changed substantially since 2019.
As of 2026, MathWorks marks:
anfisas “not recommended” and recommends the following approach for new development:
tunefis(... Method="anfis")Instead of moving old code directly into a new project, the current API should be checked.
4.7. Fuzzy C-Means
Fuzzy C-Means (FCM) is a fuzzy-membership form of the classical k-means approach.
In k-means, a sample is assigned:
to only one clusterIn FCM, the same sample may have memberships such as:
Cluster 1 → 0.7
Cluster 2 → 0.3This approach is useful for data sets whose boundaries naturally overlap.
The fundamental ideas of FCM go back to Dunn's 1973 work, while its widely used algorithmic form is associated with Bezdek and colleagues.
4.8. FCM Objective Function
The classical FCM objective function is:
Jm =
Σ_i Σ_j uij^m ||xi - cj||²where:
uij → membership of sample i in cluster j
m → fuzziness coefficient
cj → cluster centerUnlike classical k-means, memberships are graded subject to:
Σ_j uij = 14.9. FCM Application Areas
- image segmentation,
- grouping sensor data,
- pattern recognition,
- customer segmentation,
- grouping fault conditions,
- generating initial membership functions for a FIS.
However, FCM:
- requires the number of clusters in advance,
- may be sensitive to outliers,
- can be affected by initial conditions.
4.10. Fuzzy Decision Making
Bellman and Zadeh's 1970 work considered decision problems in which objectives and constraints are represented by fuzzy sets rather than crisp boundaries.
For example, each of the following statements can be modeled by a membership function:
cost should be low
performance should be high
risk should be acceptableThe overall suitability of a decision alternative can be evaluated through the intersection of:
objectives
∩
constraints4.11. Fuzzy multi-criteria Decision Making
Real decision problems contain concepts such as:
very important
moderately important
approximately good
low risk
high costConverting these directly into crisp numbers is not always straightforward.
Fuzzy multi-criteria decision-making methods may use approaches such as:
- Fuzzy AHP,
- Fuzzy TOPSIS,
- fuzzy weighted sum,
- fuzzy compromise methods.
Adding the word “fuzzy” to a method name does not make the decision objective.
Membership functions and expert assessments still contain assumptions.
4.12. Type-1 and Type-2 Fuzzy Sets
The preceding treatment describes Type-1 fuzzy sets.
In a Type-1 system:
x → one membership degreeis assigned.
For example:
μHOT(27) = 0.65This can raise another question:
How certain are we about the value
0.65itself?
Type-2 fuzzy sets were developed to model uncertainty in the membership degree itself.
4.13. Interval Type-2 Fuzzy Set
In an Interval Type-2 system, membership for an input may be an interval rather than a single number.
For example:
μHOT(27) ∈ [0.55, 0.75]This interval can represent:
- different expert opinions,
- sensor uncertainty,
- changing operating conditions,
- uncertainty in the membership function.
The region between the upper and lower membership functions is called the:
Footprint of Uncertainty — FOU4.14. Cost of Type-2 Systems
Type-2 fuzzy systems can model additional uncertainty.
However:
- computation is more complex,
- type reduction is required,
- the number of parameters increases,
- tuning becomes more difficult.
It therefore cannot be said that a Type-2 system:
is automatically better than a Type-1 system.
Modeling the additional uncertainty should produce a meaningful performance benefit.
4.15. Type Reduction
A Type-2 inference result generally passes through a type reduction stage before being converted to a crisp value.
Common methods include:
- Karnik-Mendel,
- Enhanced Karnik-Mendel,
- IASC,
- EIASC.
The current MATLAB Fuzzy Logic Toolbox supports Interval Type-2 Mamdani and Sugeno systems.
4.16. Separate Antecedent and Consequent Learning in ANFIS
For a two-rule Sugeno model, let firing strengths be w1,w2, normalized weights α_i=w_i/(w1+w2), and linear consequents f_i=a_i x+b_i. The output is y=α1 f1+α2 f2. If membership parameters remain fixed, consequent coefficients can be fitted by least squares using an appropriate design matrix. Once membership functions change, retaining the same coefficients is generally not justified.
Such hybrid learning is not identical to second-order Newton optimization. Near-zero total firing, overfitting, duplicated rules, and physically implausible membership regions require separate checks.
Unit 5: AI Relationships, Explainability, and Verification
5.1. Fuzzy Logic and Artificial Intelligence
Fuzzy logic is one of the historical symbolic and approximate-reasoning tools of artificial intelligence.
It is particularly useful as a bridge among:
expert knowledge
+
linguistic rules
+
numerical measurementsIn modern artificial intelligence, fuzzy logic can be used in areas such as:
- decision support,
- control,
- explainable models,
- hybrid neural-network systems,
- classification under ambiguity,
- soft boundaries between data groups.
5.2. Difference Between Fuzzy Logic and Machine Learning
A classical fuzzy system may operate through:
human-defined memberships
+
human-defined rulesMachine learning generally learns model parameters through:
data
+
loss function
+
optimizationA fuzzy system:
- can be constructed with very little data,
- can incorporate expert knowledge,
- can be structurally interpretable.
Machine learning:
- is powerful for high-dimensional patterns,
- can learn relationships for which manually writing rules is difficult.
Hybrid systems can combine the two approaches.
5.3. Fuzzy Logic and Probabilistic Models
Fuzzy and probabilistic models do not have to be competitors.
A single system may simultaneously contain:
measurement uncertainty → probabilistic
conceptual vagueness → fuzzyFor example, sensor measurement error may be modeled as:
T ~ Normal(25, 0.5²)while the concept:
“hot”may be represented by a fuzzy membership function.
Separating these two kinds of uncertainty is important for sound modeling.
5.4. Conditions for Fuzzy Logic Applications
The following conditions are strong indicators:
- experts can express control knowledge as verbal rules,
- the system is nonlinear,
- crisp thresholds create artificial behavior,
- constructing a complete physical model is difficult,
- an interpretable control surface is desired,
- an approximate solution with low computational cost is needed.
5.5. Limitations of Fuzzy Logic Applicability
Another method may be preferable when:
- an accurate and simple mathematical model of the system exists,
- a strong analytical control method is readily applicable,
- the problem is a very high-dimensional perception task,
- writing meaningful rules is impractical,
- membership functions remain entirely arbitrary,
- formal guarantees are required for safety-critical assurance.
For example, manually writing thousands of fuzzy rules for object recognition in images is generally less suitable than modern deep-learning approaches.
5.6. Advantages
Strengths of fuzzy systems include:
- They naturally represent concepts without crisp boundaries.
- Expert knowledge can be transferred directly into a rule base.
- They can construct nonlinear input-output relationships.
- They can reduce the need for a complete mathematical model in complex systems.
- Small systems can operate with low computational cost.
- Inspectable rules can provide interpretability.
- Sensor data and linguistic knowledge can be combined in the same system.
- They can be used for control, prediction, decision making, and classification.
5.7. Limitations
- Selection of membership functions can be subjective.
- Rule-base quality can depend on expert quality.
- The number of rules can explode as the number of inputs grows.
- Stability and performance proofs can be harder than for classical linear controllers.
- Incorrect scaling can invalidate otherwise reasonable rules.
- Interpretability can disappear in very large rule bases.
- A data-tuned system can overfit.
- The physical meaning of fuzzy memberships can be misinterpreted.
- Probability and membership degree can be confused.
5.8. The Statement “Does Not Require a Mathematical Model”
This statement is sometimes listed as an advantage, but it should be read carefully.
A more precise statement is:
Fuzzy control can make it possible to design a controller for some problems using expert rules without requiring a detailed analytical process model.
This does not mean:
Mathematical reasoning or a system model is never needed.
The following still need to be understood:
- input ranges,
- physical limits,
- dynamic behavior,
- sampling,
- delays,
- stability,
- safety limits.
5.9. Similarity to Human Reasoning
Fuzzy logic is suitable for processing expressions such as:
low
medium
high
approximately
hot
slow
high riskIn this respect, it provides a representation similar to verbal decision rules used by people.
It cannot, however, be claimed that:
Fuzzy logic has been proven to be an actual model of how the human brain works.
It is an engineering model.
Human cognition includes much broader processes such as:
- probabilistic reasoning,
- symbolic processing,
- learning,
- memory,
- perception,
- intuition.
5.10. Fuzzy Logic and Explainability
In a small system, a rule such as:
IF temperature is high
AND humidity is high
THEN fan is very fastis readily understandable.
Fuzzy systems can therefore be useful for explainable artificial intelligence.
Explainability decreases, however, in systems with hundreds of inputs and thousands of rules.
Explainability should be assessed together with:
number of rules
semantic meaningfulness of membership functions
simplicity of the output surface5.11. Fuzzy Control in Critical Systems
Fuzzy controllers can be used in fields such as:
- automotive systems,
- industrial control,
- robotics,
- energy,
- transportation.
For a critical system, working well in simulation is not sufficient.
The following conditions should be examined:
normal operation
boundary conditions
sensor failure
actuator saturation
noise
delay
communication loss
unexpected inputFuzzy logic does not replace safety engineering.
5.12. Verification
A fuzzy system should be verified systematically.
5.12.1. Coverage Test
Is an output produced throughout the entire input space?
5.12.2. Monotonicity Test
Does the output decrease in a region where physics requires it to increase?
5.12.3. Boundary Test
Is there abrupt behavior at membership boundaries?
5.12.4. Rule Test
Does each rule fire in the expected region?
5.12.5. Surface Test
Are there unexpected peaks or valleys?
5.12.6. Time-domain Test
Is the control system stable under the actual dynamics?
5.13. Sensitivity Analysis
Change a membership-function parameter by a small amount:
a → a + δand measure the change in the system output.
The same procedure can be applied to:
- rule weights,
- scaling gains,
- the defuzzification method.
If a very small parameter change causes a very large output change, the system may be fragile.
5.14. Monte Carlo and Scenario Testing
If the inputs are noisy in the real system, randomized samples can be used for testing.
For example:
T = 25 ± sensor noise
Humidity = 60 ± sensor noiseThe FIS can be evaluated for thousands of samples.
The following can then be observed:
- output distribution,
- limit violations,
- control oscillation,
- worst-case behavior.
Although fuzzy logic itself is not probability, this is an example of using probabilistic testing to verify a fuzzy system.
5.15. Separate Learned and Specified Parts in neuro-fuzzy Systems
In ANFIS-like systems, membership parameters or rule consequents may be learned from data. The system does not become a completely opaque neural network, but it is also inaccurate to call every rule fully human-defined. Learned and fixed parameters should remain traceable.
5.16. Rule Explosion in High Dimensions
With only three fuzzy sets per input, a full grid over d variables can require roughly 3^d rules. High-dimensional perception problems therefore challenge direct fuzzy-rule scaling. Clustering, feature selection, or hierarchical structures can help, but simplicity and interpretability must be re-evaluated.
5.17. Distinguish Fuzzy, Probabilistic, and Learned Uncertainty
“Membership 0.8,” “probability 0.8,” and “model score 0.8” do not carry the same semantics. Interfaces and decision logic should not treat them as interchangeable.
5.18. Making fuzzy-system Behavior Auditable
A FIS should not be evaluated from a few sample inputs alone. Sweeping the input space can reveal discontinuities, saturation, uncovered regions, or unintended non-monotonic behavior.
If membership functions or rule weights are fitted from data, training and evaluation data should be separated. If rules are expert-defined, the assumption represented by each important rule should remain explicit.
Mamdani, Sugeno, and different defuzzification methods can produce different numerical behavior from similar rules. Method choice should be evaluated against output sensitivity and physical system limits.
5.19. Separating Fuzzy Inference from Robust Statistics
Robust statistics asks how much an estimator degrades under small departures from an idealized model. When fuzzy-system parameters are estimated from experimental data, the median and MAD can limit the effect of outliers; influence functions and breakdown points more formally describe the robustness of the estimator that produces membership or rule parameters. In heavy-tailed or contaminated data, decisions based only on the mean and standard deviation can be misleading.
- Keep membership degree distinct from probability and outlier robustness.
- Study robust preprocessing before membership functions when inputs are contaminated.
- Test rule-base sensitivity to small measurement changes near decision boundaries.
Unit 6: MATLAB, Deployment, and Implementation Engineering
6.1. Current MATLAB Fuzzy Logic Toolbox
The 2019 MATLAB API family used the older interface:
newfis
addvar
addmf
addrule
FIS structureThese examples remain valuable historically and pedagogically, but they should not be used as the primary basis for new MATLAB versions.
The current object-based structure uses:
mamfis
sugfis
mamfistype2
sugfistype2
addInput
addOutput
addMF
addRule
evalfisAccording to MathWorks documentation, support for the legacy FIS structure in core functions such as evalfis was removed as of R2024b.
6.2. Simple Mamdani Example with Current MATLAB
The following structure demonstrates the current object-based API:
fis = mamfis(Name="tip");
fis = addInput(fis,[0 10],Name="service");
fis = addMF(fis,"service","trapmf",[0 0 2 4],Name="poor");
fis = addMF(fis,"service","trimf",[2 5 8],Name="average");
fis = addMF(fis,"service","trapmf",[6 8 10 10],Name="good");
fis = addInput(fis,[0 10],Name="food");
fis = addMF(fis,"food","trapmf",[0 0 2 4],Name="bad");
fis = addMF(fis,"food","trapmf",[6 8 10 10],Name="good");
fis = addOutput(fis,[0 30],Name="tip");
fis = addMF(fis,"tip","trimf",[0 5 10],Name="low");
fis = addMF(fis,"tip","trimf",[10 15 20],Name="medium");
fis = addMF(fis,"tip","trimf",[20 25 30],Name="high");
rules = [
"If service is poor or food is bad then tip is low"
"If service is average then tip is medium"
"If service is good or food is good then tip is high"
];
fis = addRule(fis,rules);
result = evalfis(fis,[8 7]);The purpose of this example is not to teach MATLAB, but to show the current API equivalent of the structure used in 2019.
6.3. Inspecting FIS Behavior in MATLAB
With current tools:
showrule(fis)can be used to inspect rules,
plotmf(fis,"input",1)membership functions, and
gensurf(fis)the input-output surface.
Depending on the options used, evalfis can also provide intermediate inference results rather than only the final crisp output.
This is useful for debugging.
6.4. Current Deployment Options
The current Fuzzy Logic Toolbox supports use and deployment through:
- MATLAB,
- Simulink,
- C/C++ code generation,
- IEC 61131-3 Structured Text,
- Type-1 FIS,
- Interval Type-2 FIS,
- FIS trees.
This shows that fuzzy logic is not limited to an educational MATLAB interface.
6.5. Implementing a Fuzzy System in Plain Software
A special-purpose library is not mandatory for implementing a fuzzy inference system.
A simple Mamdani system can be written directly with:
membership(x)
min / max
rule evaluation
aggregation
centroidFor example, a triangular membership function can be implemented in Python-like pseudocode as:
def trimf(x, a, b, c):
if x <= a or x >= c:
return 0.0
if x <= b:
return (x - a) / (b - a)
return (c - x) / (c - b)In production, details such as:
- division by zero,
- equal parameters,
- boundary behavior,
- floating-point precision
must also be handled.
6.6. Computational Cost
A small Mamdani system can be inexpensive on an embedded processor.
The cost increases approximately with:
number of membership functions
+
number of fired rules
+
output sampling resolutionA Sugeno system can be less costly in many real-time applications, particularly because it computes the result through a weighted average.
6.7. Fixed-point Implementation
On a resource-constrained microcontroller, fixed-point arithmetic may be used instead of floating point.
For example, membership may be represented over:
0 ... 255instead of:
0.0 ... 1.0In that case:
min
max
multiplication
weighted averagecan be implemented using scaled integers.
Overflow and quantization errors must nevertheless be analyzed.
6.8. Design Mistakes
Common mistakes include:
- Confusing probability with membership degree.
- Failing to select the universe of discourse according to the physical range.
- Leaving gaps between membership functions.
- Using more membership functions than necessary.
- Reversing the physical sign convention in the rule base.
- Evaluating the system using only one example.
- Failing to inspect the surface plot.
- Ignoring sensor noise.
- Leaving actuator limits to the FIS itself.
- Assuming that “a fuzzy system thinks like a human.”
- Using the legacy MATLAB API directly in new versions.
- Accepting a learned FIS without validation data.
6.9. A Practical Engineering Model for Fuzzy Logic
The following flow can be used for a problem:
Problem
↓
Are crisp thresholds actually a problem?
↓
Can meaningful linguistic variables be defined?
↓
Select inputs and outputs
↓
Define universes of discourse
↓
Construct membership functions
↓
Create rules from experts / data
↓
Choose Mamdani / Sugeno
↓
Select inference operators
↓
Surface analysis
↓
Simulation
↓
Performance measurement
↓
Sensitivity and boundary tests
↓
Validation on the real systemUnit 7: Applied Exercises
7.1. Exercise 1 — Temperature Memberships
For the range:
0-50 °Cdesign three membership functions:
COLD
WARM
HOTCalculate the membership degrees of:
10
20
25
30
40 °Cin each set.
Then explain why the memberships are not required to sum to 1.
7.2. Exercise 2 — Distinction from Probability
Distinguish the following two statements mathematically:
The probability of rain tomorrow is 0.7.Today's weather belongs to the concept “rainy” with degree 0.7.Explain why the two values of 0.7 do not have the same meaning.
7.3. Exercise 3 — Mamdani
Inputs:
Temperature: [0,50]
Humidity: [0,100]Output:
Fan: [0,100]Create three linguistic values for each variable.
Write at least nine rules.
Then, for:
T = 32 °C
Humidity = 75%manually calculate:
- fuzzification,
- rule firing,
- implication,
- aggregation,
- centroid.
7.4. Exercise 4 — Sugeno
Convert the same problem to a zero-order Sugeno system.
Let the consequent constants be:
SLOW = 20
MEDIUM = 50
FAST = 90Compare the Mamdani and Sugeno results.
7.4.1. Zero-order Sugeno for Communication Intensity
An interpretable decision-support example for Sugeno inference is to derive communication intensity from communication records. The output is not a judgment of risk, suspicion, or personal importance; it only summarizes frequency, persistence, and reciprocity within the selected dataset.
Normalize three inputs to [0,1]:
F = percentile of relation frequency
P = relation active days / dataset active days
R = 2 * min(A->B, B->A) / (A->B + B->A)R should be computed only when direction information is reliable. Assigning R = 0 when direction is unknown would turn missing evidence into an observed absence of reciprocity; rules requiring R should instead be skipped for that case.
Each input can use LOW, MID, and HIGH membership functions. One transparent design is: LOW remains 1 through 0.25 and falls linearly to 0 at 0.50; MID is a 0.25-0.50-0.75 triangle; HIGH rises after 0.50 and reaches full membership at 0.75. These boundaries are model parameters, not universal truths, and should be validated against domain data.
Zero-order Sugeno consequents can be fixed constants:
HIGH frequency AND HIGH persistence -> 0.90
HIGH frequency AND HIGH reciprocity -> 0.85
HIGH persistence AND HIGH reciprocity -> 0.80
MID frequency AND MID persistence -> 0.55
HIGH frequency AND LOW persistence -> 0.50
LOW frequency AND HIGH persistence -> 0.45
LOW frequency AND MID persistence -> 0.30
LOW frequency AND LOW persistence -> 0.15With minimum as the AND t-norm, each rule has firing strength w_i, and the final output is:
y = sum(w_i * c_i) / sum(w_i)If the result is 0.72, a user interface may simply show "communication intensity: high" while an expandable detail view exposes frequency, persistence, reciprocity, and the rules that contributed most. Mathematical complexity remains internal without making the result opaque.
The example requires no model training. Membership functions and rules are explicit, so the same input deterministically produces the same output. Interpretability does not make the rule base automatically correct, however; thresholds still require domain validation and error analysis. A foundational source for the Takagi-Sugeno approach is Takagi and Sugeno, Fuzzy Identification of Systems and Its Applications to Modeling and Control (1985): https://doi.org/10.1109/TSMC.1985.6313399
7.5. Exercise 5 — Control
For DC motor speed control, use:
e(k)
Δe(k)as inputs and:
ΔPWMas the output.
Define five membership functions:
NB
NS
ZE
PS
PBConstruct the rule table according to your physical sign convention.
Then measure on the step response:
- overshoot,
- settling time,
- steady-state error.
7.6. Exercise 6 — PID Comparison
For the same process, design:
- PID,
- Mamdani fuzzy control,
- fuzzy-tuned PID.
Under the same disturbance, compare:
IAE
ISE
overshoot
settling timeReport the result from measurements rather than assuming that “fuzzy is better.”
7.7. Exercise 7 — Risk Model
Inputs:
Budget
Personnel
Schedule pressureOutput:
Project riskBuild a Mamdani system from expert rules.
Then build a Sugeno system using the same data set.
Compare:
- interpretability,
- error,
- computation time,
- number of rules.
7.8. Exercise 8 — FCM
Generate two-dimensional synthetic data.
Apply classical k-means and Fuzzy C-Means.
For samples near cluster boundaries, compare:
k-means label
FCM memberships7.9. Exercise 9 — ANFIS
Generate data from a nonlinear function such as:
y = sin(x1) + 0.5*x2²Tune a Sugeno FIS from the data.
Track training and validation errors separately.
As the number of membership functions increases, examine how the following change:
- training error,
- validation error,
- rule count.
7.10. Exercise 10 — Type-2
Suppose three experts provide different boundaries for the same temperature term.
For example, the onset of “HOT” may be:
Expert A → 25 °C
Expert B → 27 °C
Expert C → 29 °CModel this uncertainty with:
- one Type-1 membership function,
- one Interval Type-2 membership function.
Compare the control outputs of the two systems under sensor noise.
Unit 8: Fuzzy-Systems Engineering in Real-World Scenarios
So far, membership functions, inference, control, learning, and verification have been treated as separate technical components. In a real application, however, a fuzzy inference system is rarely the entire solution. Information from sensors, data sources, or expert assessments is first prepared; the fuzzy layer converts it into an interpretable decision; the result is then used for physical control, ranking, alerting, maintenance, or another operational process.
The traffic, sustainable-city, predictive-maintenance, cyber-risk, and healthcare examples in the 2026 edited volume Fuzzy Logic in Real Life Scenarios illustrate the same recurring structure across different domains and connect those engineering patterns to the theoretical framework developed here.
8.1. A Fuzzy Inference System Is Not the Whole System
A real-world application can be viewed as:
measurement / observation / expert assessment
↓
data validation and preprocessing
↓
context and scaling
↓
fuzzification
↓
rule base and inference
↓
defuzzified decision or graded result
↓
application layer
↓
feedback, monitoring, and verificationThis separation matters. A disconnected sensor, stale timestamp, or physically impossible measurement is not a membership problem. Likewise, a failed network path or an actuator that cannot execute a command should not be hidden inside fuzzy inference.
The fuzzy layer is intended to interpret valid information whose conceptual boundaries are not sharp. Data integrity, communications, safety limits, and fault handling belong to other architectural layers.
A production system should therefore preserve the distinction:
valid but vague data → fuzzy-modeling problem
invalid / missing / corrupt data → data-quality and fault-handling problemFuzziness is not a mechanism for legitimizing bad data.
8.2. From Sensor Data to a Decision
In predictive maintenance, environmental monitoring, and traffic management, inference quality depends directly on input quality. Real-time data may arrive from different sensors, at different sampling rates, and with different physical ranges.
At minimum, the preprocessing layer should answer:
- Is the measurement physically plausible?
- Is it current, or is a stale sample being reused?
- Are timestamps from different sensors comparable?
- What is the behavior when a value is missing?
- Is noise reduction or smoothing performed before membership evaluation?
- Do scaling factors represent the real operating range?
Consider a machine-health system based on vibration, temperature, and current. Each variable has a different physical meaning. Rather than forcing them directly into the same numeric range, the operating bounds and context of each variable should be defined first. Linguistic sets such as NORMAL, HIGH, and CRITICAL can then be constructed according to that physical behavior.
An important consequence follows:
A membership function is not merely a mathematical curve; it is part of the contract between the measurement chain and the decision logic.
8.3. Smart Traffic: Multivariable Decisions Instead of One Threshold
A fixed-time traffic signal assumes that its environment remains essentially unchanged. In practice, vehicle density, queue length, average speed, pedestrian demand, and external conditions vary over time. Fuzzy inference can combine such variables without forcing the entire decision through a single hard threshold.
Example inputs:
vehicle density → LOW / MEDIUM / HIGH
queue length → SHORT / MEDIUM / LONG
average speed → SLOW / NORMAL / FAST
pedestrian demand → LOW / MEDIUM / HIGHExample decisions:
green-time adjustment
phase priority
weight assigned to a crossing requestThe engineering problem is not merely to write several IF-THEN rules. The control surface must be examined under different intersection loads, input dimensionality must be managed as new sensors are added, and decision latency must remain within operational limits.
The traffic-management examples in the source emphasize real-time sensor data, adaptive signal control, multi-source inputs, and scalability. A general engineering inference from these cases is that keeping a fuzzy controller focused on a bounded local decision problem can make rule growth and verification more manageable.
8.4. Predictive Maintenance: Beyond the Healthy / Failed Binary
Industrial maintenance decisions are rarely limited to working and failed. As equipment moves from normal operation toward degradation, vibration, temperature, current, pressure, or other condition indicators may change gradually.
A fuzzy maintenance system can represent states such as:
NORMAL
MONITOR
PLAN MAINTENANCE
URGENT INSPECTIONThese do not have to be hard failure diagnoses. Their role may instead be to combine several indicators into a health level or maintenance priority.
The predictive-maintenance chapter in the source separates five functional layers: sensing, preprocessing, fuzzy inference, decision, and user/interface. This separation is useful beyond maintenance because it prevents data acquisition and decision logic from collapsing into one opaque component and makes each stage independently verifiable.
An example flow is:
vibration + temperature + current
↓
filtering / feature extraction / scaling
↓
membership degrees
↓
rule base
↓
equipment-health degree
↓
maintenance priorityTwo failure categories should be distinguished explicitly:
sensor anomaly
equipment anomalyA system that interprets a sensor fault directly as equipment failure can make the wrong maintenance decision even when the inference engine itself behaves exactly as designed.
8.5. Energy and Environmental Systems: Putting Context into the Model
The sustainable-city and environmental-management examples show a useful property of fuzzy systems: variables measured on different scales can be combined on one decision surface. Energy demand, renewable generation, environmental measurements, traffic load, or air-quality indicators do not always have boundaries that can be represented well by one fixed threshold.
For example, an indoor environmental controller may use:
temperature
humidity
particulate concentration
volatile-compound level
occupancy intensityto produce a graded ventilation or purification requirement.
A critical design question is:
Are the same membership functions still valid across different seasons, occupancy patterns, and physical environments?
If context changes, membership functions, scaling, or rule weights may need to be revalidated. A real-world system should therefore be measured not only during initial design but throughout operation.
8.6. Fuzzy Systems in Healthcare: Separate Decision Support from the Decision Itself
The source discusses healthcare applications through decision-support examples in which symptoms and measurements contain graded uncertainty. This domain is also useful for demonstrating why fuzzy membership and probability are different concepts.
For example:
"membership in HIGH symptom severity = 0.7"does not directly mean:
"probability of disease = 70%"In clinical or other high-impact domains, a fuzzy system may provide an interpretable support layer for expert judgment, but the membership functions and rules, the quality of the input data, and the cost of errors must be validated separately. Interpretability alone is not evidence of correctness or safety.
8.7. Cyber Risk and Fuzzy multi-criteria Decision Making
Fuzzy logic is not restricted to physical control. It can also be used when several criteria must be combined for selection, prioritization, or ranking.
The cyber-threat assessment chapter in the source evaluates criteria such as detection performance, adaptability, scalability, resource consumption, response time, and automation in graded form. This provides a real-system connection to the fuzzy multi-criteria decision-making topic introduced earlier in the note.
Two problem types should be kept separate:
estimating the risk of an event
ranking system or method alternativesThe first can be modeled directly through a fuzzy inference system. The second may use methods such as Fuzzy AHP or Fuzzy TOPSIS. In these methods, fuzziness reduces the need to force expert assessments into one exact number, but criterion selection and weighting remain modeling assumptions.
In a dynamic environment another question becomes important:
Under what conditions should membership boundaries and rule weights be updated?
Uncontrolled continuous adaptation can weaken auditability, while rules that never change may become detached from the operating context. The adaptation mechanism must therefore be part of the verified system behavior.
8.8. Scalability and Integration
The success of a real-world fuzzy system is not determined by inference quality alone. Across the source chapters, recurring implementation concerns include:
- computational cost,
- rule-base growth as the number of inputs increases,
- integration with established systems,
- heterogeneous data sources,
- real-time response requirements,
- difficulty preserving the same rule base as deployment scale grows.
If there are m inputs and each uses k membership sets, a fully combined rule space can grow roughly as:
k^mFor that reason, very large problems may be decomposed instead of being forced into one monolithic FIS:
subproblem 1 → local fuzzy result
subproblem 2 → local fuzzy result
subproblem 3 → local fuzzy result
↓
upper decision layerThis is not automatically superior, but it can help keep rules inspectable, localize the impact of changes, and permit independent verification of subsystems.
8.9. Use Domain Metrics for Application Validation
The same validation metric is not meaningful for every domain. Evaluation must reflect the problem the fuzzy system is intended to solve.
For example:
- Traffic: average waiting time, queue length, response latency
- Maintenance: false alarms, missed failures, maintenance delay
- Environment: threshold-exceedance duration, energy consumption, control delay
- Cyber risk: false alarms, misses, response latency, resource consumption
- Decision support: consistency, sensitivity, agreement with expert assessment
This measurement framework is not a guarantee of success. The evaluation criterion should represent the actual system objective.
For a fuzzy system, observing that a few example inputs "look reasonable" is insufficient. The input space should be swept, boundary cases should be stressed, latency should be measured, and the system should be compared—where meaningful—with a crisp threshold, PID controller, statistical method, or another suitable baseline.
8.10. Short Design Review for a real-world Application
Before connecting a fuzzy system to a real process, ask:
1. Is the input genuinely fuzzy, or merely noisy?
2. Are the measurement source and data quality validated separately?
3. Can linguistic sets be justified by physical or domain knowledge?
4. Does the rule base cover the complete operating region?
5. Does rule count remain manageable as input dimensionality grows?
6. Which real decision or physical action is affected by the output?
7. Are safety limits enforced independently of the fuzzy system?
8. Do latency and computational cost satisfy real-time requirements?
9. Are membership functions revalidated when context changes?
10. Is performance verified quantitatively with domain-specific metrics?A successful real-world fuzzy system is therefore built not only from good membership functions but from a sound data path, a bounded problem definition, auditable rules, and measurable system behavior.
8.11. Quick Reference and Conclusion
8.12. Quick Reference
When designing a fuzzy system, ask:
1. Is there genuine vagueness in the problem?
2. Am I confusing membership degree with probability?
3. Are the universes of discourse physically correct?
4. Are the linguistic terms meaningful?
5. Do the membership functions cover the entire operating region?
6. Is the overlap sufficient?
7. Is the rule base consistent?
8. Is Mamdani or Sugeno more appropriate?
9. Are the AND/OR/implication/aggregation choices explicit?
10. Is the defuzzification method appropriate?
11. Does the surface agree with physical expectations?
12. Have boundary cases been tested?
13. Have noise and sensor errors been considered?
14. Has performance been measured quantitatively?
15. Are safety limits also enforced outside the FIS on the real system?8.13. Conclusion
The essence of fuzzy logic is to use:
graded membership
instead of
a crisp boundaryA real fuzzy system, however, is more than a mechanism that returns a number between 0 and 1.
The complete engineering chain is:
Conceptual vagueness
↓
Linguistic variable
↓
Membership function
↓
Fuzzification
↓
IF-THEN rules
↓
Inference
↓
Aggregation
↓
Defuzzification
↓
Crisp output
↓
VerificationThe historical significance of fuzzy logic is that it made mathematically imprecise concepts computationally tractable.
Its engineering value appears particularly in problems requiring:
- expert knowledge,
- nonlinear behavior,
- smooth transitions,
- approximate modeling.
If membership functions and rules are built only from intuition and then used without verification, however, a fuzzy system can appear “human-like” while still being a poor controller.
A sound fuzzy-logic application therefore:
accepts fuzziness in the problem without leaving the design fuzzy.
8.14. Timing and Safety Contracts Around Fuzzy Decisions
In an industrial fan controller, a fuzzy output on a 0–100 scale is not automatically a safe PWM command. Suppose the control cycle is 100 ms, measurements may be at most 300 ms old, and the commanded level is allowed to change by at most 10 points per cycle. A request to move from 70 to 95 is then applied as bounded commands 80, 90, and 95, provided the physical drive has been qualified for those acceleration limits.
Fuzzy inference cannot produce a valid physical decision from invalid inputs. Sensor timeout, no firing rule, a zero normalization denominator, and an output beyond admissible limits are distinct faults. Safety boundaries should not be left implicit in membership-function tuning. A deterministic post-inference limiter and defined invalid-data behavior are required. Tests must include a stuck sensor and late measurements, not only nominal temperature changes.
References
- Bellman, R. E.; Zadeh, L. A. “Decision-Making in a Fuzzy Environment.” Management Science, 17(4), B141-B164, 1970.
DOI: https://doi.org/10.1287/mnsc.17.4.B141
- Bezdek, J. C.; Ehrlich, R.; Full, W. “FCM: The Fuzzy C-Means Clustering Algorithm.” Computers & Geosciences, 10(2-3), 191-203, 1984.
DOI: https://doi.org/10.1016/0098-3004(84)90020-7
- Dunn, J. C. “A Fuzzy Relative of the ISODATA Process and Its Use in Detecting Compact Well-Separated Clusters.” Journal of Cybernetics, 3(3), 32-57, 1973.
DOI: https://doi.org/10.1080/01969727308546046
- Dwivedi, S.; Faisal, M.; Verma, N. K.; Sadia, H.; Jana, S. “Fuzzy Logic in Smart Traffic Management System for Cities: An Overview.” 2026. DOI: https://doi.org/10.1007/978-3-032-07922-0_20
- Ghosh, R. K.; Chakraborty, S.; Dutta, G.; Chakraborty, S. “Real-World Applications of Fuzzy Logic: Bridging Human Reasoning and Machine Intelligence.” 2026. DOI: https://doi.org/10.1007/978-3-032-07922-0_3
- Giri, B. C.; Jana, S.; Sarkar, A.; Basu Mallik, B.; Kar, R. (eds.) Fuzzy Logic in Real Life Scenarios. Springer Nature Switzerland, 2026. ISBN 978-3-032-07922-0.
- Jang, J.-S. R. “ANFIS: Adaptive-Network-Based Fuzzy Inference System.” IEEE Transactions on Systems, Man, and Cybernetics, 23(3), 665-685, 1993.
DOI: https://doi.org/10.1109/21.256541
- Jang, J.-S. R.; Sun, C.-T.; Mizutani, E. Neuro-Fuzzy and Soft Computing. Prentice Hall.
- Klir, G. J.; Yuan, B. Fuzzy Sets and Fuzzy Logic: Theory and Applications. Prentice Hall.
- Mamdani, E. H.; Assilian, S. “An Experiment in Linguistic Synthesis with a Fuzzy Logic Controller.” International Journal of Man-Machine Studies, 7(1), 1-13, 1975.
DOI: https://doi.org/10.1016/S0020-7373(75)80002-2
- MathWorks.
anfis/tunefismigration guidance, R2026a documentation.
https://www.mathworks.com/help/fuzzy/anfis.html
- MathWorks.
evalfis— Evaluate fuzzy inference system.
https://www.mathworks.com/help/fuzzy/mamfis.evalfis.html
- MathWorks. Fuzzy Logic Toolbox Documentation.
https://www.mathworks.com/help/fuzzy/
- MathWorks.
mamfis— Mamdani fuzzy inference system.
https://www.mathworks.com/help/fuzzy/mamfis.html
- MathWorks.
mamfistype2— Interval type-2 Mamdani fuzzy inference system.
https://www.mathworks.com/help/fuzzy/mamfistype2.html
- Mendel, J. M.; John, R. I. B. “Type-2 Fuzzy Sets Made Simple.” IEEE Transactions on Fuzzy Systems, 10(2), 117-127, 2002.
DOI: https://doi.org/10.1109/91.995115
- Mohanty, A.; Mohanty, A.; Mohanty, A.; Mohanty, S. K.; Banerjee, S. “Fuzzy Logic-Based Predictive Maintenance Strategy for Optimizing Industrial Operations.” 2026. DOI: https://doi.org/10.1007/978-3-032-07922-0_12
- Mor Harchol-Balter. Performance Modeling and Design of Computer Systems: Queueing Theory in Action. Cambridge University Press, 2013.
- Peter J. Huber; Elvezio M. Ronchetti. Robust Statistics. 2nd ed. Wiley, 2009.
- Ross, T. J. Fuzzy Logic with Engineering Applications. Wiley.
- Roy, S.; Hussain, I. “Intelligent Cyber Threat Assessment Using Fuzzy Logic.” 2026. DOI: https://doi.org/10.1007/978-3-032-07922-0_17
- Sonugür, G. Fuzzy Logic Control course notes. Afyon Kocatepe University, Faculty of Technology, Mechatronics Engineering, 2019.
The 2019 course material is the historical instructional source for the Mamdani/Sugeno examples, temperature control, traffic lights, multiple-output FIS, and MATLAB-Arduino applications. Software-interface details were separately checked against September 2026 documentation.
- Takagi, T.; Sugeno, M. “Fuzzy Identification of Systems and Its Applications to Modeling and Control.” IEEE Transactions on Systems, Man, and Cybernetics, SMC-15(1), 116-132, 1985.
DOI: https://doi.org/10.1109/TSMC.1985.6313399
- Venkatesh, R.; Jana, S.; Banerjee, S.; Rajavelu, S. “Fuzzy Logic in Sustainable Urban Development: Designing Smart Cities that Adapt to Uncertainty in Energy, Traffic, and Environmental Systems.” 2026. DOI: https://doi.org/10.1007/978-3-032-07922-0_10
- Zadeh, L. A. “Fuzzy Sets.” Information and Control, 8(3), 338-353, 1965.
DOI: https://doi.org/10.1016/S0019-9958(65)90241-X
- Zadeh, L. A. “The Concept of a Linguistic Variable and Its Application to Approximate Reasoning—I.” Information Sciences, 8(3), 199-249, 1975.
DOI: https://doi.org/10.1016/0020-0255(75)90036-5
- Zimmermann, H.-J. Fuzzy Set Theory—and Its Applications. Springer.
- Naveenkumar, P.; Sharma, V.; Devarajan, G.; Abdullah, A.; Elngar, A. A. (eds.). Handbook of AI-Based Mechatronics Systems and Smart Solutions in Industrial Automation. CRC Press, 2026. DOI: https://doi.org/10.1201/9781032615790.
- Chunwei Zhang, Tianpeng Li, Ying Dai, Li Sun, and Ardashir Mohammadzadeh. Practical Neural Networks in Python and MATLAB. Springer Nature, 2026. DOI: https://doi.org/10.1007/978-3-032-14746-2.