**Abstract: In this work, a general purpose fuzzy
controller is proposed to handle the class of monotone functions.
A set of rules on the selection of fuzzy subsets and decision
tables based on the mean-of-inversion (MOI) defuzzification method
for guaranteed convergence and accuracy is given and proved. Unlike
the mean-of-maximum (MOM) and the center-of-area (COA) methods,
the MOI method defuzzifies each fired rule separately instead
of superimposing fired rules before defuzzification. **

Fuzzy logic was introduced by Zadeh in [1-2] and used by Mamdani and Assilian to control dynamic systems in [3-4]. Since then, many successful applications of fuzzy controllers have been reported [5-16]. Although the design of fuzzy controllers is well known for its simplicity as noted in [17], the effect of fuzzy controller components (e.g., fuzzy sets, decision tables, and defuzzification methods) on the overall performance of controllers is not quite clear from the mathematical point of view. Thus, most of the time, the verification of accuracy of fuzzy controllers is done via simulations instead of theoretical analysis.

As mentioned in [17], the lack of rigorous stability analysis was the primary reason for the slow acceptance of fuzzy controllers outside Japan. In the literature, some models for stability analysis had been proposed [18-26]; however, they either imposed many restrictions on the design of controllers or focused on the analysis after design is completed.

In [27-28], a fuzzy controller based on the mean-of-inversion (MOI) defuzzification method for JPEG [29] in the application of image compression was proposed. Although simulations indicate that the designed controller worked very well, a theoretical analysis for accuracy is preferred.

In this work, a set of rules on the selection of fuzzy subsets and decision tables based on the MOI method for guaranteed convergence and accuracy is given and proved. Section II describes the mechanism of the designed fuzzy controllers. The proof of accuracy is given in Section III. Conclusions and discussions are given in Section IV.

We assume a generic system as depicted in Figure 1. In Fig. 1, the plant can be characterized as

(1)

where *c* and *a* are the input and output
of the plant, respectively, and the function *f* is assumed
to be a monotone function.

In order to measure and analyze the controller's performance in terms of accuracy, we define successful trials and unsuccessful trials.

**Definition 1**. Successful
Trials: For a desired output value , the
fuzzy controller succeeds at a trial if one of the following three
conditions is met:

Case 1: If for a non-increasing monotone function (or for a non-decreasing monotone function), where and are the minimum and maximum values in the input domain C, then exactly one of the two following conditions is met:

(i) The final output is
where is the final value of *c*
after convergence.

(ii) If there exists no such that , then

[1] where is the smallest (greatest) possible value in the case of non-increasing (non-decreasing) monotone functions such that and is the greatest value smaller than in ;

[2] where is the greatest (smallest) possible value in the case of non-increasing (non-decreasing) monotone functions such that and is the smallest value greater than in .

Case 2:

For a non-increasing monotone function, if , then .

(For a non-decreasing monotone function, if , then . )

Case 3:

For a non-increasing monotone function, if , then .

(For a non-decreasing monotone function, if , then .)

Note that only one of Case 1, Case 2, or Case 3 can be satisfied.

**Definition 2**. Unsuccessful
Trials: Any trial that is not a successful trial.

Thus, to guarantee that the controller always produces a successful trial, the feedback must not be 0 until one of the conditions of successful trials is met.

The internal structure of the fuzzy controller is
depicted in Figure 2.

The two inputs, *p* and *e*, to the fuzzy
controller at time *t* are defined as

(2)

(3)

where is the desired output
of the plant and . *E* and *P*
are the universal sets of *e* and *p*, respectively.
*C*, *E*, and *P* are finite sets of real numbers.

In general, , the membership
function of a fuzzy subset *A, *in the universal set *X*
is defined [30, 31] as

(4)

where is the closed interval of real numbers with 0 and 1 being the minimum and maximum membership values, respectively.

Without loss of generality, we assume there are *N*
() fuzzy subsets for the fuzzy variable
*e*, that is,

(5)

In addition, the following four restrictions are imposed on .

(1) A special triangular fuzzy subset *ZE*

(6)

is the only fuzzy subset across 0 in the input distribution
*E* and

(7)

(2) is on the negative side
of *E* if ; and
is on the positive side of *E* if .

(3) For a crisp input value
and , there exists at least one *i*,
, such that .

(4) (8)

As for the fuzzy variable *p*, there are *D*
() fuzzy subsets, that is,

(9)

Additionally, the following four restrictions are imposed on .

