Figure 1: Trapezoidal-type fuzy set for the fuzzy controller design using evolutionary algorithm.

1 Fuzzy Controller Design Using Evolutionary Algo-

rithm

In this section, we show how an evolutionary algorithm can be used to fine tune parameters of a fuzzy system to approximate a nonlinear function. We then use this method to design fuzzy controllers. The essential element of approximating a function using fuzzy system or fuzzy controller design is a fuzzy base whose rules are used to approximate a given function or to design a fuzzy controller. Suppose that we are faced with approximating a vector valued function f : ℝ^{p} → ℝ^{m} of p variables, x_{1}, x_{2}, …, x_{p}. An example of the form the i-th rule that we will use to constaruct a fuzzy approximator of the the function f is:

IF x_{1} IS F_{1}^{i} WITH α_{1}^{i} AND x_{2} IS F_{2}^{i} WITH α_{2}^{i} AND ⋯ AND x_{p} IS F_{p}^{i} WITH α_{p}^{i}

THEN y_{1} IS G_{1}^{i} AND ⋯ AND y_{m} IS G_{m}^{i}

In the above rule, α_{i}^{j} is a non-negative real number reflecting the weight attached to the j-th fuzzy set F_{i}^{j} in the i-th rule, and G_{j}^{i} is the output singelton function. The fuzzy sets used by us are characterized by a trapezoidal-type memebership functions whose typical graph is depicted in Figure 1. The memebership function shown in Figure 1 can be described analytically as follows:

F_{j}^{i}(x) = \{ \begin{matrix}\frac{1}{d_{ij}^{l}} (x + d_{ij} + d_{ij}^{l} − c_{ij}) & if & c_{ij} − d_{ij} − d_{ij}^{l} ≤ x < c_{ij} − d_{ij} \\ 1 & if & c_{ij} − d_{ij} ≤ x < c_{ij} + d_{ij} \\ \frac{1}{d_{ij}^{r}} (−x + d_{ij} + d_{ij}^{r} + c_{ij}) & if & c_{ij} + d_{ij} ≤ x < c_{ij} + d_{ij} + d_{ij}^{r} \\ 0 & & otherwise \end{matrix}  (1)

Careful analysis of the above trapezoidal fuzzy set leads us to the conclusion that the memebership function characterizing this set can be uniquely described with four non-negative parameters, c_{ij}, d_{ij}, d_{ij}^{j}, and d_{ij}^{r}. We employ this fact in the construction of the evolutionary algorithm for fine tuning parameters of the fuzzy system approximating a given nonlinear function. To proceed, let

w_{i} = F_{1}^{i}(x_{1}) × α_{1}^{i} × F_{2}^{i}(x_{2}) × α_{2}^{i} × ⋯ × F_{p}^{i}(x_{p}) × α_{p}^{i}.  (2)

Then, with r rules in the rule base, the q-th output of the fuzzy system is

y_{q} = \frac{∑_{i=1}^{r} w_{i} × G_{q}^{i}}{∑_{i=1}^{r} w_{i}} .  (3)