Il controllo fuzzy

Verrà di seguito illustrato il tipo di controllo fuzzy adottato, che può essere visto come una estensione del PLFC (Piecewise Linear Fuzzy Controller) proposto da Siler e Ying ([5]). Attraverso di esso verrano spiegati meglio e con esempi i concetti di funzione di appartenenza e traduzione di variabile precisa a variabile fuzzy (processo noto come fuzzyfication), applicazione di regole fuzzy (processo noto come inferenza o fuzzy inference) e traduzione di variabile fuzzy conseguente a variabile precisa (processo noto come defuzzyfication). Il PLFC è un controllore di tipo fuzzy di tipo semplificato, dove le funzioni di appartenenza sono spaziate in modo uniforme nell'universo del discorso e sono composte da segmenti lineari, mentre nel caso in esame sono state estese le particolari proprietà di simmetria della tabella delle regole fuzzy da applicare.

Nel caso in esame gli insiemi fuzzy appartenenti all'universo del discorso sono composti da 5 elementi: NB (Negative Big), NS (Negative Small), ZE (Zero), PS (Positive Small), PB (Positive Big). La funzione di appartenenza è rappresentata in figura 3.1 ed è simmetrica. La variabile fuzzy $x$ è normalizzata, senza perdita di generalità, tra $-1$ e $+1$. Se, per esempio, la variabile fuzzy assume un valore normalizzato $0.2$, allora essa apparterrà con grado $0.6$ all'insieme ZE ed con un grado $0.4$ all'insieme PS.

Figure: Funzione di appartenenza.
\begin{figure}\psfig{figure=fig/membership.eps,angle=-90}\end{figure}

Se si hanno due variabili fuzzy, la regola da applicare è quella della intersezione, ovvero

\begin{displaymath}{\mu}_{({\cal A}\cap{\cal B})}=min\{{\mu}_{\cal A}(x),{\mu}_{\cal B}(x)\}\end{displaymath}

Bisogna sottolineare che questa regola, che è conosciuta con il nome di regola AND di Zadeh (o regola del minimo di Mamdani), è solo una delle tante proposte nella vasta letteratura sulla fuzzy logic. Il processo fin qui presentato rientra sotto il nome di fuzzyfication, ovvero la traduzione delle variabili da valori precisi a valori fuzzy.

Il passo successivo è l'applicazione delle regole fuzzy (inferenza fuzzy), ad esempio se la regola i-esima afferma che:

\begin{displaymath}R_i:{\rm IF}\ x\ {\rm is}\ {\em NB}\ {\rm and}\ y\ {\rm is}\ {\em PS},\ {\rm THEN}\ z\ {\rm is}\
{\em ZE} \end{displaymath}

dai valori ricavati dal precedente procedimento per le variabili $x$ e $y$ (NB e PS rispettivamente) si ottiene il valore fuzzy della variabile di uscita $z$ (ZE). Si deve ancora determinare il grado di appartenenza della variabile $z$ all'insieme appena determinato. A tal fine le regole di solito si rappresentano su una matrice del tipo proposto in tabella 3.1 in cui sono anche rappresentate le proprietà di simmetria sopra citate. Ciascun elemento della matrice è il sottoinsieme fuzzy a cui appartiene la variabile di uscita, e in questo caso è un numero reale, cioè un singleton.


Table: Matrice per le regole fuzzy
$y$ $\backslash$ $x$ NB NS ZE PS PB  
NB $-u_{00}$ $-u_{01}$ $-u_{02}$ $-u_{03}$ $-u_{04}$  
NS $-u_{10}$ $-u_{11}$ $-u_{12}$ $-u_{13}$ $-u_{14}$  
ZE $u_{2}$ $u_{1}$ $u_{0}$ $u_{-1}$ $u_{-2}$  
PS $u_{14}$ $u_{13}$ $u_{12}$ $u_{11}$ $u_{10}$  
PB $u_{04}$ $u_{03}$ $u_{02}$ $u_{01}$ $u_{00}$  