(1) A special triangular fuzzy subset *ZE*

(10)

is the only fuzzy subset across 0 in the distribution
*P* and

(11)

(2) is on the negative side
of *P* if ; and
is on the positive side of *P* if .

(3) For a crisp input value
and , there exists at least one *j*,
, such that .

(4) (12)

The decision tables used by the fuzzy controller
are Table 1 (for non-increasing monotone functions) and Table
2 (for non-decreasing monotone functions). Since the output of
the fuzzy controller is a crisp value
of *P*, we assume, for simplicity, that the entries of the
decision table also use the same group of fuzzy subsets as *p*
does. Thus, given the definition of *e* and *p* in Eqs.
2 and 3, it is quite natural to assign ZE's to all the entries
of the decision table in row *k *and in column *l*,*
*as shown in Tables 1 and 2.

In Tables 1 and 2, the membership value of the decision
table entry *ij*, , is calculated
by using the fuzzy min (or intersection) operator as

(13)

where and .
Table 3 below is an example of Table 1.

As for defuzzification, we use the MOI method to calculate (for ), the feedback from the controller to JPEG,

(14)

In order to guarantee that is no larger than , is decided by the following algorithm:

Step 1. Calculate the corresponding crisp values of fuzzy membership value .

(15)

where *A* is the corresponding fuzzy subset
of and is the
inverse function of , the membership function
of fuzzy subset *A*. Note that there might be more than one
value generated by .

Step 2. Adjust the inverse values for accuracy.

Case 1. Non-increasing monotone functions:

(16)

Case 2. Non-decreasing monotone functions:

(17)

Step 3. Adjust each inverse value for guaranteed convergence.

(18)

Step 4. Pick the largest absolute value of , , and set .

In addition, after the calculation of Eq. 14 is adjusted as follows:

__ If__ overshooting
occurs and ,

__ then__
(19)

__ else__ (20)

where *m* is a positive integer, *u* is
the measure unit of *c* , and .

Finally, the new input is calculated as

(21)

When , a special signal **STOP**
is generated to stop the adjusting process.

*A. Guaranteed convergence*

The convergence of this general purpose fuzzy controller for discrete monotone functions is guaranteed by the following three conditions (as will be proved in Theorem 3):

(i) The absolute value of the current adjustment is no larger than that of the previous adjustment , that is, in the case of no overshooting.

(ii) The absolute value of the current adjustment
is smaller than that of the previous
adjustment , that is,
in the case of overshooting where *u* is the measure unit
of input *c* and .

(iii) , that is, the discrete input domain is bounded.

**Lemma 1**. At step *t+*1,
.

**Proof**: According to Eqs.
21 and 3, there are three different cases (exclusive of the first
three conditions of Eq. 21).

Case 1. : Since and , . Thus, .

Case 2. : Since , and , . Thus, .

Case 3. : .

**Lemma 2**. At step *t*,
.

**Proof**: According to Eq.
18, the absolute values of all inverse values
are no larger than , that is,
for and . According
to Eq. 14,

Thus, after the calculation of Eq. 14, . In the process of adjusting (Eqs. 19 and 20), we have two cases.

Case 1. Overshooting and : According to Eq. 19, will be adjusted such that because .

Case 2. In all other situations: Since *u* is
the measure unit of *c,* all (for
) are adjusted to *nu* where *n*
is an integer according to Eqs. 19 and 20; so does
according to Eqs. 21 and 3. Thus,

(i) if , then since before the adjustment;

(ii) if , then .

Therefore, according to Eqs. 19 and 20, after the adjustment if no overshooting occurred; otherwise, .

**Theorem 3**. The absolute
values of the feedback produced by the
fuzzy controller using the MOI method form a non-increasing monotone
series. More specifically, if
and have the same signs; otherwise, .

**Proof**: Based on Lemmas
1 and 2, if no overshooting occurs; otherwise,
.

In summary, the produced by the fuzzy controller using the MOI method are a non-increasing monotone series. Therefore, since the input domain is discrete and bounded, after a finite steps of adjustment, the adjusting process will terminate, that is, or for .

*B. Guaranteed accuracy for non-increasing monotone
functions*

**Lemma 4. **At step t, all
non-zero in Eq. 14 have same signs, that
is, they are all either positive or negative values.

**Proof**:

Case 1. Non-increasing monotone functions and : According to definition (Eq. 2),

.

