You are on page 1of 218

2.

Basics on the Design of Fuzzy Controllers

2.1. Fuzzy Controllers


In a broad sense a fuzzy logic controller FLC is an expert system using fuzzy
variables and fuzzy logic. An expert system ES is a computer program embed-
ding a certain amount of expert knowledge on a particular domain, aiming to
make decisions in the same way as human experts. ESs are typical AI items.
An SE is essentially composed by a knowledge base and a search algorithm
that is based on reasoning methods. The rule base and the search algorithm
are capable to infer the demanded decisions starting from the on behalf of the
disposable knowledge, which can be improved by learning. ES knowledge is
represented through IF-THEN control rules that can be easily understood and
modified by users, like:
IF < premise > THEN < conclusion > (2.1)
As we have seen, the role of FL in this area consists of knowledge representa-
tion and generating inference mechanisms able to emulate human reasoning.
It is not by chance that FS can be most easily implemented in areas where
there is a previous human experience. The operation which produces conclu-
sions, forecasts or projections out of a set of premises is the inference.
Stricto sensu controller is a device that materializes the control law in automate
control systems. The same term - controller - is coined for the entities that real-
ize the inference operation in decision-making systems. When FL is involved in
the inference algorithm we obtain FLCs.
In terms of information, a FLC structure comprises three fundamental blocks:
fuzzification (input interface), inference and defuzzification (output interface).
One can also use the term fuzzy controller when the inference is not involving
advanced FL operations, being restricted to basic t-s norms: min-max, prod-
sum, etc.

Controlled
process

Fuzzification Fuzzy Deuzzification


(input inference (output
interface) interface)

Fig. 2.1. Fuzzy controller in a closed loop control system

2.1
Fuzzification Inference Defuzzification
Inputs Outputs

Control rule base

Fig. 2.2. Fuzzy-expert system structure


A more complex embodiment, characteristic for generic expert systems, shows
in Fig. 2.2. By separating the rule base of the inference mechanism one gains
flexibility and large projects can work in parallel on the two blocks.
Depending on the nature fuzzy or non-fuzzy of the input and output variables
there exist four possible forms of FLCs, presented in the following table.
Table 2.1
Fuzzy controller configurations
Input Output information
information CRISP FUZZY
CRISP Closed loop control (1) Decision assisting – open loop (2)
FUZZY Decisions – closed loop control (3) Open loop intelligent decisions (4)

(1) The typical form for closed loop control, also called fuzzy regulator FR. The
input quantities derive from transducers and the output ones drive actuators.
(2) This form was used for instance by Toyota for an automatic gear shifter.
The problem: when braking from IVth gear, should be chose IIIrd or IInd? The
solution was to estimate the style of the driver: sport or slow which are fuzzy
variables. For a medium speed of the driver movement on the gas pedal, if the
driver has a sport style the shift will be in IIIrd while if the driver is slow the shift
will be in IInd.
(3) This form was used in the same gear shifter, in order to take the (2) deci-
sion, starting from the fuzzy input style.
(4) This form is generic for fuzzy-expert systems operating with LVs.

2.2
2.2. Fuzzification
As mentioned before, fuzzification is the operation of transforming the crisp
variables into FCs or FPs. Although the fuzzification seems simple, its role in
FLC is fundamental: the choice of the variables and their tuning is framing all
the following operations.
Let us exemplify the fuzzification of a PD fuzzy controller (regulator).
The minimum number of input variables is two: e = error, de = derivate of error
and the output is c = command. The fuzzification produces three LVs:
E = {E1 , E2 , ... En} , DE = {DE1 , DE2 , ... DEm} , Y = {Y1 , Y2 , ... Yp} (2.2)
The fuzzification will be realized as follows:
 for e seven TLs (n=7): NG, NM, NS ,Z ,PS ,PM şi PG
 for de five TLs (m=5): NG, NS, Z, PS şi PG
 for y: five TLs (p=5): NG, NS, Z, PS şi PG
The FLs are traditional: NG negative great, NM negative medium, NS negative
small, Z zero, PS positive small, PM positive medium and PG positive great.
We will use normalized variables, so we will connect the controller to the pro-
cess by three scaling factors FSe, FSde and FSy.

Fig. 2.3. The scaling factors of the fuzzy PD controller

Fig. 2.4 structure was implemented for the first time by E.H. Mamdani and S.
Assilian in 1975. A simplified version of the Mamdani controller, known as
Takagi-Sugeno, was proposed in 1985. The idea is to fuzzify the output LV
using only singletons. Such way one does not lose the fuzzy character, but
practical implementations are simplified significantly. In ‘80s a “fuzzy boom”
supported by the efficiency of the Sugeno controllers was triggered in Japan.

2.3
Fig. 2.4. Fuzzification of an Mamdani fuzzy PD controller using triangular MFs

2.4
We can observe that, unlike a linear PD controller that has only two adjustable
parameters - the weights of proportional and derivative effects - a fuzzy PD
controller has a multitude of parameters that can be tuned: number of LTs,
their position, their MFs, the scaling factors, etc. That is producing unlimited
flexibility and adaptability on one hand, and difficulties to find optimal solutions
on the other hand.
Let us discuss for instance only NLT, the number of LTs:
- the greater NLT, LV granulation and specificity are higher but more computa-
tions are needed;
- the smaller NLT, LV granulation is small while generality is higher, with less
computations;
- a rule of thumb: usually NLT must not exceed 7, no significant performance
improvements are paid with significantly increasing costs;

2.3. Inference

The inference is a logical operation to obtain valid conclusions based on prem-


ises. FLCs, like all expert systems, use modus ponens principle (by way of
statement) that requires bringing sentences to a standard form called clausal.
Clauses are classified in clauses with complex premises and unique conse-
quence:
1) IF A1  A2  ...  Am THEN B (2.3)
and clauses with complex premises and alternative consequences:
2) IF A1  A2  ...  Am THEN B1  B2  ...  Bn (2.4)
Any usual logic formula can be shifted into a clausal one.
We will exemplify a min-max inference, for the case of the fuzzy PD controller.
- The input LTs are compared by the min operator with the premises of each
rule; the rules producing non-null MFs will be activated.
- The final result is achieved by aggregating the conclusions of each active
rule LT by the max operator, taking into account their degrees of activation.
The degree of activation of rule i which has the premises Ei(e) and DEi(de) is:
i (y)= max [ E(e)  Ei (e)  DE(e)  DEi (de) ] (2.5)
eE, deDE

2.5
The result of the inference is the Y fuzzy set.
N

Y =  (i  Yi ) (2.6)
i=1

Let us detail graphically in Fig. 2.5 a min-max inference, considering only two
rules R1 and R2 from a generic fuzzy PD controller database:

R1: IF (E = Z AND DE = NM) THEN Y = NM


R2: IF (E = PM AND DE = NG) THEN Y = Z

Fig. 2.5. A min-max inference


In a fuzzy controller having two input variables fuzzified with FPs, two rules can
be activated simultaneously, with corresponding MFs. If instead of triangles
one uses trapezes it is possible that only one rule to be activated. In the gen-
eral case, when using FCs, several rules can be activated in the same time.

2.6
Control rules can be represented as protocols (lists). However, the most appro-
priate form to represent control rule bases, when the dimensionality allows this,
is the inference table, also called MacVicar-Whelan table, which eliminates the
risk of skipping regions within the definition domain of variables, if completed
properly, without omitting any rule.

Table 2.2
MacVicar-Whelan table for a PD controller (e = error, de = derivate error):
e E1=NG E2=NM E3=NS E4=Z E5=PS E6=PM E7=PG
de
DE1=NG R1 R6 R11 R16 R21 R26 R31
DE2=NS R2 R7 R12 R17 R22 R27 R32
DE3=Z R3 R8 R13 R18 R23 R28 R33
DE4=PS R4 R9 R14 R19 R24 R29 R34
DE5=PG R5 R10 R15 R20 R25 R30 R35

For seven E LTs and five DE LTs the inference table will have 35 rules.
The main task for the designer is to set each rule’s values: a LT (fuzzy) for
Mamdani controllers or a singleton (crisp) for Sugeno controllers. In the case of
closed loop control, a special rule is
IF (E = Z AND DE = Z) THEN Y = R18 (2.7)
R18 is the signature of the control objective: the controlled process has gained
the desired state, and it has no tendencies to escape outside this state.
Since the result of the inference is fuzzy (Mamdani) or a number of singletons
with different grades of membership, when we need a single crisp output value
(configurations 1 and 3 in Table 2.1), the defuzzification operation is required.

2.7
2.4. Defuzzifiction
Last but not the least important operation of the FLC is defuzzification whereby
the result of the fuzzy inference is transformed into a crisp value and transfer-
red to the output. Defuzzification is needed because several rules can be ac-
tive at the same time, requiring either settling on one of them or synthesizing a
value that takes into account to some extent each of them.
There are two main defuzzification approaches: the maxima methods, known
also as mean-of-maxima MOM, and center-of-gravity COG, each one with sev-
eral versions. The choice of the defuzzification method must consider:
- the characteristic of the actuator: continuous or discrete;
- the available computing resources and the speed of the application.
1) The maxima method consists of assigning to the output the value yo ob-
tained by choosing the element with the highest degree of membership from
the composition of the output MF:
Y(yo) = max {Yi(y) yY, i=1 ... n} (2.8)
In determining this amount compete all active LVs yi having being chosen only
the one with the most powerful contribution. The method is applicable only if
one can establish a unique value yo, i.e. when Y comprises only triangular or
singleton MFs. If there are several maxima with the same degree of activation
one can take their mean value: mean of maxima MOM. When Y(y) has no
maximum points (i.e. for trapezoidal shapes) one can apply three variants: first
of maxima FOM, last of maxima LOM or again the mean of maxima MOM.
Suppose there are several fired rules with p maxima, with equal membership
degrees. After determining the crisp outcomes of each rule y0i, the output will
be assigned to the mean of these values:
1 p
y0 =  y0i (2.9)
i=1
p
The advantages of MOM are simplicity and speed, but the domain of the output
values is discontinuous, with a limited number of possible values of the output.

2.8
Mamdani Sugeno

Fig. 2.6. MOM defuzzifications


2) The center of gravity method COG is the most sensitive method, taking into
account, in a weighted manner, the influence of each activated LT, considering
all the values of the degrees of membership. By COG the output domain be-
comes continuous, even in the case of Sugeno controllers.
The COG name comes from the analogy of the definition formula (2.10) with
the calculus of the mechanical center of gravity of a surface:

 Y(y)· y dy
y0 = (2.10)
 Y(y) dy
COG has and a discrete version (Sugeno controllers):
 Y(yj)· yj
j
y0 = (2.11)
 Y(yj)
j

As one see in Fig. 2.7 y0 COG is influenced by both y1 and y1, producing a lower
value than y0 MOM, which takes into account only y2 which has the highest de-
gree of activation.

2.9
Fig. 2.7. COG defuzzification compared to MOM
The main disadvantage of COG consists in the great amount of calculations.
Different versions of the COG seek to mitigate the high volume of calculations.
For instance center of sums COS, unlike standard COG that takes into account
the chart area of the membership function, will calculate separately the centers
of each activated LT, which is relatively easy to compute especially when using
triangular or trapezoidal shapes. The final result is obtained by aggregating the
partial results. The only disadvantage of COS is taking into account several
times the overlapped arias, but this seems to have no negative impact in appli-
cations.

2.10
3. Fuzzy Inference System Tutorial

3.1. Getting started


The main tool that can be used in MATLAB to build fuzzy systems is the Graphic User
Interface named Fuzzy Inference System FIS. FIS is belonging to the Fuzzy Toolbox,
one of the toolkits offered in the MATLAB package. FIS can be launched either from
the Command Window, by typing fuzzy, either from SIMULINK.
The FIS editor displays the three components of a generic fuzzy inference system (a
fuzzy controller): the fuzzification, the inference and the defuzzification. The main FIS
window is presented in Fig. 3.1.
At the opening of FIS only two variables are present: input 1 and output 1 as well as
an Mamdani inference block. As we are going to see, the Mamdani inference type
can be replaced by a Sugeno one. The name of the current selected variable name can
be typed in the Name box.

Fig. 3.1 The main FIS window

3.1
3.2. The fuzzification
The defuzzification block receives at the input crisp values producing fuzzy ones at the
output. The fuzzy variables are build as cognitive frames or fuzzy partitions.
The tuning of the input variables begins by double clicking the variable’s icon. In the
case of the input 1 variable the next membership function editor will appear.

Fig. 3.2 The input 1 variable


In the Edit menu of this window one can find the necessary commands. Typing Add
MFs we will get a dialog box with the necessary options: the number of fuzzy labels
and the type of their membership functions. There are many membership options:
trimf (triangular),
trapmf (trapezoidal),
gaussmf (gauss), etc.
Custom shapes can be also be build.
If we want to build for instance a 5 fuzzy label variable, we will get the next window.

3.2
Fig. 3.3 The membership function of an input variable
Each membership function can be now edited. The parameters of the shape (in the tri-
angular case the three marked points in Fig. 3.3) can be either typed in the Params
box or simply be dragged with the help of the mouse. Each fuzzy set can be labeled
through the Name box. For example, instead of mf1, mf2, mf3, mf4 and mf5 we
could type zero, small, medium, great, and very great. The range of the variable
can be as well set. For example, if we would like to design a fuzzy partition for the
glycemia (the sugar amount of one liter of blood), the appropriate range would be not
[0 1] as in Fig. 3.3 but [0 200].
Parts of the definition domain of the variable (range) can be selected by the display
range box. An important advice: the range of the fuzzy variable must exceed the defi-
nition domain of the application. Otherwise some of the inference methods will pro-
duce errors in the neighborhood of the domain limits! This can be done if range is
wider than display range and the membership functions are valued 1 in the exterior
of the display range, (which is now defining the domain of the application).
New input variables can be add from the main FIS window Edit menu, with the Add
input command.

3.3
3.3. The defuzzification
The defuzzification stage is producing crisp variables starting from fuzzy ones. This
operation, opposite to the fuzzification, is necessary only when we need crisp output
variables, say in the case of control systems (speed, position, pressure, etc). When the
fuzzy system has to produce liguistic outcomes, say in the case of the decision support
expert systems, the defuzzification is skipped and the output remains a fuzzy variable.
FIS is capable of performing both Mamdani and Sugeno type defuzzifications. As we
are going to see in §3.4, the control rules used into the fuzzy inference may have as
consequent both fuzzy values in the case of Mamdani inference or crisp values in the
case of Sugeno inference. Obviously the Sugeno type fuzzy systems are simpler than
Mamdani ones. Therefore the Sugeno inference is recommended when one needs crisp
output values. On the other hand, when fuzzy linguistic outputs are needed, the Mam-
dani inference is the only possible. The choice between Mamdani and Sugeno inferen-
ces has to be done at the very beginning of the FIS session, in the FIS editor main win-
dow, at File menu: either New Mamdani FIS or New Sugeno FIS.

Fig. 3.4 The Mamdani defuzzification

3.4
The Mamdani defuzzification procedure is quite similar to the fuzzification one, as one
can see in Fig. 3.4, for the case of an output fuzzy cognitive frame including three
fuzzy labels (mf1, mf2 and mf3) with Gauss shape membership function.
The Sugeno defuzzification is replacing the fuzzy type membership functions with
crisp values.
In the Fig. 3.4 example the output variable defined on [0 1] interval has three labels:
zero (crisp value 0), small (crisp value 0.5, the selected one) and great (crisp value 1).

Fig. 3.4 The Sugeno defuzzification


The defuzzification methods can be chosen from the main FIS window (Fig. 3.1). They
can be classified into two main groups: COG (Center of Gravity – centroid) and MOM
(Mean of Maxima).

3.5
3.4. The fuzzy inference
The hardcore of a fuzzy system relies on its inference mechanism. The inference is
achieved by control rules. The FIS inference block allow a quick and easy writing of
the control rules by means of a McVicar-Whelan table. In the same time the inference
type is specified by choosing the AND method (t-norm) and the OR method (s-
norm) from the main FIS window (Fig. 3.1).
Let us assume the example illustrated in the next 3 frames.
The input variables are concentration and influence. The output variable is risk. A
possible case connected to this fuzzy system could be the evaluation of the explosion
risk into a chemical reactor. The main risk factor is the concentration of a certain sub-
stance, but another influence factor (temperature, pressure, light) is also relevant.
concentration has five fuzzy labels very low, low, medium, high and very high.
They all have trapezoidal shapes (Fig. 3.5a).

Fig. 3.5 a) The input concentration

3.6
Fig. 3.5 b) The input influence
influence has three fuzzy labels small, medium and great. They all have triangular
shapes (Fig. 3.5b).
risk has three fuzzy labels low, medium and high with gauss type shapes (Fig.
3.5c).

3.7
Fig. 3.5 c) The output risk
A complete control rule base should have 5 x 3 = 15 rules. In Fig. 3.6 one can see the
specific control rule base producing a Mamdani inference. The first five rules, which
are not displayed into the figure are:
1. If (concentration is very low) and (influence is low) then (risk is low)
2. If (concentration is low) and (influence is low) then (risk is low)
3. If (concentration is medium) and (influence is low) then (risk is low)
4. If (concentration is high) and (influence is low) then (risk is medium)
5. If (concentration is very high) and (influence is low) then (risk is
high)

3.8
Fig. 3.6. The control rule base
As one can notice in Fig. 3.6 special rule editing buttons are available, as well as “not”
options for each operand. If the edited rule doesn’t imply all the possible labels, the
unused ones will be assigned as none.

3.9
An interesting option, very useful during simulations is the rules viewer that is pro-
ducing an animation of the operating fuzzy system.

Fig. 3.7. The rules viewer


Another useful feature of FIS is the ready to use graphical representation of the input-
output mapping produced by the application. This may be seen with the View surface
command in View menu that is appearing in every FIS window. The control surface
realized by the current application is presented in Fig. 3.8.

3.10
Fig. 3.8. The command surface

3.5. Including FIS into Simulink


FIS can be launched as well as from SIMULIK. This is extremely useful when testing
the fuzzy controllers, because they can be embedded into complex and accurate
Simulink models and the testing scenarios of the simulations are very close to reality.
In the Simulink Library one can find the Fuzzy Logic Toolbox.

Fig. 3.9. The Matlab Simulink Fuzzy Logic Toolbox

3.11
FSe
e
1 c 1
-10
Step du/dt 1 s2 +2s+1
de FSc Saturation Transfer Fcn Scope
Derivative FSde Fuzzy Logic
Controller
with Ruleviewer out

Fig. 3.10. A FIS PD controller (with Ruleviewer) embedded into a Simulink model
The only concern of the designer is to load the .fis file (PD Controller.fis in this case)
into the Workspace and to fill the dialog box of the FLC block.
Membership Functions block enables users to develop custom membership functions

3.6. Working with FIS


FIS can be launched from the command window as well as from SIMULIK. The fast-
est results are obtained by command lines edited in the command window.
But before any other command, a FIS application must be saved as a *.fis file, on the
hard disk, floppy disk or CD, or better in the workspace of the current MATLAB ses-
sion. The saving dialog options are present as always in the File menu. Of course, at
the end of the MATLAB session the workspace must be saved at its turn.
The fuzzy toolbox includes a wide set of fis type commands: evalfis, ruleviewer,
gensurf, readfis, etc. which ensure the access and the adjustment of all the compo-
nents of FIS. Their syntaxes may be studied with the help command.
The extended list of the fis commands, copied from the Mathworks pdf help file
documentation is presented below.

3.12
3.13
3.14
3.15
4. Control of Nonlinear Systems Using Phase Trajectories

4.1. Phase trajectories


The analyse methods known from the System Theory may be divided into two
fundamental classes: time analyse and frequency analyse. Time analyse is the
natural way in which humans are used to rationalize. A derived mathematical
tool was developed: real analytic functions, differentiations, integrations, etc. It
is remarkable that time analysis is perfectly matching AI, since human reason-
ing is relying on time analyses of perceptions (visual, hearing, olfactory, etc.)
The study of the electronic linear amplifiers introduced the frequency analysis
(frequency = 1/time) that was generalized by the System Theory: Bode plots
(frequency characteristics), transfer functions, Nyquist plots, etc. Frequency
analysis make possible a deep understanding of the systems’ behaviour, and
thanks to the operational calculus (particularly Fourier and Laplace transforms)
the manual calculus for simplified regimes became accessible. However fre-
quency analysis is rather general and fails to operate with precision in non-null
initial conditions for instance. Thanks to computers’ aid both approaches devel-
oped a lot for the last half century.
One specific classical theoretical tool, introduced by H. Poincare in late 19th
century, the phase trajectory, gained a good position in the time analyse field,
thanks to the computer aid. In the control theory, the phase trajectory of the
error PTE is of particular interest, and can be successfully associated to FLCs.
PTEs result by eliminating time from the e(t) – de(t) equation system like in
Fig. 4.1.
In general, the equation

y (n)  f(t, y, y , y,..., y (n1) ) (4.1)


may be transformed into a n-order system:
dx n
 f(t, x1 , x 2 ,  , x n )
dt
dx i
 x i 1 , i = 1, 2, … , n-1 (4.2)
dt
y  x1

4.1
The trajectories scanned by (x1 , x 2 ) or (x1 , x 2 , x 3 ) are called phase trajec-
tories. N-dimensional representations are more difficult to use, but very often,
in practice, bi and tri dimensional representations are satisfactory.

x3
v

t=0

x2

x1

Fig. 4.1. Phase trajectory in 3-dimensional state space


In particular, a 2nd order system has two state variables x 1 and x 2 :
dx1
 x2 (4.3)
dt
dx 2
 f(x1 , x 2 )
dt

Dividing the two equations one obtain a differential equation in which time is
eliminated:
dx 2 f(x1, x 2 )
  F' (x1 , x 2 ) (4.4)
dx1 x2
The phase trajectory is the geometrical representation of this equation’s sollu-
tion x 2  F(x1 ) . The plane x1, x 2 is the phase plane. Polar coordinates
may also be used
In 1987, W.F. Clocksin and A.J. Morgan have introduced the concept of quali-
tative control. The basic idea consists in generating control actions only consid-
ering the signs of the error and its derivative. As shown in Fig 4.2, the simple
fact that PTE is positioned in a certain quadrant, correlated to its tendency
(getting up, down or steady), offer essential information on the system’s state
and enable inferences for an adequate and robust control action:

4.2
2
e de
1

0
e & de

-1

-2

-3
0 2 4 6 8 10 12
t [s]

2
t=2.5

1
t=2 t=4 t=3
t=5 t=1
0 t=6
de

-1

-2
t=1.5
-3
-0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
e

Fig. 4.2. Phase trajectory of the error, for a damped oscillatory step response

de

1
2
3
e

4
5
6

Fig. 4.3. Qualitative analyse of PTE

4.3
1 undesirable evolution, instable system
2 undesirable evolution, remaining in quadrant I
3 desirable evolution, towards quadrant IV
4 desirable evolution, approaching the target (e=0, de=0)
5 desirable evolution, approaching point (e=0, de=0), must be encouraged
6 evolution to quadrant III, oscillatory regime, oscillations should be attenuated.

4.2. The Linguistic Phase Trajectory


The linguistic phase trajectory of the error LPTE is defined as the trajectory of
the fired fuzzy control rules of a MacVicar-Whelan table. LPTE is a discrete
version of PTE, made by the successive table locations touched by the evolv-
ing spot of PTE.

Fig. 4.4. The linguistic phase trajectory of the error

4.3. Identification of the Operating Regimes


PTE can be helpful in the field of nonlinear adaptive control, enabling us to
identify on-line the operating regimes. Let us consider the following 4 regimes:
transitory (G1), steady (G2), oscillating (G3) and unstable (G4).
A phase trajectory of the error corresponding to a transitory regime and leading
to a steady one is presented in Fig 4.5. The steady regime G2 is the easiest to
be recognized, when the trajectory is reaching the very neighbourhood of the
origin of the axes. The most characteristic behaviour of the phase trajectory of
a transitory regime G1, leading towards G2, is to remain as long as possible in
quadrants II and IV and to avoid quadrants I and III small values.

4.4
The oscillatory regime G3 presents successive crossings of the points (e=0,
de=max) respectively (e=max, de=0) (see Fig. 4.4).
The unstable regime G4 can be identified since the error and its derivative
have both great values of the same sign (quadrants I or III) (see Fig. 4.4).

de

Fig. 4.5. Typical PTEs for some operating regimes

4.4. Sliding Mode and Qualitative Control


PTE on-line real time analysis support the direct control of closed loop nonlin-
ear systems. It is known that nonlinear systems don’t benefits yet of a unified
theory, comparable to the theory of the linear systems, because of the intrinsic
difficulties of describing nonlinearities and of the huge diversity of the nonline-
arity mechanisms. The main tool we can use in nonlinear control is adaptivity.
Since the PTE analyse can be performed on-line and in real time, some of the
most powerful adaptive control methods are taking advantage of it.
The first approach (around 1960) was the sliding mode. One notice in Fig. 4.6
that in any control systems an ideal step response would be quasi-exponen-
tial, with no overdrives or oscillations. In PTE such a response is represented
as a straight line!
Hence, sliding mode is imposing PTE an ideal behaviour in the phase plane –
a straight line g or in general, a surface. The control action has the purpose to
push or pull the PTE spot as close as possible to it – see Fig. 4.7.

4.5
Raspunsul indicial al erorii: eroare (timp [s])
1

0.5

-0.5
0 10 20 30 40 50 60
Traiectoria de faza a erorii: derivata erorii (eroare)
1

t=0
0

-1

-2
-0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Traiectoria de faza a erorii in coordonate polare
90 2
120 60
150 1 30
t=0
180 0

210 330
240 300
270

Raspunsul indicial al erorii: eroare (timp [s])


1

0.5

0
0 10 20 30 40 50 60
Traiectoria de faza a erorii: derivata erorii (eroare)
0

-0.5

t=0
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Traiectoria de faza a erorii in coordonate polare
90 2
120 60
150 1 30

180 t=0 0

210 330
240 300
270

Fig. 4.6. Phase trajectories of the error - oscillatory and quasi exponential

4.6
e0, de0 de

g = de + λ e = 0

Fig. 4.7. Sliding mode in the phase plane of the error


The qualitative analyse of Clocksin and Morgan can support adequate control
actions, in order to impose PTE our objectives. This approach is called qualita-
tive control. Qualitative control is not necessarily optimal, but is very intuitive
and can be applied even when we do not dispose of the necessary amount of
knowledge on the controlled process that would be required by the conven-
tional control methods.

de

δ[δe] = + 1 δ[δe] = +
δ[δe] = 0 2 δ[δe] = 0

δ[δe] = - 3 δ[δe] = -

δ[δe] = + δ[δe] = + 4
δ[δe] = 0 δ[δe] = 0 5
δ[δe] = - δ[δe] = - 6

Fig. 4.8. Qualitative discrete and incremental control


(function of the sign of δ[δe])
Because of the lack of knowledge and theory (think for instance to the stability
analyse), qualitative control applications have to be tested carefully, in real
operating conditions. However this is not a major disadvantage, because any
engineering product should be carefully tested!

4.7
4.5. Clocksin-Morgan qualitative controllers
In order to get acquainted to the way rule protocols or tables are designed, we
are presenting the three original Clocksin-Morgan (incremental) controllers,
designed for the control of the liquid height in a tank.
The control action aims to shift the state variable ε and δε to the center of the
phase plane. From quadrant we need to move the system toward quadrant IV.
The trajectories similar to 3 are naturally converging in this regard, while
trajectories 1 and 2 must be driven by the control action [δy] = +. For trajectory
3, there are two options:
- [δy2] = +, accelerating the transfer from quadrant I to quadrant IV;
- [δy3] = 0, leaving the system to continue its natural tendency.

This approach differentiates controllers Q2 and Q3 (see the following table).


In quadrant IV we should avoided to return 4 to quadrant I, and the divergent
trajectory 6. For trajectory 4 the command will be [δy] = + and for trajectory 6
the command will be [δy] = -. The trajectory 5 will be coped with [δy] = 0.
The variables are the error ε and its derivatives ε and ε . The equations are:
u1 = invert ([εk])
u2 = invert (vote (vote ([εk], [δεk], [δ2εk]))) (4.5)
u3 = invert (vote ([εk], [δεk], [δ2εk]))
The function invert function changes the sign and the function vote returns the
main sign of variables.
w
u ε=w-y
Controller Process
y δε = - δy

Fig. 4.9. The generic control system


The controller Q1, described by the authors as "naive", is just opposing the
control error without taking into account its derivatives: the command increases
when the error is positive, decreases when the error is negative remains con-
stant when the error is zero.
In literature one meets another fuzzy regulator, Ostergaard-King-Palm, charac-
terized by rules designed symmetrically to situation ε+ ε =0 “error is zero and
its derivative is also zero.”
The controllers Q2 and Q3 take into account the error derivatives, which leads
to significant improvement in the quality of the time response, by reducing the
overdrives and the chattering.

4.8
Table 4.1 Clocksin-Morgan qualitative controllers

Q1 Q2 Q3
ε δε δ2 ε
(u1) (u2) (u3)
+ + + - - -
+ + 0 - - -
+ + - - 0 -
+ 0 + - - -
+ 0 0 - - -
+ 0 - - 0 0
+ - + - - -
+ - 0 - 0 0
+ - - - + +
0 + + 0 - -
0 + 0 0 - -
0 + - 0 0 0
0 0 + 0 - -
0 0 0 0 0 0
0 0 - 0 + +
0 - + 0 0 0
0 - 0 0 + +
0 - - 0 + +
- + + + - -
- + 0 + 0 0
- + - + + +
- 0 + + 0 0
- 0 0 + + +
- 0 - + + +
- - + + 0 +
- - 0 + + +
- - - + + +

4.9
5. Fuzzy Controllers for Adaptive Control

5.1. Equivalences between conventional and fuzzy controllers


There is a deep resemblance between conventional controllers and FLCs. This
was demonstrated by Sylvie Galichet and Laurent Foulloy (S. Galichet, L. Foul-
loy, "Fuzzy Equivalence of Classical Controllers", Proc. of the 1st European
Congress on Fuzzy Intelligent Technologies (EUFIT'93), pp. 1567-1573,
Aachen, Sept. '93).
We will focus on the fundamental conventional controller, the linear PID:
yPID = Kp e + KI ʃ e dt + KD de/dt (5.1)
A FLC composed by control rules like the following one is nothing but its non-
linear version:
IF E is Ei AND ʃE = IEk AND DE is DEj THEN YPID = Yl (5.2)
In discrete time
δyPID = Kp δe + KI e dt + KD δ2e (5.3)
is equivalent to
IF CE is CEi AND E is Ej AND CCE is CCEk THEN CYPID = CYl (5.4)
with CE is change of error, CCE is change of the change of error and CY is
change of the output y.
The demonstration provided by Galichet-Foulloy refers to a Mamdani controller
with triangular MFs for inputs and output and min-max inference and stresses
the equivalence of the fuzzy controller with a linear interpolator. Sugeno FLCs
are particular case of Mamdani FLC so they enjoy the same properties.

5.2. Hierarchical and Hybrid Fuzzy Controllers


The PD fuzzy controllers are the most widespread. Assuming correct tunings,
the practical experience with them reveals two contradictory features.
• their dynamic behaviour is extremely safe, without overdrives or oscillations;
• the static behaviour static is affected by chattering and steady errors.
FLCs’ difficulty to cope steady regimes is structural, requiring different develop-
ments to improve their performance.

5.1
The steady errors are usual for any PD controller and can be easily copped by
adding an integral component. However, if we transform PD in PID we will lose
the good dynamic behaviour, in transitory regimes!
A first possibility is the hierarchisation: when one reaches the state e=zero and
de=zero enters into action a second PD FLC, as long as the system remains in
that regime. Yet the solution is not ideal because of frequent commutations
and because the second regulator does not totally eliminate the offset,
A preferable solution is hybridization with other regulators more fit for station-
ary, PID in first place. The two controllers can operate at a time, switching be-
tween them with different techniques, depending on the system’s evolution.
This method was initiated by Serge Boverie, who proposed to activate PID only
when de = fuzzy zero and e = fuzzy small.
The same author proposed for the FLC the role of supervision and on-line
adapting for an adaptive PID. This approach has proven to be extraordinarily
fructuous, suggesting that the ideal role of FLC in closed loop control is super-
vision and adaptation.
An example of this strategy belongs to the company Omron.

Feed forward operator


Imposed
value P
+ - + +
D Process
+ + +
d/dt I

C
Fuzzy controller

Fig. 5.1. The Omron E5AF -integrated PID FLC temperature controller

One can easily remark the role of supervision and adaptation for the fuzzy
controller. The two adaptive mechanisms are the additive correction carried
over the PID output and the correction C of the integrative effect. The goal of
corrections is to strengthen the response to perturbations respectively to
oppose and delay overdrives. The fuzzy controller is Sugeno with triangular
inputs and the partitions can have at least three LTs.

5.2
5.3. The Fuzzy PID Controllers
The proper form of the (5.4) controller is called fuzzy-PID or FPID, which has a
3D structure.
The following figure illustrates the minimalist fuzzy-PID, with 3 input variables
(e, de, e) each with 3 LTs: positive, zero and negative.

e positive

e zero

de positive
de zero
e negative de negative
e negative e zero e positive

Fig. 5.2. A fuzzy-PID controller


In terms of performances, both dynamic and static, it is undeniable that FPID
controller is a fundamental solution for nonlinear systems. FPID may approxi-
mate or synthesize any given control surface, and it has the possibility to ana-
lyse the present by error e, the past by  ε and the future by de. Its drawback is
the extension of the rule base.
Improving the performance/price ratio for FLCs may be achieved by reducing
the rule base, while preserving the integrative component. Such solutions are
the following:
• symmetrical rule-bases;
• gain scheduling between FPD and PI, as the system enters a steady state;
• switching between FPD and FPI;
• 2-D implementation (DI-FPID), emulating the integrative effect.

5.3
5.4. Typical Applications for Fuzzy Controllers
The application domain of the fuzzy control is extremely wide. It is to mention
that a lot of applications remain publicly unknown in certain fields, like military.
The most successful applications were reported in:
 Robotics;
 Air conditioning;
Commercial appliances such as the famous fuzzy washing machine and the air con-
ditioning systems (HVAC) are most visible. These systems use fuzzy logic to control
heating and cooling, saving energy and adapting to the human physiology in the
same time.
 Intelligent transportation systems;
One of the most famous applications of fuzzy logic, that triggered the famous
Japan fuzzy boom in ‘80s, was the Sendai Subway system, Japan. The first subway
coaches provided with GTO thyristor converters able to perform recuperative
braking, developed by Hitachi, were facing in 1982 great problems when working
together, on the same electric line. When two or more trains were accelerating or
braking simultaneously, the line was giving way. Absolutely all conventional ap-
proaches failed, when the fuzzy approach saved the situation. By fuzzy controllers
the trains began to accelerate and brake in a smooth and controlled manner, re-
ducing the peak currents injected or absorbed from the line. A global coordination
was introduced, having as result the coupling of two trains with opposite situa-
tions. When a train was approaching a station, another one which was supposed
to leave another station was waiting for it, or vice versa. The braking and acceler-
ating moments and durations being coordinated, the kinetic energy of the braking
trains could be directly transferred towards the accelerating trains, with no accu-
mulation into the electric line. Giving away the famous Japan precision, the fuzzy
approach made this line one of the smoothest running subway systems in the
world and significantly increased efficiency, thanks to the recuperated energy.
 Vehicle equipment (ABS brakes, etc.);
A very important device that is massively improving safety in automobiles but also
in railway transportation or aviation, is the ABS brake. The second ABS generation
was initiated by Michel Boiteux studies regarding the adherence of the railway -
wheel system in 1986. Maintaining a controlled slide between braking wheels and
railway is optimizing the adherence of the whole system, but this must be perfor-
med under strong uncertainties: the adherences brake set – brake disk and wheel
– railway are extremely random, affected by lots of perturbations: weariness,
meteorology, cleanliness, vehicle dynamics, etc. In these conditions, in short time
the fuzzy ABS algorithms prove to be the best, and the braking systems producers
applied them successfully. However, in the railway administrations environment,

5.4
the lack of understanding on the fuzzy control created malicious speculations
about the safety of the fuzzy ABS. As a result, Knorr Bremse and other producers
simply hide the fuzzy side of their ABS control algorithms. The same attitude is
current for the military equipment producers and in general, in industry.
 Industrial applications;
A significant area of application of fuzzy control is in industrial automation. Fuzzy
logic based PLCs have been developed by companies as Omron and Moeller. These
PLCs, as well as other implementations of fuzzy logic, can be used to control any
kind of industrial processes.
 Expert systems;
Starting from late ‘90s all the significant expert system development shells produc-
ers provided their software with fuzzy features: CLIPS (Fuzzy CLIPS), LPA, etc.
 Decision-making systems in various fields;
 Video and photo camera stabilizers, etc.

5.5
6. Fuzzy Controllers Using Linguistic Design

6.1. Sugeno Controllers as Universal Approximators


The linear interpolation, introduced by Sir Isaac Newton, is a fundamental
mathematical concept with numerous applications. The fuzzy techniques are
presenting obvious compatibilities with the linear interpolation, as underlined in
the first place by Lotfi A. Zadeh, the initiator of the fuzzy concept. This issue is
suggestively characterized by Francisco Mugica and Francois E. Cellier: "The
task of the fuzzy inferencing algorithm is to ensure that the interpolation
between neighboring discrete solution points is smooth and preserves, on the
way, as much information about the system to be modeled as possible."
Although the interpolation techniques were constantly refined along the years,
it seems that the human reasoning is not prepared to assimilate these
developments. Most of the people are instinctively using linear interpolation as
a basic reasoning technique, in almost every mental process.
Besides the heuristic sight of view, it seems that in the most of the control
engineering applications, linear interpolations are quite satisfactory. The use of
polynomial, spline or other kind of interpolations is not usually bringing signifi-
cant advantages, not to talk about their specific supplementary costs. That is
why in the field of the applicative fuzzy systems, many fuzzifications are res-
tricted to the triangular or trapezoidal shapes, although a sophisticated
mathematical apparatus is available if necessary.
The Sugeno fuzzy controllers can approximate any finite n-dimensional func-
tion with arbitrary precision. The corresponding theorem for the 2D is the fol-
lowing (P. Bauer, E. P. Klement, B. Moser, A. Leikermoser, 1995):
Let f : [ainf, asup] x [binf, bsup] → R be a function and let
ainf = a0 < a1 < … < am-1 < am = asup
binf = b0 < b1 < … < bn-1 < bn = bsup
be partitions of the intervals [ainf, asup] and [binf, bsup], respectively. Then there
are normalized fuzzy subsets A0, A1, … Am and B0, B1, … Bn of [ainf, asup] and [binf,
bsup], respectively, numbers u00, u10, … , umn  R, and a rulebase (i = 0, 1, 2, …
, m; j = 0, 1, 2, … , n)
IF x is Ai AND y is Bj THEN u is uij
such that the input-output function FS of the corresponding Sugeno controller
coincides with f on all lattice points (ai, bj), that is, for all i = 0, 1, 2, … , m and j
= 0, 1, 2, … , n we have
FS(ai, bj) = f(ai, bj)

6.1
Proof:
Define the numbers uij by uij = f(ai, bj) , the fuzzy sets A0, Am and Ai (i = 1, 2,
… , m-1) by
x a1
μ Ao (x)  if x  [a0, a1]
a 0 a1
0 otherwise
x  a m -1
μ A m (x)  if x  [am-1, am]
a m  a m -1
0 otherwise
x  a i -1
if x  [ai-1, ai]
a i  a i -1
x  a i 1
μ Ai (x)  if x  [ai, ai+1]
a i  a i 1
0 otherwise

and the fuzzy sets B0, Bn and Bj (j = 1, 2, … , n-1) in the same way
y  b1
μ Bo (y)  if y  [b0, b1]
b 0  b1
0 otherwise
y  b n -1
μ Bn (y)  if y  [bn-1, bn]
b n  b n -1
0 otherwise
y  b j-1
if y  [bj-1, bj]
b j  b j-1
y  b j1
μ Bj (y)  if y  [bj, bj+1]
b j  b j1
0 otherwise

Next consider the rule base and choose an arbitrary lattice point (ai0, bj0) (i0 = 0,
… , m and j0 =0, … , n). We have
μ A i0  B j0 (a i0 , b j0 )  1
and for (i, j)  (i0, j0)
μ A i  B j (a i0 , b j0 )  0

6.2
and therefore, for the input-output function of the corresponding Sugeno con-
troller FS we get
 i, jμ Ai B j  (a i0 , b j0 )  u ij
FS (a i0 , b j0 )   (6.1)
 i, jμ Ai B j  (a i0 , b j0 )

 μ A B  (a i0 , b j0 )  ui0j0  f(a i0 , b j0 )
i0 j0
Since the lattice point (a i0 , b j0 ) was chosen arbitrarily, this shows that FS
coincides with f on all lattice points (a i , b j ) . Two remarks can be drawn:

a) This theorem can be easily extended to the n-dimensional case.


b) The input-output function FS is a piecewise linear function. This means that
each continuous non-linear control function can be represented by a Sugeno
controller.
The approximation of a control function by fuzzy rules (not normalized) is
intuitively illustrated in Fig. 6.1.

u
u1
u4
u2 u1A1
u3 u4A4
u0 u2A2
u0A0 u3A3

x
a0 a1 a2 a3 a4
Fig. 6.1. The approximation of a control function by fuzzy rules
The function u(x) is approximated by the sum of the MFs of each fired FL:
4
u(x)   u i A i (x) (6.2)
i 0
In general, the control function may be approximated with fuzzy “patches” of
different shapes: ellipsoidal, rectangular, etc.
Often the input-output function is two-dimensional – a control surface – as for a
FPD controller for instance. Increasing the number of input variables, the input-
output function becomes a control hypersurface, approximated by quadratic
surface elements.

6.3
Fig. 6.2. Approximations using fuzzy patches

6.4
6.2. Linguistic Design
The main impact of FLCs in nonlinear control was produced by the method of
the linguistic design MLD. MLD’s paternity is hard to clarify but Kevin Stoll was
the first to synthesized and formalize it (1996). The MLD exhibit all the strategic
advantages of the fuzzy controllers: transparency, ease of handling obstacles
produced by uncertainty or high complexity and feasible implementations. The
main MLD ideas are the following:
• use of the concept simplified fuzzy reasoning which involves triangular or tra-
pezoidal partitions, min-max or prod-sum inference and COG defuzzification;
• FLC is seen through the duality expert system - linear interpolation algorithm;
• the input-output characteristic is approximated by segments;
• these features are obtained directly by the control rules.
An application revealing all MLD possibilities was proposed by K. Stoll himself:
the position control of a servo actuator driven by an electric motor, by a con-
troller with a single input: the position error ε, i.e. a proportional controller. The
difficulty of this application comes from its nonlinearity. During transitions the
proportional component KP should be reduced to avoid overdrives, but during
steady regime KP must increase, to ensure satisfactory accuracy and to be
able to reject perturbations. A fuzzy controller of only four rules proved to be
satisfactorily:
IF ε is positive great THEN y is positive medium
IF ε is positive small THEN y is positive great
IF ε is negative great THEN y is negative medium
IF ε is negative small THEN y is negative great

6.5
7. Fuzzy-Interpolative Controllers

7.1. The Fuzzy-Interpolative Controllers


Definition: a fuzzy-interpolative controller (FIC) is a fuzzy controller that can
be equaled with a corresponding look-up table with linear interpolations.
This concept must not be confounded with the fuzzy rule interpolation, origi-
nally introduced by L.T. Kóczy and K. Hirota, which is addressing sparse con-
trol rule bases, creating new rules by interpolating existing ones.
A specific Sugeno controller that has an immediate linear interpolative equiva-
lent has triangular fuzzy partitions for the input variables, prod-sum inference
and COG defuzzification. One of the possible interpolative counterparts of this
controller is the look-up table with linear interpolations (in the sense of the
corresponding SIMULINK-MATLAB block). A 2D FIS is detailed in Fig. 7.1.
FICs are preponderant applicative and their origin starts with an experimental
observation: where a complex simulation using specific fuzzy tools may crack,
a look-up-table never fails, and as a bonus, it is working almost instantly. The
same holds for embedded systems. The explanation is very simple: the LUT
matricial structure is perfectly matching with the matricial structured Matlab and
to the computer memories.
The fundamental FICs advantage is the extreme easiness of their implementa-
tion. In high level programming languages the look-up tables bring effective-
ness, resources saving and quick developments. Interpolative implementations
are immediate in any possible software technology (even ASM) since the inter-
polation networks can be directly associated to the addressable memories.
Digital hardware circuits (μC, DSPs) can also implement FICs due to their
memory type architecture. A promising feature of the interpolative systems is
their compatibility with the analog hardware technologies like analog CMOS.
In the same time, using the fuzzy theoretical perspective, sophisticated appli-
cations become feasible. Such an approach is able to produce controllers with
powerful self-adaptive features, as the family of Fuzzy Self-Adaptive Interpola-
tive Controllers (FSAIC), presented in Chapter 8.
In close loop control applications FICs are perfectly matching a fundamental
time analyze tool: the phase trajectory of the error and its specific analyze
method: the qualitative analyze. We can rely on the organic link between the
phase trajectory and the linguistic phase trajectory, which is the succession of
the activated rules characterizing the time evolution of the fuzzy controllers.

7.1
L( ε )
DE1 DE2 DE3
negative small positive
1
μDE2( ε )
μDE3( ε )
0 ε
ε 1 ε 2 ε (t) ε 3
μE4(ε) μE5(ε) The fired rules:
ε
E5 R4,1: if ε is E4
positive and ε is DE2
great R5,1 then u is u4,2
R5,2 R5,3
ε5
R4,2: if ε is E4
ε(t) and ε is DE3
E4 then u is u4,3
R4,1 R4,2 R4,3
positive ε4 R5,1: if ε is E5
medium and ε is DE2
then u is u5,2
L(ε) 1 0 ε3 R3,1 R3,2 R3,3
E3 small R5,2: if ε is E5
and ε is DE3
E2 then u is u5,3
negative R2,1 R2,2 R2,3
small ε2 The membership degrees:
μDE2( ε )=( ε 3- ε (t))/( ε 3- ε 2)
E1 ε1 R1,1 R1,2 R1,3 μDE3( ε )=( ε (t)- ε 2)/( ε 3- ε 2)
negative μE4( ε ) = ( ε 5- ε (t))/( ε 5- ε 4)
great μE5( ε ) = ( ε (t)- ε 4)/( ε 5- ε 4)
L(u)
1
μE4(ε)μDE2( ε )
μE4(ε)μDE3( ε )
μE5(ε)μDE2( ε )
μE5(ε)μDE3( ε ) u(t) u
0 u5,3 u5,2 u4,2 u4,3

μE4(ε)μDE2( ε )u4,2 + μE4(ε)μDE3( ε )u4,3 + μE5(ε)μDE2( ε )u5,2 + μE5(ε)μDE3( ε )u5,3


u(t) =
μE4(ε)  μDE2( ε ) + μE4(ε)  μDE3( ε ) + μE5(ε)  μDE2( ε ) μE5(ε)  μDE3( ε )

Fig. 7.1. A two dimensional fuzzy-interpolative controller

7.2
Fig. 7.2. The FIC tools
The conception, development and implementation of FICs involve the suc-
cession of theoretical tools presented in Fig. 7.2.

7.2. The Fuzzy-Interpolative Methodology


The conception, development and implementation of a FIC can be achieved by
a set of operations that will be generically called the fuzzy-interpolative meth-
odology (FIM). FIM is taking advantage of both linguistic and interpolative
nature of the fuzzy systems, combining the advantages:
a) The fuzzy sets and fuzzy logic theory will be applied for the conception and
the development stages of the control algorithms;
b) The linear interpolations based methods will do the implementation stage.

7.3
The basic FIM steps are the following:
a1) the identification of the control solution;
a2) the building of the control rule base of the corresponding fuzzy expert
system, represented by MacVicar-Whelan tables, in a linguistic manner;
a3) the designing of the Sugeno controller with triangular fuzzy partitions for
the input variables, prod-sum inference and COG defuzzification;
b1) the designing of the corresponding look-up table with linear interpolations;
b2) the implementation of the look-up table;
b3) the experimental testing.
Except step a1, FIM is essentially a routine standardized procedure that can be
easily understood and applied. Stage a1, the choice of the control solution, is
the most challenging for control engineers. Obviously the fuzzy logic in itself is
not able to provide control solutions, which stem out of expert knowledge.
Because FLC may also be seen as an expert system FIM may be easily ex-
tended to the expert system domain, and we will obtain the Fuzzy-Interpolative
Expert Systems. The theoretical filiation Expert System → Fuzzy System is
easy to be proven and exploited in the usual context of the fuzzy systems,
when using adequate software environments. The question is if the specific
knowledge demanded by the adaptive smart control applications may be em-
bedded and processed by the minimalist apparatus that supports FIM.
7.3. World Knowledge in Fuzzy-Interpolative Controllers
Lotfi Zadeh affirmed that the main weakness of the Question-Answering Sys-
tems is the absence of the world knowledge. World knowledge WK is the
knowledge acquired through experience, education and communication. We
may consider as WK two kind of knowledge:
a) the specific knowledge of the controlled plant, embedded with the help of
planning techniques;
b) the general knowledge on the linear PID controllers’ adjustment and on the
linear systems’ stability;
The planning is harmonizing the controller to each specific process. Its design
is assisted by functional computer models of the controlled nonlinear proces-
ses and may be implemented again by interpolative networks. Illustrations of
this technique is presented in the case studies.
The most comprehensive knowledge for general purpose nonlinear adaptive
controllers comes from the System Theory. Thanks to the approximate linearity
of the fuzzy control systems in the neighborhood of each control rule, we may
use for our nonlinear systems the well-established and very general results of
the Linear System Theory in identification, tuning, corrections and stability.

7.4
7.4. Look-up-tables
LUT is one of the most common data structure in computer science, consisting
of an n-dimensional area or n-dimensional associative area. Using LUTs for
implementing algebraic functions instead other algebraic algorithms, such as
Taylor series, requires high capacity memory, providing instead a significant
acceleration of the calculus. Essentially, calculations consists of searching the
table for the values of the closest knots, and interpolating these values. Linear
interpolations are widely applied, in spite of the availability of other interpolation
algorithms, such as spline or polynomial. Since memories reached a high level
of performances in all means: high capacity and speed, miniaturization, low en-
ergy and price, LUTs are increasingly popular.

Fig. 7.3. A 2D look-up-table designed as PD controller

7.5
The design of n-dimensional fuzzy-interpolative controllers starts with 2D LUTs
designed as FPD controllers.

Fig. 7.4. A 3D fuzzy-interpolative PID controller


A 2D controller may be seen suchlike a page of a book. A 3D controller would
be then a book, a 4D controller a bookshelf, a 5D controller a cupboard, etc.
The software concept that covers this approach is the concatenation:
table: cat(3, [page e<0], [page e=0], [page e>0])

7.6
8. Fuzzy Self-Adaptive Interpolative Controllers

8.1. The Plane Surface Controllers


A particular case of interpolative controller is the plane control surface (Fig.
8.1), equivalent to a linear controller. The plane control surface is difficult to
generate with accuracy out of four points, but it has the advantage of preserv-
ing a constant proportionality between the error e and its derivate de, keeping
the phase trajectory free of distortions. In our case we need a qualitative ana-
lyse of PTE, which does not demand a high accuracy, so we can accept a
certain amount of distortions that are generated by the fact that the four
interpolative knots that surround the current PTE spot are not coplanar.

Fig. 8.1. The plane control surface controller compared to an interpolative one

8.1
8.2. The Plane Surface Adaptive Controllers
A natural development for any PD controller is to add among the inputs and the
integrative of the error ∫e, obtaining a PID controller. In the LUT technique or
with the help of multidimensional arrays, this operation is immediate.
Since the D and the I parts of the PID controller are aiming opposite objectives
(better dynamics, respectively better static behaviour), very often the integra-
tive effect produces the alteration of the dynamics of the system. FIM helps us
to address this problem, by the 3D structure presented in Fig. 8.2.
This adaptive solution deriving from the plane surface concept is called PSAIC
(Plane Surface Adaptive Interpolative Controller) and is an adaptive by variable
structure, since the controller is acting as a "plane control surface PD" likely
over almost all the e x de domain, excepting the central zone (rule e=0, de=0),
where it gradually becomes a PID one.

Fig. 8.2. The plane surface adaptive interpolative controller

8.2
The integration of the error ie is validated only for steady regimes, by preserv-
ing for ie > 0 and ie < 0 pages all the values of the ie = 0 page, excepting the
central one. The central values (-5 and 5 in Fig. 8.2) are smoothly reached only
when the phase trajectory is firmly placed into an imposed tolerance window
nearby the center of the phase trajectory (e = 0, de = 0). This window is adjust-
able by tuning the values of the look-up table.
A typical PSAIC step response presents a fast raising towards the low errors
window (a PD response), followed by a smooth approach to the e = 0 point (the
effect of the integrative part).

Raspunsurile procesului 1/(s 2 +2*s+1) cu regulatoare PD si PSAIC


PSAIC
1

PD
0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
timp [s]

Fig. 8.3. A step response with PD and PSAIC for the process (1/s^2+2s+1)

The LUT that produced the above response is the following.

8.3
row (ε): [-1.1 -1 -0.05 0 0.05 1 1.1];
column ( ε ): [-1.1 -1 0 1 1.1];
3rd dimension (∫ε ): [-1 0 1]; (5.2)
table: cat(3, [-1 -1 -1 0 0; -1 -1 -1 0 0; -1 -1 -0.05 1 1;
-1 -1 -1 1 1; -1 -1 0.05 1 1; 0 0 1 1 1; 0 0 1 1 1],
[-1 -1 -1 0 0; -1 -1 -1 0 0; -1 -1 -0.05 0 0;
-1 -1 0 1 1; -1 -1 0.05 1 1; 0 0 1 1 1; 0 0 1 1 1],
[-1 -1 -1 0 0; -1 -1 -1 0 0; -1 -1 -0.05 0 0;
-1 -1 1 1 1; -1 -1 0.1 1 1; 0 0 1 1 1; 0 0 1 1 1]).

Suprafata de comanda a regulatorului PSAIC in regim dinamic

0.5

-0.5

-1
1
1
0 0.5
0
-0.5
-1 -1
derivata erorii eroarea

Fig. 8.4. The control surface of the previous PSAIC in transient regimes

8.4
2

-1

-2
4
2 3
2
0 1
0
-2 -1
-2
-4 -3

Fig. 8.5. The control surface of the previous PSAIC in steady regimes

8.3. The Fuzzy Self-Adaptive Interpolative Controllers


Beside the PSAIC variable structure adaptation, powerful adaptive effects can
be easily introduced with the help of another fuzzy-interpolative compensator
(Fig. 8.6). In order to preserve the established balance of the P, D and I
effects, this adaptation acts by multiplying the output of the main controller with
a correction gain (Product 3 in Fig. 8.6), computed by the on-line analysis of
the phase trajectory of the system performed by a PD fuzzy-interpolative con-
troller (having as inputs again e and de). The multiplying correction is prefer-
derivata erorii eroare
able to the additive one, because it will allow a natural fusion of several cor-
rectors, as one will see in the FFSAIC case. The resulting ensemble will be
named FSAIC (Fuzzy Self-Adaptive Interpolative Controller).
Thanks to the heuristic design of the corrector FSAIC presents a high versatil-
ity. Different objectives can be aimed:
 high robustness of the control;
 the preservation of imposed performance indexes over a wide domain of
variation of the parameters of the plant, comparing to linear PID or PSAIC;
 the rejection of the oscillations induced by death times, etc.

8.5
PSAIC
P
3-D T(u) Saturation2 Plant
Error D 20 1

Reference I Output s2 +2s+1


scaling Product3
Evaluation/
Scaling Saturation factor
Death
time
Saturation1
Scope

Adaptive
compensator

Fig. 8.6. A FSAIC controlling a 2nd order process


Fig. 8.7 presents a comparison between PID and FSAIC for a railway coach air
conditioning installation. The oscillations are produced by transport time delay
– the air must travel through channels before arriving in the passengers’ com-
partment.

20 20

15 15
temperature [C]

temperature [C]

10 10

5 5

0 0
0 500 1000 1500 2000 2500 3000 3500 0 500 1000 1500 2000 2500 3000 3500
time [s] time [s]

a) PID b) FSAIC
Fig. 8.7. PID vs. FSAIC
Some control rules that are inducing this behaviour are the following:
o if e is great then gain is great % accelerates the transitions
o if e is small and de is zero then gain is small % rejects the oscillations
o if e is zero and de is zero then gain is great % reduces the steady error;
o else gain is medium % avoids the overshoots
As one can observe, after a transient regime, FSAIC is able to reject the oscil-
lations caused by notable dead times, by reducing the control signal in the
neighbourhood of the imposed temperature value. When the system reaches a

8.6
quasi-steady behaviour, the control signal and especially the integrative part
are raising again.
A normalized LUT that implements the above behaviour is the following:
row (e): [-1 -0.1 0 0.1 1];
column (de): [-1 0 1]; (8.1)
table (gain): [1 1 1; 0.45 0.45 0.45;0.75 1 0.75; 0.45 0.45 0.45;1 1 1].
The small error domain is -0.1÷0.1, (see row).
The small gain is 0.45 while the medium gain is 0.75.
In the following example FSAIC is controlling an instable plant, which would
oscillate under a linear PID control (Fig. 8.8).

Phase trajectories for the plant 1/(s 3+3*s2+3*s+1)

6
PID

4
FSAIC
2
change of error

-2

-4

-6

-1 -0.5 0error 0.5 1 1.5


Fig. 3.The performance of FSAIC comparing to PID

Fig. 8.8. FSAIC vs. PID behaviours for a 3rd order process

8.7
9. Fuzzy Fusion Self-Adaptive Interpolative Controllers

9.1. Fuzzy-Interpolative Correctors


The most powerful adaptive mechanism in FSAIC is obtained when introducing
an adaptive multiplicative correction factor Gain, applied over the PSAIC out-
put. The adaptive corrector is a FIC of PD type.
A desirable evolution pushes the phase trajectory towards the  =zero and
 =zero point, either by sliding mode if possible, or by an oscillating transient
regime. The basic control strategy is to maintain as long as possible the phase
trajectory into quadrants II or IV and to avoid quadrants I and III. The adaptive
control rules are meant to tune and to adapt PSAIC to the changing operating
regime, that is identified on-line by the qualitative analyse of the phase trajec-
tory of the error. As we will notice, the output singleton values of the adaptive
rules as well as their antecedents are issued out of general pieces of expert
knowledge on system theory and control systems.
We consider four generic operating regimes that will cluster all the adaptive
control rules: transitory (G1), steady (G2), oscillating (G3) and unstable (G4),
following the next commitments:
- G1: Gain is medium and Integrative is zero - in order to obtain fast but not
overshot time responses;
- G2: Gain is great and Integrative is great - when reaching the steady regime
Gain must be increased in order to prepare the controller for possible future
perturbations and Integrative is reducing the steady error;
- G3: Gain is small and Integrative is zero - in order to reject oscillations - this
strategy is recommended by the Nyquist stability criterion;
- G4: Gain is very small and Integrative is zero - this case is similar with G3,
but the winding up of the system during the unstable regimes is even more
dangerous than oscillations.
The Integrative component is managed by PSAIC so the task of the adaptive
corrector is just the control of Gain.
The signatures of the most significant operating regimes reveal themselves
after a simple qualitative analyse of the phase trajectory, as shown in Fig. 9.1.

9.1
error 
negative negative positive positive
zero
great small small great
positive
R01: G1 R02: - R03: R04: - R05:
great - G4
positive
R06: - R07: G1 R08: R09: - R10: -
change/ small G3
derivate
zero R11: - R12: G3 R13: R14: R15: -
of the G2 G3
error negative
R16: - R17: - R18: R19: R20: -
 small G3 G1
negative
R21: G4 R22: - R23: R24: - R25:
great - G1

Fig. 9.1. The most significant signatures of the operating regimes in terms of
phase trajectory and their association with the control rules

9.2
Assuming that we use five linguistic labels for each input variable (  and  ),
the following reasoning is clustering the 25 control rules of the MacVicar-Whe-
lan inference table into four clusters G1, G2, G3 and G4.
- G1: is grouping the control rules that are fired during a more or less ideal step
response (no oscillations or overshot): R01, R07, R19 and R25;
- G2: is including only the central rule R13, that is confirming the reaching of
the steady regime;
- G3: is grouping the four rules that are characterizing the oscillations: R08,
R12, R14 and R18;
- G4: is including the two rules that are active in the worst possible situation:
the error is already great and it is continuing to grow.
The other rules R02, R03, R04, R6, R9, R10, R11, R15, R16, R17, R20, R22,
R23 and R24 are not as significant in terms of the identification of the operating
regimes, but their importance is obvious and their design is enriching a lot the
adjustment capability of FSAIC. The design of the fuzzy-interpolative adaptive
correctors may be oriented towards specific tasks that are meeting the applica-
tions’ demands: high adaptive features, rejection of the dead-time effects, re-
jection of notable perturbations, rejection of chattering, etc.
We will illustrate in Fig. 9.2 the FSAIC effect in the case of a dead-time plant:
1
e  τs  . FSAIC is compared to a linear PID with the following
2
s  2  s 1
adjustment: P = 20, I = 2, D = 2.
Fig. 9.2 is presenting the system’s step responses for two different dead times:
τ1 = 0.15s and τ2 = 0.2s. One can observe the notable rejection of the
oscillations caused by the dead time achieved by FSAIC that was applied in a
minimalist version:

9.3
The plane surface adaptive interpolative controller is:
 : [-1.1 -1 -0.1 0 0.1 1 1.1]
 : [-1.1 -1 0 1 1.1] (9.1)

 : [-1 0 1]

PSAIC: cat(3, [-1 -1 -1 0 0; -1 -1 -1 0 0; -1 -1 -0.05 1 1; -1 -1 -1 1 1; -1 -


1 0.05 1 1; 0 0 1 1 1; 0 0 1 1 1],
[-1 -1 -1 0 0; -1 -1 -1 0 0; -1 -1 -0.05 0 0; -1 -1 0 1 1; -1 -1 0.05 1
1; 0 0 1 1 1; 0 0 1 1 1],
[-1 -1 -1 0 0; -1 -1 -1 0 0; -1 -1 -0.05 0 0; -1 -1 1 1 1; -1 -1 0.1 1
1; 0 0 1 1 1; 0 0 1 1 1])
The adaptive corrector is:
 : [-1 -0.25 0 0.25 1]
 : [-25 0 25] (9.2)
Gain: [1 1 1; 1 1 0.5; 1 1 1; 0.5 1 1; 1 1 1]

dead time 0.15s


1.8
PID
1.6

1.4

1.2
step responses

0.8

0.6
FSAIC
0.4

0.2

0
0 5 10 15 20 25 30
t [s]

Fig. 9.2. Dead time effect rejection performed by FSAIC (0.15 sec.)

9.4
dead time 0.2s
8

PID
6

4
step responses

-2
FSAIC

-4

-6
0 5 10 15 20 25 30
t [s]

Fig. 9.3. Dead time effect rejection performed by FSAIC (0.2 sec.)

9.2. Fuzzy Fusion Self adaptive Interpolative Controllers


FSAIC can be further improved if we introduce several adaptive correctors for
different significant situations. A technique that allows the blending of contra-
dictory algorithms is the fuzzy fusion, which is leading us towards the Fusion
Fuzzy Self-Adaptive Interpolative Controller (FFSAIC), as shown in Fig. 9.4.
The fusion is controlled by a controller that is very similar to the adaptive
corrector, that is identifying the significant situation that we have to deal, and is
computing the confidence degrees for each adaptive corrector that is part of
the fusion. The adaptive correctors can be as well switched.
FFSAIC is able to cope with plants that manifest important changes of their
structure or parameters. This kind of plants would need specific controllers for
each operating regime that needs individual or even contradictory control
strategies.
The technique that allows the blending of contradictory algorithms into the
same controller is the fuzzy fusion of controllers. In our case several correctors
are merged by the simplest fuzzy fusion operating according to the weighted
sum formula, where ui is the output of the controller i and μi is the membership
value of the same controller.

9.5
 μ i (t)  u i (t)
u(t)  i (9.3)
 μ i (t)
i

More complicated shapes for the membership values functions may be used
when imposed performances must be reached.
In Fig. 9.4 the fusion implies two adaptive correctors: one is controlling the
processes with short dead times while the second is designed for the case of
longer dead times.

PSAIC
P
3-D T(u) Sat Process
Error D 20 1

Reference I Output scaling s2 +2s+1


Prod
Evaluation/
Input scaling Sat 1
Dead time

Sat 2
Gain

Prod1
Adaptive corrector 1

Fusion
1-u Fcn
controller

Prod2

Adaptive corrector 2

Fig. 9.4. The Fusion Fuzzy Self-Adaptive Interpolative Controller FFSAIC


Figure 9.5 presents the step responses of four different plants controlled by the
same FFSAIC. If linear PID controllers would control them, the tested plants
would produce extremely different responses, one of them being fully unstable:
for the plant 1/[(s3 + 3s2 + 3s +1)e- 0.025 s].
FFSAIC offer numerous possibilities of adjustment at each level: PSAIC (the
integrative effect), FSAIC (the nonlinear gain) and FFSAIC (the fuzzy fusion).

9.6
The FFSAIC controller operating over 4 different plants, demanding contradictory control

1.6
exp(-0.025s)/(s 2 +0.2*s+1)

1.4
1/(s 2 +2*s+1)

1.2

0.8

9.7
0.6
exp(-0.025s)/(s 3 +3*s 2 +3*s+1)
0.4

0.2

exp(-0.025s)/(s 2 +20*s+1)
0
0 10 20 30 40 50 60
time [s]
Fig. 4. Tne FFSAIC with the on-line identification of the operating regime

Fig. 9.5. The Fusion Fuzzy Self-Adaptive Interpolative Controller FFSAIC


9.3. Knowledge in the Fuzzy-Interpolative Adaptive Controllers
Let us recall the identification of the operating regimes by PTE analyse.

Fig. 9.6. The PTE signatures of the operating regimes


The fuzzy-interpolative adaptive correctors identify the current operating re-
gime by its PTE signature and, according to the activated rules, it modulates
the numeric value of the corresponding tuning parameter. The knowledge that
supports the tuning is the linear PID tuning methodology, inspired by the
Ziegler-Nichols method, with a “manual” touch. The stability issues are con-
sidered in the light of the Nyquist criterion. Some of the most important rules
that may embed such pieces of knowledge are the following:
- during steady regimes the proportional gain KP is great, for a good rejection
of the disturbances;
- when the system is far from the steady regime KP must decrease in order to
avoid oscillations or overshoots; the error is anyway great so there is no need
to amplify it;
- when we have oscillatory or unstable regime KP must be very small, as the
Nyquist criterion is demonstrating;

9.8
10. Applications with Fuzzy Controllers
10.1. A Fuzzy PD Controller
10.1.1. The FPD Configuration
We will realize a FPD controller, in Mamdani and Sugeno versions. The configuration
is the following:
 Inputs: error e and its derivate de
 Output: control c
Fuzzification:
 for e, seven LTs: NG, NM, NS ,Z ,PS ,PM and PG
 for de five LTs: NG, NS, Z, PS and PG
 for c: five TL - NG, NS, Z, PS and PG
The linguistic terms are the traditional:
NG – negative great
NM – negative medium
NS – negative small
Z – zero
PS – positive small
PM – positive medium
PG – positive great
It will only be used normalized variables, the adaptation with the controlled process
being made by three scaling factors: for the error FSe, for the derivate of the error
FSde and for the control FSc.

Fig. 10.1.1. Scaling factors

The goal of this work is to develop a general purpose controller that can oper-
ate in a wide range of applications. FPD will be tested after implementing in
Simulink, to control different processes.

10.1
10.1.2. The Mamdani FPD
Fuzzification is the following:

Fig. 10.1.2. Fuzzification

10.2
The rule base is the following:
1. If (e is NG) then (c is PG)
2. If (e is NM) and (de is NG) then (c is PG)
3. If (e is NM) and (de is NS) then (c is PG)
4. If (e is NM) and (de is Z) then (c is PS)
5. If (e is NM) and (de is PS) then (c is PS)
6. If (e is NM) and (de is PG) then (c is Z)
7. If (e is NS) and (de is NG) then (c is PG)
8. If (e is NS) and (de is NS) then (c is PS)
9. If (e is NS) and (de is Z) then (c is PS)
10. If (e is NS) and (de is PS) then (c is Z)
11. If (e is NS) and (de is PG) then (c is NS)
12. If (e is Z) and (de is NG) then (c is PS)
13. If (e is Z) and (de is NS) then (c is PS)
14. If (e is Z) and (de is Z) then (c is Z)
15. If (e is Z) and (de is PS) then (c is NS)
16. If (e is Z) and (de is PG) then (c is NS)
17. If (e is PS) and (de is NG) then (c is PS)
18. If (e is PS) and (de is NS) then (c is Z)
19. If (e is PS) and (de is Z) then (c is NS)
20. If (e is PS) and (de is PS) then (c is NS)
21. If (e is PS) and (de is PG) then (c is NG)
22. If (e is PM) and (de is NG) then (c is Z)
23. If (e is PM) and (de is NS) then (c is NS)
24. If (e is PM) and (de is Z) then (c is NS)
25. If (e is PM) and (de is PS) then (c is NG)
26. If (e is PM) and (de is PG) then (c is NG)
27. If (e is PG) then (c is NG)
Although we have only 27 rules, the rule base corresponds to a table of 35 rules,
because the rules 1 and 27 are using the editing option none: whatever the value of
de, c is determined only by e.
The defuzzification control surface produced by COG is shown in Fig. 10.1.3. MOM
defuzzification produces the control surface of Fig. 10.1.4.
Note: The rules were formulated according to the logic "if the error has a certain sign,
then the command has to be of opposite sign." For example, if (e is NG) then (c is PG).
For this reason the sign of c must be changed, by multiplying it with -1.

10.3
Fig. 10.1.3. COG control surface

Fig. 10.1.4. MOM control surface

The control surface generated by COG defuzzification is smoother compared to the


result of MOM defuzzification.
The more rules exist, the more attachment points of the control surface are available
to us, but on the other hand, implementation is more cumbersome.
The Simulink Implementation is shown in Fig. 10.1.5. Changing the sign c due to the
formulation of rules is achieved by scaling factor FSc. The saturation block bounds the
control action between limits ± 10.

10.4
FSe
e
1 c 1
-10
Step du/dt 1 s2 +2s+1
de FSc Saturation Transfer Fcn Scope
Derivative FSde Fuzzy Logic
Controller
with Ruleviewer out

Fig. 10.1.5. The Simulink implementation of the FPD controller


The following step response illustrates the FPD system performance, while controlling
the 1/(s^2+2s+1) process. The notations are: input u, output out and command c.

out
u, out

0.5

0
0 1 2 3 4 5 6 7 8 9 10

10

5
c

-5
0 1 2 3 4 5 6 7 8 9 10
t [s]
Fig. 10.1.6. Step response of the Mamdani FPD with 7 x 5 rule base
One observe a poor steady regime, with steady error due to the lack of the integrative
effect and chattering. On the other hand the transitory regime is of quality, without
overdrives or oscillations.

10.5
10.1.3. The Sugeno FPD
In this section the Mamdani controller will be turned into a Sugeno, by fuzzifying with
singletons the output variable. In Matlab any Mamdani controller can be automatical-
ly converted into a Sugeno with the instruction mam2sug launched from the MATLAB
command window.
We are also reducing the rule base at 5 x 5, using only five LTs for e.

Fig. 10.1.7. Fuzzification of the Sugeno FPD

1. If (e is NG) then (c is PG) 10. If (e is Z) and (de is PS) then (c is NS)


2. If (e is NS) and (de is NG) then (c is PG) 11. If (e is Z) and (de is PG) then (c is NG)
3. If (e is NS) and (de is NS) then (c is PG) 12. If (e is PS) and (de is NG) then (c is PS)
4. If (e is NS) and (de is Z) then (c is PS) 13. If (e is PS) and (de is NS) then (c is Z)
5. If (e is NS) and (de is PS) then (c is Z) 14. If (e is PS) and (de is Z) then (c is NS)
6. If (e is NS) and (de is PG) then (c is NS) 15. If (e is PS) and (de is PS) then (c is NG)
7. If (e is Z) and (de is NG) then (c is PG) 16. If (e is PS) and (de is PG) then (c is NG)
8. If (e is Z) and (de is NS) then (c is PS) 17. If (e is PG) then (c is NG)
9. If (e is Z) and (de is Z) then (c is Z)

Fig. 10.1.8. Rule base of the Sugeno FPD

10.6
Fig. 10.1.9. The Sugeno FPD control surface
The overall aspect of Mamdani and Sugeno FPD control surfaces is alike. Each rule
creates an attachment point.
The step responses of the 7x5 Mamdani and 5x5 Sugeno are also alike, which sup-
ports the recommendation to use rather Sugeno, which in closed loop control is sim-
pler and faster, with no important loss in performance. One remarks the absence of
the chattering, which is associated with a greater steady error, caused by a broader
covering of the central rule.

1
u, out

0.5

0
0 1 2 3 4 5 6 7 8 9 10

10

0
c

-5

-10
0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 10.1.10. The step response of Sugeno FPD with 5 x 5 rule base

10.7
10.1.4. Experiments with FPDs
The students are invited to reproduce, individually, the Mamdani and Sugeno PD and
to perform the following experiments:
- realize a 7x5 Sugeno;
- realize a 5x5 Mamdani;
- test the controllers on different process: 2nd order, 3rd order, with dead time, etc.
- identify as many as possible adjusting leverages on the 5x5 Sugeno: LTs’ shapes
and positions, singleton values, defuzzification (GOG and MOM), scaling factors, etc.
The students are invited to create their own simulation scenarios (no minimal working
time is imposed for these tests!).
The final result should be the following: students feel able to adjust each particular
region of the step response, by understanding the effect of each control rule.

10.1.5. The Fuzzy-Interpolative PD controllers (FIPD)


The fuzzy-interpolative implementations of the 7x5 and 5x5 Sugeno are the following:
7x5:
row (e): [-1 -0.3 -0.1 0 0.1 0.3 1]
column (de): [-1 -0.1 0 0.1 1]
table (c): [-1 -1 -1 -1 -1; -1 -1 -0.3 -0.3 0; -1 -1 -0.3 0 0.3; -0.3 -0.3 0 0.3 0.3;
-0.3 0 0.3 1 1; 0 0.3 0.3 1 1; 1 1 1 1 1]

5x5:
row (e): [-1 -0.1 0 0.1 1]
column (de): [-1 -0.1 0 0.1 1]
table (c): [-1 -1 -1 -1 -1; -1 -1 -0.3 0 0.3; -0.3 -0.3 0 0.3 0.3; -0.3 0 0.3 1 1; 1 1 1 1 1]

10.8
FSe

1
1
25
Step du/dt 1 s2 +2s+1
FSc Saturation Transfer Fcn Scope
Derivative FSde Lookup
Table (2-D)

Fig. 10.1.11. Simulink implementation of a FIPD controller

10.9
Testing FIPDs one easily find the lack of any computational problem, simulations are
practically instantaneous, with no blockages. Blockages that may occur in Simulink are
difficult to explain, they are basically linked to the software version, the running com-
puter, the integration method and its parameters. Unlike when using the *.fis files,
when for certain values of the parameters system blockages occur, with FIPD we can
try any combination of adjusting parameters, for example increasing the SFc scale
factor from 10 to 25. More complicate scenarios (like the Fig. 10.1.12, which was
obtained for the 7x5 FIPD and is very close to the 5x5 one) can be now easily tested.
Number of rules is however less relevant than how rules are formulated and adjusted.

0.5
u & out

-0.5

-1

0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 10.1.12. FIPD response (not optimised)

10.1.6. Experiments with FIPDs


Students are invited to reproduce, with FIPD controllers all the § 10.1.4 tests and to
try different optimising strategies.
The main conclusion is that comparing to any conventional controller, FICs have fur-
ther more numerous adjusting leverages. This provides them a fundamental advan-
tage, especially in difficult applications or when we have not enough knowledge to
treat applications in the optimal way, but on the other hand requires more laborious
adjustments an a skilled and experienced designer. The FICs great number of degrees
of freedom is a strategic advantage only for designers with solid experience in the
conventional/linear control field, which make possible to write correct control rules,
otherwise it can turn into a nightmare for too impatient apprentices.

10.10
10.2. A Fuzzy-Interpolative ABS Controller
10.2.1. The ABS Braking
When the braking force exceeds the adherence offered by the wheel-rail contact, the
wheel of the railway car begins to slide. If the braking force is not immediately re-
duced, the wheel will be finally locked by the friction elements of the brake and the
wheel will skate over the rail. This will cause damages to the geometry of the wheel,
will harm the rail, and which is the worse, will grow the braking distance of the rail-
way car, affecting the safety of the traffic. The slack (sliding) of the wheel is:
s  v car  v w  v car (10.2.1)

where: s = the slack, always between 0 (no braking) and 1 (blocking), vcar= the velocity
of the car [km/h] and vw = the velocity of the wheel [km/h]. The adherence is meas-
ured by f, the wheel-rail friction coefficient. f is strongly dependent of s.

Fig. 10.2.1. A generic adherence-slack (sliding) dependence

Besides its dependence of s, f is also strongly influenced by the cleanliness and the
quality of the wheel-rail contact, by the weather and by the dynamics of the coach.
The ABS (Antilock-Braking System) action consists in keeping the slack inside of an
optimal dooming (0.20.25), where the adherence has a peak fM. In certain conditions
fM > fA, which means that in ABS regime we get the best possible brake (the shortest
braking distance).

10.11
10.2.2. The Railway Coach and ABS Brakes Model
The basic equation of the sliding wheel i of a bogie equipped with disk brakes is:
1 dv wi
J   f(v car , s)  Qi  g  rw  (v car , s)  Fwi (s, t)  rd (10.2.2)
rw dt
with: J = the inertial moment of the axle, rw = the radius of the wheel, Q i = the dis-
tributed weight on the axle i, g = the gravitational acceleration, μ = the disk brake fric-
tion coefficient, Fwi = the braking force applied to all the disks of the axle i and rd =
the equivalent radius of the disk brake. Fwi (s, t) is a result of the action of the ABS
controller over the braking equipment:
Fwi (s, t)  [P(s, t)  Scyl  Fr ]  λ  η (10.2.3)

where: P = the pressure in the brake cylinder, Scyl = the active surface of the cylinder,
Fr = the recovering force, λ = the gain and = efficiency of the brake steering gear.
The ABS is able to control P in a continuous manner, by the means of a special three
state valve. The three possible outputs are: admission (P), evacuation (P) and still.
This model must be aggregated with a model of the moving railway car:
dv car
M  Ftr (t)  Fa (v car )  Ftt (t)   Fwi (t) (10.2.4)
dt i
with: M = the weight of the car, Ftr = the traction force, Fa = the aerodynamic force
and Ftt = the force due to the tilt of the track. The total braking force is the sum of the
braking forces of all the axles. During braking the weight of the car is dynamically dis-
tributed over the wheels, so each axle must have its own ABS device (UIC541).
The model is written in SIMULINK (MATLAB). The non-linear friction coefficients μ(s)
and f(s) are modelled as look-up tables. A special attention must be paid to the
aggregation of the equations, which must match the real composition of the forces.
For s = 0 and s = 1 the differences between the braking forces and the reaction of the
rail are absorbed by the elasticity of the mechanical system.
For the following simulations we used specific data of a railway car made by Astra
Vagoane of Arad, Romania, for Greece, having a Minden-Deutz bogie and a UB 10''
cylinder: M=42680kg, rw=0.46m, rd=0.23m, Pmax=380000N/m2, Scyl=0.05064506m2,
Fr=1500N, λ=5.03343465, =0.95, etc. The filling up time of the cylinder is τ  4s.

10.12
The deterministic analytical model represents only a core of the complex non-linear
behaviour of the real car. This platform will be used in different ways, considering
different configurations for the inputs and outputs, according to our purposes.

10.2.3 The Setting of the Non-Linear Friction Coefficients μ(s) and f(s)
A first non-deterministic problem is raised by the setting of the friction coefficient of
the disk brake μ(v car ) , hardly measurable because of its construction. μ depends of
the design, the temperature, the mounting and the usage of the elements. Therefore
we introduced an effective coefficient μ eff (v car ) . This mapping is manually build
and adjusted until it ensures, with a certain tolerance, a desired performance. The
performance index is a global parameter, the braking distance S f , either experimen-
tally determined or described by the Münchner formula (UIC):

3,93  1  γ   v init 2
v 
Sf   init m (10.2.5)
10  μ s  δ  rT  j 7,2
with: γ = an empiric coefficient (0.050.25), v init = the initial v car ,  s = 0.35 a me-
dium friction coefficient, δ=100·f/μ= (100  Fwi  rd ) (Q i  g  rd ) the braking percent-
age, ra = 20daN the specific advancing resistance and j = the tilt [‰].

Using a constant braking pressure (in order to maintain a constant δ) one design
μ(v car ) such that the braking distance-initial speed mapping stem by running-on the
model to be close to the braking distance-initial speed mapping given by (10.2.5).

Fig. 10.2.2 A typical  eff (v car ) mapping

10.13
For f(s) one can use either the Curtius-Kniffler formula, agreed by UIC:
f v car  
7,5
 0,161 (10.2.6)
v car  44
or experimental data. We will use a Fig.1 type dependence, adapted to v car [km/h]
according to (10.2.6). The proposed f(s) for v car =200km/h is illustrated in Fig. 10.2.3.

Fig. 10.2.3. The f(s) mapping ( v car = 200km/h)

10.2.3. The Speed Estimation during Slacking


The v car , estimation v car is demanded by ABS controllers in order to compute the
slack of each wheel, even when the wheel-rail contacts are lost and the speed sensors
of the axles are not more indicating v car . The typical way to get v car relies on linear
approximations, actuated each time when max( v wi ) > v car . For a better precision,
one of the axles is under-braked. In automotive v car may be evaluated with the help
of a supplementary acceleration sensor whose output is merged with the wheel sen-
sors, with the help of a fuzzy estimator of the trust level of each speed sensor.

Fig. 10.2.4. A generic evolution of the components of a bogie during braking

10.14
10.2.4. The conventional ABS control
During braking the evolution of the ABS control output is oscillatory, partially because
of the rapid random variations of the adherence. This effect is enhanced by the time
delays introduced by the pneumatic actuators. The conventional ABS control is
performed by sequential control rules (mostly with PLS like equipment), which is
relying on the speed and acceleration of the wheels. Such sequential control is not
able to significantly reject such oscillations.

Fig. 10.2.5. The performance of a relay type slack controller


A first major point is to replace the indirect control of the sliding of the wheel by
means of the acceleration with a proper slack controller using as inputs the slack and
its derivative. Thus the brake will continuously follow the optimal adhesion over all
the domain of velocities.

10.2.5. The fuzzy/interpolative ABS slack controller


Our intention is to improve the ABS devices by using fuzzy/interpolative controllers
with a continuous action over the whole domain of variation of the parameters: M, f,
v car , etc. By fuzzy/interpolative controller we understand a fuzzy controller that can
be implemented by look-up tables with linear interpolation. This kind of controllers
produce smooth transfer characteristics, able to operate in a smooth and robust
manner. Thus one avoid the possible shocks produced by the discrete switching of the
control rules. Another goal is to obtain an easy and overall adjustment.
A generic performance of this kind of controllers is illustrated by the next figure. One
remarks the triangular like shape of the pressure, due to the three state valve.

10.15
Fig. 10.2.6. A generic performance of the fuzzy/interpolative slack controller
PD non-linear look-up table controller represents a fundamental solution, due to its
anticipative features. The integrative like action of the three state valve completes the
structure, which becomes a virtual PID one. The response of Fig. 10.2.6 was obtained
with such a controller, realized by the next look-up table:
row (s): [0 0.18 0.20 0.22 1]
column (ds/dt): [-0.03 0 0.03] (10.2.7)
table: [1 1 1 ; 1 1 0; 1 0 -1; 0 -1 -1; -1 -1 -1 ]
The overshot that follows the beginning of the slack is usually tolerated because it
produces an initial cleaning of the rail, generating a certain enhancement of the ad-
herence. For a specific adhesion this controller can be better tuned, as in Fig. 10.2.7.

Fig. 7 10.2. A tuned interpolative PD controller

10.16
Fig. 10.2.8. The control surface of the previous controller
A notable rejection of the oscillations caused by dead times can be achieved by a
plane control surface self-adaptive interpolative controller PCSAIC. Its features are:
 the main controller is a plane control surface with variable PID structure one. The
integrative effect is introduced smoothly, only for the steady regimes.
 a second PD controller ensures the real-time on-line adaptation.
 the adaptive rules stem from the analysis of the phase trajectory of the system.
In the ABS case PSCAIC does not need the integrative part and its adaptive capabilities
will be focused to get a very smooth response.
The main adaptive resources are presented in a qualitative manner in the next table.
Name of the Its effect over the performance (for a Linguistic label of
parameter growing trend of the parameter) its effectiveness
f increases the slack oscillations strong
μ does not produce important effects very weak
M increases the slack oscillations weak
output’s dead zone increases the slack oscillations very weak
the output scaling emphases the overall performance medium

As one can notice from the table and from Fig. 10.2.6, the adherence and the weight
of the car are influencing the performance of ABS in a correlated manner, increasing
the reaction force of the rail, especially at low velocities. The most effective adaptive
correction consists in adding a scaling factor at the output of the controller.

10.17
Fig. 10.2.9. The plane control surface self-adaptive fuzzy/interpolative controller
Comparing to FIPD, PCSAIC is able to control in a more detailed and sophisticated
manner the performance of the ABS. In the next figures one can compare the res-
ponse of the two controllers to a step perturbation of the adhesion coefficient (which
doubles its value at t = 20s). The imposed slack was 0.20.

Fig. 10.2.10. The response of the PD interpolative controller

Fig. 10.2.11. The response of the plane surface fuzzy/interpolative adaptive controller

10.18
10.3. Selecting a Production Line
10.3.1. The Investment Problem
An industrial buyer is exposed to many influences when making a decision. Some
marketers assume that the most important influence is economic: lowest price, best
product or more services. Other marketers see buyers responding to personal factors
such as favors, attention or risk avoidance. Industrial marketers must know their cus-
tomers and adapt their tactics to individual, economical, organizational and environ-
mental situations. All these factors contain different amounts of uncertainty and their
weight in the final decision is also uncertain. Very often one can even consider them
as perception based, affected by human subjective psychology.
The first mathematical tool designed to cope with uncertainty is the probability the-
ory. However the probability theory needs statistic data, which in many decision cases
are missing – especially for new problems. This is why the fuzzy sets and logic theory
which is able to represent linguistic modeled knowledge in computers and to infer
them in order to obtain decisions, is often applied in decision-making systems.
We will analyze the activity of a manager of a firm specialized in the production of
100% natural forest-fruit juice. The main activity of the firm is to collect forest fruits
from all over Romania or to cultivate them in their own greenhouses, and to produce
natural juices packed in Tetra-Pack. The juice production needs a new production line.
The manager studied the market of the production lines for natural juices and find out
that the highest quality of such plants are supplied by firms from: Italy, USA, Germa-
ny, Holland, Spain, France, Australia and Austria. Two of the 8 countries (USA and Ger-
many) offer two products.

The input variables


Table 1
C1 = capacity (liters/hour) C4 = the payback time (years)
C2 = the price (Euro) C5 = the maintenance
C3 = energy consumption (kW/h) C6 = firm’s confidence degree

C1, C2, C3, and C4 are quantitative while C5, and C6 are qualitative variables. The
variables are detailed in Table 2.

10.19
Detailed variables

An importance coefficient kj*, is attached to each variable in order to rank their impor-
tance. They are set with the test of the universal specialist (TSU). Two managers M1
and M2 and two engineers E1 and E2 make a top of the inputs according to their own
expertise. Each place receives up to 6 points, according to its rank. We impose  kj* =
10.

The TSU ranking

10.20
10.3.2. The Fuzzy Decision Making
We have to draw a 6-D data base (6 inputs), which will be fuzzified with piecewise
automatically generated fuzzy partitions using triangular fuzzy sets. The automated
generated fuzzy partitions are matching this classification problem, but this is not
necessarily true in other kind of applications. We bound the variables’ domains with
the extreme values of Table 2. For instance the C1 input (capacity) will be defined on
the [50 … 90] segment. The fuzzy labels are low, medium, high for all the inputs and
very low, low, medium, high, very high for the output feasibility [0 … 1].
We will implement the decision-making system by the Matlab FIS toolkit (Fuzzy Infer-
ence System). The fuzzification of the six input variables and of the output is present-
ed in Fig. 10.3.1. The inference block, with the rule base and the rule viewer anima-
tion are shown in Fig. 10.3.2.

Fig. 10.3.1. The fuzzification of the six inputs and of the output feasibility

10.21
Fig. 10.3.2.The rule base and the inference
The 65 = 7776 rules of the 6-D rule base is obviously a huge obstacle, although we can
significantly reduce the number of the rules with the “none” option of the inference
dialog box that allows us to write rules that are not involving all the six input varia-
bles.

10.22
A much more effective approach consists in clustering the input variables, with the
purpose to reduce the dimension of the rule bases. One defines such way new inter-
nal variables, increasing the number of controllers, but dramatically decreasing the
number of the rules. The most convenient internal variable is 2D, representable by
the MacVicar-Whelan inference tables. Such a 2D table was applied in this field, con-
cerning the fuzzy-interpolative version of the conventional ADL matrix.
The ADL matrix is a particular inference table that is often used for supporting strate-
gic decisions. The ADL Matrix infers a strategy for each of the different combinations
of two input variables: competitive position and industry maturity, as shown in Table
7. The meaning of these variables is the following:
- Competitive Position CP - How strong is your strategic position?
- Industry Maturity IM - At what stage of its lifecycle is the industry?
In our case we will use this approach, clustering the input variables in three 2D deci-
sion tables: Technical level Tech(C1 xC3), Economical Eco(C2 x C4) and Subjective Per-
ception Subj(C4 x C5). We want to reduce as much as possible the number of the lin-
guistic labels so we use Mamdani controllers, prod–sum inferences and Center of
Gravity defuzzifications, a combination that maximize the sensitivity of the decision-
making.
For instance, the Tech controller is presented in Fig. 10.3.3.

Fig. 10.3.3. The controller that is computing the Tech internal variable

10.23
The ADL Matrix
Table 4
Industry Maturity
Embryonic Growth Mature Aging

C Dominant Y5,1 Y5,2 Y5,3 Y5,4


-Aggressive push - Maintain indus- - Maintain posi- - Maintain indus-
for market share try position and tion, grow market try position
o - Invest faster than market share share as the indus- - Reinvest as nec-
market share dic- - Invest to sustain try grows essary
m tates growth - Reinvest as nec-
essary
p

e Strong Y4,1 Y4,2 Y4,3 Y4,4


-Aggressive push -Aggressive push - Maintain posi- - Maintain indus-
for market share for market share tion, grow market try position or cut
t - Look for ways to - Look for ways to share as the in- expenditures to
improve competi- improve competi- dustry grows maximize profit
i tive advantage tive advantage - Reinvest as nec- (harvest)
- Invest faster than - Invest to in- essary - Minimum rein-
market share dic- crease growth and vestment
t tates position

i Favorable Y3,1 Y3,2 Y3,3 Y3,4


- Moderate to ag- - Look for ways to - Develop a niche - Cut expenditures
gressive push for improve competi- or other strong to maximize profit
v market share tive advantage and differentiating (harvest) or plan a
- Look for ways to market share factor and main- phased with-
e improve competi- - Selectively in- tain it. drawal
tive advantage vest to improve - Minimum or - Minimum in-
- Invest selec- position selective rein- vestment or look
tively vestment to get out of cur-
rent investment
P
Tenable Y2,1 Y2,2 Y2,3 Y2,4
- Look for ways to - Develop a niche - Develop a niche - Phased with-
o improve industry or other strong or other strong drawal or abandon
position differentiating differentiating market
s - Invest very se- factor and main- factor and main- - Get out of in-
lectively tain it tain it or plan a vestments or di-
i - Invest selec- phased with- vest
tively drawal.
- Selective rein-
t vestment
Weak Y1,1 Y1,2 Y1,3 Y1,4
i - Decide if poten- - Look for ways to - Look for ways to - Abandon market
tial benefits out- improve share and improve share and - Divest
o weigh costs, oth- position, or get position or plan a
erwise get out of out of the market phased with-
n market - Invest or divest drawal
- Invest or divest - Selectively in-
vest or divest

10.24
Fig. 10.3.4. The inference window, with the only nine rules
The rules are very easy to understand and to write:
 The best Tech (Tech = 1) is modelled by the rule “IF cap is vhigh AND energy is vlow
THEN Tech is vhigh”.
 A medium Eco (Eco = 0.5) is pointed by three rules “IF price is med AND payb is med
THEN Eco is med”, “IF price is high AND payb is low THEN Eco is med” and “IF price is
low AND payb is high THEN Eco is med”
 The worst Subj (Subj = 0) is pointed by the rule “IF maint is vlow AND conf is vlow
THEN Subj is vlow”, etc.
We can use these three derived variables either in a final 3D decision table or as a
weighted sum, taking into consideration the importance coefficients kj.
Feas = (kTech *Tech + kEco *Eco + kSubj *Subj) / (kTech + kEco + kSubj)
Setting by TUS the following values, kTech=2, kEco=1.75 and kSubj=1, we eventually
obtain the results of Table 5. The final choice, points V1

10.25
The resulting feasibilities
Table 5

Improvements, like the implementation by look-up-tables (fuzzy-interpolative) or the


neural training, can be further developed.
For instance, the look-up-table of the Tech variable is:
Row (Capacity) = [50, 70, 90]
Column (Energy) = [50, 75, 100]
Table (Tech) = [0.5 0.25 0; 0.75 0.5 0.25; 1 0.75 0.5]
The Tech variable was fuzzificated exactly as Feas, with five linguistic labels. The other
variables, Eco and Subj were treated in the same way.

10.26
11. Applications with FSAICs
11.1. The rejection of the Oscillations Caused by Dead Times
Dead times create problems in any closed loop control systems, especially if the
controller is linear. One simple way to attenuate their effect is to apply the knowledge
about tuning linear PIDs in order reduce the amplitude of the oscillations, like
reducing the proportional gain and the weight of the integrative effect, introducing
different nonlinearities, etc.

Fig. 11.1.The FSIC attenuation of the oscillations caused by dead time processes

11.1
Since FSAICs are embedding such knowledge into the rule base and correctors, they
are able to cope with dead time systems (until a certain level).
The Fig. 11.1 present two FSAIC controllers (file FSAIC1.mdl), one with a valid correc-
tor the other with inhibited correction, i.e. acting like a PSAIC, connected to a 2nd
order process with dead time (0.2s).

11.2. Extended Adaptivity by FFSAIC


FSAIC can cope with very different processes. In Fig. 11.2 there are four identical
FSAICs, connected to four different processes: three of 2nd order (critically, under and
over damped) and a 3rd order one (file FSAIC2.mdl).

Fig. 11.2. Step responses of an FFSAIC controlling four different plants

11.2
Fig. 11.3. The model that produced the previous responses

Fig. 11.4. The FFSAIC block

11.3
Fig. 11.5. Main blocks of the model – Evaluare/Scalare

Fig. 11.6. Main blocks of the model –the direct controller

11.4
Fig. 11.7. The Correctors and the fuzzy fusion controller

11.5
12. Modeling and Control of an Air Conditioning System
12.1. The Model of a Railway Coach Air Conditioning Installation
For the study of the thermal behaviour of several air conditioning installations of un-
compartmented coaches produced by Astra Railway Coach Company of Arad Romania
we used the next simplified model:
dθ t 
V · a · ca · i = {F(t) · a · ca+  · Sw} · [e(t) - i(t)] + P(t-τ) (12.1)
d t 
The elements of this structural model are the following: V [m3] the inside volume of
the coach; a·ca the product of the equivalent density and specific heat of the air, Sw
[m2] the internal surface of the walls; e [0C] the outside air temperature, i [0C] the
inside air temperature, F·ca·a·(e-i): the heat amount provided by the fresh air from
outside, where F [m3/s] is the outside fresh air flow introduced into the coach,
ca=1000 J/kg·K is the specific heat of the air and a=1,293 kg/m3 is the density of the
air;  [W/m2·K] the mean heat transmission coefficient through the walls, P(t) [W] the
power of the heating/cooling engine, τ [s] the time delay caused by the circulation of
the air between the engine and the temperature sensor, N=no. of passengers.

120 V

V 5 N

0.0000125 N q_h2o c_h2o 1


q_h2o D c-h2o

Conncentratie_h2o
V

0.0000097 q_co2 c_co2 2


q_co2 c-co2
1 D

D
2 u

u Conncentratie_co2

Po N

T_int_init 115 Po

0 T_int_init

4 T_ext

T_ext D T_int 3

Pe u Temp_int

1000 Pe

S 2.032 alpha

180 alpha S

3 P_cond

P Temperatura

Fig. 12.1.The main window of the passengers’ room system

12.1
The main simplifications of this model are concerning  and Sw, which are considered
as overall parameters (the internal surface of the walls is considered homogenous)
and τ which is enclosing the effects caused by the circulation of the air flow through
the conditioning engine, the air channels and the passengers’ aria. Despite its simpli-
fications this model may be very easily tuned for different applications thanks to the
access to the physical structure of the system (the structural feature). The main blocks
of the model are the following:

1
1.293
V 1/u
ro_aer 1000
2 Produs3 Fcn1
c_aer Produs2
N

3
Po Produs1
4
1
T_int_init
T_int
5
T_ext Suma1

6
D Produs5

7 1-u
u Produs4
Fcn2 Suma2 1
8 s
Produs6 Integrator1 Suma4
Pe
Suma3
9
alpha
10 Produs7

S
11
P_cond A
From Timp mort

Fig. 12.2. The sub-system Temperatura

1 1/u
1 [0.002]
V Fcn3 s
Produs8
2 Suma5 Integrator2 IC
N 3
q_co2 Produs9
1
4 Timp_mort c_co2
D co2
Produs12
Produs11
A From
5 1-u
u Produs10
Fcn4

Fig. 12.3. The sub-system Concentratie_CO2, identical with Concentratie_H2O

12.2
Fig. 12.4. The main window of the whole installation
The constructive parameters of the coach are the following: V =120m3, S = 180m2, α
= 2,0232W/m2·oK and PE = 1000W.

12.3
PSAIC
1 1 Factor de Sat+
3-D T(u) amplificare
Eroare Derivator P
du/dt 1 15000
3
Integrator D Produs P_climatizare
1/s 1

I Sat- Comutator
incalzire/
1
racire
45s+1 Factor de corectie
Filtrul trece jos al erorii Corector adaptiv
(fuzzy-interpolativ)
4
12.2. The Air Conditioning FSAIC Control

12.4
T_impusa
Dif.
5
T_ext
|u| 1
Abs1 1.1 Debit_ventilat
Regulator pt. debit
Debit_max Comutator
Regulator pt. debit
factorul de recirculare Recirc_max
c_co2 Abs 0.9
2

Fig. 12.5. The FSAIC air conditioning controller


|u| 2
c_h2o
Fact_recirc
3 Comutator
recirculare
The main difficulty when controlling such installations are the high amplitude temper-
ature oscillations (can reach 100C) caused by the notable dead times (30 sec. here).
The sequential approach needs a system of temperature sensors distributed along the
air channels and inside the room, as well as a specific software. We obtained effective
rejections of these oscillations, for a single temperature sensor, by using FSAIC.
FSAIC fara autoadaptare

20
temperatura

10

-10
0 4
500 1000 1500 2000 2500 3000 3500
x 10 timp
3

2
puterea

0
0 500 1000 1500 2000 2500 3000 3500

0.1 timp
derivata erorii

0.05

-0.05

-0.1
-4 -3 -2 -1 0 1 2
eroarea

a) PSAIC
FSAIC cu autoadaptare

20
temperatura

10

-10
0 500 1000 1500 2000 2500 3000 3500
4
x 10 timp
3

2
puterea

0
0 500 1000 1500 2000 2500 3000 3500
timp
0.1
derivata erorii

0.05

-0.05

-0.1
-4 -3 -2 -1 0 1 2
eroarea

b) FSAIC
Fig. 12.6. Time responses (initial temp. -100C, 1800s at +200C and 1800s at 180C)

12.5
The PSAIC controller (part of FSAIC) is the next:
row (ε): [-2 -1 0 1 2];
column (dε): [-0.2 -0.1 0 0.1 0.2]; (12.2)
3rd dimension (∫ε): [-100 0 100];
table: cat(3, [-2 -2 -2 -1 0; -2 -2 -1 0 1; -2 -1 -1 1 2; -1 0 1 2 2; 0 1 2 2 2],
[-2 -2 -2 -1 0; -2 -2 -1 0 1; -2 -1 0 1 2; -1 0 1 2 2; 0 1 2 2 2],
[-2 -2 -2 -1 0; -2 -2 -1 0 1; -2 -1 1 1 2; -1 0 1 2 2; 0 1 2 2 2]).
The FSAIC adaptive corrector has the following configuration
row (ε): [-3.5 -2.6 -2.5 0 2.5 2.6 3.5]; (12.3)
table: [1 1 0.6 0.5 0.6 1 1].

12.6
Universitatea „Aurel Vlaicu” din Arad
Facultatea de Inginerie

Marius M. Bălaş

Aplicaţii ale Sistemelor Neuro-Fuzzy

Lucrări practice

- 2014 -
Cuprins

1. Mulţimi fuzzy. Logică fuzzy ........................................................................ 2


2. Variabile lingvistice. Cadre cognitive şi partiţii fuzzy ................................. 8
3. Controlere fuzzy. Inferenţa. Controlere Mamdani şi Sugeno ..................... 10
4. Defuzzificări MOM şi COG ....................................................................... 13
5. Tutorial Fuzzy Inference System ................................................................ 16
6. Implementarea FIS a unor regulatoare fuzzy PD ....................................... 24
7. Controlere fuzzy-interpolative ................................................................... 31
8. Regulatoare neuro-fuzzy realizate în ANFIS ............................................. 37
9. Sisteme fuzzy-expert .................................................................................. 49

1
1. Mulţimi fuzzy. Logică fuzzy

1.1. Introducere
Sistemele inteligente hibride fac parte din categoria sistemelor Soft Computing. Ele
combină diferite metode şi tehnici provenite din subdomenii ale Inteligenţei Artificiale,
cu scopul de a obţine în urma hibridizării performanţe mai bune decât ale fiecărei din-
tre componente, luate în parte. Câteva astfel de realizări sunt: sistemele neuro-fuzzy,
sistemele fuzzy-expert, sistemele conexionist-expert, sisteme evolutiv-neuronale, siste-
mele fuzzy-genetice, etc.

Se observă că o mare parte dintre sistemele inteligente hibride au în componenţă latura


care ţine de teoria şi practica Sistemelor Fuzzy. Explicaţia acestui fapt rezultă din stu-
diul sistemelor fuzzy, principalele concluzii fiind:

a) Teoria mulţimilor fuzzy oferă cea mai avantajoasă reprezentare matematică şi pe


calculator a cunoştinţelor exprimabile sub o formă simbolică, respectiv lingvistic, cu
care operează raţionamentul uman;

b) Teoria mulţimilor fuzzy în sine nu oferă soluţiile concrete ale aplicaţiilor, pentru
identificarea cărora este nevoie de contribuţia unui expert uman;

Un sistem fuzzy poate fi considerat ca o formă particulară de sistem expert, alcătuit


dintr-o bază de reguli de tipul „Dacă … atunci …”, a căror modelare şi prelucrare
logică se face prin teoria mulţimilor fuzzy, dar a căror conţinut trebuie stabilit de către
experţi. Diferitele tehnici preluate din arsenalul Inteligenţei Artificiale au tocmai sco-
pul de a juca rolul expertului uman, prin completarea şi/sau ajustarea automată a regu-
lilor de conducere.

Acest îndrumător de lucrări practice ilustrează ce mai populară dintre tehnicile fuzzy
hibride, respectiv Sistemele Neuro-Fuzzy, care pentru partea de învăţare automată face
apel la Reţelele Neuronale, a căror structură este asemănătoare creierului uman şi care
au capacitatea de a învăţa automat pe baza unor exemple.

Principalul instrument utilizat în îndrumător este pachetul software Matlab-Simulink,


care prin toolkit-urile FIS pentru sistemele fuzzy şi ANFIS pentru sistemele neuro-
fuzzy, oferă o platformă avantajoasă de testare şi implementare a aplicaţiilor, larg uti-
lizată atât în mediile academice cât şi în cele industriale. Pentru aplicarea algoritmilor
fuzzy şi neuro-fuzzy în cazul sistemelor înglobate (embedded systems), a microproce-
soarelor, microcontrolerelor sau a circuitelor FPGA, se studiază şi implementările de
tip interpolativ, respectiv Sistemele Fuzzy-Interpolative.

2
1.2. Mulţimi fuzzy
În teoria clasică a mulţimilor, o mulţime C este definită ca o colecţie de n elemente xi,
cu i = 1 ... n, definite într-un domeniu de definiţie X. Fiecărui element i se poate ataşa
o funcţie de apartenenţă FA, notată (xn), având valoarea:
0, dacă xn  C
(xn) = (1.1)
1, dacă xn  C
O astfel de mulţime poate fi denumită „fermă” (crisp), deoarece gradul de apartenenţă
respectă principiul terţului exclus din algebra Booleană, fiind posibile numai două situ-
aţii: apartenenţa sau non-apartenenţa, sau în termeni logici, adevăr sau fals.
Spre deosebire de mulţimile ferme, o mulţime fuzzy MF acceptă pentru FA orice va-
loare aparţinând intervalului [0 ... 1]. Valorile 0 şi 1 au aceeaşi semnificaţie ca şi în
cazul mulţimilor ferme, adică non-apartenenţa respectiv apartenenţa totală a elemen-
tului la MF. Valorile intermediare indică măsura în care elementul x aparţine catego-
riei descrisă de mulţime. Un grad de apartenenţă de 0,9 indică o legătură puternică a
elementului cu mulţimea în timp ce 0,5 arată că elementul poate la fel de bine să fie
inclus sau exclus din mulţime. O MF A definită pe domeniul X va fi caracterizată de
funcţia de apartenenţă
A (x) : X  [0 ... 1] (1.2)
xX
Se defineşte înălţimea mulţimii A, hgt(A), valoarea maximă a funcţiei de apartenenţă:
hgt(A) = sup A(x) (1.3)
Dacă hgt(A) = 1 mulţimea fuzzy A se va numi normală. Dacă hgt(A) < 1, atunci A se
va numi subnormală.
Suportul (baza, lăţimea) mulţimii A este format din mulţimea elementelor xX pentru
care A(x)  0:
supp(A) = { xX  A(x) > 0 } (1.4)
Toleranţa mulţimii A este format din mulţimea elementelor xX pentru care A(x)= 1:
tol(A) = { xX  A(x) = 1 } (1.5)
În continuare se exemplifică utilizarea mulţimilor fuzzy pentru definirea conceptului
temperatură confortabilă, util în proiectarea instalaţiilor de aer condiţionat deoarece
reprezentarea prin MF permite modelarea percepţiei umane a confortului termic, con-
cept prin excelenţă subiectiv şi incert. Deşi aparent renunţarea la definirea precisă a
obiectivelor reglării ar putea părea hazardată, prin formularea fuzzy se obţin perfor-
manţe mult mai bune ale reglării temperaturii, nu în termeni de precizie, care oricum
este nesemnificativă în acest caz, ci în termeni de economie de energie, reducere a nu-
mărului de acţiuni de reglare, adaptare la condiţiile interne şi de mediu, etc.

3
Fig. 1.1 Reprezentările fermă şi fuzzy ale noţiunii de temperatură confortabilă
Toate aceste performanţe sunt posibile datorită înglobării cunoştinţelor de tip expert –
în condiţionarea aerului în acest caz - prin intermediul regulilor fuzzy de conducere.
Un sistem secvenţial de condiţionare a aerului utilizând logica lui G. Boole ar porni
încălzirea imediat după scăderea temperaturii sub 21oC şi ar opri încălzirea la depăşirea
temperaturii de 23oC. Această funcţionare asigură o anumită precizie şi siguranţă
reglării, dar necesită un număr mare de acţionări ale elementului de execuţie, ceea ce
produce în general uzura prematură a elementelor sistemului şi nu ţine cont de
tendinţele naturale de evoluţie ale sistemului. De exemplu, dacă temperatura este de
20,7oC, mai mică decât limita inferioară admisibilă, dar tendinţa ei este de creştere,
sistemul s-ar încadra singur, în scurt timp, în domeniul 21oC - 23oC. Pornirea încălzirii
accelerează intrarea în domeniul de temperatură dorit dar cu preţul unei energii supli-
mentare injectate în sistem, în plus existând mari şanse ca din cauza din cauza inerţiei
termice temperatura să depăşească repede 23oC. Ar urma astfel fie o nouă disipare de
energie necesară răcirii sistemului, fie o lungă perioadă de supraîncălzire.
Un sistem fuzzy având în setul de reguli de conducere şi o regulă referitoare la econo-
mia de energie ar putea admite ca destul de confortabilă şi temperatura de 20,5oC, fără
a porni încălzirea. Decizia nu va fi greşită, întrucât foarte puţini oameni ar putea sesiza
cele 0,5oC cu care temperatura este inferioară domeniului impus. Datorită tendinţei
naturale de încălzire se va ajunge treptat în domeniul 21oC - 23oC fără irosirea energiei.
Pentru modelarea FA se pot folosi diferite forme, cele mai uzuale dintre ele fiind pre-
zentate în figura următoare. Dreptunghiul şi singleton-ul sunt de fapt proprii mulţimilor
Booleene, dar ele se întâlnesc frecvent în aplicaţii, asociate cu alte variabile fuzzy, de
exemplu în cazul comenzilor aplicate unui element de execuţie cu stări discrete.

Fig. 1.2 Forme folosite pentru FA

4
Când aplicaţia necesită precizie şi sensibilitate se poate apela la curbele de tip Gauss
(““ sau “”) care au şi avantajul de a putea fi corelate cu mărimile probabilistice. În
principiu se pot utiliza orice altă formă sau combinaţie de forme uzuale.
În marea majoritatea a aplicaţiilor se constată însă că cele mai des utilizate forme sunt
cele triunghiulară şi trapezoidală, mai uşor de reprezentat şi necesitând un volum mai
mic de calcule şi de memorie. Alegerea formelor simple de FA este justificată şi prin
constatarea des menţionată în literatura de specialitate că esenţiale în aplicaţii sunt
suportul şi toleranţa unei MF, forma flancurilor FA având un efect mai redus asupra
rezultatelor obţinute.

1.3. Logica fuzzy


Se consideră F familia mulţimilor fuzzy definite pe un domeniu de definiţie X. Între
mulţimile incluse în F se pot defini operaţii care într-un mod analog algebrei booleene
generează o structură algebrică de tip latice. Aceste operaţiile se vor nota  şi  ca şi
în cazul teoriei clasice a mulţimilor:
A  B : X x X  [0 ... 1] (1.6)
A  B : X x X  [0 ... 1]
Se introduce şi complementul mulţimii fuzzy A :
A : X  [0 ... 1] (1.7)
Construcţia algebrei booleene utilizează reuniunea şi intersecţia (în termeni logici
SAU şi ŞI), singura variantă alternativă fiind reprezentată de implicaţiile logice, a căror
utilizare este însă incomodă. În cazul logicii fuzzy LF se poate face apel la un număr
mult mai mare de operaţii, fapt care conferă acestei logici un potenţial ridicat de adap-
tare la diferite condiţii de lucru. L.A. Zadeh a propus utilizarea maximului şi minimului
funcţiilor de apartenenţă ale celor doi operanzi ca operaţii de constituire a LF.
Operaţiile se pot descrie cu ajutorul funcţiilor de apartenenţă  : X  [0 ... 1].
 A B (x) = max ( A(x), B(x) ) = A(x)  B(x) (1.8)
 A B (x) = min ( A(x), B(x) ) = A(x)  B(x)
sau, simplificând notaţia (A(x)  A(x)) :
(A  B) (x) = max ( A(x), B(x) ) = A(x)  B(x) (1.9)
(A  B) (x) = min ( A(x), B(x) ) = A(x)  B(x)

Complementul mulţimii A, notat A, se va defini prin:


 A (x) = 1 -  A (x) sau A(x) = 1 - A(x) (1.10)
Structura astfel obţinută este o latice distributivă deoarece se bucură de următoarele
proprietăţi: asociativitate, comutativitate, absorbţie, idempotenţă şi distributivitate în
ambele sensuri.

5
De asemenea se verifică legile lui de Morgan, principiul dublei negaţii şi legile lui 0
şi 1 (elementele neutre faţă de cele două operaţii):
A(x)  1 = 1 A(x)  0 = A(x) (1.11)
A(x)  1 = A(x) A(x)  0 = 0
Spre deosebire de logica booleană, în cazul LF nu se mai respectă însă principiile
terţului exclus şi nici cel al contradicţiei, din cauza modului de alcătuire a funcţiilor de
apartenenţă:
( A  A )(x)  1 şi ( A  A )(x)  0 (1.12)
De exemplu, în cazul în care A(x) = 0,5, caz în care incertitudinea atribuirii unei valori
logice este maximă, ( A  A )(x) = ( A  A )(x) = 0,5. Diferenţa A(x) - A(x) poate
reprezenta o măsură a caracterului vag al mulţimii A: cu cât diferenţa este mai mică, A
este mai vagă. În cazul anterior A - A = 0. În cazul mulţimii lor ferme A - A = 1.
În perioada de început a logicii fuzzy s-au utilizat şi suma probabilistică şi produsul:
(A  B) (x) = A(x) + B(x) - A(x)  B(x) (1.13)
(A  B) (x) = A(x)  B(x)
Faţă de laticea min-max gradele de apartenenţă depind în acest caz de ambii operanzi.
În consecinţă regulatoarele fuzzy care vor utiliza aceste operaţii vor fi mai “senzitive”
decât cele bazate pe operaţia min-max. De fapt există o clasă largă de operaţii utiliza-
bile ca funcţii logice  şi , denumite norme triangulare. Prin normă t se înţelege o
funcţie de două argumente t : [0 ... 1] x [0 ... 1]  [0 ... 1] cu următoarele proprietăţi:
 asociativitate: (A t B) t C = A t (B t C)
 comutativitate: AtB=BtA (1.14)
 condiţii de limită: At0=0 , At1=A
 nedescrescătoare pt. fiecare argument: pentru A  B , C  D, A t C  B t D
O normă t este arhimediană dacă şi numai dacă:
 este continuă pentru fiecare argument (1.15)
AtA<A
Din cele de mai sus se observă că norma t prezintă majoritatea proprietăţilor funcţiei
logice ŞI. Funcţia logică SAU poate fi modelată cu norma s (conorma t), care la rândul
ei este:
 asociativă;
 comutativă; (1.16)
 satisface condiţiile: As0=A , As1=1
 nedescrescătoare.

6
Este însă de remarcat că normele triangulare nu respectă în mod necesar idempotenţa
(A t A  A şi A s A  A) şi absorbţia (A t (A s B)  A şi A s (A t B)  A).
În tabelul următor sunt prezentate câteva dintre normele t-s mai des utilizate.

norme t norme s
x t y = min(x, y) x s y = max (x, y)
xty=xy xsy=x+y-xy
x t y = 1-min([1, ((1-x)p + (1-y)p)1/p], p  1 x s y = min (1, (xp + yp)1/p) , p1
x t y = max[0, (+1)(x+y-1)- x y],  -1 x s y = min [1, x + y +  x y] ,   -1

Normele t şi s îndeplinesc următoarele inegalităţi:

x , dacă y = 1
min (x, y)  x t y  y , dacă x = 1 (1.17)
0 , în celelalte cazuri

x , dacă y = 0
max (x, y)  x s y  y, dacă x = 0 (1.18)
1 , în celelalte cazuri
Alegerea unor norme t şi s diferite de min-max (sau eventual de produsul şi suma
probabilistică) este totuşi mai rară, volumul de calcule necesar fiind mai mare, fără a se
obţine întotdeauna îmbunătăţiri semnificative.
Utilizarea operaţiilor min-max, prin lipsa de interacţiune dintre operanzi (unul dintre ei
nu participă la stabilirea rezultatului) nu este indicată în cazurile care reclamă funcţii
de apartenenţă precise, dar în schimb oferă avantajul robusteţii şi imunităţii la zgomot.

Desfăşurarea lucrării
Se vor verifica toate proprietăţile algebrelor fuzzy create de operaţiile min-max şi
prod-sum, pentru următoarele date numerice: A = 0,5, B = 0,75 şi C = 0,3.
Exemplu:
 asociativitate (min-max): (A min B) min C = A min (B min C) = 0,3
(A max B) max C = A max (B max C) = 0,75
 asociativitate (prod-sum): (A prod B) prod C = A prod (B prod C) = 0,1125
(A sum B) sum C = A sum (B sum C) = 0,9125

7
2. Variabile lingvistice. Cadre cognitive şi partiţii fuzzy

2.1. Variabile lingvistice şi fuzzificarea


Termenul de variabilă lingvistică VL, introdus de L. A. Zadeh în 1975 defineşte o
variabilă care ia valori lingvistice, cum ar fi încet, repede, înalt, etc. Aceste valori sunt
modelabile prin MF. Orice VL conţine câţiva termeni lingvistici TL primari - etichete
lingvistice. Aplicând reguli sintactice şi semantice se pot construi termeni derivaţi şi
propoziţii. Să luăm de exemplu VL temperatură, cu domeniul de definiţie cuprinzând
gama de temperaturi care se pot realiza în interiorul unui vagon. Termenii lingvistici
primari pot fi mic, mediu şi mare. Aceşti termeni pot fi în continuare ponderaţi cu mo-
dificatori, cum ar fi foarte, mai mult sau mai puţin, etc. Se obţin propoziţii corecte prin
combinarea termenilor primari şi a modificatorilor, de exemplu (temperatură) foarte
mare. Cu ajutorul VL este posibilă reprezentarea cunoştinţelor într-un mod familiar
percepţiei umane. Instrumentul matematic, bazat pe VL, prin care cunoştinţele pot fi
reprezentate şi prelucrate se numeşte cadru cognitiv (frame of cognition) CC.
Familia de mulţimi fuzzy A = {A1, A2, ... Ac} formează un CC dacă îndeplineşte urmă-
toarele două condiţii:
 A acoperă domeniul de definiţie X. Fiecare element al domeniului de definiţie poate
fi atribuit cu un grad de apartenenţă diferit de zero cel puţin unei MF din A:
  Ai (x) >  (2.1)
x i

 > 0 fiind denumit nivel de acoperire a lui X .


 Elementele lui A sunt mulţimi fuzzy unimodale. Se pot astfel identifica în X regiuni
(câte o regiune pentru fiecare TL) care să fie în mare măsură compatibile cu acestea
(cu grad semnificativ de apartenenţă la Ai). Aceste regiuni posedă un înţeles semantic
clar.

Fig. 2.1. Cadru cognitiv

8
2.2. Partiţii fuzzy
Partiţia fuzzy PF este un CC care se mai caracterizează şi prin proprietatea:

 Ai (x) = 1, xX (2.2)


i=1...c

O PF va încadra fiecare punct din domeniul de definiţie X într-unul sau doi TL, fără
zone insuficient caracterizate, la care suma gradelor de apartenenţă ar fi mai mică de 1,
sau zone contradictorii, unde suma gradelor de apartenenţă ar fi mai mare de 1.
În perspectiva utilizării PF la reglările automate, această condiţie exprimă faptul că
există suficiente informaţii pentru luarea unor decizii sigure în orice zonă a domeniului
X. În multe alte domenii, mai ales în sistemele expert pentru luarea de decizii se accep-
tă şi zone în care suma gradelor de apartenenţă este subunitară sau supraunitară.

Fig. 2.2. Partiţie fuzzy


O atenţie deosebită trebuie acordată desenării mulţimilor fuzzy şi alegerii parametrilor
triunghiurilor sau trapezelor, pentru a respecta condiţia (2.2)!
Operaţia de proiectare a CC sau PF se numeşte fuzzificare. Fuzzificarea este operaţia
esenţială de reprezentare în calculator a cunoştinţelor formulate lingvistic. De exemplu,
în proiectul referitor la regulatorul fuzzy PD de la sfârşitul acestui îndrumător, la fuzzi-
ficarea variabilei eroarea de reglare vom utiliza următorii TL: negativ mare, negativ
mic, zero, pozitiv mic şi pozitiv mare.

Desfăşurarea lucrării
Se vor proiecta următoarele variabile lingvistice de tip partiţie fuzzy:
 eroarea de reglare, cu 5 termeni lingvistici modelaţi prin triunghiuri;
 eroarea de reglare, cu 5 termeni lingvistici modelaţi prin trapeze;
 derivata erorii de reglare, cu 5 termeni lingvistici modelaţi prin trapeze;
 viteza unui automobil [km/h], cu 5 termeni lingvistici modelaţi prin triunghiuri;
 vârsta unui om, cu 7 termeni lingvistici modelaţi prin trapeze;

9
3. Controlere fuzzy
Inferenţa. Baze de reguli. Controlere Mamdani şi Sugeno

3.1. Controlere fuzzy

În sens larg un controler fuzzy CF este un sistem expert care utilizează variabile fuzzy.
Un sistem expert SE este un program care urmăreşte un grup de cunoştinţe pentru obţi-
nerea unor rezultate, în acelaşi mod ca şi experţii umani. Putem spune că acest gen de
sisteme sunt tipice pentru IA. Un SE este materializat printr-o bază de cunoştinţe şi
printr-un algoritm de căutare, bazat pe metode de raţionare. Cunoştinţele sunt repre-
zentate prin reguli care pot fi uşor citite şi modificate de către utilizatori, de forma:
dacă < premiză > atunci < concluzie > (3.1)
Aşa cum am văzut deja, rolul LF în acest domeniu constă din reprezentarea cunoştin-
ţelor şi din generarea mecanismelor de inferenţă asemănătoare raţionamentelor umane.
Nu este deci întâmplător faptul că SF pot fi cel mai uşor implementate în domeniile în
care există o experienţă umană anterioară. Inferenţa este operaţiunea prin care se pro-
duc concluzii, estimări sau previziuni pornind de la un set de premize.
Acum putem defini mai precis noţiunea de controler, ca dispozitiv care materializează
inferenţa în cazul sistemelor de luare de decizii sau generează o lege de conducere într-
un sistem de reglare în buclă închisă.
Din punct de vedere informaţional, structura unui CF cuprinde 3 blocuri fundamentale:
defuzzificarea (interfaţa de intrare), inferenţa şi fuzzificarea (interfaţa de ieşire).

Fig. 3.1. Controler fuzzy într-o buclă de reglare


În funcţie de natura fuzzy sau non-fuzzy a variabilelor de intrare şi ieşire sunt posibile
patru forme de CF, prezentate în tabelul următor. Forma (1), tipică pentru aplicaţiile de
reglare automată se mai numeşte şi regulator fuzzy RF.

10
Informaţia de Informaţia de ieşire
intrare NUMERICĂ FUZZY
NUMERICĂ Sisteme de reglare în Sisteme de asistare a deciziilor
buclă închisă (1) în buclă deschisă (3)
FUZZY Sisteme de reglare în Sist. inteligente de asistare a
buclă închisă (2) deciziilor în buclă deschisă (4)

În cazul RF mărimile de intrare provin de la traductoare iar cele de ieşire se adresează


diferitelor elemente de execuţie.

3.2. Inferenţa. Baze de reguli

Inferenţa este operaţia logică prin care se obţin concluzii valabile pe baza unor premi-
ze. Există mai multe metode de inferenţă cum ar fi modus ponens, modus tollens, raţi-
onamentul ipotetic sau tranzitivitatea. În LF se utilizează principiul modus ponens
(calea prin afirmaţie) care necesită aducerea propoziţiilor la o formă standard numită
formă clauzală. Clauzele uzuale se pot clasifica în clauze cu premise complexe şi con-
secinţă unică:
1) Dacă A1  A2  ...  Am atunci B (2.7)
şi clauze cu premise complexe şi consecinţe alternative:
2) Dacă A1  A2  ...  Am atunci B1  B2  ...  Bn (2.8)
Cea mai potrivită formă de reprezentare a inferenţei este în acest caz tabelul de infe-
renţă MacVicar-Whelan, care elimină riscul omiterii unor regiuni din cadrul dome-
niului de definiţie al variabilelor, dacă este completat corect, fără omiterea unor reguli.
În cazul RF, cea mai populară alegere este regulatorul PD (proporţional-derivativ), care
are ca intrări eroarea de reglare  şi derivata ei ε .

Tabel de inferenţă MacVicar-Whelan pentru un regulator PD


ε E1 E2 E3 E4 E5
ε
DE1 R1 R4 R7 R10 R13
DE2 R2 R5 R8 R11 R14
DE3 R3 R6 R9 R12 R15

11
Pentru  cu cinci TL iar ε cu trei, vom avea un tabel cu 15 reguli de conducere. O
modalitate tipică de alegerii TL care alcătuiesc variabilele de intrare este următoarea:
E1 = negativ mare, E2 = negativ mic, E3 = zero, E4 = pozitiv mic, E4 = pozitiv mare
DE1 = pozitiv, DE2 = zero, DE3 = negativ
Principala sarcină a proiectantului este în această fază alegerea ieşirilor aferente fiecă-
rei reguli în parte. O regulă specială este regula R8, care corespunde atingerii obiecti-
vului reglării:  = 0 şi ε = 0. Enunţarea acestei reguli este următoarea:
DACĂ  = zero ŞI ε = 0, ATUNCI se activează regula R8
Proiectantul mai trebuie să aibă în vedere două aspecte esenţiale ale inferenţei:
a) Ce funcţii logice sunt folosite pentru inferenţă, în cazul nostru pentru ŞI? Cel mai
frecvent se folosesc operaţiile min-max sau prod-sum.
b) Care va fi efectul regulii activate asupra ieşirii? Pentru aceasta trebuie fuzzyficată şi
mărimea de ieşire a controlerului, care în cazul RF este mărimea de comandă.
Pentru sistemele expert de asistare a deciziilor, în care numărul de reguli este foarte
mare iar regulile sunt formulate de experţi pe baze euristice, se folosesc protocoale de
reguli (liste) care sunt de obicei supuse unor modificări continue. Astfel de protocoale
de reguli sunt elaborate de medici, economişti, etc.

3.3. Controlere Mamdani şi Sugeno

Dacă ieşirea este fuzzificată în acelaşi mod ca şi intrările, utilizând TL modelaţi prin
MF, atunci controlerul este de tipul Mamdani, purtând numele celui care a realizat
prima aplicaţie practică a RF.
O variantă simplificată a acestei versiuni de bază a fost propusă de Michio Sugeno,
care a propus fuzzificarea mărimii de ieşire utilizând exclusiv singletonuri. CF nu-şi
pierde în acest fel caracterul fuzzy, dar implementările se simplifică semnificativ.

Desfăşurarea lucrării
Se va proiecta un tabel McVicar-Whelan pentru un regulator PD cu 7 TL pentru eroa-
rea  şi 5 TL pentru derivata erorii ε , adresat unui variator de turaţie pentru un motor
electric. Se va discuta modul de alcătuire a tabelului şi justificarea fiecărei reguli în
parte.

12
4. Defuzzificări MOM şi COG

4.1. Defuzzificarea

Ultima, dar nu şi cea mai puţin importantă dintre operaţiile dintr-un FC este defuzzifi-
carea, prin care mulţimea fuzzy obţinută prin inferenţă este transformată într-o mărime
fermă şi transferată ieşirii. Necesitatea defuzzificării apare pentru că mai multe reguli
pot fi active în acelaşi timp, fiind necesară fie alegerea uneia singure dintre ele, fie sin-
tetizarea unei ieşiri care să ţină cont într-o anumită măsură de fiecare dintre ele.
Dacă în cazul fuzzificării şi a inferenţei există aproape un consens asupra utilizării par-
tiţiilor fuzzy modelate prin forme triunghiulare sau trapezoidale, respectiv asupra me-
todei min-max, în cazul defuzzificării există două metode de defuzzificare cu o popu-
laritate largă, MOM (mean-of-maxima) şi COG (center-of-gravity), fiecare la rândul ei
prezentând mai multe variante. Alegerea metodei de defuzzificare se face în funcţie de
mai multe criterii, dintre care cele mai importante sunt:
 caracteristicile MF de ieşire Y = {y1 , y2 , ... yn} şi ale elementului de execuţie;
 viteza cerută de aplicaţie şi capacitatea de calcul disponibilă.

4.1. Defuzzificările MOM

Metoda maximului constă din atribuirea pentru ieşirea fermă yo a valorii obţinută prin
alegerea elementului cu cel mai înalt grad de apartenenţă din componenţa MF de
ieşire: Y (yo) = max { yi (y) yY, i=1 ... n }.

Mamdani Sugeno

Fig. 4.1. Exemple de defuzzificare după metoda maximului

13
La stabilirea acestei valori concurează toate VL active yi, fiind aleasă doar cea având
contribuţia cea mai puternică. Metoda se poate aplica numai în cazul în care se poate
stabili o valoare unică yo, adică atunci când Y are în componenţă MF triunghiulare sau
singleton-uri. În cazul în care există mai multe MF având grade de apartenenţă maxime
cu valori egale se poate alege la întâmplare una dintre ele sau se poate face media valo-
rilor ferme rezultate din fiecare. În cazul în care Y(y) nu prezintă maxime punctuale
(de exemplu în cazul formelor trapezoidale), se pot aplica variantele: primul dintre
maxime FOM (first of maxima), ultimul dintre maxime LOM (last of maxima) sau mij-
locul maximelor MOM.

4.3. Defuzzificările COG

Metoda centrelor de greutate COG este metoda de defuzzificare cea mai sensibilă,
care ţine seama, într-o manieră ponderată, de influenţa fiecărui termen lingvistic al ieşi-
rii, considerând toate valorile posibile pentru gradele de apartenenţă. Prin COG dome-
niul valorilor discrete de ieşire devine continuu.

Fig. 4.2. O comparaţie între defuzzificările MOM şi COG


După cum se vede în fig. 4.2 COG este influenţată şi de VL y1, valoarea comenzii de
la ieşire fiind mai mică decât în cazul MOM, care ţine seama numai de y2.
Diferite variante ale metodei COG caută să atenueze dezavantajul volumului mare de
calcule cerute de aceasta:
 Centrul sumei ariilor COS (engl. center of sums), spre deosebire de metoda COG
standard care ia în calcul aria graficului funcţiei de apartenenţă, va admite calculul
separat al centrelor de greutate ale fiecărei VL activate, rezultatul final fiind obţinut
prin compunerea rezultatelor parţiale. In acest mod calculul suprafeţelor este uşurat,
dar zonele care sunt acoperite de mai multe VL vor fi luate de mai multe ori în calcul.
 Centrul celei mai mari arii CLA (engl. center of largest aria) se poate aplica de ase-
menea, atunci când funcţia de apartenenţă Y(y) nu este convexă dar în componenţa sa
pot fi identificate porţiuni convexe semnificative.

14
Desfăşurarea lucrării
Pentru exemplul din fig. 4.3 se vor calcula următoarele defuzzyficări: FOM, LOM,
MOM, COG şi COS.

Y
1
0,7
0,5

0 Y
1 2 4 5
Fig. 4.3. Rezultatul unei inferenţe fuzzy

15
5. Tutorial Fuzzy Inference System

5.1. Lansarea FIS

Principalul instrument din MATLAB prin care se pot construi sisteme fuzzy este inter-
faţa grafică (graphic user interface) numită Fuzzy Inference System FIS. FIS aparţine
toolkit-ului Fuzzy Toolbox din componenţa pachetului MATLAB. FIS poate fi lansată
fie din fereastra de comenzi (command window) tastând fuzzy, fie din SIMULINK.
Editorul FIS afişează pe fiecare dintre cele trei elemente ale unui SF generic: fuzzifica-
rea, inferenţa şi defuzzificarea. Fereastra principală FIS este prezentată în Fig. 5.1.

Fig. 5.1. Fereastra principală FIS

La deschiderea FIS-ului sunt implicite o variabilă de intrare input 1, una de ieşire out-
put 1 şi blocul de inferenţă Mamdani. Aşa cum vom vedea, inferenţa Mamdani poate
fi înlocuită cu inferenţa Sugeno.
Numele variabilelor selectate poate fi tastat în căsuţa de dialog Name.

16
5.2. Fuzzificarea
Blocul de fuzzificare primeşte la intrare valori ferme şi oferă la ieşire valori fuzzy.
Variabilele fuzzy sunt construite sub forma de cadre cognitive sau de partiţii fuzzy.
Setarea unei variabile de intrare începe printr-un dublu click pe pictograma variabilei.
Pentru input 1 se va activa editorul de funcţii de apartenenţă din figura următoare.

Fig. 5.2. Variabila de intrare input 1


Comenzile necesare pentru editare se găsesc în meniul Edit al acestei ferestre. Tastând
comanda Add MFs obţinem o căsuţă de dialog cu opţiunile necesare: numărul de ter-
meni lingvistici TL şi formele funcţiilor de apartenenţă fiecăruia. Pentru formele func-
ţiilor de apartenenţă există mai multe opţiuni:
trimf (triunghiulară),
trapmf (trapezoidală),
gaussmf (gauss), etc.
Utilizatorul poate defini şi funcţii de apartenenţă proprii, de tip custom.
Dacă dorim să construim o variabilă cu 5 TL vom obţine următoarea fereastră.

17
Fig. 5.3. Partiţia fuzzy aferentă unei variabile de intrare
Fiecare funcţie de apartenenţă poate fi acum editată. Parametrii formei (în cazul triun-
ghiului, cele trei puncte marcate în Fig. 5.3) pot fi tastate în căsuţa Params sau pozi-
ţionate cu ajutorul mouse-ului. Fiecare MF poate fi etichetată prin căsuţa Name. De
exemplu, în loc de mf1, mf2, mf3, mf4 şi mf5 putem tasta zero, small, medium, great
şi very great. Domeniul variabilei poate fi de asemenea definit cu ajutorul căsuţei de
dialog Range. De exemplu, dacă dorim să fuzzificăm variabila glicemie (concentraţia
de zahăr din sânge), domeniul de definiţie ar trebui schimbat de la [0 1] cum este cel
implicit din Fig. 5.3 la [0 200].
Părţi din domeniul de definiţie pot fi selectate pentru afişare cu ajutorul căsuţei display
range. O recomandare importantă: domeniul de definiţie al variabilelor fuzzy trebuie
să fie mai extins decât cel cerut de aplicaţie. În caz contrar, unele dintre metodele de
inferenţă pot produce erori în vecinătatea limitelor domeniului! Aceasta se realizează
dacă range este mai larg decât display range iar funcţia de apartenenţă are valoarea 1
în exteriorul valorilor din display range, care defineşte de fapt domeniul aplicaţiei.
Noi variabile de intrare pot fi adăugate prin meniul Edit din fereastra principală FIS
utilizând comanda Add input.

18
5.3. Defuzzificarea
Etapa de defuzzificare produce valori ferme pornind de la valori fuzzy. Această ope-
raţie, opusă fuzzificării, este necesară doar când avem nevoie de valori ferme la ieşire,
de exemplu în cazul sistemelor de reglare (viteză, poziţie, presiune, etc). Când sistemul
fuzzy trebuie să producă ieşiri lingvistice, de exemplu în cazul sistemelor de decizie de
tipul expert, defuzzificarea nu mai este necesară şi ieşirea poate rămâne ca variabilă
fuzzy.
FIS poate produce inferenţe atât de tip Mamdani cât şi de tip Sugeno. Aşa cum se ob-
servă în §5.4, regulile de conducere ale inferenţei pot avea ca rezultat fie valori fuzzy
în cazul inferenţei Mamdani, fie valori ferme în cazul inferenţei Sugeno. Evident siste-
mele fuzzy de tip Sugeno sunt mai simple decât cele de tip Mamdani. De aceea infe-
renţa Sugeno este recomandabilă când la ieşire avem nevoie de valori ferme. Când la
ieşire avem nevoie de valori lingvistice inferenţa Mamdani este singura posibilă. Ale-
gerea tipului de inferenţă trebuie făcută chiar la începutul aplicaţiei, din fereastra prin-
cipală FIS¸ prin meniul File: fie New Mamdani FIS, fie New Sugeno FIS.

Fig. 5.4. Fuzzificarea Mamdani

19
Fuzzificarea Mamdani este ilustrată în Fig. 5.4 pentru cazul unui CC cu trei VL de
formă Gauss-iană mf1, mf2 şi mf3.
Sistemul Sugeno este ilustrat în Fig. 5.4, pentru cazul unei variabile de ieşire cu trei TL
definită în domeniul [0 1]: zero (singletonul 0), small (singletonul 0.5, cel selectat în
figură) şi great (singletonul 1).

Fig. 5.5. Fuzzificarea Sugeno


Metoda de defuzzificare se allege din fereastra principală FIS (Fig. 5.1). Putem alege
între defuzzificarea de tip COG (centroid în terminologia FIS) şi defuzzificarea MOM
(Mean of Maxima).

20
5.4. Inferenţa fuzzy
Partea centrală a unui sistem fuzzy constă din mecanismul său de inferenţă, care este
realizat de către baza de reguli. Blocul de inferenţă permite scrierea rapidă şi uşoară a
regulilor printr-un tabel McVicar-Whelan. Tipul inferenţei este specificat prin alegerea
normei t (and method) şi normei s (or method) în fereastra principală FIS (Fig. 5.1).

Fig. 5.6. Fereastra de inferenţă FIS

Aşa cum se poate vedea în Fig. 5.5 blocul conţine butoane de editare care permit adău-
garea de reguli noi Add rule precum şi ştergerea Delete rule sau modificarea regulilor
existente Change rule. La formularea regulilor se pot utiliza şi opţiunile not pentru
complementare şi none atunci când variabila respectivă nu este implicată. Totodată se
poate alege între formele conjunctivă and sau disjunctivă or.
Două instrumente importante pentru aplicaţii, care vor fi utilizate în cele ce urmează se
pot accesa din meniul View:
- View rules prin care se văd în timp real regulile activate şi gradul lor de activare;
- View surface prin care se vizualizează suprafaţa de comandă realizată de aplicaţie.

21
5.5. Posibilităţi de utilizare a FIS
O primă observaţie extrem de utilă este aceea că în general aplicaţiile Matlab, şi mai
ales FIS, necesită o atenţie deosebită la salvarea fişierelor. Opţiunile de salvare se gă-
sesc ca de obicei în meniul File. Aplicaţiile FIS sunt salvate ca fişiere cu extensia *.fis,
pe hard disk, pe dispozitive externe sau în workspace. În această situaţie, la terminarea
sesiunii de lucru este necesară şi salvarea workspace-ului, ca fişier *.mat.
Cea mai directă variantă de utilizare a FIS este prin intermediul ferestrei de comenzi
(command window). Pentru aceasta toolbox-ul fuzzy include un set larg de comenzi
aferente FIS: evalfis, ruleviewer, gensurf, readfis, etc. prin care se pot accesa şi ajusta
toate componentele FIS. Sintaxa lor poate fi studiată cu ajutorul comenzii Help.
Ce mai productivă modalitate de lucru cu FIS este însă obţinută prin Simulink-Matlab.
Tool-kit-ul Simulink permite modelarea vizuală pe calculator, prin tehnica drag-and-
drop, astfel încât aplicaţiile pot fi realizate extrem de eficient. În acest fel fişierele *.fis
pot fi incluse în modelele Simulink şi pot fi testate în aplicaţii beneficiind de biblioteca
de funcţii predefinite care a plasat Simulink pe poziţia dominantă a segmentului său de
piaţă.

Fig. 5.7. Funcţiile disponibile în biblioteca Fuzzy Logic Toolbox din Simulink

22
Pentru a putea utiliza cele două controlere disponibile Fuzzy Logic Controller şi Fuzzy
Logic Controller with Ruleviewer trebuie ca fişierul *.fis să fie instalat în workspace.
Controlerului Simulink este asociat fişierului *.fis cu ajutorul căsuţei de dialog care
apare în urma unui dublu click. În căsuţă trebuie tastat numele fişierului *.fis din work-
space.
Blocurile Fuzzy Logic Controller au o singură intrare, motiv pentru care vom apela şi la
un bloc de multiplexare Mux. Ordinea în care apar variabilele de intrare în FIS, de sus
în jos, trebuie respectată şi la conectarea multiplexorului.

Desfăşurarea lucrării
Se vor testa toate comenzile accesibile din FIS.

23
6. Implementarea FIS a unor regulatoare fuzzy PD
6.1. Formularea temei lucrării
În cele ce urmează se va realiza un regulator fuzzy de tip PD, atât în varianta Mamdani
cât şi în varianta Sugeno. Configuraţia acestui regulator este următoarea:
 Intrări: eroarea e, şi derivata erorii de
 Ieşire: comanda c
Fuzzificarea va fi realizată după următoarea formulă:
 pentru intrarea e, şapte TL: NG, NM, NS ,Z ,PS ,PM şi PG
 pentru intrarea de, cinci TL: NG, NS, Z, PS şi PG
 pentru ieşirea c: cinci TL - NG, NS, Z, PS şi PG
Etichetele lingvistice utilizate sunt tradiţionale:
NG – negative great/negativ mare
NM – negative medium/negativ mediu
NS – negative small/negativ mic
Z – zero/zero
PS – positive small/pozitiv mic
PM – positive medium/pozitiv mediu
PG – positive great/pozitiv mare.
Se vor utiliza exclusiv variabile normalizate, adaptarea la procesul condus realizându-
se prin trei factori de scalare: factorul de scalare pentru eroare FSe, factorul de scalare
pentru derivata erorii FSde şi factorul de scalare pentru comandă FSc.

Fig. 6.1. Factorii de scalare ai regulatorului

Scopul final al acestui proiect este realizarea unui regulator de uz general care să poată
funcţiona într-o gamă largă de aplicaţii. El va fi testat în urma implementării Simulink
pentru diferite procese conduse.

24
6.2. Implementarea regulatorului Mamdani
Fuzzificarea variabilelor este prezentată în figura următoare.

Fig. 6.2. Fuzzificarea

25
Baza de reguli propusă este următoarea:

1. If (e is NG) then (c is PG)


2. If (e is NM) and (de is NG) then (c is PG)
3. If (e is NM) and (de is NS) then (c is PG)
4. If (e is NM) and (de is Z) then (c is PS)
5. If (e is NM) and (de is PS) then (c is PS)
6. If (e is NM) and (de is PG) then (c is Z)
7. If (e is NS) and (de is NG) then (c is PG)
8. If (e is NS) and (de is NS) then (c is PS)
9. If (e is NS) and (de is Z) then (c is PS)
10. If (e is NS) and (de is PS) then (c is Z)
11. If (e is NS) and (de is PG) then (c is NS)
12. If (e is Z) and (de is NG) then (c is PS)
13. If (e is Z) and (de is NS) then (c is PS)
14. If (e is Z) and (de is Z) then (c is Z)
15. If (e is Z) and (de is PS) then (c is NS)
16. If (e is Z) and (de is PG) then (c is NS)
17. If (e is PS) and (de is NG) then (c is PS)
18. If (e is PS) and (de is NS) then (c is Z)
19. If (e is PS) and (de is Z) then (c is NS)
20. If (e is PS) and (de is PS) then (c is NS)
21. If (e is PS) and (de is PG) then (c is NG)
22. If (e is PM) and (de is NG) then (c is Z)
23. If (e is PM) and (de is NS) then (c is NS)
24. If (e is PM) and (de is Z) then (c is NS)
25. If (e is PM) and (de is PS) then (c is NG)
26. If (e is PM) and (de is PG) then (c is NG)
27. If (e is PG) then (c is NG)
Deşi nu avem decât 27 de reguli, baza de reguli corespunde unui tabel de 35 de reguli,
deoarece regulile 1 şi 27 au fost editate cu ajutorul opţiunii none: indiferent de valoa-
rea variabilei de, starea ieşirii este decisă doar de către e.
Suprafaţa de comandă realizată prin defuzzificarea COG este prezentată în Fig. 6.3.
Defuzzificarea MOM produce suprafaţa de comandă din Fig. 6.4.

Observaţie: Regulile au fost formulate conform logicii lingvistice „dacă eroarea are un
anumit semn, atunci comanda trebuie să fie de sens opus”. De exemplu dacă (e este
NG) atunci (c este PG). Din acest motiv semnul comenzii c trebuie schimbat (se înmul-
ţeşte cu constanta -1).

26
Fig. 6.3. Suprafaţa de comandă cu defuzzificare COG

Fig. 6.4. Suprafaţa de comandă cu defuzzificare MOM

Se remarcă faptul că suprafaţa de comandă generată prin defuzzificarea COG este mai
netedă comparativ cu defuzzificarea MOM.
Cu cât mai multe reguli există în baza de reguli, cu atât mai multe puncte de fixare a
suprafeţei de comandă avem la dispoziţie, dar pe de altă parte implementarea este mai
greoaie.
Implementarea Simulink este prezentată în Fig. 6.5. Schimbarea semului comenzii
datorată formulării regulilor se realizează prin factorul de scalare FSc. Blocul de
saturare care limitează acţiunea regulatorului are limitele ±10.

27
FSe
e
1 c 1
-10
Step du/dt 1 s2 +2s+1
de FSc Saturation Transfer Fcn Scope
Derivative FSde Fuzzy Logic
Controller
with Ruleviewer out

Fig. 6.5. Implementarea Simulink a regulatorului fuzzy PD


Răspunsul indicial din figura următoare ilustrează comportarea sistemului. Notaţiile
folosite sunt: intrarea u, ieşirea out şi comanda c.

out
u, out

0.5

0
0 1 2 3 4 5 6 7 8 9 10

10

5
c

-5
0 1 2 3 4 5 6 7 8 9 10
t [s]
Fig. 6.6. Răspunsul indicial al regulatorului Mamdani cu baza de reguli 7 x 5
Se remarcă eroarea staţionară precum şi chattering-ul care afectează regimul staţionar,
datorate lipsei efectului integrativ. Pe de altă parte regimul tranzitoriu este ferm, fără
suprareglaje sau oscilaţii.

6.3. Implementarea regulatorului Sugeno


În această secţiune regulatorul Mamdani va fi comparat cu un regulator Sugeno, mai
simplu, care diferă doar la fuzzificarea variabilei/variabilelor de ieşire, care se face
doar prin singletonuri. Orice controler Mamdani poate fi convertit automat într-un
controler Sugeno prin comanda mam2sug lansată din fereastra de comandă MATLAB.

28
În plus reducem baza de reguli la dimensiunea 5 x 5, utilizând numai 5 TL pentru e.

Fig. 6.7. Fuzzificarea regulatorului PD Sugeno; de este identic cu e


1. If (e is NG) then (c is PG)
2. If (e is NS) and (de is NG) then (c is PG)
3. If (e is NS) and (de is NS) then (c is PG)
4. If (e is NS) and (de is Z) then (c is PS)
5. If (e is NS) and (de is PS) then (c is Z)
6. If (e is NS) and (de is PG) then (c is NS)
7. If (e is Z) and (de is NG) then (c is PG)
8. If (e is Z) and (de is NS) then (c is PS)
9. If (e is Z) and (de is Z) then (c is Z)
10. If (e is Z) and (de is PS) then (c is NS)
11. If (e is Z) and (de is PG) then (c is NG)
12. If (e is PS) and (de is NG) then (c is PS)
13. If (e is PS) and (de is NS) then (c is Z)
14. If (e is PS) and (de is Z) then (c is NS)
15. If (e is PS) and (de is PS) then (c is NG)
16. If (e is PS) and (de is PG) then (c is NG)
17. If (e is PG) then (c is NG)
Fig. 6.8. Baza de reguli a regulatorului PD Sugeno
Suprafaţa de comandă rezultată este prezentată în figura următoare.

29
Fig. 6.9. Suprafaţa de comandă a regulatorului PD Sugeno
Se remarcă o asemănare în linii mari cu suprafaţa de comandă a regulatorului Mamdani
care are însă mai multe puncte de ajustare. Răspunsul indicial este foarte asemănător cu
cel din Fig. 6.6, al regulatorului Mamdani cu baza de reguli de dimensiune 7 x 5. Acest
fapt justifică utilizarea regulatorului Sugeno în aplicaţiile de reglare în buclă închisă,
deoarece este mai simplu şi mai rapid decât regulatorul Mamdani, în timp ce perfor-
manţele lor sunt perfect comparabile. Se remarcă lipsa chatteringului, asociată însă cu
o eroare staţionară mai mare, comportament cauzat de reducerea bazei de reguli.
1
u, out

0.5

0
0 1 2 3 4 5 6 7 8 9 10

10

0
c

-5

-10
0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 6.10. Răspunsul indicial al regulatorului Sugeno cu baza de reguli 5 x 5

Desfăşurarea lucrării
Studenţii vor reface individual această lucrare.

30
7. Controlere fuzzy-interpolative
7.1. Sistemele fuzzy-interpolative
În urma executării simulărilor cu fişiere de tip *.fis se observă că în general simulările
necesită mult timp iar în unele cazuri se produc chiar blocaje, în funcţie şi de configu-
raţia calculatorului şi de parametrii aleşi pentru simulare (metoda de integrare, erori
admisibile, etc.) şi de parametrii sistemului de reglare. O metodă eficace de înlăturare a
cestui aspect, fără însă a renunţa la avantajul fundamental al sistemelor fuzzy, adică la
reprezentarea lingvistică, este apelul la conceptul de sistem fuzzy-interpolativ SFI.
Un SFI este un sistem fuzzy care poate fi direct echivalat cu un tabel de căutare TC cu
interpolare liniară (look-up-table LUT). Un TC este una dintre structurile de date cele
mai des întâlnite în ştiinţa calculatoarelor, constând dintr-o arie n–dimensională sau o
arie asociativă n–dimensională. Utilizarea TC în locul altor algoritmi de calcul al func-
ţiilor algebrice, ca de exemplu seria Taylor, necesită o capacitate mare de memorie, dar
oferă în schimb o accelerare semnificativă a calculului. În esenţă calculul constă din
căutarea în tabel a unor valori şi interpolarea lor, fie prin interpolări spline sau polino-
miale, fie cel mai simplu, prin interpolări liniare. Deoarece capacitatea memoriilor a
crescut continuu, la fel ca şi viteza şi fiabilitatea lor, în timp ce preţul lor este în conti-
nuă scădere, utilizarea TC este tot mai populară.
În aplicaţiile noastre vom apela la un TC bidimensional cu două intrări e şi de şi o ieşi-
re c. În cazul regulatorului Mamdani TC poate fi modelat printr-o matrice cu dimensiu-
nea 7 x 5 iar in cazul regulatorului Sugeno printr-o matrice cu dimensiunea 5 x 5. Un
astfel de TC este disponibil în Simulink sub forma prezentată în Fig. 7.1.

Fig. 7.1. Tabelul de căutare bidimensional din biblioteca Simulink

31
Coordonatele nodurilor de interpolare sunt fixate de valorile numerice înscrise în vec-
torii corespunzători celor două intrări row şi column iar valorile din tabel table data
definesc ieşirile tabelului. Valorile vectorilor de intrare trebuie înscrise în ordine cres-
cătoare. Dacă intrările depăşesc domeniul de definiţie calculul ieşirii se poate face fie
prin extrapolare fie prin limitare (păstrarea înafara tabelului a valorilor marginale).

Fig. 7.2. Ilustrarea funcţionării unui regulator PD fuzzy-interpolativ

32
Trecerea de la cazul bidimensional PD mai uşor de reprezentat mental la cazurile n-
dimensionale, de exemplu la regulatorul tridimensional de tip PID, se poate ilustra prin
figura următoare, în care regulatoarele PD pot fi asemănate cu paginile unei cărţi.

Fig. 7.3. Regulatorul fuzzy-interpolativ PID

Sintaxa care trebuie respectată în această situaţie este următoarea:


table: cat(3, [pagina e<0], [pagina e=0], [pagina e>0])

7.2. Implementările fuzzy-interpolative


Implementările fuzzy-interpolative ale regulatoarelor PD Mamdani cu 35 de reguli şi
Sugeno cu 25 de reguli prezentate anterior sunt următoarele:
Regulatorul Mamdani:
row (e): [-1 -0.3 -0.1 0 0.1 0.3 1]
column (de): [-1 -0.1 0 0.1 1]
table (c): [-1 -1 -1 -1 -1; -1 -1 -0.3 -0.3 0; -1 -1 -0.3 0 0.3; -0.3 -0.3 0 0.3 0.3;
-0.3 0 0.3 1 1; 0 0.3 0.3 1 1; 1 1 1 1 1]

Regulatorul Sugeno:
row (e): [-1 -0.1 0 0.1 1]
column (de): [-1 -0.1 0 0.1 1]
table (c): [-1 -1 -1 -1 -1; -1 -1 -0.3 0 0.3; -0.3 -0.3 0 0.3 0.3; -0.3 0 0.3 1 1; 1 1 1 1 1]

33
FSe

1
1
25
Step du/dt 1 s2 +2s+1
FSc Saturation Transfer Fcn Scope
Derivative FSde Lookup
Table (2-D)

Fig. 7.4. Implementarea Simulink a regulatorului PD fuzzy-interpolativ (7 x 5)

34
După implementarea celor două regulatoare se poate constata cu uşurinţă că simulările
nu mai ridică absolut nici o problemă computaţională, ele se derulează practic instan-
taneu, fără riscul blocajelor. Spre deosebire de cazul utilizării fişierului *.fis în care
pentru anumite valori ale parametrilor sistemului de reglare se produc blocaje, acum
putem încerca orice combinaţie de parametri ai sistemului de reglare, de exemplu creş-
terea factorului de scalare de la ieşire de la 10 ca şi în Fig. 3.5 la 25. Comportarea regu-
latoarelor cu 35 şi cu 25 de reguli la un semnal de test reprezentat cu linie întreruptă se
poate analiza în figurile următoare.

0.5
u & out

-0.5

-1

0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 7.5. Un răspuns în timp al regulatorului PD fuzzy cu 35 de reguli

0.5
u & out

-0.5

-1

0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 7.6. Un răspuns în timp al regulatorului PD fuzzy cu 25 de reguli

35
Se remarcă marea asemănare dintre cele două răspunsuri în timp, argument în favoarea
utilizării variantei mai simple, cu 25 de reguli. Numărul de reguli în sine este însă mai
puţin relevant decât modul în care aceste reguli sunt formulate şi ajustate. După cum se
observă, răspunsurile suportă multe îmbunătăţiri.
Diferenţa majoră a regulatoarelor fuzzy faţă de regulatoarele convenţionale este numă-
rul mult mai mare de mecanisme de ajustare care pot influenţa performanţele. Aceasta
le oferă un avantaj fundamental, mai ales în aplicaţiile dificile sau despre care nu avem
cunoştinţe suficiente pentru a le trata în mod optimal, dar pe de altă parte presupune o
ajustare mai laborioasă. Dacă în cazul unui regulator PD liniar sunt doar doi parametri
de ajustare, la care putem adăuga factorii de scalare de la intrare, în cazul regulatorului
fuzzy-interpolativ putem identifica cel puţin următorii parametri de ajustare: factorul
de scalare de la ieşire FSc, fuzzificarea de la intrare care cuprinde 25 de noduri de
interpolare şi fuzzificarea de la ieşire cu 5 valori. În cazul unui sistem fuzzy obişnuit
mai intervin şi formele funcţiilor de apartenenţă, prin posibilitatea utilizării funcţiilor
Gauss, sigmoidale, etc.
În figura următoare se prezintă rezultatele unei ajustări orientate în direcţia reducerii
suprareglajelor din Fig. 7.6, alte obiective fiind la fel de uşor de atins.

0.5
u & out

-0.5

-1

0 1 2 3 4 5 6 7 8 9 10
t [s]

Fig. 7.6. Un răspuns în timp cu minimizarea suprareglajelor

Desfăşurarea lucrării
Studenţii sunt invitaţi să încerce diferitele mecanisme de ajustare posibile şi efectele lor
asupra performanţelor regulatorului fuzzy-interpolativ.

36
8. Regulatoare neuro-fuzzy realizate în ANFIS
8.1. Introducere în reţelele neuronale
Mulţimea de posibilităţi de ajustare a controlerelor fuzzy creează complicaţii, care se
pot evita prin automatizarea elaborării relaţiei fuzzy. Sinteza automată sau chiar auto-
sinteza sistemelor de comandă poate fi obţinută prin metode ale inteligenţei artificiale.
Ce mai promiţătoare abordare constă din fuzionarea logicii fuzzy cu reţelele neuronale
RN. În această abordare mulţimile fuzzy sunt utilizate în reprezentarea cunoştinţelor,
în timp ce reţelele neuronale sintetizează regulile fuzzy prin învăţare pe bază de exem-
ple. Controlerele neuro-fuzzy astfel obţinute sunt capabile de a rezolva unele dintre
cele mai complicate sarcini, cum ar fi recunoaşterea imaginilor, fără intervenţia sub-
stanţială a omului.
RN sunt alcătuite din mulţimi de elemente de prelucrare a informaţiei - neuroni - inter-
conectaţi într-o reţea. Un neuron i are n intrări, x1i, x2i, ... , xni şi o ieşire yi, fiecare
aparţinând mulţimii numerelor reale. O legătură ieşire-intrare dintre nodurile reţelei
este reprezentată prin ponderea sinaptică, valoare reală care ponderează efectul semna-
lului de intrare în neuronul receptor. Neuronul va fi afectat de n ponderi sinaptice: w1i,
w2i, ... , wni. Ponderile pot fi excitatoare dacă wi > 0 sau inhibatoare dacă wi < 0. Acti-
varea neuronului se defineşte prin suma ponderată a semnalelor de intrare:
n
S =  wji xji (8.1)
j=1

Ieşirea neuronului va fi dată de funcţia neuronală (de ieşire) yi = f(s), care poate avea
diferite forme: treaptă, rampă, funcţii sigmoidale, etc.
Neuronii sunt aranjaţi în straturi, capacitatea de reprezentare a reţelei depinzând de
mărimea şi de numărul straturilor. Dacă funcţiile neuronale sunt norme t sau s se obţin
neuroni logici de tip AND şi OR. Cu aceştia se pot construi reţele multistrat capabile
să modeleze o mare varietate de funcţii logice. O astfel de structură (denumită şi pro-
cesor logic), rezultată prin analogie cu logica booleeană a fost propusă de K. Hirota şi
W. Pedrycz în 1991. Ea cuprinde trei straturi de neuroni (de intrare, de ieşire şi stratul
ascuns), fiecare strat conţinând neuroni de acelaşi tip.
Controlerul neuro-fuzzy poate fi grefat pe procesorul logic neuronal, fiecare variabilă
de intrare reprezentând gradul de apartenenţă a unei mărimi de intrare la TL corespun-
zător din CC aferent mărimii respective. Prin topologia lor, sinapsele codifică regulile
de conducere de tip dacă ...atunci. În cazul procesorului logic de mai sus, fiecare nod
din stratul intermediar poate fi considerat ca şi corespunzând unei clauze, fiind analog
unui minitermen din cazul exprimării analitice prin forma canonică disjunctivă a func-
ţiilor logice. În cazul general cunoştinţele sunt “împărţite” între neuroni şi sinapse,
astfel că este cvasi-imposibilă exprimarea inteligibilă a relaţiei fuzzy conţinută în reţea.

37
AND

x1
AND OR
Variabile de intrare y
Ieşire
x2 AND

Strat de intrare Strat ascuns Strat de ieşire

Fig. 8.1 Procesor logic cu reţea neuronală

RN sunt capabile de a învăţa pe bază de exemple. Exemplele constau din seturi de mă-
rimi de intrare şi mărimile de ieşire pe care dorim să le obţinem în cazul acelor intrări.
Învăţarea este de tip parametric, constând din ajustarea ponderilor sinaptice, astfel încât
un anumit indice de performanţă (de exemplu distanţa euclidiană) să fie optimizat.
Dintre parametrii algoritmilor de învăţare, esenţiali sunt convergenţa, fără de care nu s-
ar obţine soluţii şi factorul de învăţare indicând viteza de soluţionare.

N
Intrare 1
Z

P Ieşire

N
Intrare 2
Z
Evaluarea regulilor
P şi defuzzificarea

Fuzzificarea Baza de reguli

Fig. 8.2 Controler neuro-fuzzy

38
8.2. Descrierea toolkitului ANFIS
Tool-kit-ul destinat implementării sistemelor neoro-fuzzy în Matlab se numeşte ANFIS
(adaptive neuro-fuzzy inference system). Fiind dat un set de date intrare-ieşire de antre-
nare, ANFIS generează un fişier de tip *.fis având parametrii astfel ajustaţi încât să
producă un răspuns identic cu datele de antrenare. Învăţarea se realizează fie printr-un
algoritm de tip backpropagation fie printr-o variantă a metodei celor mai mici pătrate.

Metodele de tip backpropagation urmează următoarele etape:


1. Se introduce în RN setul de date de antrenare.
2. Se compară ieşirile calculate cu setul de date de antrenare. Se calculează erorile
pentru fiecare dintre neuronii de ieşire.
3. Pentru fiecare neuron de ieşire se calculează o valoare şi un factor de scalare, care
ar produce ieşirea dorită pentru întreaga reţea. Pe baza aceasta se calculează erorile
locale la nivelul fiecărui neuron de ieşire.
4. Se ajustează ponderile fiecărui neuron în sensul scăderii erorilor locale.
5. Neuronii din stratul precedent care produc cele mai mari erori locale sunt ponderaţi
în sensul scăderii ponderii lor.
6. Se repetă etapele 3, 4 şi 5 asupra neuronilor din stratul anterior.

Tool-kit-ul ANFIS are un caracter preponderant didactic, prezentând o serie de limitări:


• Se aplică numai sistemelor Sugeno cu funcţii de apartenenţă liniare sau singleton;
• Se aplică numai sistemelor cu o singură ieşire;
• Nu suportă funcţii de apartenenţă, norme t-s sau defuzzyficări definite de utilizator;

Lansarea toolkit-ului se face prin comanda anfisedit, obţinându-se interfaţa grafică din
figura 5.3. Rolul principalelor elemente de acţionare este prezentat în figură.
Operaţiile pe care interfaţa ANFIS le poate executa sunt următoarele:
- Încărcarea datelor de antrenare, testare şi verificare, sub controlul comenzilor din
zona Load Data.
- Generarea sau încărcarea unui model iniţial FIS cu comenzile din zona Generate FIS.
- Vizualizarea modelului FIS (atât cel iniţial cât şi cel rezultat în urma antrenării reţelei
prin butonul Structure.
- Alegerea parametrilor metodei de optimizare (backpropagation sau hibridă).
- Alegerea numărului de iteraţii de antrenare (traning epochs) şi eroarea de antrenare.
- Antrenarea reţelei neuronale, comandată prin butonul Train Now. Procesul iterativ de
învăţare automată ajustează parametrii FIS-ului. Se afişează erorile fiecărei iteraţii.

39
Operaţii Undo Deschidere Zona de Afişare parametri:
cu fişire şi editare afişare nr. de intrări/ieşiri
.fis fişire .fis şi funcţii de apar-
tenenţă

Structura
Legendă: intrare/
- Date de testare: linie punctată albastră; ieşire a
- Date de antrenare: linie din o albastre; FIS-ului
- Date de verificare: linie din + albastre;
- Ieşirea FIS-ului: linie din * roşii;
Testarea
FIS-ului
cu datele
de antre-
nare

Introdu-
cerea
datelor
de antre- Ştergere date Încărcare sau gene- Antrenare FIS după setarea
nare de antrenare rare fişier .fis metodei de optimizare

Fig. 8.3. Interfaţa grafică ANFIS

- Ieşirea FIS-ului este vizualizată şi comparată cu datele de antrenare, verificare şi tes-


tare, după acţionarea butonului Test Now.
Prin intermediul barei de meniu ANFIS se pot încărca sau salva fişierele FIS, se poate
deschide un nou controler Sugeno sau accesa alte interfeţe grafice din componenţa
Matlab.

40
8.3. Implementarea ANFIS a unui regulator PD Sugeno
În continuare se va exemplifica optimizarea regulatorului PD Sugeno descris în §3.3 cu
ajutorul ANFIS. În urma încărcării fişierului .fis corespunzător, se obţine reţeaua neu-
ronală din figura 8.4.

Fig. 8.4. Structura RN corespunzătoare regulatorului PD Sugeno

Corespondenţa dintre RN şi controlerul Sugeno este evidentă:


- intrările input corespund erorii e şi derivatei sale de.
- stratul inputmf corespunde termenilor lingvistici rezultaţi prin fuzzificare.
- stratul rule - outputmf asociază câte un neuron fiecărei reguli de conducere.
- ieşirea output corespunde ieşirii controlerului Sugeno.

Principala problemă care se ridică în faţa proiectării unei aplicaţii ANFIS este alegerea
seturilor de date de antrenare, testare şi validare.

41
În vederea optimizării regulatorului fuzzy PD s-a realizat un set de date de antrenare
prin prelevarea datelor obţinute din simularea funcţionării sistemului de reglare pentru
cazul răspunsului indicial. Datele au fost prelevate chiar de la intrările şi ieşirea regula-
torului, deoarece ANFIS generează doar fişierul .fis, el neputând fi extins la întreaga
aplicaţie. A rezultat un fişier de date cu dimensiunea 25 x 3. Parametrii simulării gene-
ratoare de date de antrenare pot fi astfel aleşi încât să reprezinte o îmbunătăţire a func-
ţionării, care nu ar fi putut fi obţinută prin ajustarea manuală. Convergenţa învăţării şi
parametrii ANFIS-ului se observă în fig. 8.5.

Fig. 8.5. Convergenţa învăţării pentru un set de date reprezentând un răspuns indicial

Din păcate regulatorul astfel obţinut produce un răspuns indicial de slabă calitate, cu o
tendinţă înspre suprareglaj şi oscilaţii pe durata regimurilor tranzitorii. Aşa cum se va
observa în continuare, principala cale de îmbunătăţire a calităţii sistemelor neuro-fuzzy
este alegerea unui set de date de antrenare cât mai adecvat.

42
8.4. Sinteza unui regulator neuro-fuzzy
Utilitatea RN stă în sinteza automată a sistemelor şi/sau optimizarea lor. În continuare
se ilustrează sintetizarea unui regulator PD neuro-fuzzy. Se porneşte de la ideea obţi-
nerii unui set de date de antrenare bogat, care să cuprindă o comportare mai nuanţată a
regulatorului PD, respectiv un semnal de intrare mai complex, care pe lângă răspunsul
indicial să mai cuprindă şi alte elemente.

Fig. 8.6. Sistem de reglare cu regulator PD liniar pentru generarea datelor de antrenare

0.9
intrare u
0.8

0.7

0.6

0.5

0.4

0.3
iesire y

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
t [s]
Fig. 8.7. Răspunsul sistemului de reglare cu regulator PD liniar
Fişierul de date de antrenare obţinut are dimensiunea 123 x 3. Reprezentarea grafică a
datelor de antrenare apare în fig. 8.8.

43
1
e

-1
0 20 40 60 80 100 120 140
40

20
de

-20
0 20 40 60 80 100 120 140
40

20
c

-20
0 20 40 60 80 100 120 140

Fig. 8.8. Datele de antrenare


În urma încărcării datelor de antrenare şi a alegerii variantei în care ANFIS va genera
un FIS cu două intrări având 7 respectiv 5 TL (o bază de 7 x 5 reguli), se obţine antre-
narea convergentă din fig. 8.9.

Fig. 8.9 Antrenarea în cazul unei baze de reguli 7 x 5 (linear)

44
Regulatorul PD Sugeno generat de RN este prezentat în figura următoare. Se remarcă
variabila sa de ieşire alcătuită din 35 de valori diferite (singleton), fiecare dintre ele
fiind optimizată în cursul antrenării. În acest caz a fost aleasă opţiunea linear pentru
MF de ieşire.

Fig. 8.10. Regulatorul neuro-fuzzy cu baza de reguli 7 x 5


În cazul alegerii opţiunii constant convergenţa învăţării este chiar mai bună (vezi fig.
8.11), ceea ce nu creşte însă în mod necesar calitatea regulatorului.

45
Fig. 8.11. Antrenarea sistemului neuro-fuzzy cu baza de reguli 7 x 5 (constant)
Răspunsul produs de către regulatorul astfel obţinut este prezentat în fig. 5.12.

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
t [s]

Fig. 8.12. Răspunsul sistemului neuro-fuzzy cu baza de reguli 7 x 5

46
Marele avantaj al RN, capacitatea de învăţare automată, poate fi ilustrată prin varianta
regulatorului cu doar 15 reguli, având baza de reguli cu dimensiunea 5 x 3. Răspunsul
acestui regulator, prezentat în fig. 5.13, foarte asemănător cu răspunsurile regulatoare-
lor mai complicate, justifică alegerea sa pentru aplicaţii, având în vedere simplitatea şi
costul mai redus, la performanţe asemănătoare.

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12 14 16 18 20
t [s]

Fig. 8.13. Răspunsul sistemului neuro-fuzzy cu baza de reguli 5 x 3


Fereastra de dialog prin care se alege structura FIS asociată, în acest caz cu 15 reguli,
precum şi tipul mulţimilor fuzzy de la ieşire, în acest caz linear, este prezentată în figu-
ra următoare. Această fereastră de dialog apare prin acţionarea butonului Generate FIS.

Fig. 8.14. Generarea FIS-ului asociat ANFIS

47
Dezavantajul principal al RN este acela că ele maschează cunoştinţele referitoare la
structura şi ajustarea lor. Din valorile numerice ale TL variabilei de ieşire, ca de altfel
din valorile parametrilor oricărui neuron, nu se poate trage absolut nici o concluzie cu
privire la o eventuală strategie care să le justifice. Aceste valori sunt practic aleatoare,
iar în cazul în care datele de testare sunt mult diferite de cele de antrenare întreaga apli-
caţie poate eşua.

Desfăşurarea lucrării
Această lucrare se constituie într-un îndrumător de proiect. Pornind de la metodologia
prezentată studenţii vor întocmi un proiect de sistem neuro-fuzzy, cu ajutorul tool-kit-
ului ANFIS. Tema proiectului poate fi aleasă din lista următoare, dar studenţii intere-
saţi în alte teme sunt încurajaţi să le abordeze.
 aprofundarea regulatorului PD neuro-fuzzy şi încadrarea sa într-un sistem de reglare
modelat în Simulink: reglarea turaţiei unor motoare electrice, conducerea unui proces
de frânare, conducerea automată a unui automobil, robotică, etc.
 realizarea unui regulator PID neuro-fuzzy
 optimiza unor modele Simulink, etc.

48
9. Sisteme fuzzy expert

9.1. Introducere în sistemele fuzzy-expert


Sistemele expert SE sunt programe de calculator care utilizând cunoştinţe ştiinţifice
exprimate de experţi umani (înglobate în baza de cunoştinţe şi reguli) sunt realizate
pentru rezolvarea unor probleme concrete dintr-un domeniu dat.

9.2. Sisteme fuzzy-expert pentru decizii manageriale


Domeniul managementului este complex, luarea deciziilor de management necesită
analize care deseori dispun doar de informaţii incomplete şi incerte. Deşi celor mai
mulţi dintre manageri le-ar fi greu să recunoască public, deciziile lor sunt preponderent
euristice, având doze mari de intuiţie şi subiectivism. Mulţumită mulţimilor şi logicii
fuzzy aceste procese de decizie, din categoria sistemelor expert, pot fi astăzi uşor de
modelat pe calculator şi de aplicat. Experienţa directă a managerilor poate fi astfel
valorificată în sisteme de decizie automată care reuşesc să pună în valoare avantajul
modului de decizie euristic (intuiţia, asociaţiile de idei creative, experienţa practică,
etc.) înlăturând totodată dezavantajele asociate (greşelile de decizie cauzate de obo-
seală, plictiseală sau alţi factori psihologici perturbatori, etc.)
Vom aplica FIS într-un studiu de caz referitor la alegerea celei mai bune decizii de in-
vestiţie în cazul unei linii de producere şi îmbuteliere a sucurilor naturale. Problema
constă din clasificarea a 10 oferte diferite, primite de la firme din Italia, USA (2), Ger-
mania (2), Olanda, Spania, Franţa, Australia şi Austria. Clasificarea ofertelor este difi-
cilă deoarece parametri ofertelor sunt eterogeni: tehnici, economici dar şi de imagine.
Tabelul 9.1. Parametrii ofertelor
C1 = capacitatea de producţie (hl/h) C4 = timpul de amortizare (ani)
C2 = preţ (Euro) C5 = mentenanţa
C3 = consum de energie (kW/h) C6 = gradul de încredere în producător

C1, C2, C3 şi C4 sunt parametri cantitativi în timp ce C5 şi C6 sunt calitativi.

49
Tabelul 9.2. Variabilele de intrare
Firma Ţara C1 C2 C3 C4 C5 C6
V1 Italia 55 100.500 50 3 medie mediu
V2 USA 75 155.000 65 4 uşoară scăzut
V3 USA 80 175.000 90 4 f. uşoară înalt
V4 Germania 90 180.000 100 5 uşoară f. înalt
V5 Germania 90 195.000 100 6 uşoară medium
V6 Olanda 50 200.000 70 3 f. grea scăzut
V7 Franţa 60 185.000 60 7 f. grea scăzut
V8 Spania 65 205.000 75 7 grea înalt
V9 Australia 55 215.000 95 9 uşoară înalt
V10 Austria 50 165.000 95 9 grea f. scăzut

Pentru fuzzificarea acestor variabile vom alege cea mai simplă posibilitate, respectiv
generarea automată a partiţiilor fuzzy, cu MF triunghiulare. Tot pentru simplitate vom
utiliza doar câte trei TL pentru fiecare variabilă. Domeniile de definiţie ale variabilelor
sunt determinate de valorile minime şi maxime din tabelul A1.2. De exemplu variabila
de intrare C1 (capacitatea) este definită pe segmentul [50 … 90]. Pentru variabilele de
intrare vom folosi trei TL: low, medium şi high iar pentru ieşirea care calculează feza-
bilitatea feasibility [0 … 1] şase TL: very low, low, medium, high şi very high.

Fig. 9.1. Fuzzificarea variabilelor de intrare şi a variabilei de ieşire feasibility

50
Fig. 9.2. Baza de reguli

Fig. 9.3. Funcţionarea într-un model Simulink

51
Scrierea tuturor regulilor posibile într-o astfel de bază de reguli cu 6 variabile a
câtre 5 termeni lingvistici (65 = 7776 reguli) ar fi evident nerealistă. Pentru reducerea
numărului de reguli avem cel puţin două opţiuni: utilizarea opţiunilor “none” din
căsuţa de dialog a bazei de reguli FIS, dar mai ales ierarhizarea variabilelor de intrare
în clustere.

În această aplicaţie vom grupa două câte două variabilele de intrare astfel:
- Nivelul tehnic Tech(C1 xC3),
- Nivelul Economic Eco(C2 x C4)
- Percepţia Subiectivă Subj(C4 x C5).

Fig. 9.4. Controlerul care calculează variabila internă Tech

52
Fig. 9.5. Fereastra de inferenţăcu doar 9 reguli
Controlerul care realizează decizia finală va avea la intrare variabilele Tech,
Eco şi Subj, iar rezultatele obţinute sunt prezentate în Tab. 9.3,

Tabelul 9.3. Rezultate


Vi Feasibility Vi Feasibility
V1 0.6811 V6 0.3757
V2 0.6783 V7 0.3869
V3 0.5913 V8 0.3046
V4 0.5620 V9 0.2492
V5 0.4675 V10 0.1862

Desfăşurarea lucrării
Studenţii vor programa în Matlab aplicaţia descrisă în lucrare.

53
Universitatea „Aurel Vlaicu” din Arad
Facultatea de Inginerie

Marius M. Bălaş

Aplicaţii ale Sistemelor Neuro-Fuzzy

Curs - pentru uzul studenţilor

- 2014 -
Cuprins

1. Listă cu abrevieri .................................................................................................................. 2


2. Capitolul 1. Mulţimi fuzzy şi logică fuzzy ............................................................................... 3
3. Capitolul 2. Controlere fuzzy ................................................................................................ 22
4. Capitolul 3. Regulatoare fuzzy în conducerea adaptivă a proceselor .................................... 37
5. Capitolul 4. Implementarea controlerelor fuzzy ................................................................... 46
6. Capitolul 5. Reţele neuronale şi sisteme neuro-fuzzy ........................................................... 52

1
Listă cu abrevieri

AG - algoritm genetic
CC - cadru cognitiv
CF - controler fuzzy
CFC - forma compilată a CF
COG - metoda centrului de greutate
COS - metoda centrului sumei ariilor
FA - funcţie de apartenenţă
FLC - sistem de conducere cu logică fuzzy
IA - inteligenţă artificială
LF - logică fuzzy
MF - mulţime fuzzy
MOM - metoda mediei maximelor
NF - număr fuzzy
PFL - planul fazic lingvistic
RC - regulă de conducere
RF - regulator fuzzy
RN - reţea neuronală
SE - sistem expert
SF - sistem fuzzy
SFC - forma simplificată a CF
TL - termen lingvistic
TF - traiectorie de fază
VL - variabilă lingvistică

2
Cap. 1. MULŢIMI FUZZY ŞI LOGICĂ FUZZY

1.1 Introducere în teoria mulţimilor şi logicii fuzzy

Una dintre metodele fundamentale de conducere automată a proceselor, ţinând de con-


ceptul de inteligenţă artificială IA (engl. artificial intelligence AI), este conducerea fuzzy (fuzzy
control - FC sau fuzzy logic control - FLC), bazată pe utilizarea teoriei mulţimilor fuzzy MF (engl.
fuzzy sets) şi a logicii fuzzy LF (engl. fuzzy logic). MF şi LF pot fi aplicate şi în alte scopuri care fac
obiectul IA, cum ar fi modelarea sistemelor caracterizate de diferite grade de incertitudine,
luarea unor decizii pe baza unor informaţii incerte, recunoaşterea şi clasificarea automată a unor
date, etc. Sistemele care includ MF şi LF se numesc sisteme fuzzy SF.
Aplicarea conceptelor de MF şi LF în domeniul sistemelor de conducere automată a fost
iniţiată în 1965 de către Lotfi A. Zadeh, profesor american de origine iraniană de la Universitatea
Berkeley (California). Principalul merit al lui L. Zadeh este acela de a fi intuit efectul aplicativ uriaş
al unui concept matematic obscur la acea vreme, asupra domeniului calculatoarelor electronice.
Conceptul iniţial, logica trivalentă, a fost inventată de Jan Lukasiewicz la începutul secolului XX.
Logica trivalentă este prima încercare reuşită de contestare a logicii bivalente a lui G. Boole, care
reuşise modelarea formală a logicii lui Aristotel prin utilizarea a două valori de adevăr – 0 (fals)
respectiv 1 (adevărat). Logica trivalentă acceptă şi o valoare de adevăr nedeterminată; cu alte
cuvinte, prin analogie cu votarea, pe lângă DA sau NU se acceptă şi abţinerea. Ea a fost
dezvoltată în Franţa în sensul unei logici cu o infinitate de valori de adevăr cuprinse în intervalul
închis [0 1], termenii folosiţi fiind de mulţime vagă (franc. ensemble floue) respectiv logică vagă
(franc. logique floue). Printre precursorii acestui curent de idei se numără şi marele matematician
român Grigore Moisil, mentor şi prieten al lui L. Zadeh, unul dintre puţinii utilizatori, la acea
vreme, ai acestor noţiuni. Scopul urmărit şi atins de L. Zadeh prin apelarea la matematica
mulţimilor vagi, denumite de el în engleză fuzzy sets, a fost acela de a conferi calculatoarelor
numerice capacitatea de a raţiona într-un mod apropiat celui uman. El a sesizat că principalul
obstacol în acest demers este ridicat de modurile fundamental diferite de reprezentare şi
prelucrare a cunoştinţelor, care este numeric şi cantitativ în cazul calculatoarelor respectiv
simbolic (lingvistic) şi calitativ în cazul omului. MF are tocmai proprietatea de a putea modela
numeric noţiunile incerte cu care operează creierul uman.
Fundamentarea matematică şi aplicaţiile teoriei SF în practică au influenţat fundamental
domeniul IA precum şi ansamblul industriei moderne. Câteva dintre lucrările de mare importanţă
sau de sinteză privind aplicarea conceptelor fuzzy în automatizări sunt datorate lui E.H.
Mamdani, M. Sugeno, M.M. Gupta, C.V. Negoiţă şi D. Ralescu, H.J. Zimmerman, D. Dubois şi H.
Prade, W. Pedricz, S. Gottwald, L. Koczi şi K. Hirota, A. Kaufman, V. Novak, L. Foulloy şi S.
Galichet, etc.
Dintre caracteristicile esenţiale ale SF cele mai importante sunt următoarele:
- Funcţionarea lor se bazează pe un set de reguli de conducere RC de tipul celor utilizate în siste-
mele expert SE:
dacă < premiză > atunci < concluzie >
- Cunoştinţele despre sistem se modelează prin variabile lingvistice VL, de exemplu: temperatură
mare, debit mediu, presiune scăzută etc. Această reprezentare a variabilelor sistemului este fa-
miliară modului de gândire uman şi permite abordarea unor sisteme foarte complexe sau greu de
definit în termeni matematici precişi.

3
Pot fi astfel valorificate în tehnică soluţiile euristice (bazate pe modul de gândire uman),
care chiar dacă nu reprezintă de obicei rezolvări optimale, au în schimb o eficienţă deosebită.
Automatizarea unui proces complicat poate porni de la experienţa unui operator/expert uman.
Nu este necesar ca expertul în cauză să deţină şi cunoştinţe referitoare la automatizări sau la SF.
Acest gen de experienţă empirică poate fi întotdeauna aproximat printr-un protocol de RC. De
exemplu, conducerea unui automobil se poate reprezenta prin reguli de forma:
- dacă ne îndreptăm uşor înspre dreapta, atunci întoarce volanul puţin înspre stânga;
- dacă ne deplasăm prea încet înainte, atunci accelerează moderat;
- dacă avem un obstacol apropiat în faţă, atunci frânează puternic; etc.
Prin capacitatea de reprezentare a cunoştinţelor sub forma lingvistică SF au dat un
impuls esenţial inteligenţei artificiale, dar este necesar să fim avertizaţi de la bun început:
reprezentarea, deşi o etapă obligatorie, nu oferă în sine soluţiile problemelor de conducere sau
luare de decizii. În cele din urmă tot expertul uman este chemat să genereze soluţiile. IA a reuşit
în continuare să dezvolte şi tehnicile prin care se pot rezolva automat clase largi de probleme,
fără a mai apela la experţi umani, de exemplu prin învăţarea artificială (engl. machine learning).
Dintre aceste tehnici cele mai cunoscute şi cu implicaţii deosebite în aplicaţii sunt reţelele
neuronale RN şi algoritmii genetici AG. Toate aceste tehnici pot apela cu succes la MF pentru re-
prezentarea cunoştinţelor, generând clasa sistemelor inteligente hibride. Este de exemplu
binecunoscută afinitatea dintre SF şi RN, având ca rezultat imediat automatizarea elaborării RC şi
ajustarea lor on line prin intermediul sistemelor fuzzy-neuronale sau neuro-fuzzy.
Desigur, pe lângă avantajele de mai sus pot fi menţionate şi unele dezavantaje:
- Comportarea unui SF este de obicei mai puţin repetitivă şi riguroasă decât cea a sistemelor ba-
zate pe algoritmii de reglare numerici, cum ar fi PID, mai ales în regimurile statice care necesită
precizie crescută. Acest dezavantaj este compensat de comportarea mai bună a FLC în regimurile
dinamice şi de posibilităţile lor superioare de control supra indicatorilor globali de calitate ai sis-
temului. Se recomandă apelarea la FLC cu precădere în cazul proceselor complicate, neliniare sau
insuficient cunoscute.
- Aprecierea performanţelor şi validarea unui sistem FLC pot fi obţinute de obicei numai după
realizare efectivă a sistemului şi încercări, sau în cel mai bun caz, prin simulare pe calculator.
Prin apelarea la SF elaborarea legilor de reglare devine extrem de flexibilă şi de versatilă.
Se pot obţine cu uşurinţă legi de conducere performante chiar şi în cazul sistemelor neliniare sau
a sistemelor care nu pot fi modelate matematic intr-un mod satisfăcător. Se pot include în baza
de reguli de conducere reguli cu obiective diferite, referitoare la precizia reglării, la comportarea
dinamică, la economia de energie, la siguranţa sistemului, etc. Durata proiectării şi validării unor
SF este în general mai mică decât în cazul altor metode de conducere, datorită uşurinţei cu care
pot fi ele concepute şi dezvoltate. Obligativitatea fazei de validare-testare nu este un dezavantaj
major deoarece această fază este oricum obligatorie în cazul omologărilor legale de tehnologii şi
produse şi este recomandabil a fi aplicată în cazul oricărui produs nou.
Madan M. Gupta caracterizează esenţa noţiunii de MF cu referire la cele două clase prin-
cipale în care poate fi împărţită incertitudinea: incertitudinea de clasă unu, provenită din compor-
tarea aleatorie a sistemelor fizice, respectiv incertitudinea de clasă doi, provenită din însăşi gân-
direa, raţionamentele, cunoştinţele şi percepţia umană:
"Mulţimile fuzzy operează cu mulţimi, obiecte sau fenomene care sunt vagi şi nu au deli-
mitări precise. Calculul mulţimilor fuzzy este un instrument foarte promiţător pentru tratarea in-
certitudinii de clasă doi (aşa cum teoria probabilităţilor operează cu incertitudine de clasă unu)...
Logica booleană este neputincioasă în modelarea proceselor cognitive şi a gândirii umane. De
aceea nimeni nu mai este astăzi indiferent faţă de logica mulţimilor fuzzy.”

4
1.2 Mulţimi fuzzy - noţiuni de bază

În teoria clasică a mulţimilor, o mulţime C este definită ca o colecţie de n elemente xi, cu


i =1 ... n, definite într-un domeniu de definiţie X. Fiecărui element i se ataşează o funcţie de apar-
tenenţă FA, notată (xn), definită astfel:
0, dacă xn  C
(xn) = (1.1)
1, dacă xn  C
O astfel de mulţime poate fi denumită fermă (engl. crisp), deoarece gradul de apartenen-
ţă respectă principiul terţului exclus din algebra booleană, fiind posibile doar două situaţii: apar-
tenenţa sau non-apartenenţa, sau în termeni logici, adevărat sau fals.
MF acceptă pentru FA orice valoare aparţinând intervalului închis [0 ... 1]. Valorile 0 şi 1
au aceeaşi semnificaţie ca şi în cazul mulţimilor ferme, adică non-apartenenţa respectiv aparte-
nenţa totală a elementului la MF. Valorile intermediare indică măsura în care elementul x aparţi-
ne categoriei descrisă de mulţime. Un grad de apartenenţă de 0,9 indică o legătură puternică a
elementului cu mulţimea în timp ce 0,5 arată că elementul poate la fel de bine să fie inclus sau
exclus din mulţime.
O MF A definită pe domeniul X va fi caracterizată prin urmare de funcţia de apartenenţă
A (x) : X  [0 ... 1] (1.2)
După cum vom vedea în continuare, FA pot lua în principiu orice formă dorită de utiliza-
tor. De aceea, pentru analizarea MF este utilă introducerea unor parametri care să ne ajute să le
descriem cu uşurinţă.
Se defineşte astfel înălţimea mulţimii A, hgt(A), prin valoarea maximă a funcţiei sale de
apartenenţă:
hgt(A) = sup A(x) (1.3)
Dacă hgt(A)=1 mulţimea fuzzy A se va numi normală. Dacă hgt(A)<1, atunci A se va numi
subnormală.
Suportul (baza, lăţimea) mulţimii A este format din mulţimea elementelor xX pentru
care A(x)  0:
supp(A) = { xX  A(x) > 0 } (1.4)
Toleranţa mulţimii A este format din mulţimea elementelor xX pentru care A(x)= 1:
tol(A) = { xX  A(x) = 1 } (1.5)
Definirea noţiunii de temperatură confortabilă TC în termeni fermi şi fuzzy este ilustrată
în Fig. 1.1. Pentru MF care modelează TC s-a utilizat o formă trapezoidală. Această MF este nor-
mată, are suportul supp(TC) = [19 … 25] şi toleranţa tol(TC) = [21,5 … 22,5].
Reprezentarea prin MF din Fig. 1.1 ne permite să aproximăm percepţia umană a tempe-
raturii, conceptul TC fiind prin excelenţă subiectiv şi incert. La prima vedere ar părea că în cazul
unui sistem de reglare automată această reprezentare nu este justificată. Un sistem convenţional
(secvenţial) de condiţionare a aerului, bazat pe logica Booleană ar porni încălzirea imediat după
scăderea temperaturii sub pragul de 21oC şi ar opri încălzirea sau eventual ar porni o instalaţie de
răcire după depăşirea pragului de 23oC. Această funcţionare este simplă, repetabilă şi asigură
funcţionarea dorită precum şi posibilitatea ajustării acestei funcţionări, prin modificarea
adecvată a valorilor celor două praguri de temperatură.
Totuşi, această abordare secvenţială are două inconveniente majore. Primul este acela că
favorizează producerea unui număr mare de acţionări ale elementului de execuţie, ceea ce cau-
zează uzura prematură a elementelor sistemului şi generează perturbaţii.

5
tol(TC)
TC(θ)
1

reprezentare fermă

reprezentare
fuzzy

0 θ [oC]
temperatură
18 20 22 24 26

supp(TC)

Fig. 1.1 Reprezentările fermă şi fuzzy ale noţiunii de temperatură confortabilă

Al doilea dezavantaj este acela că nu se ţine cont nici de toleranţa crescută a oamenilor
faţă de variaţiile de temperatură de ordinul câtorva grade nici de tendinţele naturale de evoluţie
ale procesului condus, ceea ce se soldează cu cheltuieli energetice inutile. De exemplu, în cazul
unei temperaturi θ=19,5oC, mai mică decât limita inferioară impusă iniţial dar perfect tolerată de
om, şi care are o tendinţă naturală de creştere, datorată de exemplu acţiunii directe a soarelui
asupra incintei, sistemul s-ar putea încadra singur, în scurt timp, în domeniul 21oC – 23oC. Nici o
persoană nu ar putea sesiza diferenţe de temperatură de ordinul zecimilor de grad sau chiar a
unul-două grade, deci anclanşarea încălzirii la θ = 19,5oC ar fi de fapt inutilă. Anclanşarea încălzirii
ar putea fi chiar contraindicată, deoarece prin accelerarea intrării sistemului în domeniul de tem-
peratură dorit, cu preţul unei energii suplimentare injectate în sistem, se creează premizele unui
o
supra-reglaj ulterior. Mai precis, după depăşirea valorii θ = 23 C temperatura continuă să crească
rapid, ceea ce cauzează fie o lungă perioadă de supraîncălzire fie o nouă disipare de energie
necesară eventualei răciri a sistemului. Un SF având în setul de reguli de conducere şi reguli
referitoare la economia de energie ar putea admite ca destul de confortabilă şi temperatura de
19,5oC sau chiar tot domeniul de temperaturi care formează suportul TC, fără a porni încălzirea.
Datorită tendinţei naturale de încălzire, mai repede sau mai târziu se va ajunge în domeniul dorit,
fără irosirea energiei şi fără ca beneficiarii sistemului, persoanele din interiorul incintei
condiţionate, să fie deranjaţi câtuşi de puţin.
Din acest exemplu putem înţelege explicaţia marelui succes comercial al aplicaţiilor baza-
te pe SF: atunci când procesul condus depinde de percepţia umană sau nu necesită o precizie de-
osebită, soluţia de conducere recomandabilă este cea fuzzy, iar apelul la algoritmi numerici şi la
metode de conducere optimală este un lux inutil şi costisitor, deoarece conducerea prin reguli este
deplin satisfăcătoare. În capitolul de Aplicaţii va fi expus cazul sistemului de transport feroviar
urban (metrou) din Sendai, Japonia, care va ilustra perfect această concluzie.

6
1.3 Forme utilizate pentru modelarea funcţiilor de apartenenţă fuzzy

Pentru modelarea FA se pot folosi diferite forme, în funcţie de opţiunea proiectantului.


Cele mai uzuale funcţii folosite la aceste modelări sunt prezentate în Fig. 1.2.

(x) triunghi trapez curbă “S” curbă “” dreptunghi singleton

x
Fig. 1.2 Forme folosite pentru FA.
În tabelul următor sunt prezentate analitic principalele forme utilizate pentru FA.
Tabelul 1.1. Funcţii de apartenenţă fuzzy

denumire formulă parametri


clopot Gauss 1 a = dispersia
G(x,x0,a) = -------------------- x0 = valoarea centrată,
1 + [(x - x0)/a]2 pentru care μ(x0) = 1
cosinus 0 a = dispersia
COS(x,a) = x0 = valoarea centrată,
(1/2)[1+cosп(x - x0)/2a] pentru care μ(x0) = 1
curbă "S" 0 , x<α β = (α + ) / 2 , punctul în
S(x,α,β,) = 2 [(x - α) / ( - α)] 2
, αxβ care μ(x) = 1 / 2
1 - 2 [(x - ) / ( - α)]2 , β  x  
1 , x>
curbă “” S(x,  - β,  - β / 2, ) ,x β = (α + ) / 2 , punctul în
(x,β,) = care μ(x) = 1 / 2
1 - S(x, ,  + β / 2,  + β) , x  
trapez 0 , x < x1 - α α şi  delimitează
1 - (x - x1)/α ,x1-α x x1 suportul
TRAP(x,x1,x2, α,) = 1 , x 1 < x < x2 x1 şi x2 delimitează tole-
1 + (x2 - x)/ ,x2x x2+ ranţa
0 , x > x2 + 
triunghi TRAP(x,x0,x0, α,)
singleton TRAP(x,x0,x0, 0,0)

Dreptunghiul şi singleton-ul nu sunt de fapt proprii conceptului fuzzy, dar ele se întâlnesc
frecvent în aplicaţii, asociate cu variabile fuzzy propriu zise. De exemplu, mărimea de comandă
de la ieşirea unui controler fuzzy având la ieşire un actuator cu stări discrete se poate reprezenta
ca o MF alcătuită din elemente de tip singleton. Când aplicaţia necesită precizie şi sensibilitate
mare se apelează de obicei la curbele de tip Gauss (“S“ sau “”) care au şi avantajul de a putea fi
corelate cu mărimile probabilistice. În principiu se pot utiliza orice altă formă sau combinaţie de
forme. În marea majoritatea a aplicaţiilor se constată însă că cele mai des utilizate forme sunt
cele triunghiulară şi trapezoidală, mai uşor de reprezentat şi necesitând un volum redus de
calcule şi de memorie. Alegerea formelor simple pentru FA este justificată şi prin constatarea des
menţionată în literatura de specialitate că esenţiale în aplicaţii sunt suportul şi toleranţa unei MF,
forma flancurilor FA având un efect mai redus asupra rezultatelor obţinute.
7
1.4 Logica fuzzy

Se consideră F familia mulţimilor fuzzy definite pe un domeniu de definiţie X. Între mulţi-


mile incluse în F se pot defini două operaţii, care într-un mod analog algebrei Booleene, generea-
ză o structură algebrică de tip latice. Aceste operaţii se vor nota cu  - reuniunea şi  - intersec-
ţia la fel ca şi în cazul teoriei clasice a mulţimilor. În termeni logici reuniunea corespunde funcţiei
logice SAU iar intersecţia funcţiei logice ŞI.
A  B : X x X  [0 ... 1] (1.6)
A  B : X x X  [0 ... 1]
Se introduce şi complementul mulţimii fuzzy A, în mod analog logicii Booleene:
A : X  [0 ... 1] , (1.7)
Chiar şi în cazul logicii Booleene, alegerea operaţiilor ŞI şi SAU nu este unică, existând şi
varianta alternativă a utilizării implicaţiilor logice, a căror utilizare este însă incomodă.
În cazul LF se poate face apel la un număr mult mai mare de operaţii, fapt care conferă
acestei logici un potenţial ridicat de adaptare la specificul diferitelor aplicaţii, dar şi o oarecare
inconsistenţă, care poate descuraja utilizatorii neexperimentaţi. L.A. Zadeh a propus iniţial, pen-
tru operaţiile de constituire a LF utilizarea minimului şi maximului funcţiilor de apartenenţă ale
celor doi operanzi.
Operaţiile se pot descrie cu ajutorul funcţiilor de apartenenţă  : X  [0 ... 1].
 A B (x) = min (A(x), B(x))
(1.8)
 A B (x) = max (A(x), B(x))
sau, simplificând notaţia (A(x)  A(x)) :
(A  B) (x) = min (A(x), B(x))
(1.9)
(A  B) (x) = max (A(x), B(x))

Complementul mulţimii A, notat A, se defineşte prin:


 A (x) = 1 -  A (x) sau, cu notaţia simplificată, A(x) = 1 - A(x) (1.10)
Structura algebrică astfel obţinută este o latice distributivă deoarece se bucură de urmă-
toarele proprietăţi: comutativitate, asociativitate, idempotenţă, absorbţie şi distributivitate în
ambele sensuri. De asemenea se verifică legile lui de Morgan, principiul dublei negaţii şi legile lui
0 şi 1 (elementele neutre faţă de cele două operaţii):
Comutativitatea: A(x)  B(x) = B(x)  A(x)
A(x)  B(x) = B(x)  A(x)
Asociativitatea: (A  B)(x)  C(x) = A(x)  (B  C)(x)
(A  B)(x)  C(x) = A(x)  (B  C)(x)
(1.11a)
Idempotenţa: A(x)  A(x) = A(x)
A(x)  A(x) = A(x)
Absorbţia: A(x)  (A  B)(x) = A(x)
A(x)  (A  B)(x)) = A(x)

8
Distributivitatea: A(x)  (B  C)(x) = (A  B)(x)  (A  C)(x)
A(x)  (B  C)(x) = (A  B)(x)  (A  C)(x)

Legile lui de Morgan: (A  B)(x) = A(x)  B(x)


(A  B)(x) = A(x)  B(x)
(1.11b)
Dubla negaţie: A(x) = A(x)

Legile lui 0 şi 1: A(x)  0 = 0


A(x)  0 = A(x)
A(x)  1 = 1
A(x)  1 = A(x)
Însă, spre deosebire de logica Booleană, în cazul LF nu se mai respectă nici principiul ter-
ţului exclus nici cel al contradicţiei:
Principiul terţului exclus: (A  A)(x)  1
(1.12)
Principiul contradicţiei: (A  A)(x)  0
De exemplu, în cazul în care A(x) = 0,5, caz în care incertitudinea atribuirii unei valori logi-
ce este maximă, (A  A)(x) = (A A )(x) = 0,5. Diferenţa (A – A)(x) poate reprezenta chiar o bună
măsură a caracterului vag al mulţimii A: cu cât diferenţa este mai mică, A este mai vagă. În cazul
mulţimii lor ferme A - A = 1.
Exemplul din Fig. 1.1 ne ajută să acceptăm fără dificultate realitatea exprimată de
o o o o
relaţiile (1.12): temperaturile din domeniile aproximative 19 C – 21,5 C şi 22,5 C – 25 C pot fi
caracterizate în acelaşi timp, de către aceeaşi persoană şi ca fiind perfect confortabile dar şi ca
uşor răcoroasă respectiv uşor prea caldă.
Încă din perioada de început a logicii fuzzy s-a încercat cu succes, în vederea constituirii
LF, şi utilizarea altor operaţii, cum ar fi de exemplu suma probabilistică şi produsului:
(A  B) (x) = A(x) · B(x)
(1.13)
(A  B) (x) = A(x) + B(x) - A(x) · B(x)
Faţă de laticea min-max gradele de apartenenţă depind în acest caz de ambii operanzi. În
consecinţă, regulatoarele fuzzy care vor utiliza laticea prod-sum vor fi mai “senzitive” decât cele
bazate pe operaţia min-max, care în schimb va fi mai rezistentă la acţiunea perturbaţiilor.
De fapt există o clasă largă de operaţii utilizabile ca funcţii logice  şi , denumite norme
triangulare, preluate din teoria spaţiilor metrice probabilistice (K. Menger, 1942). Prin normă t se
înţelege o funcţie de două argumente t : [0...1] x [0...1]  [0...1] având următoarele proprietăţi:
- asociativitate: (x t y) t z = x t (y t z)
- comutativitate: xty=ytx (1.14)
- condiţii de limită: xt0=0 şi xt1=x
- nedescrescătoare pt. fiecare argument: pentru x  y , w  z, x t w  y t z
O normă t este arhimediană dacă şi numai dacă:
- este continuă pentru fiecare argument (1.15)
-xtx<x

9
Din cele de mai sus se observă că norma t prezintă majoritatea proprietăţilor funcţiei lo-
gice ŞI. Funcţia logică SAU poate fi modelată cu norma s, care la rândul ei este:
- asociativă;
- comutativă; (1.16)
- satisface condiţiile: xs0=x şi xs1=1
- nedescrescătoare.
Este însă de remarcat că normele triangulare nu respectă în mod necesar proprietăţile de
idempotenţă (x t x  x şi x s x  x) şi absorbţie (x t (x s y)  x şi x s (x t y)  x).
În tabelul următor sunt prezentate câteva dintre normele t-s mai des utilizate.

Tabelul 1.2. Norme t-s des utilizate

norme t norme s

x t y = min(x, y) x s y = max (x, y)


xty=x·y xsy=x+y–x·y
x t y = 1 - min ([1, ((1-x)p + (1-y)p)1/p] , p  1 x s y = min (1, (xp + yp)1/p) , p1
x t y = max [0, (+1)(x+y-1) -  x y] ,  -1 x s y = min [1, x + y +  x y] ,   -1

Normele t şi s mai îndeplinesc şi următoarele inegalităţi:

x , dacă y = 1
min (x, y)  x t y  y , dacă x = 1 (1.17)
0 , în celelalte cazuri

x , dacă y = 0
max (x, y)  x s y  y , dacă x = 0 (1.18)
1 , în celelalte cazuri
Definirea unor familii de funcţii care pot juca rolul de norme t şi s, diferite de min-max
sau prod-sum, s-a constituit într-un capitol extrem de bogat al matematicilor speciale, dar aplica-
rea acestor instrumente teoretice în practică este totuşi mai rară, volumul de calcule necesar
fiind mare, fără a se obţine în mod uzual îmbunătăţiri funcţionale semnificative.
Utilizarea operaţiilor min-max, prin lipsa de interacţiune dintre operanzi (unul dintre ei
nu participă la stabilirea rezultatului) nu este indicată în cazurile care reclamă funcţii de aparte-
nenţă foarte precise, dar în schimb oferă avantajul robusteţii. În acest caz imprecizia şi zgomotul
aferent operandului inactiv nu vor influenţa rezultatul operaţiei.
Având în vedere bogăţia opţiunilor, una dintre cele mai mari probleme care trebuie
rezolvată de către utilizatorii SF este tocmai alegerea celor mai potrivite opţiuni de modelare a
MF şi de definire a normelor t - s. Aşa cum vom vedea în lucrările practice, aplicaţiile software
dedicate SF sunt dotate, de regulă, cu posibilităţi multiple de selecţionare a acestor parametri şi
chiar cu posibilitatea definirii de către utilizatori a propriilor funcţii de apartenenţă şi norme t – s.

10
Lucrare practică 1. Verificarea constituirii logicii fuzzy

Pentru o bună acomodare cu elementele teoretice proprii utilizării sistemelor fuzzy, stu-
denţii vor verifica, prin testarea tuturor proprietăţilor, laticile min-max şi prod-sum. Se vor consi-
dera următoarele valori numerice: A(x) = 0,75, B(x) = 0,5 şi C(x) = 0,25.

De exemplu, testarea legilor lui de Morgan pentru cazul min-max decurge astfel:
(AB)(x) = 1 – max(0,75, 0,5) = 1 – 0,75 = 0,25 = min((1–0.75), (1–0,5)) =
= min(0,25, 0,5) = A(x)  B(x) iar
(AB)(x) = 1–min(0,75, 0,5) = 0,5 = max((1–0,75), (1–0,5)) = max (0,25, 0,5) = A(x)B(x)
Pentru cazul prod-sum testarea legilor lui de Morgan este următoarea:
(AB)(x) = 1– (0,75+0,5–0,75·0,5) = 1–0,875 = 0,125 = (1–0,75) · (1–0,5) = A(x)  B(x)
şi în acelaşi timp
(AB)(x) = 1– (0,75·0,5) = 1– 0,375 = 0,625 = 0,25 + 0,5 – 0,25·0,5 = A(x)B(x)
Nu este însă obligatoriu ca toate proprietăţile menţionate mai sus să fie respectate. De
exemplu, testarea distributivităţii pentru cazul min-max decurge cu succes, în modul următor:
a) Distributivitatea normei s faţă de norma t:
A(x)  (B  C)(x) = min (0,75, 0,5) = 0,5
dar în acelaşi timp şi
(A  B)(x)  (A  C)(x) = max (0,5, 0,25) = 0,5 ia aceeaşi valoare.
b) Distributivitatea normei t faţă de norma s:
A(x)  (B  C)(x) = max (0,75, 0,25) = 0,75
şi cum în acelaşi timp şi
(A  B)(x)  (A  C)(x) = min (0,75, 0,75) = 0,75, proprietatea se verifică
Pe de altă parte, la testarea distributivităţii pentru cazul prod-sum, constatăm că aceasta
nu mai verifică distributivitatea normei s faţă de norma t:
A(x)  (B  C)(x) = prod (0,75, 0,625) = 0,46875
dar
(A  B)(x)  (A  C)(x) = sum (0,375, 0,1875) = 0,4921875, o valoare diferită de cea
anterioară, ceea ce ne indică deja că laticea prod-sum nu este distributivă. Acest lucru este
explicabil prin aceea că însumarea nu este distributivă faţă de înmulţire.

Lucrare practică 2. Modelarea mulţimilor fuzzy în MATLAB - FIS

Pentru a asista concepţia şi dezvoltarea SF există o bogată ofertă de produse software. În


continuare vom utiliza pachetul integrat MATLAB, care are avantajul unei biblioteci de funcţii ma-
tematice şi de aplicaţii din cele mai semnificative domenii ştiinţifice şi tehnice. Principalul instru-
ment din MATLAB prin care se pot construi SF este interfaţa grafică Fuzzy Inference System FIS.
FIS aparţine toolkit-ului Fuzzy Toolbox şi poate fi lansată din fereastra de comenzi (command win-
dow) tastând comanda fuzzy. Fereastra FIS prin care pot fi editate FA din componenţa intrărilor şi
ieşirilor (input/output) care fac parte din structura SF este prezentată în Fig. 1.3. La această fe-
reastră se ajunge selectând blocul input1 din fereastra principală FIS.

11
Fig. 1.3. Editarea funcţiilor de apartenenţă în MATLAB Fuzzy Inference System
Din meniul Edit se pot face următoarele operaţii:
- introducerea unui număr dorit de MF;
- introducerea unei MF definită de utilizator;
- ştergerea unei MF;
- ştergerea tuturor MF din fereastră;
Definirea unei MF se face prin intermediul căsuţelor de dialog:
- Name pentru denumirea MF;
- Type pentru definirea formei FA selectată; în figură forma este trapezoidală;
- Params pentru ajustarea parametrilor formei FA alese. Această ajustare poate fi reali-
zată şi cu ajutorul mouse-ului;
- Range şi Display range pentru determinarea domeniului de definiţie pe care este defi-
nită MF selectată. În figură domeniul de definiţie a fost fixat la [-1 … 1].
În biblioteca toolkit-ului Fuzzy Toolbox se pot găsi cele mai des utilizate forme pentru FA:
triunghiulare (trimf), trapezoidale (trapmf), curbă Gauss (gaussmf), curbă de tip clopot (gbellmf),
curbă Π (pimf), curbă S (smf), etc.
Studenţii sunt invitaţi să testeze toate aceste forme posibile pentru FA.
Operaţiile pe care le poate realiza interfaţa FIS pot fi realizate şi prin comenzi directe din
command window: introducerea unei MF (addmf), evaluarea generică a valorii unei FA (evalmf),
ştergerea unei MF (rmmf), etc.

12
1.5. Teorema de reprezentare a mulţimilor fuzzy şi alte operaţii

Românii C.V. Negoiţă şi D.A. Ralescu (“Applications of Fuzzy Sets to Systems Analysis”,
Birkhauser, Basel, 1975) au formulat prima teoremă de reprezentare a MF prin tăieturi . Această
contribuţie teoretică a stat la baza construirii, în Japonia, a primelor circuite integrate pentru im-
plementarea SF.
În prealabil se defineşte noţiunea de tăietură de înălţime :
A = { x  X A (x)    ,   [0 ... 1] (1.19)

1 Prin această operaţie o mulţime fuzzy pri-


meşte un echivalent boolean. Elementele cu gradul
 de apartenenţă mai mare decât pragul  sunt ridi-
cate la 1, iar celelalte sunt eliminate din tăietură.
x
A

Fig. 1.4. Tăietura 

Teorema de reprezentare afirmă că o mulţime fuzzy A poate fi reprezentată printr-o reu-


niune de tăieturi de înălţime  :
A =   · A sau, altfel spus, A(x) = sup ( · A(x)) (1.20)
  [0 ... 1]

Forma funcţiei de apartenenţă este echivalată prin urmare cu o reuniune de dreptun-


ghiuri. Cu cât numărul de tăieturi α este mai mare, reprezentarea va fi mai detaliată.
Tăietura  se poate utiliza, printre altele, la stabilirea asemănării dintre două MF. Două
MF sunt asemenea dacă tăieturile lor pentru  = 0 (suporturile) şi pentru  = 1 (toleranţele) coin-
cid. Această definiţie a asemănării este justificată prin constatarea empirică expusă deja la §1.3:
efectele cele mai mari asupra caracterizării informaţiei vagi le au suportul şi toleranţa mulţimilor
fuzzy, în timp ce forma flancurilor funcţiilor de apartenenţă are o importanţă mai redusă.

Se prezintă în continuare unele operaţii utile în modelarea mulţimilor fuzzy.


 Normalizarea converteşte o MF subnormală într-o MF normală:
NORM(A(x)) = A(x) / hgt(A) (1.21)
 Concentrarea şi dilatarea modifică o MF prin micşorarea sau mărirea gradelor de apartenenţă
care modelează flancurile. Aceste operaţii sunt utilizate frecvent în cazul modificatorilor variabi-
lelor lingvistice, prin care acestea pot fi nuanţate, cum ar fi de exemplu foarte, mai mult, mai
mult sau mai puţin, etc.
CON(A) (x) = A2(x) (1.22)
1/2
DIL(A(x)) = A (x) (1.23)
Pentru ajustarea gradului de concentrare/dilatare se apela la puterea p a mulţimii Ap.
 intensificarea contrastului este mai selectivă decât concentrarea. Ea măreşte gradele de apar-
tenenţă mai mari de 0,5 şi le micşorează pe cele mai mici de 0,5.
2 A2(x) , dacă A(x) < 0,5
INT(A(x)) = (1.24)
2
1 - 2 (1 - A(x)) , în caz contrariu

13
Se poate adăuga şi în acest caz parametrul p >1, pentru radicalizarea efectului:

2p-1 Ap(x) , dacă A(x) < 0,5


INT(A(x)) = (1.25)
2
1 - 2 (1 - A(x)) , în caz contrariu

 fuzzificarea are un efect complementar intensificării:

(A(x) / 2)1 / 2 , dacă A(x) < 0,5


FUZ(A(x)) = (1.26)
1 - ((1 - A(x) ) / 2)1 / 2 , în caz contrariu

Şi în acest caz efectul poate fi întărit, după modelul (1.25).

1.6. Relaţii şi numere fuzzy

O relaţie fuzzy definită pe produsul cartezian X x Y este o funcţie R : X x Y[0 ...1 ] care
atribuie fiecărei perechi de elemente (x , y)  X x Y câte un grad de apartenenţă R(x, y) al cărui
sens este acelaşi ca şi în cazul mulţimilor fuzzy. R se poate imagina ca un indicator al tăriei unei
anumite legături dintre elementele x şi y. Cu cât legătura este mai puternică, valoarea R(x, y) va
fi mai apropiată de 1. Se pot construi RF şi pe produse carteziene de dimensiuni mai mari.

y
R(x0, y0) = 1

R(x, y) = 0
y0

x
x0
Fig. 1.5. Reprezentarea grafică a unei relaţii fuzzy R(x, y)
Prin analogie cu MF se pot defini operaţii şi asupra relaţiilor fuzzy. Presupunând două re-
laţii fuzzy, R : X x Z [0 ... 1] şi S : Z x Y [0 ... 1], din compunerea lor vor rezulta relaţii fuzzy
definite pe X x Y, cu valori în [0 ... 1].

 compunerea sup - min :


(R  S) (x, y) = sup [min (R(x, z), (S(z, y))] (1.27)
zZ

 compunerea inf - max :


(R  S) (x, y) = inf [max (R(x, z), (S(z, y))]
(1.28)
zZ

Între aceste operaţii există relaţia:


(R  S) = (R  S) (1.29)

14
Compunerea sup - min are următoarele proprietăţi, derivate din operaţiile max - min:
 dacă R  T, atunci R  S  T  S (1.30)
 distributivitate faţă de reuniune: (R  T)  S = R  S  T  S (1.31)
Totuşi distributivitatea faţă de intersecţie nu mai este valabilă:
(R  T)  S  R  S  T  S (1.32)
unde R, T : X x Z  [0 ... 1] şi S : Z x Y [0 ... 1]
Se pot compune şi mulţimi fuzzy cu relaţii fuzzy. Dintr-o MF definită pe X şi o relaţie fuzzy
definită pe X x Y va rezulta o MF definită pe Y.
Generalizări ale  şi  se pot obţine prin utilizarea normelor t şi s, rezultând:

 compunerea sup - t: zZ (R  S) (x, y) = sup [R(x, z) t S(z, y)] şi


(1.33)
 compunerea inf - s: zZ (R  S) (x, y) = [R(x, z) s S(z, y)]
sau chiar:

 compunerea s - t: zZ s [R(x, z) t S(z, y)] şi


(1.34)
 compunerea t - s: zZ t [R(x, z) s S(z, y)]

Numerele fuzzy NF sunt mulţimi fuzzy definite pe spaţiul numerelor reale R. Pentru a pu-
tea fi utilizate la descrierea unor noţiuni ca aproape zero, aproximativ 5, numerele fuzzy se defi-
nesc astfel încât să respecte următoarele condiţii:

 NF sunt mulţimi fuzzy normale (există elemente din R cu gradul de apartenenţă 1);
 NF sunt convexe;
 NF sunt semi-continue;
 NF au suportul mărginit.

Se pot efectua şi operaţiile algebrice Op = [ +, -, *, /], adunarea, scăderea, înmulţirea şi


împărţirea, după modelul:

(A Op B) (z) = sup [ A (x) t B (y) ]


(1.35)
x,y:xOp y=z

1.8. Indicatori de apreciere a mulţimilor fuzzy


De-a lungul timpului s-au propus diferiţi indicatori de apreciere a proprietăţilor MF. Cu
ajutorul lor este posibilă caracterizarea şi compararea obiectivă a MF, sarcină destul de grea une-
ori, având în vedere caracterul vag al lor.

a) Indicatori ai caracterului vag. Caracterul mai mult sau mai puţin vag (fuzzy) al unei MF poate
fi măsurat în mai multe moduri.
În 1979 R.R. Yager a propus calcularea modulului diferenţei dintre mulţimea fuzzy şi
complementul ei şi integrarea acestuia peste întregul domeniu de definiţie:

fuzz(A(x)) =   A(x) - A(x)  dx (1.36)


X

15
W. Pedrycz a propus aplicarea noţiunilor de entropie şi energie în acest domeniu. Măsura
entropiei unei MF A definită în X este un număr H(A), definit prin următoarea integrală, în care 
este orice măsură definită în X.

H (A) =  f (A(x)) d (1.37)


X

unde f poate fi orice funcţie f : [0 ... 1]  [0 ... 1], monoton crescătoare în intervalul [0 ...1/2] şi
monoton descrescătoare în intervalul [1/2 ... 1].
De obicei pentru f se utilizează log2 la fel ca în definiţia entropiei din teoria informaţiei,
sau o funcţie mai simplă, egală cu x în [0 ...1/2] şi cu 1 - x în [1/2 ... 1]. Cu cât entropia este mai
mare incertitudinea este mai mare. Pentru MF cu funcţia de apartenenţă 0 sau 1 entropia este
nulă.
Măsura energiei unei MF A definită în X este un număr E(A), definit prin următoarea inte-
grală, în care  este orice măsură definită în X.

E (A) =  h (A(x)) d (1.38)


X

unde h: [0 ... 1]  [0 ... 1] este monoton crescătoare în intervalul [0 ...1]. Cea mai simplă măsură
a energiei este:

E (A) =  A(x) d (1.39)

b) Granulaţia unei MF este o mărime care indică selectivitatea descrierii unui concept prin MF.
Cu cât granulaţia este mai mică, acelaşi domeniu de definiţie poate fi descris prin mai multe mul-
ţimi fuzzy. Granulaţia poate fi măsurată prin:
meas ( A ) ()
G (A) = 1 -  d (1.40)
meas ( X )

unde  : [0 ... 1]  [0 ... 1] este o funcţie definită peste gradele de apartenenţă iar meas( ) este
o măsură a tăieturii . Rolul funcţiei  este doar acela de a accentua sau diminua impactul
diferitelor valori ale gradului de apartenenţă.
Specificitatea este o mărime asemănătoare granulaţiei fiind însă definită prin raportul
dintre gradul maxim de apartenenţă şi mărimea tăieturii .

c) Indicatorii de comparaţie a mărimilor fuzzy se aplică atunci când trebuie comparate două MF,
A şi B definite pe domeniul X.

 Distanţa Minkowski are formula:

d(A) = (   A(x) - B(x) p dx )1/p , p  1 (1.41)


Sunt des aplicate distanţele Euclideană (p=2) şi Hamming (p=1).
 Compararea logică a MF se bazează pe condiţia logică a egalităţii:
A = B , dacă A  B şi B  A (1.42)

16
1.8. Variabile lingvistice

Termenul de variabilă lingvistică VL, introdus de L. A. Zadeh în 1975 defineşte o variabilă


care ia valori lingvistice, cum ar fi încet, repede, înalt, etc. Aceste valori sunt modelabile prin MF.
Orice VL conţine câţiva termeni lingvistici TL primari (etichete lingvistice). Aplicând reguli sintac-
tice şi semantice se pot construi termeni derivaţi şi propoziţii.
Să luăm de exemplu VL temperatură, cu domeniul de definiţie cuprinzând gama de tem-
peraturi care se pot realiza în interiorul unui vagon. Termenii lingvistici primari pot fi mic, mediu
şi mare. Aceşti termeni pot fi în continuare ponderaţi cu modificatori, cum ar fi foarte, mai mult
sau mai puţin, etc. Se obţin propoziţii corecte prin combinarea termenilor primari şi a modifica-
torilor, de exemplu (temperatură) foarte mare.
Semantica propoziţiilor este alcătuită din operaţiile prezentate la §1.5. De exemplu, prin
concentrare şi dilatare se pot obţine modificatorii:
foarte A = A2, mai mult A = A1,25, mai mult sau mai puţin A = A0,5, mai puţin A = A0,75.
În general, (h(A))(x)= Ap(x), h fiind modificatorul. Pe lângă concentrare şi diluare (p>1 res-
pectiv p<1) se utilizează şi translaţii în cadrul domeniului de definiţie:
(h(A))(x) = Ap (x - ) (1.43)
Cu ajutorul VL este posibilă reprezentarea cunoştinţelor într-un mod familiar percepţiei
umane. Instrumentul matematic bazat pe VL prin care cunoştinţele pot fi reprezentate şi prelu-
crate se numeşte cadru cognitiv (engl. frame of cognition) CC, prezentat în secţiunea următoare.
Pentru încadrarea cât mai bună a cunoştinţelor în cadrele cognitive se apelează la proce-
duri de aproximare lingvistică. Prin aproximare lingvistică o MF este adaptată la setul de termeni
primari de care dispune o VL. Dacă dispunem de un set de termeni lingvistici primari Ai (i = 1 ... p)
şi un set de modificatori hj (j = 1 ... m), aproximarea lingvistică a MF B constă din exprimarea lui B
prin Ai şi hj . Aproximarea cuprinde două faze: aproximarea lui B prin Ai, optimizând un indice de
egalitate (Ai = B) şi îmbunătăţirea aproximării prin selectarea celor mai potriviţi modificatori:

max [media (Ai = B)] = media (Ai0 = B) (1.44)


i=1...p

max [media (hj (Ai0) = B)] = media (hj0 (Ai0) = B) (1.45)


j=1...m

1.9. Cadre cognitive şi partiţii fuzzy

Familia de mulţimi fuzzy A = {A1, A2, ... Ac} formează un cadru cognitiv CC dacă îndepli-
neşte următoarele două condiţii:

 A acoperă domeniul de definiţie X. Fiecare element al domeniului de definiţie poate fi atribuit


cu un grad de apartenenţă diferit de zero cel puţin unei MF din A:

  Ai (x) >  (1.46)


x i

 > 0 fiind denumit nivel de acoperire a lui X .


 Elementele lui A sunt mulţimi fuzzy unimodale. Se pot astfel identifica în X regiuni (câte o regi-
une pentru fiecare TL) care să fie în mare măsură compatibile cu acestea (cu grad semnificativ de
apartenenţă la Ai). Aceste regiuni posedă un înţeles semantic clar.

17
A1 A2
1 A3


x

Fig. 1.6. Proprietatea de acoperire a cadrului cognitiv

Partiţia fuzzy PF este un CC care se mai caracterizează şi prin proprietatea:

 Ai (x) = 1, xX (1.47)


i=1...c

O PF creează pentru fiecare punct din domeniul de definiţie X conexiuni cu unul sau mai
mulţi TL, fără însă a permite existenţa unor zone insuficient caracterizate (Ai(x)<1) sau în care
există reguli contradictorii (Ai(x)>1). În perspectiva utilizării PF la reglările automate, această
condiţie garantează existenţa unor informaţii suficiente şi necontradictorii pentru luarea decizi-
ilor, în orice zonă a domeniului X.
Unei PF i se poate ataşa o partiţie Booleană, adică un set de mulţimi ferme delimitate de
punctele de intersecţie ale TL succesivi Ai . În cazul PF aceste intersecţii se produc doar între doi
TL, la valoarea 0,5 a funcţiilor de apartenenţă.

A1 A2 A3
1

Fig. 1.7. Partiţie fuzzy şi partiţia Booleană indusă

Există trei caracteristici esenţiale ale CC:


 Specificitatea. Un CC A’ este mai specific decât altul A dacă toate elementele sale sunt mai
specifice (în termenii unui indicator de specificitate) decât elementele lui A. Numărul ele-
mentelor lui A’ va fi mai mare decât numărul elementelor lui A. De exemplu
A’ = {foarte negativ, negativ, zero, pozitiv, foarte pozitiv}
este un CC mai specific decât:
A’ = {negativ, zero, pozitiv}
Granulaţia informaţiei conţinută în A’ este mai fină decât granulaţia A. Pe de altă parte
puterea descriptivă a etichetelor lingvistice este mai mare în A, care are un grad de generalitate
mai mare decât A’. Specificitatea şi generalitatea sunt deci caracteristici antinomice ale CC.

 Ascunderea informaţiei. Prin gruparea elementelor xX în categorii simbolice în funcţie de gra-
dul de apartenenţă, atenţia se concentrează asupra unor regiuni din domeniul de definiţie, va-
lorile numerice izolate pierzându-şi din semnificaţie. În cazul unei MF trapezoidale toate elemen-
tele cu gradul de apartenenţă 1 sunt echivalente.

18
 Robusteţea. Deşi ascunderea informaţiei nu este în sine de dorit, ea poate aduce unele
simplificări şi mai ales o toleranţă remarcabilă faţă de imprecizia informaţiei şi perturbaţiilor.

Robusteţea este o proprietate opusă senzitivităţii şi depinde de norma triangulară aleasă.


O normă care are proprietatea de absorbţie (min-max) este mai robustă decât o normă care nu
are această proprietate (prod-sum).

Lucrare practică 3. Realizarea variabilelor lingvistice fuzzy în FIS

Tema acestei lucrări este proiectarea şi implementarea unei variabile lingvistice cu ajuto-
rul interfeţei FIS. Variabila care urmează să fie implementată este vârsta unui om.
O primă problemă care trebuie rezolvată este alegerea numărului de TL. Dacă ne vom
limita la un număr redus de termeni, vom obţine o variabilă cu un grad mare de generalitate:
V’ = {tânăr, matur, bătrân}
Cu cât numărul de TL creşte, vom obţine o VL mai specifică, dar în acelaşi timp mai com-
plexă, care va cere mai multe resurse la implementare. În continuare vom considera variabila:
V = {copil, adolescent, tânăr, matur, bătrân, foarte bătrân}
Adăugarea, ştergerea, precum şi setarea TL se pot realiza cu mare uşurinţă, atât prin că-
suţele de dialog cât şi cu ajutorul mouse-ului. În prima implementare realizată cu TL de forma
curbei lui Gauss (vezi Fig. 1.8), termenul selectat, tânăr, poate fi ajustat fie cu mouse-ul, agăţând
punctele marcate de pe curbă sau vârful curbei, fie din căsuţa de dialog, în care apar vârstele de
7,24 şi 24 de ani (parametrii curbei Gauss). Fig. 1.9 prezintă versiunea cu TL triunghiulari ai ace-
leaşi variabile, în care parametrii TL tânăr sunt vârstele de 6,81, 24 şi 40 de ani.
Aceste versiuni de implementare se încadrează în categoria CC – cadre cognitive. Ele nu
sunt PF-partiţii fuzzy; deşi toţi TL sunt normalizaţi, în unele puncte sumele funcţiilor de aparte-
nenţă nu sunt egale cu 1. Observăm cum în Fig. 1.9, pentru vârsta de 11 ani, cel mai mare grad de
apartenenţă 1 aparţine pe bună dreptate TL adolescent, dar în acelaşi timp şi TL învecinaţi copil
şi tânăr sunt activaţi într-o oarecare măsură.
În Fig. 1.10 este prezentată o PF alcătuită din TL trapezoidali, la care pentru orice vârstă
posibilă suma gradelor de apartenenţă active este 1. Domeniile de vârstă care se încadrează ferm
într-unul din cei şase TL utilizaţi sunt acoperite de toleranţa acelui termen, de exemplu vârstele
cuprinse între 20 şi 30 de ani pentru termenul tânăr. Clasificarea vârstelor la care se produc tran-
ziţiile între categorii este mai incertă, lucru modelat de activarea a câte doi TL, în diferite propor-
ţii. La 35 de ani vom considera un om în acelaşi timp şi tânăr dar şi matur.
În practică şi mai ales în IA, cel mai frecvent se întâlnesc PF cu termeni amestecaţi, trape-
zoidali şi triunghiulari, care au avantajul simplităţii. Se recomandă ca domeniul de definiţie al VL
să fie delimitaţi de TL trapezoidali, a căror întindere să depăşească limitele domeniului, pentru a
evita unele erori de calcul care ar putea să apară în cazul operaţiei de defuzzificare, care va fi ex-
plicată ulterior.
Este binevenită o observaţie referitoare la unele confuzii posibile cu privire la noţiunea
de modificator fuzzy. În variabila vârsta unui om termenul foarte bătrân este un TL în sine, nu
modificarea termenului bătrân. Am putea de exemplu considera ca termen modificat varianta
trapezoidală a termenului bătrân în variantele Gauss sau triunghiular. Dacă într-un proiect mai
vast, început cu TL triunghiulari, considerăm că efectele anumitor TL ar trebui intensificate am
putea modifica acei termeni prin modificatorul foarte, sau mai radical, am putea trece de la
forma triunghiulară la cea trapezoidală.

19
Fig. 1.8. Variabila lingvistică vârsta unui om cu termeni lingvistici de tip Gauss

Fig. 1.9. Variabila lingvistică vârsta unui om cu termeni lingvistici de tip triunghiular

20
Fig. 1.10. Partiţia lingvistică fuzzy vârsta unui om cu termeni lingvistici de tip trapezoidali

21
Capitolul 2. CONTROLERE FUZZY

2.1 Sistemele expert şi reglarea fuzzy

Un sistem expert SE este un program care urmăreşte un grup de cunoştinţe pentru obţi-
nerea unor rezultate, în acelaşi mod ca şi experţii umani. Metodele de proiectare bazate pe mo-
dul de gândire şi pe experienţa umană se numesc euristice. Putem spune că acest gen de sisteme
sunt tipice pentru noţiunea de IA. Un SE este materializat printr-o bază de cunoştinţe şi printr-un
algoritm de căutare, bazat pe metode de raţionare. Cunoştinţele sunt reprezentate prin reguli de
forma:
dacă < premiză > atunci < concluzie >
care pot fi uşor citite şi modificate de către utilizatori. Dacă la început SE erau destinate în primul
rând asistării luării deciziilor, o dată cu dezvoltarea tehnologiilor informatice au apărut şi aplicaţii
în timp real, în domeniul conducerii proceselor. Rezultă astfel un tip de conducere cunoscută sub
denumirea de conducere de tip expert (engl. expert control) fundamentată de lucrările lui K.J.
Astrom, J. G. Anton şi K.E. Arzen în perioada 1984 - 1986.
Conducerea expert accentuează aspectul calitativ în detrimentul celui cantitativ, apelând
la calculul simbolic propoziţional. Aplicarea logicii fuzzy în SE s-a dovedit a fi binevenită, după
cum a demonstrat-o succesul unor SE cum ar fi MYCIN destinat asistării diagnozei medicale.
Afinitatea dintre metodele IA şi LF a fost prefigurată încă de fondatorii ciberneticii. Von Neuman
afirma în cartea sa Calculatorul şi creierul: ”Creierul nu foloseşte limbajul matematicii”. Norbert
Wiener este şi mai specific: ”Unul dintre principalele avantaje ale creierului pare să fie
capacitatea lui de a mânui idei vagi, insuficient definite.”
Rolul LF în acest domeniu constă din reprezentarea cunoştinţelor şi din generarea meca-
nismelor de inferenţă asemănătoare raţionamentelor umane. Nu este deci întâmplător faptul că
SF pot fi cel mai uşor implementate în domeniile în care există o experienţă umană anterioară.
Dispozitivele care generează legile de conducere, în automatică, se numesc în engleză
controler. Termenul a fost extins asupra oricărei structuri abstracte care materializează inferenţe.
Inferenţa este procesul prin care se pot extrage concluzii logice pornind de la premize
considerate valide. Termenul controler fuzzy CF este deci echivalent cu cel de regulator fuzzy RF
în aplicaţiile de conducere automată în buclă închisă. În literatură de limbă engleză se întâlnesc
următorii doi termeni:
 Fuzzy Logic Controler FLC (controler cu logică fuzzy);
 Fuzzy Controler FC (controler fuzzy).
Deşi deosebirile dintre termeni nu sunt majore, FLC se poate distinge de FC prin apelarea
în procesul inferenţei la calculule relaţionale fuzzy bazate pe operaţii mai complexe decât nor-
mele t-s şi compunerile simple de relaţii, de exemplu prin utilizarea implicaţiilor logice fuzzy. FLC
se utilizează cu predilecţie în sistemele de asistare a deciziilor fiind mai puţin întâlnite în
conducerea proceselor, de aceea în cadrul acestui curs vom apela cu predilecţie la FC.
Din punct de vedere informaţional, structura unui FC utilizabil în reglarea proceselor este
reprezentată în figura următoare.

22
PROCES
CONDUS

INTERFAŢĂ INFERENŢĂ INTERFAŢĂ


DE INTRARE DE IEŞIRE
(FUZZYFICARE) FUZZY (DEFUZZYFICARE)

Fig. 2.1. Sistem de conducere în buclă închisă cu LF


Într-un CF algoritmii de conducere vor fi înglobaţi în protocoale de comenzi, pe baza căro-
ra se vor genera comenzi în urma procesului de inferenţă logică, în funcţie de mărimile de intra-
re. Regulile de conducere se alcătuiesc având în vedere:
■ cum se comportă procesul reglat şi de ce apare o anumită situaţie?
■ cum s-ar comporta un operator uman în această situaţie?
În cazul unui regulator cu două intrări şi o ieşire de tip PD (proporţional derivativ), mări-
mile implicate în mecanismul de inferenţă sunt e - eroarea de reglare (diferenţa dintre valoarea
impusă şi mărimea de ieşire), de - variaţia erorii şi y - mărimea de comandă. Aceste mărimi vor fi
reprezentate ca şi variabile lingvistice cu ajutorul următoarelor CC:
E  e1, e2, ... en ; DE  de1, de2, ... dem ; Y  y1, y2, ... yp
Aşa cum am văzut, regulile de conducere sunt prezentate sub formă de protocoale
(liste):
< dacă (ei(r) şi dej(r)) atunci yk(r) > (2.1)
i[1, 2, ... n], j[1, 2, ... m], k[1, 2, ... p], pentru r = 1, 2, ... N, N fiind numărul de reguli.
În cazul unui număr redus de VL sau a generării automate a bazei de reguli este recoman-
dabilă utilizarea tabelele de inferenţă MacVicar-Whelan, care elimină riscul omiterii unor regiuni
din cadrul universurilor de discurs ale variabilelor.

Tabelul 2.1. Exemplu de tabel de inferenţă MacVicar-Whelan

E - mare - mică zero + mică + mare


DE
negativă + mare + mare + mică zero - mică
zero + mare + mică zero - mică - mare
pozitivă + mică zero - mică - mare - mare

În tabelul de inferenţă de mai sus sunt cuprinse 15 reguli, prima dintre ele fiind:
< dacă (E este negativă mare şi DE este negativă) atunci Y va fi pozitivă mare >
Scopul algoritmului de reglare este de a forţa sistemul să ajungă la activarea regulii cen-
trale, care corespunde obiectivului reglării: menţinerea stabilă în zona de eroare de reglare 0.

23
2.2. Structura generică a unui controler fuzzy

Din secţiunea anterioară reiese că elementele esenţiale ale unui FC sunt:


 un protocol de reguli de conducere;
 un mecanism de inferenţă;
 interfeţele de intrare şi de ieşire.
Se consideră un model al unui CF de tip regulator PD, înglobând variabilele lingvistice:
E = {e1 , e2 , ... en} , DE = {de1 , de2 , ... dem} , Y = {y1 , y2 , ... yp}
Analogia cu regulatorul PD este didactică, conţinutul variabilelor E şi DE putând fi extins
asupra oricărei aplicaţii cu structură asemănătoare.
Operaţia prin care variabilele de intrare şi de ieşire sunt transformate în VL, compatibile
cu baza de reguli fuzzy disponibilă, se numeşte fuzzificare.
Pentru exprimarea regulilor de conducere (2.1) se poate utiliza notaţia simplificată:
dacă (Ei şi DEi) atunci Yi (2.2)
i = 1, 2, ... N

Reprezentarea cunoştinţelor poate fi sintetizată prin relaţia fuzzy R care combină toate
cele N reguli de conducere:
N

R =  (Ei x DEi x Yi) sau mai concis, R = E x DE x Y (2.3)


i=1

În cazul frecvent al utilizării operatorilor max - min :


R (en , dem , yp ) = max [ min (Ei (en), DEi (dem), Yi (yp))] (2.4)
i=1 ... N

Inferenţa este obţinută prin relaţia fuzzy:


Y = (E x DE)  R (2.5)
sau, prin includerea valorilor funcţiilor de apartenenţă:
Yi ( yp ) = max [ min (Ei (en), DEi (dem), R (en , dem , yp ))] (2.6)
având ca rezultat comanda provocată prin aplicarea regulii i. O justificare a acestui mod de defi-
nire a inferenţei este prezentată în §1.6.
Propriu logicii fuzzy şi modului de alcătuire al CC este faptul că mai multe reguli de
conducere pot fi activate în acelaşi timp, fiecare dintre ele inducând propria sa comandă. O
valoare y de ieşire poate prin urmare aparţine mai multor MF din compunerea Y. Pentru obţi-
nerea unei mărimi ferme unice la ieşire va fi prin urmare necesară operaţia de defuzzificare.

FUZZYFICARE INFERENŢĂ DEFUZZYFICARE

intrări ieşiri
ferme ferme
BAZA DE REGULI DE CONDUCERE

Fig. 2.2. Structura generică a unui FC


Această structură poate fi simplificată atunci când mărimile de intrare sunt deja mărimi
fuzzy şi atunci când la ieşire avem nevoie de mărimi fuzzy.

24
Combinaţiile posibile de configurare a CF din punctul de vedere al naturii fuzzy sau non-
fuzzy a intrărilor şi ieşirilor au fost studiate de L. Foulloy şi S. Galichet, fiind prezentate în tabelul
următor.

INFORMAŢIA DE INFORMAŢIA DE IEŞIRE


INTRARE NUMERICĂ FUZZY
NUMERICĂ 1) Sisteme de reglare în 2) Sisteme de asistare a deciziilor
buclă închisă (în buclă deschisă)
FUZZY 3) Sisteme de reglare în 4) Sisteme inteligente de asistare
buclă închisă a deciziilor (în buclă deschisă)

Termenul de regulator fuzzy RF este legat de cazul (1), cel mai frecvent, în care CF este
destinat conducerii şi reglării în buclă închisă a proceselor fizice, RF fiind în esenţă un element
nelinear al buclei de reglare. Mărimile de intrare provin de la traductoare iar cele de ieşire se
adresează diferitelor elemente de execuţie. Cea mai potrivită formă de reprezentare a inferenţei
în acest caz este tabelul de inferenţă MacVicar-Whelan.
Cazul 2) în care intrările sunt ferme şi ieşirile fuzzy corespunde unor sisteme de asistare a
deciziilor sau unor simulatoare de antrenament pentru operatorii umani. Sistemul produce infor-
maţii vizuale simbolice despre starea procesului condus, pornind de la datele oferite de senzori,
sarcina alegerii mărimii de comandă revenind omului.
Modul 3) de utilizare a CF acceptă la intrare mărimi fuzzy, provenite de exemplu de la
senzori inteligenţi dotaţi cu LF sau de la alte CF. Acest mod de utilizare este util atunci când infor-
maţia de la intrare este incertă din diferite motive. Sunt tipice cazurile în care sistemul urmăreşte
reacţiile unor fiinţe umane sau cazul roboţilor dotaţi cu controlere pentru recunoaşterea
formelor sau a comenzilor verbale. Un astfel de exemplu va fi expus în secţiunea dedicată
aplicaţiilor, deciziile ferme ale unora dintre cutiile de viteze automate (alegerea treptei de viteză)
fiind susţinute de CF din categoria 2), care apreciază pe baza manevrelor curente ale şoferului sti-
lul său de conducere, reprezentat printr-o VL {sportiv, standard, ponderat}.
Cazul (4) este recomandabil pentru cazul sistemelor expert de asistare a deciziilor, o altă
categorie din domeniul IA. Un exemplu de acest tip, referitor la luarea de decizii în domeniul
investiţiilor, va fi expus în secţiunea cu aplicaţii.

2.3. Fuzzificarea

Aşa cum s-a văzut în secţiunea §2.2 fuzzificarea este o operaţie prin care se aleg mărimile
de intrare şi de ieşire, după care se definesc MF care permit modelarea acestora prin VL, rezul-
tând CC sau PF. În cazul reglărilor în buclă închisă intrările se aleg dintre eroarea e, derivata de
ordin I a erorii de/dt, derivata de ordin II a erorii d2e/dt2, integrala erorii e·dt, sau alte mărimi de
stare ale sistemului. Ca şi în cazul oricărui sistem de reglare, si aici alegerea variabilelor este
esenţială. O funcţionare corectă şi performantă nu poate fi obţinută în nici un caz dacă variabilele
nu sunt corect alese, indiferent de algoritmul de conducere utilizat, fie el chiar şi inteligent! În
interfeţele de intrare şi de ieşire ale unui RF real au loc operaţiile obişnuite din cadrul sistemelor
numerice: eşantionarea, conversiile analog/numerică şi numeric/analogică precum şi diferite
filtrări. De obicei sunt suficiente codificări binare pe 8-12 biţi, deoarece FC nu necesită prin însăşi
natura lor precizii deosebite.
De o mare importanţă pentru funcţionarea CF este alegerea numărului de TL ai fiecărei
VL. Deşi creşterea numărului de TL asigură creşterea rezoluţiei conversiei fuzzy (granulaţie mai
mare), din literatură rezultă că nu se justifică utilizarea a mai mult de 6-7 TL, deoarece îmbună-
tăţirea performanţelor care ar rezulta este minoră faţă de creşterile exponenţiale ale capacităţii
de memorie şi a volumului de calcul necesar. În cazul frecvent al regulatoarelor PD, mărimea de

25
intrare e are un rol preponderent, fiind utilizaţi de obicei 5-7 TL, în timp ce pentru de/dt sunt
suficienţi 3-5 TL.
Termenii lingvistici consacraţi sunt menţionaţi în continuare; alegerea lor nu este obliga-
torie dar este recomandabilă, pentru a uşura efortul cititorilor.
- negativ mare NM (negative great NG);
- negativ mediu Nmd (negative medium NM);
- negativ mic Nm (negative small NS);
- zero Z (zero Z);
- pozitiv mic Pm (positive small PS);
- pozitiv mediu Pmd (positive medium PM);
- pozitiv mare PM (positive great PG).
În aplicaţii formele preferate pentru TL sunt triunghiulară sau trapezoidală. În cazul unor
elemente de execuţie cu acţiune discontinuă MF de ieşire se aleg de tip singleton.
În continuare se exemplifică fuzzificarea pentru un studiu de caz referitor la comandarea
automată a frânării trenurilor. În această aplicaţie (Şt. Preitl şi R.E. Precup) se urmăreşte frânarea
şi oprirea automată a unui tren în apropierea semnalului. Variabilele principale de intrare sunt d -
distanţa până la semaforul care impune oprirea şi v - viteza trenului iar variabila de ieşire este
gradul de frânare f cuprins între 0 (lipsă frânare) şi 1 (frânare maximă). În acest caz mărimile nu
necesită o definire simetrică, astfel că TL folosiţi, în număr de câte 5, vor fi:
d, v : fm (foarte mic), m (mic), md (mediu), M (mare), FM (foarte mare);
f : ze (lipsă frânare), m (mic), md (mediu), M (mare), FM (foarte mare).
1 fm m md M FM TL sunt modelaţi prin MF
de formă triunghiulară sau tra-
d pezoidală pentru termenii ex-
tremi fm, ze şi FM.
d [m]
0 250 500 750 1000 Rezultă trei PF, pentru orice
valoare din domeniile de defi-
1 fm m md M FM niţie suma gradelor de aparte-
nenţă fiind 1. Pentru fiecare
v mărime fermă se activează câ-
te doi TL.
v De exemplu, pentru valoa-
[km/h] rea d=300 vom avea d-fm=0,75
0 20 40 60 80 100 şi d-md=0,25.
Tabelul de inferenţă propus
1 ze m md M FM de autori pentru aplicaţie este
următorul:

f
f
0 0,2 0,4 0,6 0,8 1
Fig. 2.3. Exemplu de fuzzificare

26
Tabel 2.1. Tabel de inferenţă pentru comandarea frânării unui tren
v
f fm m md M FM
fm md md M FM FM
m m md M M FM
d md ze m md M M
M ze m m md M
FM ze ze ze m md

După cum se observă, scopul fuzzificării este ca să permită construirea unei baze de
reguli de conducere fuzzy, înglobând cunoştinţele noastre referitoare atât la procesul condus cât
şi la metodele de conducere pe care vrem să le aplicăm. Construirea comenzilor aplicate
procesului va rezulta în urma operaţiei următoare inferenţa.

2.4. Inferenţa

Inferenţa este operaţia logică prin care se obţin concluzii valabile pe baza unor premize.
A. Charuk (1936) a demonstrat că logica predicatelor nu este o teorie complet decidabilă şi deci
nu există o metodă universală prin care într-un număr finit de paşi să se decidă dacă o formulă
bine formulată este validă sau infirmată. Există totuşi mai multe metode de inferenţă cum ar fi
modus ponens, modus tollens, raţionamentul ipotetic sau tranzitivitatea. În LF se utilizează princi-
piul modus ponens (calea prin afirmaţie) care necesită aducerea propoziţiilor la o formă standard
numită formă clauzală.
Clauzele uzuale se pot clasifica în clauze cu premise complexe şi consecinţă unică:
1) Dacă A1  A2  ...  Am atunci B (2.7)
şi clauze cu premise complexe şi consecinţe alternative:
2) Dacă A1  A2  ...  Am atunci B1  B2  ...  Bn (2.8)
Orice formulă bine formată şi închisă poate fi adusă la forma clauzală. Se pot imagina o
mare varietate de reguli de inferenţă logică utilizând diferiţi operatori logici (conjuncţie , dis-
juncţie , implicaţie, echivalenţă, negaţie, etc.) în diferite poziţii ale clauzelor.
Inferenţa numită min-max datorită operatorilor implicaţi în relaţia fuzzy R se desfăşoară
în modul următor:
 Mărimile de intrare fuzzyficate se compară pe rând prin operatorul min cu premizele fiecărei
reguli; regulile pentru care comparaţia produce grade de apartenenţă diferite de 0 vor fi activate.
 Rezultatul final se obţine reunind prin operatorul max concluziile fiecărei reguli active, ţinând
cont de gradul ei de activare.
Păstrând notaţiile de la §2.2, nivelul de activare a regulii i care are premisele Ei(e) şi
DEi(de) va fi reprezentat prin mulţimea fuzzy:
i (y)= max [ E(e)  Ei (e)  DE(e)  DEi (de) ] (2.9)
eE, deDE

iar rezultatul inferenţei de către mulţimea fuzzy


N

Y =  (i  Yi ) (2.10)
i=1

27
O ilustrare a acestei inferenţe este prezentată în fig. 2.4, pentru setul de reguli {R1, R2} şi
valorile ferme de intrare ε0 şi dε0:
R1: dacă (E este Z şi DE este Nm) atunci Y este Nm
R2: dacă (E este Pm şi DE este NM) atunci Y este Z
Aşa cum am văzut în primul capitol, în literatură apar şi alte tipuri de inferenţă, bazate de
exemplu pe diferite implicaţii logice cum ar fi max [(1 - E(e)), Y(y)] şi min [1, (1 - E(e) + Y(y)],
implicaţia Lukasiewicz sau a operatorilor “produs” şi “sumă probabilistică”. Cu toate acestea
mare majoritate a aplicaţiilor, apelează la inferenţa min-max .

Z Pm NM Nm Nm Z

e de y
e0 de0
E eroare DE derivata erorii Y ieşire

Z Nm Nm

 1  Y1

e de y

Pm NM Z

2 Y2

e de y

Y(y)

y
Fig. 2.4. Un exemplu de inferenţă min-max

2.5. Defuzzificarea

Ultima, dar nu şi cea mai puţin importantă dintre problemele ridicate de CF este
defuzzificarea, prin care MF obţinute prin inferenţă sunt transformate în mărimi ferme. Dacă în
cazul fuzzificării şi a inferenţei există aproape un consens asupra utilizării partiţiilor fuzzy
modelate prin forme triunghiulare sau trapezoidale respectiv asupra metodei min-max, în cazul
defuzzificării există cel puţin două metode de defuzzificare cu o popularitate largă (MOM – mean
of maxima şi COG – center of gravity), fiecare la rândul ei prezentând mai multe variante.
Alegerea metodei de defuzzificare se face în funcţie de mai multe criterii, dintre care cele mai
importante sunt:
 caracteristicile MF de ieşire Y = {y1 , y2 , ... yn} şi ale elementului de execuţie;
 viteza cerută de aplicaţie şi capacitatea de calcul disponibilă.
28
1) Metoda maximului constă din atribuirea pentru ieşirea fermă yo a valorii obţinută prin
alegerea elementului cu cel mai înalt grad de apartenenţă din componenţa MF de ieşire activate:
Y (yo) = max { yi (y) yY, i=1 ... n } (2.11)
La stabilirea acestei valori concurează toate VL active yi, fiind aleasă doar cea având con-
tribuţia cea mai puternică. Metoda se poate aplica numai în cazul în care se poate stabili o valoa-
re unică yo, adică atunci când Y are în componenţă MF triunghiulare sau singleton-uri. Când
există mai multe MF având grade de apartenenţă maxime cu valori egale se pot aplica diferite
variante de defuzzificare, unele dintre ele fiind ilustrate în continuare.
În cazul în care Y(y) nu prezintă maxime punctuale (de exemplu în cazul formelor trape-
zoidale), se pot aplica variantele: primul dintre maxime FOM (engl. first of maxima), ultimul din-
tre maxime LOM (engl. last of maxima) sau mijlocul maximelor.

Y y1 y2 y3 Y y1 y2 y3

y y

y0 y0

yFOM (yFOM + yLOM)/2 yLOM

Fig. 2.5. Exemple de defuzzyfficare după metoda maximului

2) Metoda mediei maximelor MOM (engl. mean of maxima) reprezintă o extindere a metodei
maximului, extrem de populară din cauza volumului de calcule relativ redus. Ea se poate aplica
atât în cazul ieşirii de tip singleton cât şi atunci când există mai multe maxime ale MF de ieşire.
Să presupunem că există mai multe reguli active şi că MF de ieşire are un număr de p
maxime, cu un grad de apartenenţă egal. După stabilirea valorilor ferme de comandă produse de
fiecare dintre maxime, y0i , ieşirii i se va atribui media acestor valori:
1 p
y0 =  y0i (2.12)
i=1
p
Avantajele metodei MOM constau în simplitatea şi rapiditatea ei, dar caracteristica de
ieşire a regulatoarelor este discontinuă, existând un număr limitat de valori posibile ale ieşirii. O
atenuare a dezavantajului menţionat, obţinută însă cu preţul creşterii volumului de calcule se ob-
ţine prin luarea în consideraţie a tuturor zonelor pentru care funcţia de apartenenţă este superi-
oară unui prag . Integralele se vor calcula peste toate intervalele disjuncte pentru care Y(y) >  .

Y(y) > y dy
y0 = (2.13)
Y(y) > dy

29
3) Metoda centrelor de greutate COG (engl. center of gravity) este metoda de defuzzificare cea
mai sensibilă, care ţine seama într-o manieră ponderată de influenţa fiecărui termen lingvistic al
ieşirii, considerând toate valorile posibile pentru gradele de apartenenţă. Prin COG domeniul va-
lorilor discrete de ieşire devine continuu.
Denumirea metodei provine din analogia formulei de definiţie (2.14) cu formula utilizată
în mecanică pentru calculul centrului de greutate al unei suprafeţe:

 Y(y)· y dy
y0 = (2.14)
 Y(y) dy
Metoda se poate aplica şi în varianta discretă:
 Y(yj)· yj
j
y0 = (2.15)
 Y(yj)
j

precum şi în varianta modificată prin introducerea pragurilor de respingere a valorilor nesemni-


ficative , propuse de W. Pedrycz:
  j· y j
j
y0 = (2.16)
 j
j

Y y1 y2

COG

y
y0 COG y0 MOM

Fig. 2.6. O comparaţie între defuzzyficările MOM şi COG.


După cum se vede în Fig. 2.6, defuzzificarea COG este influenţată nu numai de y2 care are
cel mai înalt grad de activare ci şi de y1, valoarea ieşirii y0 COG fiind mai mică decât y0 MOM, care ţine
seama numai de y2.

4) Diferite variante ale metodei COG caută să atenueze dezavantajul volumului mare de calcule
cerute de aceasta:
 Centrul sumei ariilor COS (engl. center of sums), spre deosebire de metoda COG standard care
ia în calcul aria graficului funcţiei de apartenenţă, va admite calculul separat al centrelor de greu-
tate ale fiecărei VL activate, rezultatul final fiind obţinut prin compunerea rezultatelor parţiale. In
acest mod calculul suprafeţelor este uşurat, dar zonele care sunt acoperite de mai multe VL vor fi
luate de mai multe ori în calcul. Acest aspect pare să nu fie negativ, H. Hellendoorn şi C. Thomas
afirmând chiar că varianta COS este superioară variantei clasice.
 Centrul celei mai mari arii (engl. center of largest aria) se poate aplica de asemenea, atunci
când funcţia de apartenenţă Y(y) nu este convexă dar în componenţa sa pot fi identificate
porţiuni convexe semnificative.

30
2.6. Analiza controlerelor fuzzy în planul fazic lingvistic

Un instrument necesar studierii evoluţiei sistemelor de reglare fuzzy în buclă închisă este
planul fazic lingvistic PFL sau planul stărilor sistemului. Vom exemplifica o astfel de construcţie
pentru cazul tipic al regulatorului PD cu cele două mărimi de intrare, e - eroarea de reglare şi de -
variaţia erorii, cu E = {e1 , e2 , ... en}, DE = {de1 , de2 , ... dem} PF aferente. PFL este o construcţie de
tip reţea, cu locaţii pentru fiecare combinaţie posibilă a produsul cartezian E x DE. Marcând loca-
ţiile corespunzătoare stărilor succesive prin care trece sistemul se obţine traiectoria de fază TF,
care materializează evoluţia în timp a sistemului în termeni lingvistici. Marcarea unei locaţii (εJ,
dεK) se face cu ajutorul funcţiilor de apartenenţă ale variabilelor lingvistice, fiind alese variabilele
cu cele mai mari grade de apartenenţă într-un anumit moment:
(εJ , dεK) = { εJ = max (εj) , dεK = max (dεk)  j = 1 ... n , k = 1 ... m }

ε1 ε2 ε3

dε1

dε2

dε3

Fig 2.7. Plan fazic lingvistic şi traiectorie lingvistică


Se pot distinge traiectorii macroscopice, între locaţiile planului, dar şi traiectorii micro-
scopice, în cadrul unei singure locaţii. Utilitatea studierii traiectoriilor este evidentă cel puţin în
două probleme vitale pentru o reglare:
 stabilitatea reglării - toate ciclurile din evoluţia traiectoriei trebuie să tindă spre valorile impu-
se;
 numărul de acţionări pe unitatea de timp - o reglare stabilă şi rapidă din punct de vedere ma-
croscopic poate prezenta o traiectorie microscopică dezavantajoasă, implicând acţionări repetate
ale elementului de execuţie, care provoacă uzura prematură a acestuia.
Aşa cum se va vedea în capitolele următoare, traiectoria sistemului în planul fazic lingvis-
tic reprezintă de fapt un indicator global al stării sistemului şi al calităţii reglării, ea putând funda-
menta algoritmi de conducere extrem de performanţi.

2.7. Clasificarea controlerelor fuzzy

Cea mai importantă clasificare a CF a fost amintită deja în § 2.2. Reamintim terminologia
rezultată din ea:

Controlerul (regulatorul) fuzzy de tip 1: intrare fermă - ieşire fermă


Controlerul fuzzy de tip 2: intrare fermă - ieşire fuzzy
Controlerul fuzzy de tip 3: intrare fuzzy - ieşire fermă
Controlerul fuzzy de tip 4: intrare fuzzy - ieşire fuzzy

31
Senzorii inteligenţi care fuzzyfică informaţia de la intrare pot fi senzori simbolici fuzzy da-
că intrarea lor nu este fermă, sau senzori fuzzy în caz contrar. Este de menţionat că există şi
actuatoare care acceptă comenzi fuzzy, numite actuatoare fuzzy.
O clasificare care priveşte controlerele de tip 1 şi care de fapt este cea mai importantă în
cazul reglărilor, se face în funcţie de tipul inferenţei.
 Regulatoarele Mamdani sunt regulatoarele la care inferenţa are ca rezultat mărimi fuzzy.
Modelarea matematică a acestor regulatoare se bazează pe utilizarea unor relaţii fuzzy ele fiind
prezentate pe larg în § 2.2 şi necesitând operaţia de defuzzificare prezentată în § 2.5. Denumirea
lor provine de la Ebrahim H. Mamdani, primul cercetător care a dovedit experimental justeţea
considerentelor teoretice ale lui Lotfi Zadeh în domeniul sistemelor de reglare.
Regulatoarele Sugeno (propuse de Michio Sugeno) reprezintă o abordare mai directă a proble-
mei reglării fuzzy, renunţându-se la reprezentarea fuzzy a mărimii de comandă de la ieşire. Infe-
renţa în regulatoarele Sugeno are ca rezultat, pentru fiecare regulă, câte o mărime fermă (single-
ton). Aceste regulatoare necesită o fază explicită de defuzzificare doar atunci când sunt activate
mai multe reguli.

Cel mai adesea, CF Sugeno sunt asociate cu defuzzificarea de tip COG. Dacă yi este ieşirea
generată de regula i iar i este gradul de apartenenţă al regulii respective, se va aplica o formulă
asemănătoare cazului COG, fără însă ca i să influenţeze valorile de ieşire yi:
 j · y j
j
y0 = (2.17)
 j
j

Controlerele Sugeno sunt de departe cele mai des utilizate în reglările în buclă închisă
deoarece deşi sunt cât se poate de simple păstrează toate avantajele generice ale conceptului
fuzzy. Ele au permis proliferarea aplicaţiilor fuzzy precum şi unele realizări tehnice de vârf, cum ar
fi conducerea automată a unui elicopter (unmanned helicopter), realizată chiar de către profeso-
rul Sugeno. Sistemul de conducere automată a elicopterelor este alcătuit din aproximativ 120 de
controlere şi regulatoare fuzzy Sugeno, funcţionând totuşi suficient de rapid. Utilizând acest sis-
tem se pot realiza drone telecomandate care pot fi conduse doar prin impunerea traiectoriei do-
rite, sincronizarea tuturor comenzilor precum şi compensarea perturbaţiilor atmosferice fiind
automate.
Mergând pe aceeaşi linie a simplificărilor, dacă şi PF ale mărimilor de intrare vor fi simpli-
ficate prin adoptarea partiţiei booleene, regulatorul obţinut va fi pur şi simplu o funcţie fermă
nelineară y =  (ε, dε) reprezentabilă printr-un tabel cu clauze şi elemente ferme, denumită
forma compilată a controlerului fuzzy. Aşa cum se va vedea în secţiunea referitoare la sistemele
fuzzy-interpolative, şi tabelele de căutare cu interpolare liniară pot constitui aproximatoare
pentru CF.
 Regulatorul Ostergaard-King-Palm este un RF caracterizat prin reguli simetrice faţă de situaţia
“e este zero şi de este zero” (ε + dε = 0). Condiţia de mai sus creează o linie de demarcaţie în pla-
nul stărilor sistemului, între zonele cu erori pozitive respectiv negative. Regulile sunt astfel alese
încât ieşirea regulatorului se va opune constant erorii, cu o valoare cu atât mai mare cu cât
poziţia sistemului în planul stărilor este mai depărtată de linia de demarcaţie. Regulatorul intră
într-un regim de funcţionare sliding mode care îi conferă o robusteţe deosebită faţă de perturba-
ţii şi de modificarea în timp a parametrilor. S-ar putea face o analogie între acest regulator şi un
sistem mecanic alcătuit dintr-un corp fixat între două resorturi elastice colineare. Indiferent de
natura perturbaţiilor, corpul va fi menţinut în preajma punctului de echilibru.

32
O problemă crucială a utilizatorilor SF e ridicată de multitudinea de variante posibile de
realizare a aplicaţiei dorite. Pe lângă diferitele clase de CF menţionate în această secţiune au fost
ilustrate anterior în curs o multitudine de mecanisme de ajustare a funcţionării, la fiecare dintre
nivelele posibile: fuzzificare, inferenţă şi defuzzificare.
Din literatura de specialitate reiese că asupra performanţelor unui sistem de reglare
fuzzy cea mai mare influenţă o are structura bazei de reguli. Modelarea optimală a regulilor, a
inferenţei şi a interfeţelor poate aduce îmbunătăţiri importante în cazul unei baze de reguli
corect alese, dar nu pot salva o alegere nefericită a regulilor. Forma compilată va putea fi folosită
ca o metodă primară de abordare a unei aplicaţii, cu ajutorul ei putându-se rezolva problemele
ridicate de alegerea variabilelor, stabilitate, neliniarităţi, etc. După stabilirea datelor preliminare
ale aplicaţiei urmează ca alegerea variantei definitive să se facă numai în final, în funcţie de
resursele disponibile şi de îmbunătăţirile constatate faţă de varianta simplificată. Dacă regula-
toare mai complicate nu îmbunătăţesc semnificativ performanţele sistemului, sau dacă acestea
sunt deja obţinute de către varianta compilată, ea poate fi păstrată ca soluţie finală.

2.8. Structuri ierarhice de controlere fuzzy

CF discutate până acum prezintă un singur nivel de prelucrare a informaţiei, pe baza


datelor de la intrare efectuându-se un raţionament într-o singură etapă, de exemplu prin
inferenţa max-min. Un stadiu superior de organizare a CF se obţine prin introducerea unor nivele
de ierarhizare a regulilor. Necesitatea ierarhizării este sugerată de traiectoria din planul stărilor
prezentată în fig. 2.6. Regula activată de combinaţia ε2 - dε3 este insuficientă pentru un control
adecvat al sistemului. Se poate imagina un al doilea CF, caracterizat de o granulaţie foarte fină a
partiţiilor fuzzy, care să fie invocat numai la activarea regulii invocate de ε2 - dε3. Această zoom-
are care are ca efect creşterea specificităţii regulilor şi poate fi repetată pe mai multe nivele
ierarhice, însă creşterea numărului de reguli poate reprezenta un impediment.
O abordare asemănătoare o constituie regulatorul fuzzy hibrid, sinteză între RF şi regula-
torul PID. Din compararea regulatoarelor fuzzy cu regulatoarele clasice, de exemplu cu regulato-
rul PID, reiese în esenţă că RF sunt superioare ca şi comportare dinamică, în condiţii de neliniari-
tate, paraziţi, timpi morţi, dar sunt inferioare în ceea ce priveşte precizia de reglare în regim sta-
ţionar Intr-adevăr, RF este oarecum comparabil cu regulatorul P în ceea ce priveşte eroarea sta-
ţionară: ea poate fi redusă prin creşterea granulaţiei reprezentărilor fuzzy sau prin modificarea
factorilor de scalare prin care sunt ponderate mărimile de intrare şi de ieşire, dar nu poate fi anu-
lată decât prin introducerea componentei integratoare.
Având în vedere cele de mai sus, sunt justificate şi structurile de reglare în care CF are
doar rolul de supervizare. Urmărind diferiţi indicatori de calitate a reglării, controlerul poate lua
decizii de adaptare a algoritmilor numerici sau de alegere a structurii optime de reglare.

INTRĂRI

RF
RF1 RF PID

RF2
Comutator PID1 PID2 PID3
RF3

IEŞIRI
a) Structură ierarhică b) Structură hibridă c) Structură supervizoare
Fig. 2.8. Sisteme fuzzy ierarhice

33
Ierarhizarea este calea prin care se pot rezolva problemele de mare complexitate, un
exemplu fiind cel prezentat de Clarence W. de Silva: un sistem fuzzy ierarhizat pe patru nivele
este capabil de a conduce o celulă de tăiere şi prelucrare a peştilor de diferite dimensiuni. Nive-
lele de ierarhizare a funcţiilor sunt:
 Nivelul 1: conducerea şi poziţionarea elementelor de transport şi prindere a peştilor, a cuţite-
lor, analizarea imaginilor recepţionate cu camere CCD din diferite puncte ale celulei, etc.;
 Nivelul 2: monitorizarea celulei, filtrarea semnalelor, calcularea indicilor de apreciere a calităţii
sistemului;
 Nivelul 3: coordonarea componentelor celulei, adaptarea sub-sarcinilor;
 Nivelul 4: descrierea sarcinilor, alocarea sub-sarcinilor.

2.9. Structuri autoadaptive de controlere fuzzy

O perfecţionare importantă a CF, existentă şi în exemplul anterior, este autoadaptarea.


Aşa cum am văzut deja există mai mulţi parametri ai controlerului care influenţează performan-
ţele reglării şi care pot deveni subiecţi ai optimizărilor. Ei pot fi grupaţi în patru categorii:
 factorii de scalare ai intrărilor şi ieşirilor;
 baza de reguli de conducere;
 parametri ai metodei de inferenţă;
 funcţiile de apartenenţă ale variabilelor.
În aplicaţiile reale afectate de diferite neliniarităţi, pentru a obţine performanţe apropia-
te de optim este necesară comutarea între două sau mai multe regulatoare diferite, fiecare dedi-
cat unui regim specific de funcţionare. De exemplu pentru tratarea regimurilor dinamic şi static,
sunt de regulă necesare fie două regulatoare diferite (de exemplu PD şi PI) fie o ajustare variabilă
a aceluiaşi regulator. O soluţie posibilă în cazul RF este comutarea între două tipuri diferite de
inferenţă, dar la fel de bine se pot utiliza şi alte variante de adaptare, în funcţie de specificul apli-
caţiei.
În unele lucrări se face distincţie între autoadaptare şi autoorganizare. Exemplul de sis-
tem adaptiv prezentat în figura următoare se referă la comanda injecţiei unui motor. Adaptarea
se obţine prin instalarea unui traductor al cuplului rezistent, care provoacă modificarea regimului
de funcţionare a injectorului, astfel încât bucla de reglare să fie cât mai eficientă.

TRADUCTOR AL REGULATOR
ÎNCĂRCĂRII FUZZY
MOTORULUI PT. ADAPTARE

REGULATOR AL
INJECŢIEI DE MOTOR
Valoare + COMBUSTIBIL Turaţie
Impusă _
TAHOGENERATOR

Fig. 2. 9. Exemplu de sistem cu autoadaptare


Dintre acţiunile concrete de adaptare se pot menţiona: modificarea factorilor de scalare,
intensificarea sau diluarea unor reguli, modificarea formei unor reguli, etc.
34
Pentru autoorganizarea structurii CF trebuie să dispună de următoarele elemente:
 un tablou de evaluare a performanţelor reglării;
 un model al procesului condus (nu este necesar un model extrem de precis);
 un algoritm de modificare a parametrilor CF.

ALGORITM DE MODELUL TABEL DE


AUTOORGANIZARE PROCESULUI PERFORMANŢE

CONTROLER PROCES
Intrare FUZZY CONDUS Ieşire

Fig. 2. 10. Structură de controler fuzzy cu autoorganizare


Acţiuni de autoorganizare pot fi modificarea inferenţei, modificarea granulaţiei CC, co-
mutarea între mai multe controlere, etc. Din această categorie fac parte de exemplu sistemele
ierarhice prezentate în fig. 2.8 b şi c, la care schimbarea condiţiilor de mediu produce modificări
structurale. Se poate considera că autoadaptarea este de fapt un caz particular de autoorgani-
zare, diferenţa fiind dată doar de algoritmul de autoadaptare sau autoorganizare. Esenţială este
prezenţa unui controler suplimentar, destinat acestui scop.
W. Pedrycz expune o idee de autoadaptare adoptată în majoritatea aplicaţiilor, care ia în
considerare modificarea relaţiei fuzzy a controlerului de bază prin adăugarea unei corecţii S
calculată de controlerul auxiliar adaptiv. Relaţia (2.3) devine:
R’ = E x DE x (Y + S) (2.18)
Corecţia poate fi aplicată şi multiplicativ, prin înmulţirea comenzii regulatorului direct cu
un factor de corecţie M:
R’’ = E x DE x (Y · M) (2.19)

2.10. Tabele de decizie/inferenţă

Pentru a încheia acest capitol revenim la cea mai importantă noţiune introdusă în el, res-
pectiv la tabelul de decizie/inferenţă, ilustrat de exemplele din Tabelele 2.1 şi 2.2. Importanţa
tabelelor de decizie constă din aceea că ele reprezintă cel mai simplu şi riguros mod de a repre-
zenta protocoalele de reguli de tip expert, în sensul că pentru fiecare combinaţie de TL de intrare
există o regulă şi numai una de ieşire. Dacă reuşim să reprezentăm regulile în acest mod, se
exclude riscul de a omite sau de a suprapune reguli. Tabelele de decizie (fuzzy sau non-fuzzy)
sunt utilizate în majoritatea disciplinelor ştiinţifice. În cele ce urmează vom ilustra această teh-
nică de bază printr-una dintre versiunile cel mai des utilizate în managementul firmelor, tabelul
de decizie ADL (ADL matrix). Tabelul ADL utilizează două variabile lingvistice de intrare: Matu-
ritatea domeniului în care activează firma şi Competitivitatea sa în cadrul acestui domeniu. Se
formulează reguli lingvistice pentru toate combinaţiile de TL posibile.
Fuzzificarea unor tabele de decizie existente şi verificate în practică este cea mai sigură
cale de dezvoltare a unor aplicaţii de succes, în care logica fuzzy poate aduce un plus de perfor-
manţă şi poate înlătura inadvertenţele care se pot produce atunci când abordările de tip Boolean
sunt in discordanţă cu natura aplicaţiei (vezi cazul instalaţiilor de aer condiţionat).

35
Maturitatea domeniului
Embrionic Creştere Maturitate Învechit
Dominant Y5,1 Y5,2 Y5,3 Y5,4
- Dezvoltare agre- - Creştere peste - Menţinerea pozi- - Menţinerea pozi-
sivă ritmul pieţei ţiilor, creştere în ţiilor
- Investiţie cât mai - Investiţii pentru ritmul pieţei - Reinvestiţii dacă
C rapidă şi mai mare susţinerea creşterii - Reinvestiţii dacă sunt necesare
sunt necesare
o
Puternic Y4,1 Y4,2 Y4,3 Y4,4
m - Dezvoltare agre- - Dezvoltare agre- - Menţinerea pozi- - Menţinerea pozi-
sivă sivă ţiei, creştere în rit- ţiei, maximizarea
p - Căutarea căilor - Căutarea căilor mul pieţei profiturilor
de creştere a avan- de creştere a avan- - Reinvestiţii dacă - Reinvestiţii mi-
tajului competitiv tajului competitiv sunt necesare nime
e - Investiţii peste - Investiţii pentru
valoarea pieţei creştere
t
Favorabil Y3,1 Y3,2 Y3,3 Y3,4
i
- Dezvoltare mo- - Căutarea căilor - Dezvoltare de - Maximizarea
derată/agresivă de dezvoltare şi nişă sau altă for- profiturilor prin
t - Căutarea căilor creştere a avanta- mă de diferenţiere reduceri, plani-
de creştere a avan- jului competitiv - Reinvestiţii ficarea unei retra-
i tajului competitiv - Investiţii selec- minime/selective geri în etape
- Investiţii selec- tive - renunţarea la
v tive investiţii

i Satisfăcă- Y2,1 Y2,2 Y2,3 Y2,4


toare - Căutarea căilor - Dezvoltare de - Dezvoltare de - Retragere în eta-
t de îmbunătăţire a nişă sau altă for- nişă/diferenţiere pe sau abandon
poziţiei mă de diferenţiere sau planificarea - Renunţarea la
- Investiţii selec- - Investiţii foarte unei retrageri investiţii sau vân-
a
tive selective - Reinvestiţii se- zarea acţiunilor/
lective activelor
t
Slabă Y1,1 Y1,2 Y1,3 Y1,4
e - Analiza profitu- - Noi căi de men- - Noi căi de men- - Abandonarea
lui pentru a decide ţinere a profitului ţinere a profitului pieţei
continuarea activi- sau întreruperea sau retragere - Vânzarea acţiu-
tăţii sau oprirea ei activităţii - Investiţie sau li- nilor/activelor
- Investiţie sau li- - Investiţie sau li- chidare selectivă
chidare chidare

36
3. Regulatoare fuzzy în conducerea adaptivă a proceselor
3.1. Dezvoltări ale controlerelor fuzzy

3.1.1. Echivalarea fuzzy a regulatoarelor clasice


S. Galichet şi L. Foulloy demonstrează echivalenţele fundamentale dintre regulatoarele
fuzzy Mamdani şi cele clasice. Astfel pentru o comportare de tip PID descrisă de ecuaţia în timp
discret
2
δu = kP · δε + kI · ε + kD · δ ε (3.1)
regula de conducere echivalentă de tip Mamdani este
"dacă eroarea este Ei şi variaţia ei este DEj şi variaţia variaţiei ei este D2Ek
atunci (3.2)
variaţia comenzii este DUl"
unde Ei, DEj, D2Ek şi DUl sunt etichetele lingvistice ataşate lui ε, δε, δ2ε şi δu.
Demonstraţia furnizată consideră PF triunghiulare pentru intrări şi ieşire, o inferenţă min-
max şi subliniază echivalenţa regulatorului cu un interpolator neliniar. Dacă PF a ieşirii este reali-
zată cu MF dreptunghiulare, regulatorul este echivalent cu un interpolator liniar.
Întrucât CF Sugeno sunt cazuri particulare ale CF Mamdani ele se bucură de aceleaşi pro-
prietăţi.
În lucrare vom considera însă forma în timp continuu a ecuaţiei (3.1), mai adecvată
circuitelor analogice şi în acelaşi timp mai generală, întrucât nu depinde de eşantionare.

3.2.2. Regulatoare fuzzy ierarhice şi hibride

Comportarea CF de tip PD în buclă închisă relevă două aspecte antinomice:


 comportarea dinamică este extrem de sigură, fără suprareglaje sau oscilaţii notabile, compa-
rativ cu alte regulatoare;
 comportarea în regim static este afectată de chattering şi statism.
Dificultatea CF de a face faţă regimurilor staţionare este structurală, fiind necesare dez-
voltări pentru ameliorarea performanţelor.
O primă posibilitate constă din ierarhizarea RF. Când este atinsă starea ε = zero, ε = zero
intră în acţiune un al doilea RF care acţionează doar atât timp cât sistemul se menţine în acest
domeniu. Totuşi soluţia nu este ideală pentru că nici al doilea regulator nu elimină total
statismul.
O soluţie preferabilă este hibridizarea cu alte tipuri de regulatoare, mai potrivite pentru
regimurile staţionare, dintre care se impune în primul rând clasicul regulator PID. Regulatorul CF-
PID are nevoie de aceeaşi informaţie ca şi CF: eroarea ε şi derivata sa ε la care se mai adaugă şi
integrala erorii ε, termenul care anulează statismul.
Cele două regulatoare pot funcţiona pe rând, în funcţie de regimul cerut de evoluţia sis-
temului, comutarea lor realizându-se după diferite tehnici. Metoda fundamentală în domeniu (S.
Boverie) constând din activarea regulatorului PID când ε este fuzzy zero iar ε este fuzzy mică. El
a sugerat şi o altă combinaţie între cele două regulatoare: CF are un rol de adaptare şi supervi-
zare, ieşirile sale provocând modificarea parametrilor regulatorului PID. Această abordare s-a
dovedit a fi extraordinar de fructuoasă, următorul deceniu dovedind că adevăratul rol al CF în
conducerea în buclă închisă este cel de adaptare şi supervizare.
37
Un exemplu al acestei strategii aparţine companiei OMRON.

Operator feed forward

valoare P
impusă + - + +
D Proces
+ + +
d /dt I

C
Controler fuzzy

Fig. 3.1. Structura FC-PID a regulatorului de temperatură OMRON - E5AF


Se remarcă rolul de supervizare şi adaptare al CF. Cele două moduri de acţiune ale sale
sunt corecţia aditivă, efectuată asupra ieşirii regulatorului PID şi corecţia efectului I prin coefi-
cientul C. Rolul corecţiilor este de a întări răspunsul la perturbaţii respectiv de a se opune
suprareglajelor şi întârzierilor produse de efectul I. CF este de tip Sugeno iar partiţiile triun-
ghiulare de intrare pot avea un număr minim (trei) de TL. Aplicaţii reuşite ale acestei arhitecturi
se pot întâlni tot mai des, ceea ce probează viabilitatea ei.

3.1.3. Regulatoare fuzzy-PID


Alegând forma integrală a ecuaţiei (3.1): u = kP · ε + kI ·  ε + kD · ε ieşirea va fi dată sub
forma ei absolută u şi nu sub forma diferenţială δu. Astfel mărimile de intrare vor fi ε, ε şi  ε iar
ieşirea u. Prin introducerea intrării  ε baza de reguli devine tridimensională iar controlerul se
transformă într-un controler fuzzy-PID (FPID), denumire aplicată deseori, oarecum impropriu şi în
cazul sistemelor hibride FC-PID. Controlerul FPID poate fi considerat ca o generalizare neliniară a
algoritmului PID.

ε pozitivă

ε zero
ε pozitivă
ε zero
ε negativă
ε negativă
ε negativă ε zero ε pozitivă
Fig. 3.2. Bază de reguli 3-D a unui controler FPID la care variabilele de intrare
(ε, ε , ε) au câte trei termeni lingvistici (pozitiv, zero, negativ)
Din punct de vedere al performanţelor reglării, atât dinamice cât şi statice, este indis-
cutabil faptul că regulatorul FPID este o soluţie fundamentală pentru sistemele neliniare.
Caracterul său fundamental îi este conferit de posibilitatea analizării comportării în timp a

38
sistemului condus a) în prezent, prin eroarea ε , b) în trecut, prin derivata erorii  ε şi c) în viitor
prin derivata erorii ε . Singurul său inconvenient este extinderea bazei de reguli. Pentru a se
îmbunătăţi raportul calitate/preţ în ultimii ani s-au făcut eforturi pentru reducerea bazei de
reguli, păstrând în acelaşi timp componenta integrativă. Dintre soluţii se pot menţiona:
 bază de reguli simetrică pentru sisteme cu comportare intrare-ieşire simetrică (Abdelnour -
1991);
 trecerea treptată (gain-scheduling) între FPD şi PI, pe măsură ce sistemul intră într-un regim
staţionar (Lee -1993);
 comutarea între două controlere FPD şi FPI (Brehm şi Rattan -1994);
 implementarea directă 2-D (DI-FPID) propusă de K. C. Ng şi Y. Li în 1998.
Implementarea directă se bazează pe un artificiu valabil în general pentru regulatoarele
PID: considerarea regulatorul PID ca fiind format din două componente PD şi PI şi exprimarea
componentei PI în funcţie de componenta PD.
Concluzia care se poate desprinde din literatură este că pentru a putea funcţiona în cazul
proceselor neliniare, întocmai ca şi regulatoarele PID, cele FPID trebuiesc să aibă capacitate de
autoadaptare.

3.2. Modelarea funcţiilor de conducere prin controlere fuzzy


3.2.1. Aproximarea prin controlere fuzzy Sugeno
J. Lee, S. Chae ("Analysis on function duplicating capabilities of fuzzy controllers", Fuzzy
Sets and Systems no. 56, 1993) şi P. Bauer, E.P. Klement, B. Moser, şi A. Leikermoser ("Appro-
th
ximation of real functions by rule bases", the Proceedings of the 5 IFSA World Congress, Seoul
1993) au demonstrat că:
Pentru orice funcţie f : [ainf, asup]R continuă şi monotonă pe porţiuni există sub-
mulţimi fuzzy normalizate A0, A1,…, An pe [ainf, asup], numerele reale u0, u1, … , un R
şi o bază de n reguli de forma
B = {DACĂ x este Ai ATUNCI u = ui | i = 1, 2, … , n} (3.3)
astfel încât caracteristica de transfer a CF Sugeno corespunzător coincide cu f.
La fel se poate demonstra că pentru orice CF Sugeno există un CF Mamdani echivalent,
astfel încât caracteristicile lor de transfer sunt identice. Acest fapt recomandă CF Sugeno în mo-
delarea funcţiilor intrare-ieşire datorită simplităţii lor şi arată că rezultatele obţinute asupra lor
pot fi extinse şi asupra CF Mamdani.
Teorema este completată printr-o metodă concretă de construcţie a aproximatorilor
Sugeno. Metoda constă din identificarea porţiunilor monotone ale lui f, în număr de p şi stabili-
rea a p+1 mulţimi fuzzy centrate pe punctele de inflexiune ale lui f. Între p şi n există relaţia n 
p+1, cu cât n este mai mare precizia aproximării fiind mai bună. Stabilirea formelor funcţiilor de
apartenenţă se face în funcţie de metoda de defuzzificare aleasă şi ţine cont de forma lui f, astfel
ca în final caracteristica de transfer rezultată să fie cât mai apropiată sau identică cu f.
Această teoremă are trei consecinţe extrem de importante:
1. Rezultatele sale pot fi extinse pentru cazul m-dimensional (intrări vectoriale).
2. CF Sugeno cu partiţii fuzzy, normate, triunghiulare şi cu defuzzyficare COG pot aproxima orice
funcţie de intrare-ieşire continuă.
În fig 3.3 este ilustrată aproximarea unei funcţii f de variabilă scalară x prin CF Sugeno
pentru cazul unei baze cu cinci reguli, având PF a mărimii de intrare formată din TL triunghiulari,
inferenţă prod-sum şi defuzzyficare COG. Între punctele partiţiei f este aproximată prin patru

39
segmente de dreaptă care unesc punctele {(ai, ui) | i = 0, ..., 4}. Fineţea granulaţiei PF determină
eroarea aproximării.
u
u1
u4
u2 u1A1
u3 u4A4
u0 u2A2
u0A0 u3A3

x
a0 a1 a2 a3 a4
Fig. 3.3. Aproximare cu CF Sugeno cu MF triunghiulare
(inferenţă prod-sum, defuzzyficare COG)
Când pentru x se utilizează o PF caracteristica de transfer este foarte simplă:
4
u(x)   ui Ai (x) (3.4)
i 0
3. CF Sugeno cu PF normate triunghiulare, inferenţă prod-sum şi defuzzyficare COG sunt echiva-
lente cu tabelele de căutare cu interpolare liniară.
Justificarea acestei consecinţe rezultă din alegerea funcţiilor de apartenenţă
triunghiulare sau trapezoidale, echivalente cu formulele de interpolare liniară. Tabelele de
căutare din componenţa toolkit-ului SIMULINK din pachetul MATLAB sunt în consecinţă echi-
valente unor CF de tip Sugeno cu PF normate triunghiulare, inferenţă prod-sum şi defuzzyficare
COG.

3.2.2. Aproximarea prin sisteme fuzzy aditive


Această strategie de aproximare este mai generală decât precedenta. În esenţă ea constă
din aproximarea caracteristicii u(x) prin "petice" fuzzy care caută să acopere cât mai bine
caracteristica dorită. Peticele fuzzy elipsoidale pot fi obţinute modulând forma funcţiilor de apar-
tenenţă.
u
< Dacă x = A2 atunci u = B2 > Metoda se poate aplica pentru
f
CF Mamdani. Fiecare regulă defi-
neşte un petic fuzzy, ca produs car-
B3
tezian Ai x Bj şi în general este desti-
B2 nată controlerelor cu defuzzificare
aditivă la care ieşirea este o combi-
B1 naţie a efectelor regulilor activate.
x

A1 A2 A3
Fig. 3.4. Aproximarea prin "petice" fuzzy elipsoidale

În general, orice funcţie continuă definită pe un interval compact poate fi uniform aproxi-
mată printr-un controler fuzzy aditiv.

40
3.2.4. Controlerele fuzzy/interpolative
Legată de capacitatea de aproximare a funcţiilor continue este latura interpolatoare a CF,
uşor de remarcat în cele de mai sus. Să considerăm că la un moment dat dispunem de o imagine
incompletă, discretă, a caracteristicii de transfer f a unui controler, modelabilă prin puncte
discrete numite noduri de interpolare. Putem în continuare să considerăm că fiecare nod de
interpolare este rezultatul activării uneia dintre regulile unui CF Sugeno, cu PF triunghiulare, infe-
renţă prod-sum şi defuzzyficare COG.
În esenţă rolul controlerului este să furnizeze fie prin interpolare, fie printr-una dintre
metodele de defuzzyficare cunoscute o valoare numerică a comenzii, pentru orice combinaţie
posibilă de intrări, deci să implementeze o variantă continuă a lui f. Deşi în cazul controlerelor in-
terpolatoare pot fi aplicate mai multe variante de interpolări polinomiale sau trigonometrice,
pentru aplicaţiile în buclă închisă esenţială este reducerea calculelor, astfel că ori de câte ori con-
tează viteza de procesare interpolarea lineară Newton se impune de la sine.
Se introduce un termen specific, cel de controler fuzzy-interpolativ, prin care se înţelege
un controler fuzzy care poate fi echivalat cu unul interpolator cu interpolare liniară.
De exemplu, controlerul fuzzy-interpolativ PD descris de relaţia:
f: {ε1, ε2, ... , εm} x { ε 1, ε 2, ... , ε n}  {u(εi,, ε j) | i = 1 ... mi, j = 1 ... mj} (3.5)
va avea următoarea ieşire:
u(ε, ε ) = u(ε, ε j) + [u(ε, ε j+1) - u(ε, ε j)] ( ε - ε j) / ( ε j+1 - ε j),
 ε [εi, εi+1], ε [ ε j, ε j+1], i = 1 ... mi, j = 1 ... mj (3.6)
unde:
u(ε, ε j) = u(εi, ε j) + [u(εi+1, ε j) - u(εi, ε j)] (ε - εj) / (εj+1 - εj) (3.7)
iar
u(ε, ε j+1) = u(εi, ε j+1) + [u(εi+1, ε j) - u(εi, ε j+1)] (ε - εj) / (εj+1 - εj) (3.8)

Din literatură rezultă că această variantă de controler rezolvă principial majoritatea pro-
blemelor de conducere în buclă închisă, mai ales cele în care performanţele în regim dinamic
sunt mai importante decât precizia de reglare în regim static. A complica în plus această arhitec-
tură prin adoptarea altor MF decât cea triunghiulară şi trapezoidală, respectiv a adopta o inter-
polare mai performantă pot fi demersuri interesante din punct de vedere teoretic dar sunt ne-
productive din punct de vedere practic, efectele obţinute nefiind pe măsura resurselor alocate.
Efortul principal al dezvoltării unui regulator trebuie depus în direcţia înţelegerii cât mai
profunde a interacţiunii sale cu procesul condus, prin simulări şi apoi testări, astfel ca numărul
variabilelor de intrare şi ieşire, numărul şi construcţia TL şi baza de reguli, respectiv nodurile de
interpolare să fie cât mai corect alese.
Având în vedere robusteţea şi toleranţa la erori proprie CF, deseori se constată că la
regulatoarele bine structurate conform celor de mai sus, chiar erori grosolane ale unor reguli mai
puţin semnificative pot fi bine tolerate.
Proiectarea RF pornind de la anumite puncte semnificative (training points) a fost folo-
sită şi în contextul reducerii dimensiunilor bazelor de reguli, prin eliminarea regulilor redundante.
Considerând că redundanţa regulilor provine atât din suprapuneri cât şi din interpolări suplimen-
tare, S. Galichet şi L. Foulloy au propus o metodologie de reducere a numărului de reguli prin re-
construirea regulatorului pornind de la un set de puncte semnificative ale caracteristicii/suprafe-
ţei de comandă. Cunoscând caracteristica dată, există mai multe posibilităţi de alegere a acestor
puncte: printr-o reţea rectangulară regulată, prin alegerea maximelor şi minimelor semnificative,
etc.

41
ε ε

ε ε

a) Regulator PD interpolator (neliniar) b) Regulator PD interpolator


cu suprafaţa de comandă plană (liniar)
Legendă: - nod inactiv în reţeaua interpolatoare;
- nod activ în reţeaua interpolatoare;
- interpolare liniară.
Fig. 3.5. Regulatoare PD interpolatoare cu suprafaţă de comandă plană sau cvasi-plană
Un tip particular de controler interpolator apare în situaţia unui număr minim de noduri
de interpolare, care pentru cazul bidimensional este de patru (fig. 3.5) şi corespunde cazului unui
CF cu doar două MF pentru fiecare variabilă de intrare. Suprafaţa de comandă rezultantă este de-
limitată de cele patru drepte care se formează prin interpolările liniare dintre noduri. În această
lucrare se va căuta să se utilizeze controlere cu suprafaţa de comandă plană, prin alegerea adec-
vată a valorilor ieşirii în nodurile de interpolare (valori care ideal ar trebui să fie coplanare). Vom
admite totuşi unele erori, caz în care suprafaţa obţinută, poate fi considerată doar cvasi-plană.
Un astfel de controler este echivalent cu un controler PD liniar.
Este evident că în aplicaţiile de reglare automată un regulator interpolator, modelabil
printr-un tabel de căutare care oferă rapid o comandă rezultată dintr-o simplă interpolare liniară,
are un raport performanţă/cost mult mai convenabil decât orice controler fuzzy posibil. Introdu-
cerea unor noi mărimi de intrare se obţine natural, prin creşterea dimensiunilor tabelelor. Tabe-
lele de căutare se pot adapta uşor neliniarităţilor sistemului condus, suprafeţele de comandă ge-
nerate putând lua forme variate şi uşor de controlat.

3.3. Proiectarea lingvistică a regulatoarelor neliniare


3.3.1. Metoda proiectării lingvistice
Principalul impact al CF în conducerea proceselor neliniare s-a produs prin metoda pro-
iectării lingvistice MPL. MPL are o paternitate greu de precizat dar a fost sintetizată şi formulată
de K. Stoll. În MPL se regăsesc avantajele strategice ale CF: transparenţă, simplitate în tratarea
obstacolelor ridicate de necunoaşterea modelelor matematice sau de complexitatea proceselor
conduse, productivitatea ridicată a proiectării şi implementării.
Ideile esenţiale ale MPL sunt:
 apelarea la conceptul de "raţionare fuzzy simplificată" care presupune partiţii triunghiulare
sau trapezoidale, inferenţa min-max sau prod-sum şi defuzzyficare din familia COG;
 CF este considerat prin dualitatea sistem expert - algoritm de interpolare liniară;
 caracteristica de intrare-ieşire a sistemului dorit este aproximată prin segmente;
 această caracteristică este obţinută direct prin regulile de conducere.
Dacă se folosesc partiţii triunghiulare şi inferenţa de tip prod-sum aproximarea obţinută
este cea din fig. 3.6, obţinută prin petice dreptunghiulare. Inflexiunile caracteristicii corespund
vârfurilor triunghiurilor.
42
u u

dacă A3
atunci B3
B3 B3
dacă A2
B2 atunci B2 B2
dacă A1
B1 atunci B1 B1

x x

A1 A2 A3 A1 A2 A3
Fig. 3.6. Aproximarea prin petice dreptunghiulare cu PF
CC (neomogene) aproximează caracteristica tot prin petice fuzzy dreptunghiulare.
u

Fig. 3.7. Aproximarea prin petice fuzzy dreptunghiulare cu CC


Aşa cum s-a văzut în §3.2.1 CF Sugeno pot fi tot atât de bine utilizate în cadrul MPL,
întrucât au aceleaşi valenţe de aproximator ca şi CF Mamdani.
Deseori caracteristica de comandă apare sub forma bidimensională a suprafeţei de co-
mandă definită de exemplu în cazul unui regulator FPD de funcţia u(ε, ε ). Când numărul variabi-
lelor de intrare creşte, caracteristica intrare-ieşire devine o hipersuprafaţă de comandă, aproxi-
mabilă prin elemente de suprafaţă cuadratice.
Problema alegerii legii de conducere rămâne în esenţă la latitudinea expertului. O premi-
să favorabilă de abordare a proiectării euristice a bazelor de reguli este demonstrarea echivalen-
ţei dintre RF Sugeno şi regulatoarele lineare (L. Foulloy, S. Galichet, '98). Rezultă că sunt oricând
posibile analogii între cele două categorii de controlere.
O aplicaţie revelatoare pentru posibilităţile MPL este propusă tot de K. Stoll: reglarea po-
ziţiei unui servomecanism acţionat printr-un motor electric, printr-un controler având o singură
intrare, eroarea de poziţie ε. Dificultatea acestei aplicaţii provine din necesitatea utilizării unei
caracteristici de comandă neliniară. Dacă în timpul tranziţiilor componenta proporţională trebuie
redusă pentru evitarea suprareglajelor, în regim staţionar ea trebuie crescută pentru asigurarea
unei precizii mulţumitoare. Un RF cu rezultate satisfăcătoare şi uşor de acordat este alcătuit din
doar patru reguli:
 dacă ε este pozitivă mare atunci u este pozitivă medie
 dacă ε este pozitivă mică atunci u este pozitivă mare
 dacă ε este negativă mare atunci u este negativă medie
 dacă ε este negativă mică atunci u este negativă mare

43
3.3.2. Metodologia fuzzy-interpolativă - particularizare a MPL
În majoritatea aplicaţiilor din acest curs, pentru a păstra echivalenţa cu tabelele de cău-
tare cu interpolare liniară, MPL se va aplica în următoarea variantă: controlerul va fi PD, de tip
Sugeno cu inferenţă prod-sum şi cu partiţii triunghiulare de intrare. Funcţionarea unui astfel de
regulator, denumit generic regulator fuzzy-interpolativ, este ilustrată în fig. 3.8.
Suprafaţa de comandă rezultantă este identică cu cea a unui tabel de căutare bidimen-
sional cu interpolare liniară. Valorilor modale ale partiţiilor fuzzy de intrare ε i , ε j , ui, j cu i = 1 ...
5, j = 1 ... 3 le corespund nodurile de interpolare.
În cazul aplicaţiilor la care condiţiile impuse prin caietul de sarcini permit adoptarea unei
suprafeţe de comandă cu discontinuităţi, sensul fuzzy  interpolator, care a fost urmărit până
acum poate fi inversat, prin înlocuirea inferenţei prod-sum cu inferenţa min-max, care are avan-
tajul vitezei, datorită reducerii volumului de calcule. Prin urmare de la un regulator interpolator
putem ajunge la unul fuzzy cu inferenţă min-max.
În continuare prin metodologia fuzzy-interpolativă vom înţelege un ansamblu flexibil de
operaţii, incluzând:
 analizarea calitativă a procesului şi a unui tip de regulator adecvat;
 modelarea lingvistică a regulatorului; scopul modelării lingvistice este evidenţierea calitativă
a interconexiunilor funcţionale dintre parametri structurali ai procesului şi modul de acţiune al
regulatorului;
 modelarea deterministă structurală a procesului şi identificarea prin simulare a punctelor
semnificative de funcţionare (echivalate cu nodurile de interpolare); scopul urmărit prin model
nu este precizia ci stabilirea principalelor modalităţi de control asupra procesului; la identificarea
parametrilor pot fi aplicaţi algoritmii recursivi cunoscuţi (gradientului, celor mai mici pătrate,
euristic, etc.), etc.;
 stabilirea bazei de reguli sub forma tabelelor de inferenţă McVicar-Whelan şi implicit a carac-
teristicii de comandă; în locul generării automate a regulilor se preferă generarea euristică;
 alegerea unei soluţii de implementare te tip interpolativ.

44
L( ε )
DE1 DE2 DE3
negativă mică pozitivă
1
μDE2( ε )
μDE3( ε )
0 ε
ε 1 ε 2 ε (t) ε 3
μE4(ε) μE5(ε) Regulile activate:
ε
E5 R4,1: dacă ε este E4
pozitivă şi ε este DE2
mare R5,1 R5,2 atunci u este u4,2
R5,3
ε5
R4,2: dacă ε este E4
şi ε este DE3
ε(t)
E4 atunci u este u4,3
R4,1 R4,2 R4,3
pozitivă ε4 R5,1: dacă ε este E5
medie şi ε este DE2
atunci u este u5,2
L(ε) 1 0 ε3 R3,1 R3,2 R3,3
R5,2: dacă ε este E5
E3 mică
şi ε este DE3
E2 atunci u este u5,3
negativă R2,1 R2,2 R2,3
medie ε2 Gradele de apartenenţă:
μDE2( ε )=( ε 3- ε (t))/( ε 3- ε 2)

E1 ε1 R1,1 R1,2 R1,3 μDE3( ε )=( ε (t)- ε 2)/( ε 3- ε 2)


negativă μE4( ε ) = ( ε 5- ε (t))/( ε 5- ε 4)
mare μE5( ε ) = ( ε (t)- ε 4)/( ε 5- ε 4)

L(u)
1
μE4(ε)μDE2( ε )
μE4(ε)μDE3( ε )
μE5(ε)μDE2( ε )
μE5(ε)μDE3( ε ) u(t) u
0 u5,3 u5,2 u4,2 u4,3

μE4(ε)μDE2( ε )u4,2 + μE4(ε)μDE3( ε )u4,3 + μE5(ε)μDE2( ε )u5,2 + μE5(ε)μDE3( ε )u5,3


u(t) =
μE4(ε)  μDE2( ε ) + μE4(ε)  μDE3( ε ) + μE5(ε)  μDE2( ε ) μE5(ε)  μDE3( ε )

Fig. 3.8. Funcţionarea regulatorului fuzzy-interpolativ PD


Observaţie: Aranjarea axelor figurii a fost făcută astfel încât să corespundă celei a tabelului de
căutare SIMULINK, conform căruia sunt prezentate controlerele din capitolele următoare.

45
Capitolul 4. IMPLEMENTAREA CONTROLERELOR FUZZY
4.1 Posibilităţi de implementare a controlerelor fuzzy
În acest capitol se prezentă principalele metode de implementare a FLC, metode ce pot fi
clasificate în funcţie de tehnologia utilizată în metode software şi metode hardware. La rândul
lor circuitele utilizate în implementările hardware pot fi digitale şi chiar analogice. Dacă imple-
mentările software sunt naturale, cele hardware şi mai ales cele analogice au apărut mai greu,
ele necesitând un nivel tehnologic ridicat. Caracterul continuu al funcţiilor de apartenenţă şi
imunitatea implicită la perturbaţii, proprii sistemelor fuzzy, sunt argumente în favoarea dezvol-
tării în viitor a implementărilor analogice, care vor beneficia de un preţ mai scăzut şi de o viteza
superioară de operare, dar numai în cazul seriilor foarte mari şi în cazul unor aplicaţii din cate-
goria embedded systems.

a) Implementarea prin limbaje de nivel înalt


Există mai multe posibilităţi de implementare prin limbaje de nivel înalt:
 Scrierea programului într-un limbaj specializat pentru descrierea sistemelor fuzzy; printre aces-
te soft-uri se pot menţiona: TIL Shell (Togai), NeuFuz4 (National Semiconductor) beneficiind de
reţele neuronale de învăţare, Fuzzy Control One (National Instruments), etc. Performanţele obţi-
nute în acest mod sunt foarte bune, dar aceste programe sunt de regulă foarte scumpe.
 Majoritatea programelor destinate inteligenţei artificiale au adăugat de-a lungul timpului mo-
dule fuzzy: Clips, Prolog, Matlab, etc.
 Scrierea programelor într-un limbaj de programare de uz general: C, Java, etc.; Această direcţie
oferă avantajele flexibilităţii şi a portabilităţii, dar este relativ laborioasă şi ridică probleme de vi-
teză şi fiabilitate în cazul aplicaţiilor industriale. O astfel de abordare este recomandabilă simulă-
rilor, studierii teoretice a FLC şi aplicaţiilor complexe.

b) Implementarea cu microprocesoare sau microcontrolere de uz general


Pentru implementarea controlerelor fuzzy de complexitate mică sau medie se poate uti-
liza în principiu orice microprocesor sau microcontroler de 8 biţi. Programele se pot scrie direct
în limbaj de asamblare, obţinându-se performanţe bune cu preţul unui volum mai mare de
muncă. Se pot utiliza şi programarea în C sau în alte limbaje specializate, dacă există posibilitatea
generării automate a programului asamblat. Avantajul acestei abordări constă în preţul redus şi
în bogata ofertă de facilităţi software de care se bucură circuitele fabricate pe scară mare. Se pot
însă realiza mai greu aplicaţii complexe, deoarece FLC necesită deseori un volum mare de calcule.

c) Implementarea cu memorii
O soluţie foarte ieftină şi rapidă dar puţin flexibilă o constituie construirea RF ca un tabel
de corespondenţă (funcţie neliniară) între seturile posibile de valori de intrare şi valorile comen-
zilor. Valorile numerice sunt stocate în memorii semiconductoare. Din această categorie fac
parte si sistemele fuzzy-interpolative.

d) Implementarea cu microprocesoare sau coprocesoare fuzzy specializate


Procesoarele analogice sau microprocesoarele specializate pentru FLC reprezintă o solu-
ţie ideală din punctul de vedere al performanţelor, dar preţul acestor circuite este încă ridicat.
46
e) Implementarea cu DSP-uri
După o perioadă de avânt a dispozitivelor fuzzy specializate, în ultimii ani se constată
deplasarea netă a interesului înspre utilizarea DSP-urilor (Digital Signal Processors). Aceste dispo-
zitive numerice, programabile dar în acelaşi timp extrem de rapide pot realiza, fără adaptări spe-
ciale, toate operaţiile necesare conducerii fuzzy. Singura lor limitare este cea impusă de preţul
încă relativ ridicat al dezvoltării aplicaţiilor.

f) Implementarea cu circuite ASIC sau FPGA


Circuitele ASIC, dedicate fiecărei aplicaţii în parte, oferă cele mai bune performanţe elec-
trice, dintre care se disting cea mai mare viteză posibilă, ceea ce le face apte pentru aplicaţiile ca-
re presupun inferenţe cu durată mai mică de 0,1 ms, cum ar fi cazul comenzii aprinderii la motoa-
rele cu ardere internă, precum şi un consum de energie extraordinar de scăzut. Se pune
problema construirii unui circuit ASIC doar în cazul seriilor foarte mari, dar aplicaţiile în serie mai
mică sau prototiparea ASIC-urilor se realizează în ultimii ani prin circuite FPGA.

4.2. Etape ale aplicării în industrie a logicii fuzzy

Dintre principalele industrii, cea a automobilelor a manifestat cea mai bună receptivitate
la conceptul de conducere fuzzy. Exemple se găsesc cu uşurinţă: reglarea fuzzy a regimului de re-
lanti, sistemul AICC (Automatic Intelligent Cruise Control), evaluarea stilului de conducere, co-
manda nivelului sonor al echipamentului audio, a instalaţiei de aer condiţionat, a frânării ABS, a
cutiilor de viteze automate, a ambreiajului, etc. Se manifestă şi intenţii de abordare a dirijării tra-
ficului, a conducerii automate a automobilelor şi în general de aplicare a metodelor IA într-o mă-
sură dictată de considerente pur tehnico-economice.
Există şi aplicaţii în industria spaţială: acţionarea unor subansambluri de poziţionare fină
sau dirijare, diagnosticare, etc. Este de remarcat şi interesul NASA pentru sistemele fuzzy-expert
(Fuzzy CLIPS98).
Deşi unii producători importanţi manifestă un oarecare interes pentru aplicarea logicii
fuzzy în domeniul transporturilor feroviare, (de exemplu GEC-Alsthom), in Europa şi mai ales SUA
se manifestă o oarecare reticenţă, din motive de percepţie a termenului, care nu este uşor de
alăturat conceptului esenţial de "siguranţă a circulaţiei". Pe de altă parte imaginea publică a aces-
tor aplicaţii este cu totul mascată de politicile diferitelor producători, prin protejarea soluţiilor
sau chiar prin disimularea elementelor fuzzy. Rezultă că adevăratul impact al logicii fuzzy în acest
domeniu nu poate fi evaluat nici măcar cu aproximare, probabil singurul său indicator plauzibil
fiind numărul comunicărilor ştiinţifice pe această temă, care la această oră este relativ redus. Pe
plan mondial pot fi totuşi identificate unele aplicaţii de un rafinament deosebit, cum ar fi de
exemplu sincronizarea tracţiunii unei locomotive suplimentare, plasate la coada unui tren, cu
locomotiva principală (India). Operaţia este executată printr-un controler neuro-fuzzy, fără nici o
comunicare între cele două locomotive.
Numărul aplicaţiilor industriale fuzzy nu a crescut continuu, putându-se mai degrabă dis-
tinge anumite perioade de avânt, urmate de altele de stagnare. De exemplu în Japonia, ţara care
a reprezentat cu siguranţă mediul cel mai propice pentru aplicarea CF, primul val fuzzy s-a mani-
festat pe la mijlocul anilor '80, prin aplicaţii în conducerea unor procese industriale complexe. Se
pot aminti conducerea sistemului de trenuri suburbane din Sapporo şi apoi a reţelei de metrouri
Sendai prin sistemul ATO (Automatic Train Operation - Hitachi), conducerea staţiilor de epurare
a apelor (Fuji), conducerea sistemelor de lifturi în mari clădiri (Hitachi), ventilarea supertunelelor
de transport (Toshiba), incineratoare de gunoaie pentru mari oraşe (Mitsubishi), etc. Tipice aces-
tei faze sunt implementările software prin limbaje de nivel înalt FOTRAN, C, etc. şi prin calcula-
toare de proces.
47
În această perioadă au început să apară şi aplicaţii casnice, cum ar fi instalaţia de condi-
ţionare a aerului a lui Mitsubishi, diafragma de 8mm VCR (Sanyo), camera cu autofocalizare şi
compensarea mişcărilor operatorului (Canon, Sony), gestionarea inteligentă a tracţiunii (Subaru)
şi altele, superioare produselor analoge non-fuzzy, dar fără un ecou deosebit în conştiinţa publi-
cului.
Al doilea val de aplicaţii fuzzy s-a propagat până la gama produselor casnice, fiind marcat
de o maşină de spălat marca Panasonic (Matsushita Electric Industrial Co. Ltd.) care a fost lansa-
tă în 1990 sub denumirea Aisai-go Day Fuzzy. A urmat o adevărată explozie a produselor fuzzy,
mai scumpe din cauza dotării cu diferiţi senzori suplimentari, dar având performanţe deosebite.
Astfel termenul "fuzzy" a ajuns să fie receptat de japonezi ca având legătură cu inteligenţa.
Pentru aplicaţiile de masă unele firme japoneze au trecut în acea perioadă la dezvoltarea
unor structuri hardware fuzzy digitale sau analogice. Rezultatele obţinute nu au fost însă pe mă-
sura aşteptărilor, în sensul că nu s-a putut impune o structură hardware fuzzy care să justifice în-
locuirea implementărilor hardware realizate între timp cu DSP-uri, a căror flexibilitate şi capaci-
tate de calcul este absolut suficientă în majoritatea aplicaţiilor.
O trecere în revistă a principalelor instrumente software de dezvoltare a aplicaţiilor fuzzy
include următoarele produse: CubiCalc (HyperLogic Corp.), TILShell (Togai InfraLogic), FuzzyTech
(INFORM), FIDE (Aptronix), RT/Fuzzy (Integrated Systems Inc.), Fuzzy Knowledge Builder (Fuzzy
Systems Engineering) şi Fuzz-C (Byte Craft Ltd.). La acestea pot fi adăugate un pachet software
destinat dezvoltării sistemelor fuzzy-expert aplicat de NASA: FuzzyCLIPS (CLIPS produs de Joh-
nson Space Center Software Technology Branch iar extensia fuzzy de National Research Council
of Canada) şi toolkit-ul Fuzzy Logic Toolbox pentru MATLAB produs de MathWorks Inc.
incluzând interfeţele grafice FIS pentru sisteme fuzzy şi ANFIS pentru sisteme neuro-fuzzy.

4.3. Unele implementări hardware existente


Controlerele fuzzy dedicate pot fi analogice şi digitale. Primul controler fuzzy analogic
Omron FZ-1000 se datorează lucrărilor lui T. Yamakawa, T. Miki, M. Sasaki, J. L. Huertas etc. Ma-
joritatea lor operează în curent dar prototipul primului computer fuzzy analogic YFC-1, proiectat
de Takeshi Yamakawa în 1987 opera în tensiune. Funcţiile de apartenenţă erau modelate prin
eşantioane vehiculate prin intermediul unei magistrale de date analogice.

A(x)
1

0 x

A = (0 0,1 0,2 ......................... 1 1 ............................... 0,2 0,1 0 )


Fig. 4.1 Funcţie de apartenenţă eşantionată producând un cuvânt fuzzy
Pentru inferenţa min-max analogică se porneşte de la circuitele de bază min şi max pre-
zentate în fig. 4.2. Tensiunile reprezentând funcţiile de apartenenţă sunt cuprinse între 0V pentru
A (x)= 0 şi 5 V pentru A (x)= 1.

48
+VCC +VCC

x1 x2 . . . xn IE2
IE1

YMAX
x1 x2 . . . xn YMIN IE1

IE2

-VEE -VEE
Comparator Compensator Comparator Compensator

yMIN 5v yMAX 5v

x2 , x3 , ...= parametri

x1 x1
5v 5v

Fig. 4.2 Porţile MIN şi MAX


Durata unei comutaţii este mai mică de 10 ns.
Pentru obţinerea inferenţei se mai utilizează o poartă cu efect de trunchiere a funcţiilor
de apartenenţă. Viteza realizată este de 10 Mega FIPS (106 inferenţe fuzzy/s).
Alt element de bază al YFC-1 este memoria, realizată cu o combinaţie complexă RAM-
PROM, prin care poziţia unei locaţii codifică valoarea numerică a unui eşantion. Pentru un eşan-
tion există 11 locaţii, corespunzând valorilor 0, 0,5, 1, ... 4,5, 5. Acest gen de memorie este în
mod evident dezavantajoasă din cauza complexităţii sale.
Q(t+1) Q(t+1)
K. Hirota şi K Ozawa au
comunicat realizarea bistabilelor fuzzy,
asemănătoare bistabilelor JK, prin care
se pot memora valori de tensiuni K K
analogice, făcându-se posibilă
construirea de memorii fuzzy propriu-
zise. Sunt menţionate mai multe tipuri
de bistabile (R, S) utilizând diferiţi J Q(t)=0 J Q(t)=1
operatori.
Fig. 4.3 Caracteristici de bistabil fuzzy

La un alt produs de referinţă, procesorul FP-9000 s-a trecut la utilizarea MF de ieşire de


tip singleton, simplificând arhitectura şi accelerând inferenţa. Tehnologia utilizată este BiCMOS
de 2m, asigurând o viteză de 1.400.000 FIPS. Pentru accelerarea defuzzyficării s-a construit un
circuit special, FP-9001 în tehnologie bipolară, viteza controlerului obţinut fiind de 625.000 FIPS.
Procesoarele digitale iniţiate în 1989 de Togai Infra Logic prin FC110 au fost fundamen-
tate de lucrările lui M. Togai, H. Watanabe, W. Dettloff, H. Arikawa, H. Hirota, etc. FC110, reali-
zat în tehnologie Low Power CMOS poate realiza operaţii aritmetice, operaţii fuzzy, transferuri
de date etc., beneficiind de platforma de dezvoltare TIL Shell.
49
Dintre controlerele digitale fuzzy pe lângă Togai FC110 se pot menţiona: familiile Omron
FP, American NeuraLogicx NLX (230, 231, 232); controlerele Clokner-Moller, Siemens, etc.
Principala direcţie de dezvoltare a CF digitale era anticipată în 1988 prin arhitectura para-
lelă, pornind de la organizarea matricială a bazei de reguli. Două posibilităţi de inferenţă paralelă
erau identificate. În prima variantă se prelucrează în paralel toate regulile rezultând grade de
apartenenţă care apoi sunt prelucrate secvenţial pentru stabilirea ieşirii ferme. A doua variantă
calculează în paralel gradele de apartenenţă ale tuturor acţiunilor, regulile fiind calculate secven-
ţial. Pe măsură ce noi reguli sunt luate în considerare, gradele de apartenenţă ale acţiunilor de
comandă sunt reactualizate. Cele două variante sunt asemănătoare, prima fiind recomandabilă
când există un număr mare de reguli şi mai puţine ieşiri, în timp ce varianta a doua este recoman-
dabilă în cazul contrar. Totuşi, având în vedere performanţele atinse de dispozitivele de uz gene-
ral (μP, μC, DSP, etc.) care permit microprogramarea funcţionării fuzzy dorite, soluţiile dedicate
nu s-au impus la nivelul aşteptărilor. Această anticipaţie s-a dovedit corectă, calculul paralel
devenind fezabil după anii 2000 chiar şi la nivel de sistem încorporat (embedded system) datorită
progreselor extraordinare ale tehnologiei FPGA.

4.4. Implementarea regulatoarelor fuzzy-interpolative prin circuite analogice


4.4.1. Utilitatea integrării analogice a regulatoarelor fuzzy-interpolative
Premisele realizărilor hardware analogice ale regulatoarelor fuzzy-interpolative sunt:
 structura lor permite implementarea analogică;
 prin realizarea unui circuit integrat fuzzy-interpolativ se vizează realizarea unor regulatoare
integrate adaptive de uz extrem de larg, având un preţ scăzut şi ajustarea facilă, în stare să redu-
că semnificativ complexitatea şi preţul unui sistem de reglare automată adaptivă a proceselor
industriale neliniare;
 arhitectura acestui regulator integrat trebuie să fie analogică sau hibridă; blocurile implicate
direct în reglare trebuie realizate în tehnologie analogică, pentru a se obţine viteză, preţ redus şi
fiabilitate; partea analogică poate fi completată cu o parte digitală necesară autodiagnosticării şi
conectării la reţelele informatice industriale.
Dispunând de un multiplicator analogic se poate obţine un circuit de împărţire, de exem-
plu folosind schema din Fig. 4.4. Astfel în principiu, oricare dintre operaţiile cerute de implemen-
tarea unui interpolator liniar este realizabilă.

y
x
R2
R1
x -
V0 = - (R2 / R1) · (x / y)
+
R3

Fig. 4.4 Schemă de împărţire analogică


Principala problemă ridicată de integrarea analogică este ridicată de realizarea operaţiei
de multiplicare analogică printr-o schemă integrabilă. Mai mult, este de dorit ca această operaţie
să aibă un domeniu de precizie acceptabilă cât mai extins. Soluţiile de multiplicare sau interpo-
lare liniară clasice, bazate modulări ale impulsurilor în durată sau integrări scad mult viteza de

50
operare. La rândul lor multiplicatoarele bazate pe amplificatoare operaţionale necesită scheme
încărcate iar precizia obţinută nu este deosebită.

4.4.2. Circuite translineare


O soluţie fundamentală a problemei este oferită de circuitele translineare (Translinear
Circuits) CT. Aceste circuite au fost dezvoltate iniţial în tehnologie bipolară (B. Gilbert, "Transli-
near Circuits: A proposed Clasification", Electron. Lett., nr. 11, pag. 14-16, 1975), pentru ca ulte-
rior să fie asimilate şi în tehnologie MOSFET (J.N. Babanezhad, G.C. Temes, "A 20-V Four-Qua-
drant CMOS Analog Multiplier", IEEE J. Solid-State Circuits, vol. SC-20, pag. 1158-1168, 1985 şi E.
Seevink, R.J. Wiegerink, "Generalized Translinear Circuit Principle", IEEE J. Solid-State Circuits, nr.
26, pag. 1098-1102, 1991).
În continuare este prezentată schema multiplicatorului analogic CMOS din Fig. 4.5. Multi-
plicarea este realizată prin celula Gilbert funcţionând în patru cadrane (Folded CMOS Gilbert Cell)
formată din tranzistoarele M1, M2, M3, M4, M5 şi M6. Curentul de polarizare a perechii
diferenţiale a intrării y este obţinut din tensiunea de mod comun VCX cu ajutorul circuitului de
liniarizare M9 - M10 şi al oglinzii de curent M11 - M12. Acest curent este reprodus prin efect oglindă
de către perechea M13 - M14 pentru a polariza repetoarele pe sursă M17 şi M18 utilizate la
deplasarea nivelului semnalului de intrare x. M7 şi M8 au rolul de a liniariza intrarea x. Restul
tranzistoarelor contribuie la polarizarea circuitului. Tensiunea VCX este necesară pentru a
menţine tranzistoarele în regim de saturaţie.
Semnalul de ieşire V0 este obţinut cu ajutorul rezistenţelor de sarcină RD şi are valoarea:

V0  2  K N  (W/L) N  K P  (W/L) P  R D  Vx  Vy (4.1)


unde K = μ·COX/2 cu μ mobilitatea purtătorilor (electroni/goluri) şi COX capacitatea unităţii de su-
prafaţă a stratului de oxid iar W/L raportul lăţime/lungime al canalului. Indicii N şi P se referă la
tranzistoarele cu canal n respectiv p din compunerea celulei (M1, M2, M3 şi M4 respectiv M5, M6,
M7 şi M8).
Datorită circuitelor de liniarizare domeniul de funcţionare precisă a multiplicatorului pre-
zentat este mult mai larg decât al unui multiplicator clasic.

Fig. 4.5 Multiplicator CMOS analogic de tip Gilbert liniarizat pentru patru cadrane

51
Cap. 5. Reţele neuronale şi sisteme neuro-fuzzy

În acest capitol se face o prezentare generală a reţelelor neuronale, având ca sursă o


lucrare de sinteză scrisă de Bimal K. Bose: “Neural Network Applications in Power Electronics and
Motor Drives - An Introduction and Perspective”, apărută în IEEE Transactions on Industrial Elec-
tronics, Vol. 54, No. 1, Feb. 2007, pag. 14-33.

5.1. Structuri de tip reţea neuronală


5.1.1. Neuroni biologici şi neuroni artificiali
O reţea neuronală RN (neural network NN în engleză) constă dintr-un număr de neuroni
artificiali interconectaţi. Structura neuronilor artificiali este inspirată din structura neuronilor
biologici prezentată în Fig. 1(a). Neuronul este celula de bază a sistemelor nervoase, capabilă să
proceseze informaţii, prin recepţionarea şi combinarea de semnale provenite de la alţi neuroni
similari, prin mii de trasee de intrare, numite dendrite. Fiecare semnal de intrare (de natură elec-
trică), care trece prin dendrite, trece printr-o sinapsă (legătură sinaptică), ca în figură. Această
legătură este formată dintr-un interstiţiu infinitezimal umplut cu fluid neurotransmiţător care fie
accelerează fie întârzie curgerea semnalului. Aceste semnale sunt acumulate in nucleu (soma),
modificate în mod neliniar la ieşire, înainte de a-şi continua circulaţia spre alţi neuroni, prin
ramurile axonilor, ca în figură. Modularea impedanţei (conductanţei) legăturii sinaptice prin
lichidul neurotransmiţător contribuie la „memoria” sau „inteligenţa” creierului. Conform teoriei
neuronului, suntem înclinaţi să credem că în creierul nostru memoria asociativă şi elementele de
inteligenţă sunt datorate legăturilor sinaptice dintre celule. E interesant să observăm că la
naştere un om are în creier aproximativ 100 de miliarde de neuroni. După depăşirea vârstei de
40 de ani cam un milion de neuroni mor zilnic.
Modelul unui neuron artificial (numit deseori şi element de procesare, neurod, nod, sau
celulă) care urmăreşte îndeaproape structura neuronului biologic, este arătat în Fig. 1 (b). În prin-
cipiu structura sa este asemănătoare unui sumator cu amplificatoare operaţionale. Fiecare sem-
nal de intrare (cu variaţie continuă în timp sau impuls), este modulat printr-un factor numit am-
plificare sau pondere sinaptică PS care poate fi pozitiv (excitant) sau negativ (inhibator), întreg
sau neîntreg. Nodul de însumare acumulează toate semnalele de intrare ponderate împreună cu
semnalul ponderat de polarizare b, după care rezultanta S este prelucrată prin funcţia de activare
FA (nonliniară sau liniară) şi dirijată înspre ieşire.

Funcţia de activare (transfer): Câteva dintre cele mai uzuale FA sunt prezentate în Fig. 2: lineară,
prag, signum, sigmoidală sau log-sigmoidală şi tangentă hiperbolică. O altă familie de funcţii des
folosite este familia funcţiilor Gaussiene. Amplitudinea acestor funcţii poate fi cuprinsă între 0 şi
1 sau între -1 şi 1. Funcţia liniară poate fi unipolară (cuprinsă între 0 şi 1) sau bipolară (între -1 şi
1). Când panta ei este  ea se poate transforma în funcţiile prag respectiv signum. Funcţiile sig-
moidale şi tangenta hiperbolică se întâlnesc frecvent în electronica de putere. Formulele acestor
funcţii sunt prezentate în Fig. 2, unde α este coeficientul (câştigul) prin care se ajustează panta.
Toate aceste funcţii sunt diferenţiabile cu maximul derivatei dF/dS pentru S = 0. Toate aceste
funcţii comprimă într-un fel sau altul răspunsul neuronului între două valori asimptotice (fie -1 şi
1, fie 0 şi 1). Neliniaritatea FA contribuie la neliniaritatea caracteristicilor de transfer ale RN glo-
bale.

52
spre alţi
sinapsă neuroni

axon
dinspre alţi
neuroni

a) neuron biologic

sursă de polarizare
ponderi
intrări sinaptice

ieşire
y
funcţia de
activare
(transfer)

b) neuron artificial

Figura 5.1. Neuronul biologic şi neuronul artificial

53
(a) lineară bipolară (b) prag (c) signum

(d) sigmoidale sau log-sigmoidale (e) tangentă hiperbolică


Figura 5.2. Câteva FA folosite în construcţia neuronilor

5.1.2. Structuri de reţele neuronale artificiale


A. Modele de reţele
Interconectarea neuronilor artificiali formează reţele neuronale artificiale RN (neuro-
computere sau sisteme conecţioniste), cu obiectivul de a emula funcţionalitatea creierului uman,
între-un anumit domeniu, să rezolve probleme ştiinţifice, inginereşti, etc. Structura RN biologice
nu a fost încă înţeleasă pe deplin, astfel că există mai multe modele de RN.
Câteva modele des întâlnite de RN în literatură sunt:

1) Perceptronul 7) Reţele neuro-fuzzy (FNN)


2) Adaline & Madaline 8) Kohonen
3) RN cu propagare inversă – Backpropagation 9) RN cu recurenţă în timp real
(BP)
4) RN cu bază radială (RBNN) 10) Elman
5) RN modulare (MNN) 11) Hopfield
6) RN cu cuantizare prin vector de învăţare (LVQ) 12) Boltzman, etc.

În general RH pot fi clasificate în:


- RN cu propagare directă (feedforward);
- RN cu propagare inversă (feedback);
- RN recurente.

54
În cazul RN cu propagare directă semnalele circulă doar în direcţia înainte (dinspre
intrare înspre ieşire, vezi Fig. 5.3 şi 5.4) în timp ce în cazul reţelelor recurente semnalele pot
circula şi în direcţie inversă sau laterală (vezi Fig. 5.5). În funcţie de natura sistemului emulat, RN
poate fi statică sau dinamică. Pentru sistemele statice se utilizează de obicei RN cu propagare
directă sau inversă, iar pentru sistemele dinamice sau temporale RN recurente. Principala
caracteristică a unei RN este dependenţa sa funcţională intrare-ieşire.

Figura 5.3. (a) Reţea perceptron. (b) Ilustrarea limitei de clasificare a semnalelor de intrare
pentru perceptronul cel mai de sus

B. Reţele neuronale de tip perceptron


Perceptronul (inventat de Frank Rosenblatt la sfârşitul anilor ’50) este o RN simplă cu un
singur strat cu propagare directă (feedforward) care este folosită pentru clasificarea semnalelor
de intrare a căror modele sunt separabile linear. Structura generică a unui astfel de reţea (per-
ceptroni multipli) cu S neuroni, care utilizează o FA de tip prag este prezentată în Fig. 3 (a). Vec-
torul semnalelor de intrare p are R elemente. El este înmulţit de matricea de ponderare W (RXS)
înaintea însumării. Un element oarecare din W, notat Wi,j, asigură conexiunea ponderată dintre
intrarea j şi neuronul i. Vectorului rezultant Wp i se adaugă vectorul de polarizare b constituindu-
se astfel vectorul n = Wp + b. Fiecare semnal de polarizare este generat de o sursă +1 ponderată
ca în figură.
Vectorul de ieşire a este a = prag(Wp + b).

55
Ilustrarea proprietăţii de clasificare a modelelor de semnal de intrare pentru perceptro-
nul cel mai de sus este explicată în Fig. 5.3 (b), pentru intrările p1 şi p2 , unde w1,1 = -1 iar w1,2 = +1.
Aria umbrită din figură clasifică p1 şi p2 care dau ieşire +1, iar aria neumbrită p1 şi p2 care dau ie-
şire 0. Delimitarea celor două zone este reprezentată de dreapta L. Polarizarea are ca efect trans-
laţia orizontală a dreptei L, păstrând aceeaşi înclinare a dreptei, în timp ce ponderile intrărilor
modifică înclinarea dreptei. Pentru mai mult de două intrări limita clasificării este o hiperplan.
Hiperplanul de delimitare a clasificării poate fi proiectat individual, prin alegerea ponderilor şi
polarizării.
O aplicaţie simplă a reţelelor de tip perceptron poate fi izolarea semnalelor corecte de
cele afectate de zgomot, în sistemele electronice de putere. Ele pot fi antrenate şi pentru rezol-
varea funcţiilor complexe booleene, cu semnale logice de intrare şi identificarea caracteristicilor
răspunsurilor sistemului de execuţie.
Reţelele neuronale de tip Adaline si Madaline (Adaline multiple) au aceeaşi structură ca şi
a perceptronului, cu diferenţa că FA este de tip liniar bipolar. Reţelele neuronale liniare pot oferi
doar dependenţe intrare-ieşire liniare. Pe lângă utilizarea în clasificarea formelor ele mai pot fi
folosite la liniarizarea funcţiilor neliniare (aproximarea funcţiilor neliniare) sau asocierea forme-
lor.

C. Reţele neuronale de tip propagare inversă (backpropagation)


Topologia cu propagare inversă formată din mai multe straturi între care propagarea
este directă prezentată în Fig. 5.4 este cel mai des utilizat în electronica de putere şi acţionările
electrice. Termenul propagare inversă – backpropagation provine din modul în care se realizează
procesul de antrenare supervizată a reţelei, prin cele două blocuri din partea de jos a figurii 4.
Aceasta reţea poate fi numită şi perceptron multistrat (multilayer perceptron MLP), din cauza că
provine din perceptronul prezentat anterior, dar FA poate diferi de funcţia prag. Reţelele MLP
sunt mult mai puternice decât cele de tip perceptron. Algoritmul de antrenare supervizată prin
reacţie inversă a erorii a fost descris pentru prima dată de Paul Werbos în 1974. Alte contribuţii
au adus Rumelhart, Hinton, Williams, McClelland, Parker, LeCun, etc.
În exemplul din Fig. 5.4. există trei semnale de intrare X1 , X2 şi X3 şi două de ieşire Y1 şi Y2.
Cercurile reprezintă neuroni cu FA asociate (care nu sunt reprezentate), iar ponderile sunt indica-
te prin linii întrerupte (adesea nu sunt nici ele reprezentate). Reţeaua e formată din trei straturi:
(a) stratul de intrare, (b) stratul ascuns şi (c) stratul de ieşire. Cu cei cinci neuroni în stratul as-
cuns, reţeaua se simbolizează 3-5-2. Stratul de intrare nu face altceva decât să distribuie semna-
lele înspre stratul ascuns, motiv pentru care uneori reţeaua este considerată ca având de fapt
numai două straturi. Sursa de polarizare este în mod normal cuplată atât la stratul ascuns cât şi la
cel de ieşire, deşi în figură, pentru simplitate, este prezentată doar legătura cu stratul ascuns.
Deşi reţeaua prelucrează variabile continue, semnalele de intrare şi de ieşire pot fi continue,
logice, sau discret bidirecţionale. Dacă intrările/ieşirile sunt bipolare neuronii stratului ascuns vor
avea de obicei FA tangentă hiperbolică iar cei ai stratului de ieşire vor avea FA liniare bipolare. Pe
de altă parte, pentru semnale unipolare, aceste FA pot fi sigmoidale respectiv unipolar liniare.
Semnalele în RN sunt normalizate, motiv pentru care este nevoie de operaţiuni de scalare atât la
intrare cât şi la ieşire. Deşi teoretic RN cu trei straturi pot rezolva toate problemele de aproxi-
mare funcţională, ocazional se pot utiliza mai mult de trei straturi.
Ca şi într-o reţea neuronală biologică, în care memoria şi inteligenţa sunt distribuite în
sinapse, în cazul RN artificiale aceste atribute sunt distribuite în PS. Acest tip de inteligenţă
permite operaţiile primare cerute reţelelor: aproximările funcţionale şi recunoaşterea formelor.
Astfel se pot construi şi memorii asociative, la care atunci când anumite forme de semnal (pat-
tern) sunt aplicate la intrare, la ieşire sunt generate forme corespunzătoare de semnal. Aceste
recunoaşteri şi generări de forme devin posibile prin antrenarea adecvată a RN.

56
O trăsătură distinctă a neurocomputing-ului este aceea că el devine extrem de rapid când se
implementează cu ajutorul unor structuri masive de calcul paralel, de tipul cip-urilor ASIC. Un cir-
cuit ASIC dispune de memorii RAM/ROM, în care PS pot fi memorate iar FA pot fi implementate
prin tabele de căutare. Această tehnică diferă de tehnicile DSPP (microcomputere bazate pe cal-
cul secvenţial) care sunt mai lente. Tot datorită calculului paralel RN sunt tolerante faţă de defec-
ţiuni, deteriorarea unor PS sau a unor legături nu afectează semnificativ calitatea semnalului de
ieşire. RN prezintă şi proprietăţi de filtrare armonică sau a zgomotului.

polarizare
strat ascuns

legătura
strat intrare
strat ieşire

scalare ieşire

scalare intrare pondere model de


date de ieşire
realizat

algoritm de
ajustare a
ponderilor

model de
date de ieşire
dorit

Figura 5.4. Reţea neuronală cu propagare inversă cu trei straturi

1. Antrenarea prin propagare inversă (backpropagation): spre deosebire de programarea con-


venţională, specificul RN constă din posibilitatea de antrenare supervizată pornind de la seturi de
date de antrenare. Acest procedeu este similar învăţării din reţelele neuronale biologice.
Pentru început trebuie generat setul de date de antrenare, care poate fi obţinut fie pe bază
experimentală (prin înregistrarea vectorilor de intrare-ieşire din sistemul studiat în condiţii sem-
nificative, de exemplu răspunsul indicial), fie prin simulări pe calculator, fie chiar prin metode
analitice. Se creează o configuraţie iniţială a reţelei cu compoziţia straturilor de intrare şi de ieşire
dictată de dimensiunile vectorilor semnalelor de intrare/ieşire, cu un strat ascuns compus dintr-
un număr limitat de neuroni şi de FA corespunzătoare. Valori aleatoare dar suficient de mici pen-
tru a nu satura neuronii sunt alese pentru iniţializarea funcţiilor de activare. Apoi se aplică la
intrare setul de date ales şi se urmăresc ieşirile furnizate de reţea, care sunt comparate cu setul
57
de date de antrenare de ieşire. Se calculează eroarea E (de obicei sub forma erorii medii pătratice
MSE – mean square error sau a sumei pătratelor erorilor SSE – sum square error). În continuare
ponderile sunt modificate printr-un algoritm de bazat pe propagarea inversă, până când eroarea
scade sub o limită acceptabilă. Un astfel de ciclu de calcul se numeşte epocă. Antrenamente simi-
lare se repetă pentru toate seturile de date de antrenare, până se reuşeşte satisfacerea ansam-
blului cerinţelor, caz în care RN se consideră a fi suficient de bine antrenată. În cazul în care con-
vergenţa antrenării este nesatisfăcătoare se măreşte numărul neuronilor stratului ascuns sau
chiar se adaugă straturi ascunse suplimentare. S-a demonstrat că o RN cu trei straturi poate în
principiu rezolva orice problemă de aproximare funcţională.
În locul prelucrării câte unui singur set de date de antrenare, în mod secvenţial, se poate
utiliza antrenamentul în grup, în care toate seturile de date de antrenare sunt procesate simul-
tan.
Ajustarea ponderilor în sensul minimizării erorilor utilizează tehnica gradientului scăzător
sub forma sa standard, în care ponderile sunt iterate pe rând, începând dinspre stratul de ieşire.
Să considerăm că o reţea a fost antrenată cu setul de date de intrare p, iar eroarea pătratică pen-
tru toţi neuronii stratului de ieşire este


Ep = d p  y p 2 = Q d jp  y jp 2 (5.1)
j 1
p p
unde d j este ieşirea dorită a neuronului j din stratul de ieşire, y j este ieşirea actuală a aceluiaşi
p p
neuron, Q este dimensiunea vectorului de ieşire, d este vectorul dorit la ieşire iar y este vec-
torul actual de ieşire. Suma totală a pătratelor erorilor SSE pentru o mulţime de P seturi de date
de antrenare este

SSE = E =
P
Ep = 
P Q
p
 p
 dj  yj 
2
(5.2)
p 1 p 1 j 1
Ponderile neuronilor sunt ajustate în sensul minimizării valorii funcţiei obiectiv SSE, con-
form ecuaţiei
 δE p 
Wij(k+1) = Wij(k) - η    (5.3)
 δWij ( k ) 
 
unde  este rata de învăţare, Wij(k+1) este noua pondere dintre neuronii i respectiv j iar Wij(k)
ponderea anterioară. Ponderile sunt recalculate iterativ pentru toate cele P seturi de date de
antrenare. Uneori se ia ca funcţie obiectiv eroarea medie pătratică (MSE = SSE / Q). Pentru a ne
asigura că SSE converge înspre minimul global (adică nu este captat de un minim local), un ter-
men  ∙ [Wij(k) - Wij(k-1)] este adăugat la dreapta ecuaţiei (3),  având o valoare mică. O altă
îmbunătăţire a algoritmului este posibilă prin adoptarea unei rate de învăţare adaptive
 (k+1) = u ∙  (k) cu u <1 (5.4)
astfel încât să se minimizeze oscilaţiile posibile pe durata stabilizări în punctul de minim global.
Mai multe metode de antrenare cu propagare inversă au fost propuse, dar algoritmul
Levenberg–Marquardt (L-M) este de departe cel mai popular, datorită convergenţei sale rapide.
Odată antrenată reţeaua ea trebuie testată cu seturi de date intermediare. În mod normal
antrenarea RN se face prin programe specializate cum ar fi Neural Network Toolbox din pachetul
Matlab.

2. Antrenarea online: În antrenamentul offline, prezentat mai sus, ponderile RN odată stabilite
rămân fixe sau neadaptive. În multe aplicaţii RN trebuie să emuleze funcţii neliniare sau variabile
în timp, caz în care RH necesită antrenarea continuă online. Acest gen de RN se numeşte

58
adaptivă deoarece fie ponderile fie chiar structura lor sunt adaptive. Variante rapide şi
îmbunătăţite ale algoritmilor cu propagare inversă (L-M de exemplu) pot fi aplicate în antrenarea
online, fie rulând pe PC-uri de mare viteză, fie pe DSP-uri, dacă viteza procesului nu este foarte
ridicată. Din fericire viteza DSP-urilor a crescut mult în ultimii ani iar costul memoriilor a scăzut.
Dacă domeniul de variaţie a parametrilor procesului este cunoscut dinainte, RN poate fi
antrenată offline cu parametrii nominali, după care ajustarea adaptivă online cade în sarcina
DSP-urilor de mare viteză. Un algoritm de schimbare aleatorie a ponderilor (random weight
change RWC) a fost propus pentru creşterea vitezei de învăţare online. Metodele bazate pe
filtrele Kalman extinse pot fi de asemenea aplicate.

reacţii cu
întârziere

semnale de
ieşire
semnale de
intrare

proces

ANN

Figura 5.5. Structura unei reţele neuronale recurente în timp real RNN (a) cu schema bloc a
antrenării

59
5.2. Sisteme neuro-fuzzy

Neuronii din componenţa reţelelor neuronale sunt aranjaţi în straturi, capacitatea de


reprezentare a reţelei depinzând de mărimea şi de numărul straturilor. Dacă funcţiile neuronale
sunt norme t sau s se obţin neuroni logici de tip AND şi OR. Cu aceştia se pot construi reţele mul-
tistrat capabile să modeleze o mare varietate de funcţii logice. O astfel de structură (denumită şi
procesor logic), rezultată prin analogie cu logica booleană a fost propusă de Kaoru Hirota şi Wi-
told Pedrycz în 1991. Ea cuprinde trei straturi de neuroni (de intrare, de ieşire şi stratul ascuns),
fiecare strat conţinând neuroni de acelaşi tip.

AND

x1
AND OR
Variabile de intrare y
Ieşire
x2 AND

Strat de intrare Strat ascuns Strat de ieşire

Fig. 5.6 Procesor logic cu reţea neuronală

Controlerul neuro-fuzzy poate fi grefat pe procesorul logic neuronal, fiecare variabilă de


intrare reprezentând gradul de apartenenţă a unei mărimi de intrare la TL corespunzător din CC
aferent mărimii respective. Prin topologia lor, sinapsele codifică regulile de conducere de tip dacă
...atunci. În cazul procesorului logic de mai sus, fiecare nod din stratul intermediar poate fi con-
siderat ca şi corespunzând unei clauze, fiind analog unui minitermen din cazul exprimării analitice
prin forma canonică disjunctivă a funcţiilor logice. În cazul general cunoştinţele sunt “împărţite”
între neuroni şi sinapse, astfel că este cvasi-imposibilă exprimarea inteligibilă a relaţiei fuzzy con-
ţinută în reţea. Se spune în acest caz că reţeaua neuronală „ascunde” informaţiile.
Pe de altă parte reţelele neuronale sunt capabile de a învăţa pe bază de exemple. Exem-
plele constau din seturi de mărimi de intrare şi mărimile de ieşire pe care dorim să le obţinem în
cazul acelor intrări. Învăţarea este de tip parametric, constând din ajustarea ponderilor sinaptice,
astfel încât un anumit indice de performanţă (de exemplu distanţa euclidiană) să fie optimizat.
Dintre parametrii algoritmilor de învăţare, esenţiali sunt convergenţa, fără de care nu s-ar obţine
soluţii şi factorul de învăţare indicând viteza de soluţionare.
Din cele de mai sus rezultă o complementaritate perfectă între reţelele neuronale şi
sistemele fuzzy: în timp ce reţelele neuronale ascund informaţia dar sunt capabile de învăţare
automată sistemele fuzzy sunt capabile de a reprezenta extrem de transparent orice fel de
informaţii/ cunoştinţe, chiar şi cele sub formă lingvistică, dar au nevoie de experţi umani pentru
identificarea soluţiilor.
Din hibridizarea neuro-fuzzy rezultă o clasă de sisteme inteligente de mare popularitate,
care are în acelaşi timp capacitatea re reprezentare a cunoştinţelor formulate lingvistic cât şi cea
de învăţare automată pe bază de exemple.

60
N
Intrare 1
Z

P Ieşire

N
Intrare 2
Z
Evaluarea regulilor
P şi defuzzificarea

Fuzzyficarea Baza de reguli

Fig. 5.7 Controler neuro-fuzzy


Orientativ, în tabelul următor sunt prezentate caracteristicile reţelelor neuronale dintr-o
aplicaţie referitoare la conducerea unor locomotive in tandem (India). Aplicaţia conduce automat
locomotiva terminală a unei garnituri foarte lungi, care circulă în zone muntoase, astfel încât gar-
nitura păstrează un comportament coordonat, fără nici o legătură cu locomotiva din faţă.

Nr. de neuroni
Variabila de intrare strat de strat de strat strat
intrare ieşire ascuns 1 ascuns 2
acceleraţie 1 7 25 25
viteză 1 5 20 -
pantă 1 7 25 25
lungimea trenului în pantă 1 3 15 -
frână 1 3 15 -
greutate 1 3 15 -

Această aplicaţie a fost implementată în mediul NeuFuz4 (National Semiconductors) care


constituie de fapt o platformă de dezvoltare, generând direct programe asamblate pentru familia
de microprocesoare COP800 de 8 biţi. Aplicaţia permite controlul parametrilor principali ai pro-
cesului de învăţare: factorul de învăţare şi viteza de învăţare. Regulile obţinute pot fi apoi adap-
tate pentru forme trapezoidale, şi pentru diferite condiţii impuse de viteză şi de memorie utili-
zată. Reţeaua utilizată are 7 straturi, din care 5 sunt necesare fuzzificării.

61

You might also like