Per determinare il grado di appartenenza della variabile $z$ si deve applicare la regola dell'unione. Anche in questo caso sono disponibili molte regole diverse; la regola qui utilizzata è la regola del prodotto di Larsen([11]), da cui si ottiene il singleton dell'uscita:

\begin{displaymath}z_i = min\{{\mu}_{\cal A}(x),{\mu}_{\cal B}(y)\}\cdot u_{ij}. \end{displaymath}

Un'altra regola possibile, ma che nel caso in esame avrebbe reso il controllo troppo grossolano è

\begin{displaymath}z_i = max\{ u_{ij} \} \end{displaymath}

Determinati i valori fuzzy delle uscite, bisogna determinare il valore preciso della variabile di uscita attraverso il processo di defuzzyfication. Anche in quest caso sono stati proposti diversi metodi possibili e il metodo utilizzato qui è il metodo del centro di massa, o centroide. Il valore preciso della variabile di uscita è dato da:

\begin{displaymath}
z = \frac{\displaystyle \sum_{i=1}^N min\{{\mu}_{\cal A}(x),...
...style \sum_{i=1}^N min\{{\mu}_{\cal A}(x),{\mu}_{\cal B}(y)\}}
\end{displaymath} (3.2)

Una semplificazione nel calcolo del valore preciso si ottiene introducendo i concetti generalizzati di unione e intersezione sopracitati: le norme triangolari o T-norme. Di nuovo esistono in letteratura ([6], [8], [9]) diverse norme proposte e le regole presentate prima sono solo due casi particolari di T-norma.

T-norma
(o AND generalizzato) è definita come

\begin{displaymath}\hbox{ {\bf T}}:[0,1]\times [0,1] \rightarrow [0,1]\end{displaymath}

ed ha le seguenti proprietà:

\begin{eqnarray*}
&\hbox{{\bf T}}(0,0)=&0 \quad \hbox{{\bf T}}(1,1)=1 \cr
&\hbox...
...f T}}(1,x)=&x \quad \hbox{{\bf T}}(x,y)=\hbox {{\bf T}}(y,x) \cr
\end{eqnarray*}


T-conorma
(o S-norma o OR generalizzato) è definita come

\begin{displaymath}\hbox{ {\bf S}}:[0,1]\times [0,1] \rightarrow [0,1]\end{displaymath}

ed ha le seguenti proprietà:

\begin{eqnarray*}
&\hbox{{\bf S}}(0,0)=&0 \quad \hbox{{\bf S}}(1,1)=1 \cr
&\hbox{{\bf S}}(0,x)=&x \quad \hbox{{\bf S}}(x,y)=\hbox{{\bf S}}(y,x) \cr
\end{eqnarray*}


Inoltre vale sempre la seguente proprietà:

\begin{displaymath}\hbox{\bf {S}}(x,y)=1-\hbox{\bf {T}}(1-x,1-y). \end{displaymath}

È interessante notare come valga ancora il teorema di De Morgan nella forma: $ \hbox{ \bf {T}}(x,y)=1-\hbox{\bf {S}}(1-x,1-y) $ e $ \hbox{
\bf {S}}(x,y)=1-\hbox{\bf {S}}(1-x,1-y). $

Sostituendo l'equazione 3.1 con la particolate T-norma definita da ([7], [10]):

\begin{displaymath}\hbox{\bf{T}}({\mu}_{\cal A}(x),{\mu}_{\cal B}(y)) = \frac{mi...
... {\mu}_{\cal A}(x)\odot {\mu}_{\cal B}(y)}{2}, \footnotemark \ \end{displaymath}

il denominatore della frazione definita da 3.2 ha sempre valore unitario, per cui il valore preciso della variabile di uscita vale:

\begin{displaymath}z_i=\sum_{i=1}^N \hbox{\bf {T}}({\mu}_{\cal A}(x),{\mu}_{\cal B}(y))\cdot u_{ij} .\end{displaymath}

Bofh 2004-02-09