Since (the fuzzy subset
*ZE*) is the only fuzzy subset across 0,

Thus, according to Eq. 13,

In addition, the positive are adjusted to 0 according to Eq. 16. Therefore, there are no positive values in Eq. 14, that is, all according to Table 1.

Case 2. Non-increasing monotone functions and :

.

Thus, as seen in Table 1 and Eq. 13,

In addition, the negative are adjusted to 0 according to Eq. 16. Therefore, all .

Case 3. :

.

Thus, according to Eqs. 16 and 17, all .

Case 4. Non-decreasing monotone functions and : According to definition (Eq. 2),

.

Thus, according to Table 2 and Eq. 13,

In addition, the negative are adjusted to 0 according to Eq. 17. Therefore, there are no negative values in Eq. 14, that is, all according to Table 2.

Case 5. Non-decreasing monotone functions and :

.

Thus, as seen in Table 2 and Eq. 13,

In addition, the positive are adjusted to 0 according to Eq. 17. Therefore, all .

**Theorem 5**. At step t,
the feedback if and only if one of the
following three conditions is met:

(1) All the fired fuzzy subsets in the decision table are fuzzy subset ZE's with membership values 1's.

(2) Overshooting occurs and
where *u* is the minimum measure unit of input *c*.

(3) .

**Proof**: According to Eqs.
19 and 20, is equal to 0 if and only
if either (i) and overshooting occurred.
(Thus, the second condition of Theorem 5 is proved.) or (ii)
in Eq. 14. Since there exists at least one
in Eq. 14,

if and only if

(according to Lemma 4)

where and .
Since the fuzzy subset *ZE* is the only fuzzy subset across
0 in the domain *P* and (according
to Eq. 11.), the inverse value if and
only if either (i) (according to Eqs.
11 and 12) or (ii) as defined in Eqs.
16 and 17. Thus, the first and third conditions of Theorem 5 are
proved as well.

**Lemma 6**. For a non-increasing
monotone function , if (i) Table 1 is
used and (ii) either overshooting does not occur or ,
then when , and
when .

**Proof**: As seen in Cases
1 and 2 of Lemma 4, all when
and all when .
However, none of the three conditions of Theorem 5 is met here.
(Since , the first condition of Theorem
5 is not true according to Eqs. 7 and 13.) Hence,
and in the cases of
and , respectively.

**Theorem 7**. For a non-increasing
monotone function and the fuzzy controller
using Table 1, if where
is the desired output, *m* is an integer, and *s* is
either a positive integer or 0, then the final input is in the
interval .

**Proof**: For serial inputs

Case 1. : Since ,
the adjusting process will stop at step *t* according to
Theorem 5 and Eq. 21.

Case 2. :

(i) Overshooting (): Since , . Therefore, according to Lemma 6, and because , , and .

(ii) No overshooting (): According to Lemma 6, and .

Case 3. :

(i) Overshooting (): Since , according to Lemma 6, . Thus, according to Eq. 21, because , , and .

(ii) No overshooting (): According to Lemma 6, since no overshooting occurred. Thus, according to Eq. 21, .

**Theorem 8**. For a non-increasing
monotone function and the fuzzy controller
using Table 1, if , then either
or where is
the final value of *c* after convergence.

**Proof**: For serial inputs
,

Case 1. : As seen in Case 2 of Theorem 7, .

Case 2. : ()

(i) Overshooting (): Since , . Therefore, according to Lemma 6, and because , , and .

(ii) No overshooting (): According to Lemma 6, and .

Case 3. :

(i) Either overshooting with or no overshooting (): According to Lemma 6, . Thus, according to Eq. 21, because , , and .

(ii) Overshooting with : (according to Theorem 5) and (according to Eq. 21).

Case 4. : ()

(i) Either overshooting with or no overshooting (): According to Lemma 6, . Thus, according to Eq. 21, because , , and .

(ii) Overshooting with : (according to Theorem 5) and (according to Eq. 21).

**Lemma 9**. For a non-increasing
monotone function and the fuzzy controller
using Table 1, if , then
where is the final value of *c*
after convergence.

**Proof**: Since
for , according to Lemma 6,
because of no overshooting. The value of *c* will continue
to decrease until , and
according to Eq. 21. Since ,
(according to Lemma 6) and , the adjusting
process will stop at step *t+*1* *according to Eq. 21.

**Lemma 10**. For a non-increasing
monotone function and the fuzzy controller
using Table 1, if ,
where is the final value of *c*
after convergence.

