Fuzzy Sets and Fuzzy Logic

Fuzzy sets are a big, technically real topic named nowhere in GATE CS, and the operations below matter exactly as stated — a wrong fuzzy union/intersection formula is a silent, easy-to-make error this chapter is written to avoid.

The Notion of Fuzziness and Membership Functions

A classical (crisp) set gives every element a membership of exactly 0 (not in the set) or 1 (in the set) — a sharp, all-or-nothing boundary. A fuzzy set A instead assigns every element x a MEMBERSHIP DEGREE μ_A(x) ∈ [0, 1], a continuous value representing the DEGREE to which x belongs to A — 'tall' is not a crisp height threshold but a fuzzy set where a height of 150 cm might have μ = 0.1, 175 cm might have μ = 0.6, and 195 cm might have μ = 0.95. This is NOT the same thing as probability: a probability of 0.7 means a 70% CHANCE of a crisp, definite outcome (it either rains or it does not); a membership degree of 0.7 means the element genuinely, definitely, partially belongs to a category that itself has no sharp boundary — there is no 'randomness' being resolved by more information.

  • Fuzzification converts a crisp input (an exact sensor reading, e.g. temperature = 32°C) into fuzzy membership degrees across the relevant linguistic terms (e.g. μ_warm(32) = 0.4, μ_hot(32) = 0.6) — the entry point of a fuzzy control system.
  • Defuzzification converts the fuzzy OUTPUT of a system's reasoning back into a single crisp, actionable value — the CENTROID (centre of gravity) method is standard: the crisp output is the weighted average of the output fuzzy set's values, weighted by their membership degrees, which is what lets a fuzzy controller ultimately issue one concrete command (e.g. 'set the fan to 62% speed') rather than a spread of possibilities.

Operations on Fuzzy Sets

The Zadeh fuzzy-set operations, extending classical set theory
Classical operationFuzzy formula
Union (A ∪ B)μA∪B(x) = max(μ_A(x), μ_B(x))
Intersection (A ∩ B)μA∩B(x) = min(μ_A(x), μ_B(x))
Complement (Aᶜ)μAᶜ(x) = 1 − μ_A(x)
⚠️ Fuzzy sets famously violate the law of the excluded middle
In classical set theory, A ∪ Aᶜ = the universal set (everything is either in A or not in A — no exceptions) and A ∩ Aᶜ = ∅ (nothing can be both). Take a fuzzy set where μ_A(x) = 0.6 for some x. Then μAᶜ(x) = 1 − 0.6 = 0.4. Union: max(0.6, 0.4) = 0.6, NOT 1 — so A ∪ Aᶜ ≠ the universal set here. Intersection: min(0.6, 0.4) = 0.4, NOT 0 — so A ∩ Aᶜ ≠ ∅ either. This is not a bug; it is the mathematically correct, expected consequence of partial membership, and is the standard fact examiners test to check whether a candidate actually computed the operations or merely assumed classical laws still hold.

Linguistic Variables, Fuzzy Relations and Fuzzy Inference

A linguistic variable (e.g. 'temperature') takes LINGUISTIC VALUES ('cold', 'warm', 'hot') rather than numbers, each defined as its own fuzzy set over the underlying numeric domain — this is what lets a fuzzy rule be written in natural, human-readable form ('IF temperature is hot THEN fan speed is high') while still being mathematically precise underneath, since each linguistic term has a concrete membership function. A fuzzy relation extends a fuzzy set to pairs (or tuples): μ_R(x, y) ∈ [0, 1] expresses the degree to which x and y are related, generalising a crisp relation exactly as a fuzzy set generalises a crisp set. Fuzzy rules take the standard IF-THEN form with fuzzy antecedents and consequents, and fuzzy inference (e.g. the Mamdani method) evaluates ALL applicable rules for a given crisp input, combines their fuzzy outputs, and defuzzifies the combined result into one crisp action — every step of a fuzzy control system's actual operation, tied together.

Fuzzy Control Systems and Fuzzy Rule-Based Systems

A fuzzy control system runs the complete cycle already introduced, per control step: FUZZIFY the crisp sensor inputs, evaluate the fuzzy RULE BASE (every matching rule fires to some degree, unlike a crisp expert system where a rule either fires or does not), COMBINE the fired rules' outputs, and DEFUZZIFY the combined output into one crisp actuator command. Its practical advantage over a purely crisp (Boolean) controller is handling INHERENTLY GRADED inputs and outputs smoothly — a crisp thermostat that is either 'fan on' or 'fan off' at one exact threshold temperature tends to oscillate right at that boundary, while a fuzzy controller's continuously-varying fan speed naturally avoids that chattering, since there is no single sharp switching point to hover around.

