Professional Documents
Culture Documents
Controlled
process
2.1
Fuzzification Inference Defuzzification
Inputs Outputs
(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.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
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:
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) yY, 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
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
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.
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.
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).
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).
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.
3.10
Fig. 3.8. The command surface
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.12
3.13
3.14
3.15
4. Control of Nonlinear Systems Using Phase Trajectories
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
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
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.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
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
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
de
δ[δe] = + 1 δ[δe] = +
δ[δe] = 0 2 δ[δe] = 0
δ[δe] = - 3 δ[δe] = -
δ[δe] = + δ[δe] = + 4
δ[δe] = 0 δ[δe] = 0 5
δ[δe] = - δ[δe] = - 6
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.
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
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.
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
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
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 j1
μ Bj (y) if y [bj, bj+1]
b j b j1
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:
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
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
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.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.
7.5
The design of n-dimensional fuzzy-interpolative controllers starts with 2D LUTs
designed as FPD controllers.
7.6
8. Fuzzy Self-Adaptive Interpolative Controllers
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.
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).
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)
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]).
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.5
PSAIC
P
3-D T(u) Saturation2 Plant
Error D 20 1
Adaptive
compensator
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).
6
PID
4
FSAIC
2
change of error
-2
-4
-6
Fig. 8.8. FSAIC vs. PID behaviours for a 3rd order process
8.7
9. Fuzzy Fusion Self-Adaptive Interpolative Controllers
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]
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.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
Sat 2
Gain
Prod1
Adaptive corrector 1
Fusion
1-u Fcn
controller
Prod2
Adaptive corrector 2
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
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.
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:
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
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
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.
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.
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)
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]
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.
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.20.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.050.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).
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.
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.
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.
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.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.
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.
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
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
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
Fig. 11.3. The model that produced the previous responses
11.3
Fig. 11.5. Main blocks of the model – Evaluare/Scalare
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
Conncentratie_h2o
V
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
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
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
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
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ş
Lucrări practice
- 2014 -
Cuprins
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.
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;
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.
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)
xX
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 xX pentru
care A(x) 0:
supp(A) = { xX A(x) > 0 } (1.4)
Toleranţa mulţimii A este format din mulţimea elementelor xX pentru care A(x)= 1:
tol(A) = { xX 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.
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.
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) , p1
x t y = max[0, (+1)(x+y-1)- x y], -1 x s y = min [1, x + y + x y] , -1
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
8
2.2. Partiţii fuzzy
Partiţia fuzzy PF este un CC care se mai caracterizează şi prin proprietatea:
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ă.
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
Î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).
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)
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 ε .
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.
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ă.
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) yY, i=1 ... n }.
Mamdani Sugeno
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.
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.
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
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.
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.
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.
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).
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).
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.
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.
25
Baza de reguli propusă este următoarea:
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
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
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.
28
În plus reducem baza de reguli la dimensiunea 5 x 5, utilizând numai 5 TL pentru e.
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]
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.
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).
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.
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)
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]
0.5
u & out
-0.5
-1
0 1 2 3 4 5 6 7 8 9 10
t [s]
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]
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
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
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.
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
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.
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
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.
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]
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]
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
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.
50
Fig. 9.2. Baza de reguli
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).
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,
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ş
- 2014 -
Cuprins
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
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ă
5
tol(TC)
TC(θ)
1
reprezentare fermă
reprezentare
fuzzy
0 θ [oC]
temperatură
18 20 22 24 26
supp(TC)
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
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
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
8
Distributivitatea: A(x) (B C)(x) = (A B)(x) (A C)(x)
A(x) (B C)(x) = (A B)(x) (A C)(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.
norme t norme s
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:
(AB)(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
(AB)(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:
(AB)(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
(AB)(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.
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)
13
Se poate adăuga şi în acest caz parametrul p >1, pentru radicalizarea efectului:
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].
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:
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.
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:
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.
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.
unde h: [0 ... 1] [0 ... 1] este monoton crescătoare în intervalul [0 ...1]. Cea mai simplă măsură
a energiei este:
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.
16
1.8. Variabile lingvistice
Familia de mulţimi fuzzy A = {A1, A2, ... Ac} formează un cadru cognitiv CC dacă îndepli-
neşte următoarele două condiţii:
17
A1 A2
1 A3
x
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
Ascunderea informaţiei. Prin gruparea elementelor xX î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.
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
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
Î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
Reprezentarea cunoştinţelor poate fi sintetizată prin relaţia fuzzy R care combină toate
cele N reguli de conducere:
N
intrări ieşiri
ferme ferme
BAZA DE REGULI DE CONDUCERE
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.
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)
eE, deDE
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) yY, 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
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
Y y1 y2
COG
y
y0 COG y0 MOM
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
Cea mai importantă clasificare a CF a fost amintită deja în § 2.2. Reamintim terminologia
rezultată din ea:
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ă.
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.
TRADUCTOR AL REGULATOR
ÎNCĂRCĂRII FUZZY
MOTORULUI PT. ADAPTARE
REGULATOR AL
INJECŢIEI DE MOTOR
Valoare + COMBUSTIBIL Turaţie
Impusă _
TAHOGENERATOR
CONTROLER PROCES
Intrare FUZZY CONDUS Ieşire
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
36
3. Regulatoare fuzzy în conducerea adaptivă a proceselor
3.1. Dezvoltări ale controlerelor fuzzy
valoare P
impusă + - + +
D Proces
+ + +
d /dt I
C
Controler fuzzy
ε 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.
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.
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
ε ε
ε ε
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
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)
L(u)
1
μE4(ε)μDE2( ε )
μE4(ε)μDE3( ε )
μE5(ε)μDE2( ε )
μE5(ε)μDE3( ε ) u(t) u
0 u5,3 u5,2 u4,2 u4,3
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.
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.
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.
A(x)
1
0 x
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
y
x
R2
R1
x -
V0 = - (R2 / R1) · (x / y)
+
R3
50
operare. La rândul lor multiplicatoarele bazate pe amplificatoare operaţionale necesită scheme
încărcate iar precizia obţinută nu este deosebită.
Fig. 4.5 Multiplicator CMOS analogic de tip Gilbert liniarizat pentru patru cadrane
51
Cap. 5. Reţele neuronale şi sisteme neuro-fuzzy
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
53
(a) lineară bipolară (b) prag (c) signum
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
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.
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
algoritm de
ajustare a
ponderilor
model de
date de ieşire
dorit
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
AND
x1
AND OR
Variabile de intrare y
Ieşire
x2 AND
60
N
Intrare 1
Z
P Ieşire
N
Intrare 2
Z
Evaluarea regulilor
P şi defuzzificarea
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 -
61