**Proof**: Since
for , according to Lemma 6,
because of no overshooting. The value of *c* will continue
to increase until , and
according to Eq. 21. Since ,
(according to Lemma 6) and , the adjusting
process will stop at step *t+*1 according to Eq. 21.

**Theorem 11**. For a non-increasing
monotone function , the fuzzy controller
using Table 1 as the decision table will always yield successful
trials as defined in Definition 1.

**Proof**: Based on the conclusions
on Theorems 7 and 8, Lemmas 9 and 10, and Definition 1, for a
non-increasing function, the fuzzy controller using Table 1 as
the decision table will always yield successful trials.

In summary, if the fuzzy controller is configured as described in Section II, successful trials as defined in Definition 1 can be always obtained for discrete monotone functions. (For non-decreasing monotone functions using Table 2, the proof of accuracy can be obtained in a similar way.) However, the given configuration may not be the only configuration which can always yield successful trials for discrete monotone functions.

In this work, a set of configuration on fuzzy subsets
and decision tables based on the MOI method [27-28] for guaranteed
accuracy in terms of successful trials defined in Definition 1
is stated and proved. Unlike the COA method, the MOI method defuzzifies
each fired rule individually instead of superimposing fired rules
before defuzzification. The restrictions imposed on the selection
of fuzzy subsets for fuzzy variable *e* as defined in Eq.
2 are

(1) A special triangular fuzzy subset *ZE* is
the only fuzzy subset across 0 in the distribution *E* and

.

(2) For a crisp input value and , there exists at least one for .

(3)

Similar restrictions are also imposed on another
variable *p* as defined in Eq. 3.

Strictly speaking, these restrictions are quite common in the design of fuzzy controllers. Thus, the proposed fuzzy controller can be very flexible in terms of the selection of fuzzy subsets for various applications. In addition, the optimization of convergence speed is possible via simulations.

Although the fuzzy controller is well known for its ease of design, the analysis and testing (verification) of accuracy is very difficult in general. Therefore, the set of rules for guaranteed accuracy proposed in this work is very useful and can relieve users' burden on testing via possible thousands of simulations. The further relaxation of the restrictions on fuzzy subsets and decision tables is the ongoing research direction.

The authors would like to thank Drs. S. Mazumdar, S. Schaffer, H. Soliman, and D. Carlson for their helpful suggestions.

[1] L.A. Zadeh, "Fuzzy Sets," *Inform.
Contr.*, vol. 8, pp. 338-353, 1965.

[2] L.A. Zadeh, "Outline of a New Approach to
the Analysis of Complex Systems and Decision Processes,"
*IEEE Trans. Syst. Man. Cybern.*, vol. 3, no. 1, pp. 28-44,
1973.

[3] E.M. Mamdani, "Applications of Fuzzy Algorithms
for Simple Dynamic Plants," *Proc. IEEE*, vol. 21, no.
12, pp. 1585-1588, 1974.

[4] S. Assilian, "Artificial Intelligence in the control of Real Dynamic Systems," Ph.D. Thesis, Queen Mary College, London, 1974.

[5] T. Munakata and Y. Jani, "Fuzzy Systems:
An Overview," *Communications of the ACM*, vol. 37,
no. 3, pp. 69-76, 1994.

[6] M. Sugeno, editor. *Industrial Applications
of Fuzzy Control*. Amsterdam: North-Holland, 1985.

[7] M. Sugeno, and M. Nishida, "Fuzzy Control
of Model Car," *Fuzzy Sets Syst.*, vol. 16, no. 2, pp.
103-113, 1985.

[8] J. Keller and R. Krishnapuram, "Fuzzy set
methods in computer vision," in *An Introduction to Fuzzy
Logic Applications in Intelligent Systems*, R. R. Yager and
L. A. Zadeh, Eds. Boston, MA: Kluwer Academic Publishers, 1992,
pp. 121-146.

[9] T. Shingu and E. Nishimori, " Fuzzy Based
Automatic Focusing System for Compact Camera," *Proc. of
the Third International Fuzzy Systems Association (IFSA)*,
pp. 436-439, 1989.

[10] S. Yasunobu and G. Hasegawa, " Evaluation
of an Automatic Crane Operation System Based on Predictive Fuzzy
Control," *Control Theory and Advanced Technology*,
vol. 2, pp. 419-432, 1986.

