This page is a series of content on the applicability of maths to the systems engineering space, in the same vein as companion pages on set theory and propositional logic.
Introduction
Classical (Boolean) logic and classical set theory allow only two truth values, true or false, and only binary membership, an element either belongs to a set or it does not. Fuzzy logic, introduced by Lotfi Zadeh in 1965, relaxes this by allowing degrees of truth and degrees of membership, expressed as any real number between 0 and 1 rather than a strict 0 or 1.
Zadeh’s motivation was what he later called the principle of incompatibility: as the complexity of a system increases, our ability to make precise and yet meaningful statements about its behavior decreases. Many real categories, such as tall, hot, reliable, or overloaded, do not have a sharp boundary in reality, so forcing them into a crisp definition discards information rather than clarifying it. Fuzzy logic keeps that gradation explicit and gives it a formal calculus, so reasoning with vague terms can still be carried out systematically and, importantly, implemented in software and hardware.
A common misunderstanding is that fuzzy logic is a way of representing probability, which it is not. Probability describes uncertainty about whether an event occurs. Fuzzy membership describes the extent to which a concept applies, given that the underlying fact is not actually in doubt. Whether someone is tall is a matter of degree, not a matter of chance.
Common Concepts and Notation
Foundational Definitions
- Crisp Set: A classical set in which elements have binary membership, i.e. an object is a member of the set or not. E.g. the set Big_House, where elements represent the number of rooms would be {3, 4, 5, 6, 7, 8}.
- Fuzzy Set: A set in which elements have graded membership with real interval [0, 1]; symbolized as A or A~. It is a set of ordered pairs such that . x and are explained in Universe of Discourse and Membership Function respectively.
- Universe of Discourse: The set of all possible objects or values under consideration; symbolized with X; e.g. X is the real interval [0, 40] for a temperature variable in degrees Celsius, or X is the discrete interval [1, 6] for the number of rooms in a house. Elements of the the set X are denoted as x.
- Membership Function: A function μA which maps elements of X to the real interval [0, 1], or the degree of membership in fuzzy set A~
- Degree of Membership: The value μA(x), a number between 0 and 1 describing how strongly x belongs to A
- Support: The crisp set of elements with any positive membership; supp(A) = {x is an element of X : μA(x) > 0}
- Core: The crisp set of elements with full membership; core(A) = {x is an element of X : μA(x) = 1}
- Height: The greatest membership value in a fuzzy set; hgt(A) = max( μA(x) for x in X)
- Normal Fuzzy Set: A fuzzy set whose height equals 1. If the fuzzy set does not have a height of 1 then it is a subnormal fuzzy set.
- Alpha-cut (α-cut): The crisp set of elements whose membership is at least alpha; Aα = {x is an element of X : μA(x) >= α}
- Linguistic Variable: A variable whose values are words rather than numbers, each word itself defined by a fuzzy set; e.g. the variable Engine_Temperature taking values Cool, Warm, or Hot
- Linguistic Hedge: A modifier applied to a fuzzy set to intensify or soften it; concentration for “very” (e.g. ) and dilation for “somewhat” or “more or less” (e.g. )
Fuzzy Operators
Fuzzy operators are the graded counterparts of Boolean AND, OR, and NOT. With and as two functions of membership of the same Universe of Discourse:
- Fuzzy AND (intersection): such that
- Fuzzy OR (union): such that
- Fuzzy NOT (complement): such that
These are called the standard, or Zadeh, operators.
Where a Boolean truth table lists every combination of 0 and 1, a fuzzy operator is better shown across a range of degrees. Take two membership degrees, a = 0.7 and b = 0.4:
| Operator | Formula | Result |
|---|---|---|
| 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.3 |
Fuzzy Algebraic Identities and Laws
The standard fuzzy operators preserve the same algebraic laws as Boolean algebra, just carried out over the interval [0, 1] instead of over {0, 1}.
Commutative Law: min(a, b) = min(b, a) and max(a, b) = max(b, a)
Associative Law: min(a, min(b, c)) = min(min(a, b), c) and the same holds for max
Distributive Law: min(a, max(b, c)) = max(min(a, b), min(a, c))
A worked check with a = 0.7, b = 0.4, c = 0.9:
- Left side: min(0.7, max(0.4, 0.9)) = min(0.7, 0.9) = 0.7
- Right side: max(min(0.7, 0.4), min(0.7, 0.9)) = max(0.4, 0.7) = 0.7
- Both sides equal 0.7, confirming the distributive law holds for this triple
As well as max(a, min(b, c)) = min(max(a, b), max(a, c))
- Left side: max(0.7, min(0.4, 0.9)) = max(0.7, 0.4) = 0.7
- Right side: min(max(0.7, 0.4), max(0.7, 0.9)) = min(0.7, 0.9) = 0.7
- Both sides equal 0.7, confirming the distributive law holds for this triple
De Morgan’s Law: NOT(min (a, b)) = max((NOT a), (NOT b)
A worked check with a = 0.7 and b = 0.4:
- Left side: 1 – min(0.7, 0.4) = 1 – 0.4 = 0.6
- Right side: max(1 – 0.7, 1 – 0.4) = max(0.3, 0.6) = 0.6
- Both sides equal 0.6, confirming De Morgan’s law holds
As well as NOT(max(a, b)) = min((NOT a), (NOT b))
- Left side: 1 – max(0.7, 0.4) = 1 – 0.7 = 0.3
- Right side: min(1 – 0.7, 1 – 0.4) = min(0.3, 0.6) = 0.3
- Both sides equal 0.3, confirming De Morgan’s law holds
This equivalence is exactly why fuzzy logic can reuse the same algebraic intuition engineers already have from Boolean requirements, while still carrying a graded value through the calculation instead of a binary one.
The Fuzzy Inference Cycle
- Fuzzification: Converting a precise input value into degrees of membership across the relevant linguistic categories.
- Rule Base: A collection of if-then rules connecting linguistic input and output variables.
- Inference: Applying the rule base to fuzzified inputs to produce a fuzzy output.
- Defuzzification: Converting the aggregated fuzzy output back into a single precise value.
Applicability to Systems Science
The link between fuzzy logic and systems science is strong, arguably stronger than the link between fuzzy logic and any single engineering discipline, because systems science is largely concerned with the kind of vagueness fuzzy logic was designed to formalize.
Modeling inherently graded concepts. Many of the central variables in social, ecological, and organizational systems, such as institutional trust, ecosystem stress, resilience, or workload, are graded by nature rather than binary. Fuzzy sets let these be represented and reasoned about directly rather than forcing an artificial threshold onto them.
Fuzzy Cognitive Maps. This is the most developed point of contact between the two fields. A Fuzzy Cognitive Map, or FCM, is a directed graph in which nodes represent concepts and edges carry signed, weighted fuzzy influences, typically in the range from [-1,1]. Iterating the map lets an analyst observe emergent behavior such as equilibria, oscillation, reinforcing loops, and balancing loops, all central concerns of systems science. FCMs are widely used for participatory modeling, where stakeholders with no formal modeling background can jointly build a causal model of a system in their own language and then simulate policy scenarios on it.
Computing with words. Zadeh later extended fuzzy logic into what he called computing with words, the idea that reasoning can be carried out directly on linguistic descriptions rather than on numbers first extracted from them. This connects naturally to soft systems methodology and other qualitative approaches that treat a problem situation as inherently messy rather than reducible to a single precise model before any useful analysis can begin.
Deep uncertainty. Systems science frequently deals with situations of deep uncertainty, including unknown unknowns and genuinely contested framings of a problem, rather than well-characterized randomness. Framing these situations with possibility distributions, the underlying mathematical object behind a fuzzy membership function, is often a more honest representation than imposing a probability distribution on knowledge that is vague rather than random.
Applicability to Systems Engineering
Fuzzy logic’s applicability to systems engineering is narrower but well established, concentrated mainly in control, requirements, risk, and diagnostics.
Requirement statements. Recall the crisp functional requirement style: “When Engine_Temperature is greater than 100 degrees Celsius, then Driver_Display shall indicate High_Engine_Temperature_Alarm”. Written this way the alarm switches on the instant the threshold is crossed and off the instant it is not, which in practice causes chattering if the temperature hovers near the boundary. A fuzzy version of the same requirement instead grades the antecedent: “When Engine_Temperature is Hot, then Cooling_Fan_Speed shall increase in proportion to the degree of Hot”. A membership table for this might read:
| Engine_Temperature | Degree of Warm | Degree of Hot |
|---|---|---|
| 70 C | 0.8 | 0.1 |
| 90 C | 0.3 | 0.6 |
| 110 C | 0.0 | 1.0 |
The Cooling_Fan_Speed consequent then scales smoothly with the Hot column instead of switching abruptly at a single crisp threshold, which is precisely why fuzzy logic is attractive for control loops that would otherwise chatter at a boundary.
Control systems. This is the original and most mature application. A fuzzy controller, typically of Mamdani or Sugeno type, handles systems that are nonlinear or difficult to model exactly by encoding operator expertise directly as rules, such as “If error is large and positive and its rate of change is small, then increase the output strongly”. This avoids the need to derive an exact differential equation model of the plant and is used in HVAC systems, automated train braking, cement kilns, camera auto-focus, and washing machine cycle control. Fuzzy control is often combined with conventional control, for instance as a fuzzy supervisor adjusting the parameters of an underlying PID loop.
Requirements and trade studies. Requirements are frequently stated in vague terms such as responsive, reliable, or low cost. Representing these as fuzzy sets rather than hard thresholds means a design that narrowly misses a target is not scored identically to one that misses it widely, which better reflects how such judgments are actually made in review. Fuzzy quantifiers are also useful here: a requirement phrased as “Most subsystems shall report nominal status within 2 seconds” is verified by measuring a proportion and grading it, rather than requiring a strict all (universal) or at least one (existential) reading.
Risk and reliability analysis. Traditional Failure Mode and Effects Analysis multiplies severity, occurrence, and detection ratings into a single Risk Priority Number, a method often criticized for treating very different risk profiles as equivalent. Fuzzy rule bases, such as If severity is high and detection is poor then risk is critical”, tend to produce more sensible rankings. Component failure probabilities that are poorly characterized are also often better represented as fuzzy numbers than as point estimates in a fault tree.
Fault diagnosis and health monitoring. Sensor readings can be graded into categories such as slightly degraded or severely degraded, and rules mapping symptom patterns to likely faults can tolerate noisy or partial evidence far better than a purely rule-based system requiring an exact match.
A caution for safety-critical work. Formal stability and correctness proofs are harder to construct for fuzzy controllers than for linear ones. Approaches exist, such as Takagi-Sugeno models analyzed with Lyapunov methods, but this remains a genuine limitation where certification against a rigorous safety case is required, and it is one reason fuzzy logic is more often found supervising or tuning a conventional controller than replacing one outright.