Key takeaways

  • A fuzzy set assigns a continuous membership degree in [0,1], distinct from probability — no randomness is being resolved, the element genuinely partially belongs.
  • Zadeh's fuzzy union is max, intersection is min, complement is 1 minus membership — and fuzzy sets famously violate A∪Aᶜ = universal set and A∩Aᶜ = ∅.
  • Fuzzification converts crisp input to membership degrees; defuzzification (e.g. centroid method) converts a fuzzy output back to one crisp value.
  • A linguistic variable's values are themselves fuzzy sets, letting natural-language rules stay mathematically precise; a fuzzy relation generalises a crisp relation to pairs with a degree.
  • A fuzzy controller's continuously-varying output avoids the boundary-oscillation ('chattering') a crisp on/off controller suffers at its exact threshold.

Practice questions (8)

Attempt each one before opening the answer. Every explanation names the tempting wrong option as well as the right one, because that is where marks are lost.

  1. A fuzzy set's membership degree of 0.7 for an element is best interpreted as:

    1. The element genuinely, partially belongs to that category to that degree — not a 70% chance of a crisp outcome
    2. There is a 70% probability the element belongs and a 30% probability it does not
    3. The element definitely does not belong at all
    4. The number has no meaning at all
    Show answer

    Answer: A — The element genuinely, partially belongs to that category to that degree — not a 70% chance of a crisp outcome

    Fuzzy membership is not probability — there is no randomness being resolved by additional information; the element genuinely, definitely has partial membership in a category with no sharp boundary.
  2. Given μ_A(x) = 0.6, what is μA∩Aᶜ(x) using the standard Zadeh operations?

    1. 0.4
    2. 0
    3. 1
    4. 0.6
    Show answer

    Answer: A — 0.4

    μAᶜ(x) = 1 − 0.6 = 0.4; intersection is min(μ_A, μ_Aᶜ) = min(0.6, 0.4) = 0.4 — not 0 as classical set theory would give, which is exactly the standard demonstration that fuzzy sets violate A ∩ Aᶜ = ∅.
  3. The standard fuzzy union operation, following Zadeh, computes μA∪B(x) as:

    1. max(μ_A(x), μ_B(x))
    2. μ_A(x) + μ_B(x)
    3. min(μ_A(x), μ_B(x))
    4. μ_A(x) × μ_B(x)
    Show answer

    Answer: A — max(μ_A(x), μ_B(x))

    Zadeh's union takes the maximum of the two membership degrees, the fuzzy generalisation of 'in A or in B'; intersection instead takes the minimum, the generalisation of 'in A and in B'.
  4. Defuzzification by the centroid method converts a fuzzy output into a crisp value by:

    1. Computing the weighted average of output values, weighted by their membership degrees
    2. Choosing the single largest possible output value regardless of membership
    3. Ignoring the fuzzy output entirely
    4. Always returning zero
    Show answer

    Answer: A — Computing the weighted average of output values, weighted by their membership degrees

    The centroid (centre of gravity) method computes a weighted average across the output fuzzy set, which is what lets a fuzzy controller issue one concrete, actionable command rather than a spread of possible values.
  5. A linguistic variable such as 'temperature' having values 'cold', 'warm' and 'hot' means:

    1. Each value is itself a fuzzy set defined over the underlying numeric domain
    2. Temperature can no longer be measured numerically at all
    3. Only one of the three values can ever have non-zero membership at a time
    4. It is unrelated to fuzzy sets
    Show answer

    Answer: A — Each value is itself a fuzzy set defined over the underlying numeric domain

    Each linguistic value has its own concrete membership function over the numeric domain, and a single numeric temperature can have non-zero membership in more than one value at once (e.g. partly warm, partly hot) — this is what lets natural-language rules stay mathematically precise.
  6. Which of the following are true of a fuzzy control system, as distinct from a crisp on/off controller? (More than one option may be correct.)

    1. Multiple rules can fire to different degrees for the same input
    2. Its output can vary continuously rather than switching sharply at one threshold
    3. It never needs a defuzzification step
    4. It can avoid the oscillation a crisp threshold-based controller suffers at its exact switching point
    Show answer

    Answer: A — Multiple rules can fire to different degrees for the same input; B — Its output can vary continuously rather than switching sharply at one threshold; D — It can avoid the oscillation a crisp threshold-based controller suffers at its exact switching point

    A fuzzy controller does need defuzzification to produce a final crisp command; its other listed properties (partial rule firing, continuous output, avoiding boundary chattering) are genuine advantages over a crisp on/off controller.
  7. Given μ_A(x) = 0.3 and μ_B(x) = 0.8, compute μA∪B(x) using the standard Zadeh fuzzy union.

    Numerical answer — type the value.

    Show answer

    Answer: 0.8

    Fuzzy union takes the maximum: max(0.3, 0.8) = 0.8.
  8. The process of converting a crisp sensor reading into fuzzy membership degrees across relevant linguistic terms is called:

    1. Fuzzification
    2. Defuzzification
    3. Backtracking
    4. Reduction
    Show answer

    Answer: A — Fuzzification

    Fuzzification is the entry point of a fuzzy control system's cycle, converting a crisp input into membership degrees; defuzzification is the reverse, final step, converting a fuzzy output back into one crisp value.