The basic concepts of T1 and IT2 fuzzy sets and systems.
Imagine you and your friend are driving on a highway in two separate cars, and you want to follow your friend's car at about 50 meters behind. You can observe your distance to your friend's car (e.g., far, close, or okay), and your relative speed to it (e.g., fast, slow, or okay). Then, how would you adjust your acceleration (gas pedal), so that the distance is kept at roughly 50 meters?
Some intuitive rules would apply, e.g.,
IF the distance is far AND your relative speed is slow, THEN your acceleration should be positive;
IF the distance is close AND your relative speed is fast, THEN your acceleration should be negative;
IF the distance is okay AND your relative speed is okay, THEN your acceleration should be about zero;
and so on. A human driver can adjust the acceleration intuitively, without using any mathematics.
Then, how about designing a car following controller for this task? How would you transform the above knowledge (rules) into mathematical formulas, so that the controller can calculate the appropriate acceleration based on the distance and speed?
Fuzzy systems are in this regard very suitable tools. Next, we will introduce how they can be used to solve this problem.
Type-1 (T1) fuzzy set was first introduced by Zadeh
equation1 A T1 fuzzy set X is comprised of a domain DX of real numbers (also called the universe of discourse of X) together with a membership function (MF) uX(x): DX→[0,1], i.e.,
X=∫DXuX(x)/x. (1)
(1) is a fuzzy set notation, introduced by Zadeh, as a shorthand in which ∫ denotes the collection of all points x∈DX with associated membership grade uX(x).
The membership grade of x can be computed as:
uX(x)={x−ab−a,x∈(a,b)1,x∈[b,c]d−xd−c,x∈(c,d)0,otherwiseA triangular T1 fuzzy set is a special case of a trapezoidal T1 fuzzy set, when b=c.
Figure 2 shows a specific example of a T1 fuzzy set "Moderate". When only integer numbers are considered in the domain, the T1 fuzzy set can be represented as {0/1,0.5/2,1/3,1/4,0.5/5,0/6}, where 0/1 means that x=1 has a membership grade of 0 in Moderate, and 0.5/2 means x=2 has a membership grade of 1 in Moderate. Figure 2 shows that there is a complete agreement (certainty) for x∈[0,1]∪[3,4]∪[6,+∞), and a partial agreement for x∈(1,3)∪(4,6). In contrast, for a crisp set, the membership grade of each element in it is either 0 or 1; there is no value (e.g., 0.3) in between, i.e., a crisp set cannot model a partial agreement.
Figure 2![]() |
Try to drag the blue dot and change the membership grade of x.
|
Figure 3 shows the diagram of a typical T1 fuzzy system, which consists of four components: fuzzifier, rulebase, inference engine, and defuzzifier. The fuzzifier transforms crisp inputs into T1 fuzzy sets. The inference engine performs inference on the T1 fuzzy sets, combining the outputs of the rules in the rulebase into a new T1 fuzzy set. The defuzzifier converts the mapped T1 fuzzy set into a crisp output.
There are two kinds of rules for fuzzy systems, Zadeh (Mamdani), in which rule consequents are
words modeled by T1 fuzzy sets
T1 TSK rules are:
Rk: IF X1 is Xk,1 AND ⋯ AND Xd is Xk,d, THEN yk(x)=∑di=1ak,ixi+bk,k=1,...,K
where d is the input dimensionality, K is the number of rules, Xk,i is a linguistic term (modeled by a T1 fuzzy set) for linguistic variable Xi (i=1,...,d) in the kth rule, xi is the crisp input for Xi, and ak,i and bk (k=1,...,K) are adjustable regression coefficients. Many times all ak,i are set to 0, i.e., each rule consequent is a constant.
For the car following example, d=2, X1 denotes Distance, X2 denotes Relative Speed, K=9 if both Distance and Relative Speed have three linguistic terms (T1 fuzzy sets), and x1 and x2 are the current input values of Distance and Relative Speed, respectively.
For a particular input x=(x1,...,xd), the operations in a TSK fuzzy system are:
Fuzzification:
Compute uXk,i(xi), the membership grade of xi on Xk,i (k=1,...,K; i=1,...,d).
Inference:
Compute the firing level of each rule:
Note that the minimum operation could also be used to replace the multiplication above.
The inference engine output is:
Defuzzification:
Since the inference output is already a crisp number, no defuzzification is needed in a T1 TSK fuzzy system. The inference output y(x) is the final output.
However, for Mamdani T1 fuzzy systems, since the rule consequents are words modeled by T1 fuzzy sets, the inference output is also a T1 fuzzy set, which must be defuzzified to obtain a crisp output. One popular defuzzification approach is to compute the centroid of that T1 fuzzy set.
(3) fuses the consequents of multiple rules to give an output. If we view each rule as an expert,
then a TSK fuzzy system is functionally equivalent to a mixture of expert model
This subsection presents a simple example to illustrate the computations in a T1 TSK fuzzy system. Consider the car following example introduced at the beginning of this paper.
Assume the distance has three linguistic terms (modeled by T1 fuzzy sets), Close, Okay and Far, as depicted in Figure 4(a), and the relative speed also has three linguistic terms (modeled by T1 fuzzy sets), Slow, Okay and Fast, as depicted in Figure 4(b). Note that the same word "Okay" for the distance and the relative speed could have different T1 FS definitions.
Figure4(a) Figure4(b)
There are nine rules, whose consequents are crisp numbers:
R1: IF distance is Close AND relative speed is Slow, THEN acceleration is y1=0
R2: IF distance is Close AND relative speed is Okay, THEN acceleration is y2=−5
R3: IF distance is Close AND relative speed is Fast, THEN acceleration is y3=−10
R4: IF distance is Okay AND relative speed is Slow, THEN acceleration is y4=3
R5: IF distance is Okay AND relative speed is Okay, THEN acceleration is y5=0
R6: IF distance is Okay AND relative speed is Fast, THEN acceleration is y6=−3
R7: IF distance is Far AND relative speed is Slow, THEN acceleration is y7=10
R8: IF distance is Far AND relative speed is Okay, THEN acceleration is y8=5
R9: IF distance is Far AND relative speed is Fast, THEN acceleration is y9=0
Assume the current distance to the front car is 47 meters, and the relative speed is 4 KM/h. The membership grades of the corresponding T1 fuzzy sets are shown in Figure 5:
uClose(
uSlow(
![]() |
Try to drag the dots to change the distance and relative speed values.
The membership grades and all subsequent calculations will be updated accordingly.
|
The firing levels of the nine rules are:
The output acceleration is:
equation1 (
i.e., the car should have a decelaration to maintain the distance at 50 meters.
This is intuitive, as the current distance is shorter than 50 meters, and the relative speed is fast.
The above nine rules are summarized in Table 1. The corresponding input-output mapping is shown in Figure 6, which can be changed by modifying the rule consequents in Table 1.
Distance∖Relative Speed | Slow | Okay | Fast |
---|---|---|---|
Close | y1= | y2= | y3= |
Okay | y4= | y5= | y6= |
Far | y7= | y8= | y9= |
![]() |
Try to change the rule consequent values in Table 1 by direct typing or clicking on the sidebar arrows.
After adjusting the rulebase, click the "Update" button to update all calculations.
|
Despite having a name which carries the connotation of uncertainty,
research has shown that there are limitations in the ability of T1 fuzzy sets to model
and minimize the effect of uncertainties
For example, different drivers may have different understanding of the linguistic term Far in the motivating example,
and hence may provide different T1 fuzzy sets for it.
Type-2 fuzzy sets
Interval type-2 (IT2) fuzzy sets
An IT2 fuzzy set ˜X is defined as
equation1 ˜X=∫x∈D˜X∫u∈[0,1]1/(x,u)=∫x∈D˜X[∫u∈[0,1]1/u]/x (5)where x, called the primary variable, is in domain D˜X; u∈[0,1] is the secondary variable; and, the secondary grade of ˜X equals 1 for ∀x∈D˜X and ∀u∈[0,1].
An example of an IT2 fuzzy set ˜X is shown in Figure 7. Observe that unlike a T1 fuzzy set, whose membership for each x is a number, the membership of an IT2 fuzzy set is an interval. For example, the membership of x=3 is [0.25,1], and the membership of x=5 is [0.75,1]. A membership interval [0.25,1] means that some people think the membership of x=3 is 0.25, some think the membership is 1, and others may think the membership is any value between 0.25 and 1, i.e., an IT2 fuzzy set can model inter-personal uncertainties, whereas a T1 fuzzy set cannot.
Figure 7 shows that an IT2 fuzzy set is bounded from the above and below by two T1 fuzzy sets, which are called upper MF (UMF) and lower MF (LMF). The area between the LMF and the UMF is the footprint of uncertainty (FOU).
![]() |
Try to drag the blue or green dot to change the membership interval of x.
|
Figure 8 shows the schematic diagram of an IT2 fuzzy system. It is similar to its T1 counterpart, with
the major difference being that at least one of the fuzzy sets in the rulebase is an IT2 fuzzy set.
Hence, the outputs of the inference engine are IT2 fuzzy sets, and a type-reducer is usually needed
(it can be bypassed
Assume the rulebase of an IT2 TSK fuzzy system consisting of K rules in the following form:
˜Rk: IF x1 is ˜Xk,1 AND ⋯ AND xd is ˜Xk,d, THEN Yk(x)=[y_k, ¯yk],k=1,...,K
where ˜Xk,i (i=1,…,d) are IT2 fuzzy sets,
and Yk(x)=[y_k, ¯yk] is an interval,
which can be understood as the centroid
For a particular input x=(x1,...,xd), the output of the IT2 TSK fuzzy system is computed as:
Fuzzification:
Compute the membership interval [uX_k,i(xi),u¯Xk,i(xi)] of xi on each ˜Xk,i (k=1,...,K; i=1,...,d).
Inference:
Compute the firing interval of the kth rule, Fk(x):
equation1Fk(x)=[uX_k,1(x1)×⋯×uX_k,d(xd),u¯Xk,1(x1)×⋯×u¯Xk,d(xd)]≡[f_k,¯fk],k=1,...,K (6)
Note that the minimum operation could also be used to replace the multiplication above. Inference is performed by:
Y(x)=⋃fk∈Fk(x)yk∈Yk(x)K∑k=1fkykK∑k=1fk. (7)
(7)is a direct extension of (3), when all fk(x) and yk(x) in (3) become intervals.
Type-reduction:
Many different approaches
Y(x)=[yl, yr], (8)
where:
yl=minl∈[1,K−1]∑lk=1¯fky_k+∑Kk=l+1f_ky_k∑lk=1¯fk+∑Kk=l+1f_k≡∑Lk=1¯fky_k+∑Kk=L+1f_ky_k∑Lk=1¯fk+∑Kk=L+1f_k, (9)
yr=maxr∈[1,K−1]∑rk=1f_k¯yk+∑Kk=r+1¯fk¯yk∑rk=1f_k+∑Kk=r+1¯fk≡∑Rk=1f_k¯yk+∑Kk=R+1¯fk¯yk∑Rk=1f_k+∑Kk=R+1¯fk, (10)
in which the switch points L and R are determined by
y_L≤yl≤y_L+1, (11)
¯yR≤yr≤¯yR+1, (12)
and {y_k}Kk=1 and {¯yk}Kk=1 have been sorted in ascending order, separately.
yl and yr can be computed using the original Karnik-Mendel algorithms
Defuzzification:
The defuzzified crisp output is:
y=yl+yr2. (13)
Essentially, yl is the minimum of ∑Kk=1fkyk∑Kk=1fk, and yr is the maximum, when each fk and yk can assume value in an interval.
Clearly, the minimum of yk, y_k, should be used in computing yl; and, the maximum of yk, ¯yk, should be used in computing yr, as yk only appears in the numerator of (6).
Intuitively, to compute yl (the minimum), a large fk (¯fk) should be used for a small y_k, and a small fk (f_k) should be used for a large y_k. Assume {y_k}Kk=1 has been sorted in ascending order. Then, the switch point, l, determines when we should switch from ¯fk to f_k. yr (the maximum) is computed in a similar way, but the switch point r determines when we should switch from f_k to ¯fk.
The switch points l and r, and the corresponding yl and yr,
do not have a closed-form solution. They are computed by the iterative type-reduction algorithms.
One of the most efficient type-reduction algorithm, EIASC
Step | For computing yl | For computing yr |
---|---|---|
1 | Initialize | Initialize |
a=∑Kk=1y_kf_k | a=∑Kk=1¯ykf_k | |
b=∑Kk=1f_k | b=∑Kk=1f_k | |
L=0 | R=K | |
2 | Compute | Compute |
L=L+1 | a=a+¯yR(¯fR−f_R) | |
a=a+y_L(¯fL−f_L) | b=b+¯fR−f_R | |
b=b+¯fL−f_L | yr=a/b | |
yl=a/b | R=R−1 | |
3 | If yl≤y_L+1, stop; | If yr≥¯yR, stop; |
otherwise, go to Step 2. | otherwise, go to Step 2. |
The main idea of EIASC is to find the switch points for yl and yr. Take yl for examples,
yl is the minimum of (7).
Since y_k increases from the left to the right along the horizontal axis of Figure 9(a),
we should choose a large weight (upper membership grade) for y_k on the
left and a small weight (lower membership grade) for y_k on the right. EIASC
finds the switch point L. For k≤L, the upper membership grades are used to
calculate yl; for k>L, the lower membership grades are used.
This ensures yl is the minimum.
This subsection uses the car following example again to illustrate the computations in an IT2 TSK fuzzy system.
Assume the distance has three linguistic terms (modeled by IT2 fuzzy sets), Close, Okay and Far, as depicted in Figure 10(a), and the relative speed also has three IT2 linguistic terms (modeled by IT2 fuzzy sets), Slow, Okay and Fast, as depicted in Figure 10(b). Note again that the word "Okay" for the distance and the relative speed has different IT2 fuzzy set representations.
Figure10(a) Figure10(b)There are again nine rules, whose consequents are intervals:
Assume the current distance to the front car is 47 meters, and the relative speed is 4 KM/h. Let Close_ and ¯Close be the LMF and UMF of Close, respectively. LMFs and UMFs of other words are denoted in a similar way. The membership grades on the corresponding LMFs and UMFs are shown in Figure 11:
[uClose_(
[uSlow_(
![]() |
Try to drag the dots to change the distance and relative speed values.
The membership intervals and all subsequent calculations will be updated accordingly.
|
The firing intervals of the nine rules are:
Rule No.: | Firing Interval | → | Consequent |
---|---|---|---|
˜R1: | [f_1,¯f1]=[uClose_(
=[ |
→ | [y_1,¯y1]=[−1,1] |
˜R2: |
[f_2,¯f2]=[uClose_(
=[ |
→ | [y_2,¯y2]=[−6,−4] |
˜R3: |
[f_3,¯f3]=[uClose_(
=[ |
→ | [y_3,¯y3]=[−11,−9] |
˜R4: |
[f_4,¯f4]=[uOkay_(
=[ |
→ | [y_4,¯y4]=[2,4] |
˜R5: |
[f_5,¯f5]=[uOkay_(
=[ |
→ | [y_5,¯y5]=[−1,1] |
˜R6: |
[f_6,¯f6]=[uOkay_(
=[ |
→ | [y_6,¯y6]=[−4,−2] |
˜R7: |
[f_7,¯f7]=[uFar_(
=[ |
→ | [y_7,¯y7]=[9,11] |
˜R8: |
[f_8,¯f8]=[uFar_(
=[ |
→ | [y_8,¯y8]=[4,6] |
˜R9: |
[f_9,¯f9]=[uFar_(
=[ |
→ | [y_9,¯y9]=[−1,1] |
Using EIASC, the type-reduced output is computed as:
Y(
Finally, the crisp output of the IT2 TSK fuzzy system is:
y=yl+yr2=[(
Note that this output is different from the output of the T1 fuzzy system in Section II-C; however, the output of the T1 fuzzy system, y(47,4) in (4), is included in the output interval of the IT2 fuzzy system, Y(47,4) above.
For clarity, the nine rules are also summarized in Table 3. The corresponding input-output mapping is shown in Figure 12(a), which can be changed by modifying the rule consequents in Table 3. The input-output mapping of the IT2 fuzzy system is more complex than its T1 counterpart in Figure 6, as evidenced by the difference between their input-output mappings in Figure 12(b). Observe also that Figure 12(b) looks smoother than Figure 6, suggesting that the IT2 controller will provide a smoother ride.
Distance∖Relative Speed | Slow | Okay | Fast |
---|---|---|---|
Close | Y1=[y_1,¯y1]= [ , ] |
Y2=[y_2,¯y2]= [ , ] |
Y3=[y_3,¯y3]= [ , ] |
Okay | Y4=[y_4,¯y4]= [ , ] |
Y5=[y_5,¯y5]= [ , ] |
Y6=[y_6,¯y6]= [ , ] |
Far | Y7=[y_7,¯y7]= [ , ] |
Y8=[y_8,¯y8]= [ , ] |
Y9=[y_9,¯y9]= [ , ] |
![]() |
A fuzzy system should be optimized for each specific task. For example, in the car following fuzzy controller, for fast and accurate response, the input membership functions and/or the rule consequents may need to be tuned.
Generally, there are three different strategies
Evolutionary computing
The antecedent and consequent parameters are encoded as chromosomes in a population; genetic operators, e.g., selection, crossover, mutation, and reproduction, can then be used to generate the next (better) generation. The best chromosome in the final generation is selected as the best parameter set.
Gradient descent.
For example, back-propagation
Gradient descent and least squares estimation.
For example,
in adaptive-network-based fuzzy inference system (ANFIS)
There are generally two different strategies for optimizing an IT2 fuzzy system:
Evolutionary computing
For example,
genetic algorithms
Gradient descent
For example, gradient descent has been used to optimize self-evolving
interval type-2 fuzzy neural networks
A challenging question is: What are the main differences between IT2 and T1 fuzzy systems? Once
the differences are clear, we can better understand the advantages of IT2 fuzzy systems and hence better
make use of them. In the literature there has been considerable efforts devoted to answering this challenging and
fundamental question. Some important arguments are
An IT2 fuzzy set can model inter-personal uncertainties, which are intrinsic to human language, because its membership is an interval, instead of a crisp number in a T1 fuzzy set. For example, different people may have different understandings of the linguistic terms (Close, Okay, Far, Slow, Okay, Fast) in the car following example, and hence they may provide different T1 fuzzy sets for each word. An IT2 fuzzy set can be used to aggregate the T1 fuzzy sets from different people.
IT2 fuzzy sets reduce the rulebase size
An IT2 fuzzy controller gives a smoother control surface than its T1 counterpart,
especially in the region around the steady state
(e.g., when both the distance and the relative speed approach 0, in the car following example)
Wu
Fuzzy sets are suitable for modeling human linguistic uncertainties, and the resulting fuzzy systems can
then be used to perform inferences based on a linguistic rulebase. This paper has introduced the basic concepts
of T1 and IT2 fuzzy sets and systems, and illustrated their computations using a car following example.
Fuzzy systems have been used in numerous applications, particularly controls, from cement kiln in Denmark
to Sendai Subway in Japan, from rice cookers to air conditioners. Researchers who want to learn more about
T1 and IT2 fuzzy sets and systems are suggested to read