[11] H. Takahashi, K. Ikeura, and T. Yamamori, "5-speed
Automatic Transmission Installed Fuzzy Reasoning," *Proc.
of International Fuzzy Engineering Symposium '91* *(IFES'91)*,
pp. 1136-1137, 1991.

[12] W.I.M. Kickert and H.R. Van Nauta Lemke, "Application
of a Fuzzy Controller in a Warm Water Plant," *Automatica*,
vol. 12, pp. 301-308, 1976.

[13] C.P. Pappis and E.H. Mamdani, " A Fuzzy
Logic Controller for a Traffic Function," *IEEE Trans.
Syst. Man. Cybern.*, vol. **7**, no. 10, pp. 707-717, 1977.

[14] G.A. Carter and D.A. Rutherford, "A Heuristic
Adaptive Controller for a Sinter Plant," *IFAC Symp. on
Automation in Mining, Met and Met Processing*, Johannesburg,
pp. 315-324, 1976.

[15] R.M. Tong, "A Control Engineering Review
of Fuzzy Systems, " *Automatica*, vol. 13, pp. 559-568,
1977.

[16] C.C. Lee, "Fuzzy Logic in Control Systems:
Fuzzy Logic Controller," *IEEE Trans. Syst. Man. Cybern.*,
vol. 20, no. 2, pp. 404-435, 1990.

[17] E.M. Mamdani, "Twenty Years of Fuzzy Control:
Experiences Gained and Lessons Learnt," *Proc. IEEE International
Conf. on Fuzzy Systems*, pp. 339-344, 1993.

[18] M. Braae and D.A. Rutherford, "Theoretical and Linguistic Aspects of the Fuzzy Logic Controller," Automatic, vol. 15, pp. 553-577, 1979.

[19] J.B. Kiszka, M.M. Gupta, and P.N. Nikiforuk,
"Energetistic Stability of Fuzzy Dynamic Systems," *IEEE
Trans. Syst. Man, Cybern.*, vol. SMC-15, no. 6, pp. 783-792,
1985.

[20] K.S. Ray and D.D. Majumder, "Application
of Circle Criteria for Stability Analysis of Linear SISO and MIMO
Systems Associated with Fuzzy Logic Controller," *IEEE
Trans. Syst. Man, Cybern.*, vol. SMC-14**,** no. 2, pp.
345-349, 1984.

[21] C. Jianqin and C. Laijiu, "Study on stability
of fuzzy closed-loop control systems," *Fuzzy Sets and
Systems* 57, pp. 159-168, 1993.

[22] G.-C. Hwang and S.-C. Lin, "A stability
approach to fuzzy control design for non-linear systems,"
*Fuzzy Sets and Systems* 48, pp. 279-287, 1992.

[23] A. Pagni, R. Poluzzi, and G. Rizzotto, "Automatic
Synthesis, Analysis and Implementation of a Fuzzy Controller,"
*Proc. of 1993 IEEE Fuzzy*, pp. 105-110, 1993.

[24] S.S. Farinwata and G. Vachtsevanos, "Stability
Analysis of the Fuzzy Logic Controller," *Proc. of 1993
IEEE Fuzzy*, pp. 1377-1382, 1993.

[25] K. Tanaka and M. Sano, "Fuzzy Stability
Criterion of a class of Nonlinear Systems," *Information
Sciences* 71, pp. 3-26, 1993.

[26] K. Tanaka and M. Sugeno, "Stability analysis
and design of fuzzy control systems," *Fuzzy Sets and Systems*
45, pp. 135-156, 1992.

[27] C.J. Wu and A.H. Sung, "The Application
of Fuzzy Controller to JPEG," *Electronics Letters*,
vol. 30, no. 17, pp. 1375-1376, 1994.

[28] C.J. Wu and A.H. Sung, "The Application
of Fuzzy Logic to JPEG," *IEEE Trans. Consumer Electronics*,
vol. 40, no. 4, pp. 976-984, 1994.

[29] G. K. Wallace, "The JPEG still Picture
Compression Standard," *Communications of the ACM*,
vol. 34, no. 4, pp. 30-44, 1991.

[30] G. J. Klir and T. A. Folger, *Fuzzy Sets,
Uncertainty, and Information*, Englewood Cliffs, NJ: Prentice-Hall,
1988.

[31] B. Kosko, *Neural Networks and Fuzzy Systems:
A Dynamical Systems Approach to machine Intelligence*, Englewood
Cliffs, NJ: Prentice-Hall, 1992.