SISTEMI FUZZY - Mondo Digitale - Numero...

12
MONDO DIGITALE •n.1 - marzo 2003 1. FUZZY? Q uando introdusse il concetto di fuzzy set 33 anni fa [4], Lofti Zadeh, iraniano emi- grato a Berkeley, poté cogliere solo in parte l’impatto che questo avrebbe avuto sui set- tori più disparati, dal controllo, alle basi di dati, dalla modellistica, alla programmazione dei calcolatori, alla realizzazione di oggetti di consumo appetibili e affidabili. Le applicazio- ni fuzzy nel mondo sono ormai milioni e ne vengono realizzate di nuove in numero sem- pre crescente. Controllori fuzzy fanno parte dei sistemi ABS (Antilock Braking System) delle automobili, nelle lavatrici, aspirapolve- re e videocamere, nei robot che giocano a calcio e in quelli industriali, nei treni della metropolitana e nelle sonde spaziali. Sistemi fuzzy supportano decisioni economiche e si- stemi di controllo di qualità, permettono di trovare informazioni in rete e in basi docu- mentali, supportano nella selezione del per- sonale e nell’interpretazione di immagini. Da dove viene questo successo? Zadeh, uno dei ricercatori che negli anni ’60 aveva contributo allo sviluppo delle teorie dell’automazione, a un certo punto si accor- se che i modelli matematici che venivano uti- lizzati in quell’ambito non erano adeguati a rappresentare semplici concetti di uso comu- ne, come “caldo” o “alto”. Avrebbe voluto in- cludere della conoscenza comune nei suoi modelli, ma i concetti qualitativi che veniva- no usati dagli esperti mal si adattavano alla forma matematica fino ad allora disponibile per rappresentare modelli. Erano anche gli anni in cui venivano sviluppati i primi sistemi esperti e in cui si cominciava a formalizzare la conoscenza. Era chiaro da secoli come i concetti in questione potessero essere rap- presentati con classi; ad esempio, il concetto di “caldo” può essere definito elencando de- gli oggetti caldi, i quali costituiscono un in- sieme definito proprio dal fatto che i suoi membri hanno quella proprietà. La teoria de- gli insiemi è alla base della matematica e del- la rappresentazione della conoscenza e Za- deh propose un’estensione del concetto di insieme, l’insieme fuzzy, dalla quale si è poi giunti a estendere l’aritmetica, la logica, le misure, costruendo gli strumenti per infinite I sistemi fuzzy sfruttano la possibilità offerta dagli insiemi fuzzy e dalla logica fuzzy di rappresentare modelli in termini simbolici che abbiano uno stretto legame con le realtà misurate. Sono, quindi, modelli di facile comprensione e di progettazione relativamente immediata. Vengono sempre più spesso adottati per applicazioni che spaziano dal controllo di impianti industriali al- l’interpretazione delle immagini, dalla classificazione dei dati all’analisi del segnale, dal controllo di elettrodomestici alle applicazioni spaziali. Andrea Bonarini SISTEMI FUZZY 3 3.6

Transcript of SISTEMI FUZZY - Mondo Digitale - Numero...

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1. FUZZY?

Q uando introdusse il concetto di fuzzy set

33 anni fa [4], Lofti Zadeh, iraniano emi-grato a Berkeley, poté cogliere solo in partel’impatto che questo avrebbe avuto sui set-tori più disparati, dal controllo, alle basi didati, dalla modellistica, alla programmazionedei calcolatori, alla realizzazione di oggetti diconsumo appetibili e affidabili. Le applicazio-ni fuzzy nel mondo sono ormai milioni e nevengono realizzate di nuove in numero sem-pre crescente. Controllori fuzzy fanno partedei sistemi ABS (Antilock Braking System)delle automobili, nelle lavatrici, aspirapolve-re e videocamere, nei robot che giocano acalcio e in quelli industriali, nei treni dellametropolitana e nelle sonde spaziali. Sistemifuzzy supportano decisioni economiche e si-stemi di controllo di qualità, permettono ditrovare informazioni in rete e in basi docu-mentali, supportano nella selezione del per-sonale e nell’interpretazione di immagini.Da dove viene questo successo?Zadeh, uno dei ricercatori che negli anni ’60aveva contributo allo sviluppo delle teorie

dell’automazione, a un certo punto si accor-se che i modelli matematici che venivano uti-lizzati in quell’ambito non erano adeguati arappresentare semplici concetti di uso comu-ne, come “caldo” o “alto”. Avrebbe voluto in-cludere della conoscenza comune nei suoimodelli, ma i concetti qualitativi che veniva-no usati dagli esperti mal si adattavano allaforma matematica fino ad allora disponibileper rappresentare modelli. Erano anche glianni in cui venivano sviluppati i primi sistemiesperti e in cui si cominciava a formalizzarela conoscenza. Era chiaro da secoli come iconcetti in questione potessero essere rap-presentati con classi; ad esempio, il concettodi “caldo” può essere definito elencando de-gli oggetti caldi, i quali costituiscono un in-sieme definito proprio dal fatto che i suoimembri hanno quella proprietà. La teoria de-gli insiemi è alla base della matematica e del-la rappresentazione della conoscenza e Za-deh propose un’estensione del concetto diinsieme, l’insieme fuzzy, dalla quale si è poigiunti a estendere l’aritmetica, la logica, lemisure, costruendo gli strumenti per infinite

I sistemi fuzzy sfruttano la possibilità offerta dagli insiemi fuzzy e dalla logica

fuzzy di rappresentare modelli in termini simbolici che abbiano uno stretto

legame con le realtà misurate. Sono, quindi, modelli di facile comprensione

e di progettazione relativamente immediata. Vengono sempre più spesso

adottati per applicazioni che spaziano dal controllo di impianti industriali al-

l’interpretazione delle immagini, dalla classificazione dei dati all’analisi del

segnale, dal controllo di elettrodomestici alle applicazioni spaziali.

Andrea Bonarini

SISTEMI FUZZY

3

3.6

applicazioni, tutte in grado di rappresentareconcetti in modo analogo a quanto fanno gliesseri umani.

2. COS’È UN INSIEME FUZZY?

Per capire cos’è un insieme fuzzy si conside-ri dapprima il concetto di insieme tradiziona-le, che nel seguito verrà chiamato insiemecrisp, per contraddistinguerlo dagli insiemifuzzy. Un insieme è composto da tutti gli ele-menti dell’universo del discorso (l’ambitoche interessa al modellista) che soddisfanouna data funzione di appartenenza. Per uninsieme crisp, la funzione di appartenenza èbooleana, cioè associa ad ogni elemento xdell’universo del discorso un valore “vero” o“falso” a seconda che x appartenga o nonappartenga all’insieme. La funzione di ap-partenenza definisce, quindi, l’insieme epuò avere diverse forme. Per esempio, l’in-sieme dei laureati è definito da una funzionedi appartenenza che ritorna “vero” se e solose la persona x ha conseguito una laurea.Esistono però concetti più qualitativi. Peresempio, a che età una persona è considera-bile come “giovane”? Fino a 20 anni? A 30? A50? Certamente, una persona di 20 anni èconsiderabile come “giovane” più di unapersona di 40… Diviene, allora, importantepoter definire quanto un elemento dell’uni-verso del discorso possegga una certa pro-prietà, o, in altri termini, quanto possa ap-partenere all’insieme degli elementi cheposseggono quella proprietà. È possibile,

dunque, definire una funzione di apparte-nenza per un insieme, che ritorni un valorenell’intervallo da 0 “falso” a 1 “vero”. Questopermette di definire “quanto” si ritiene cheun elemento dell’universo del discorso ap-partenga all’insieme, cioè permette di dareun grado di appartenenza all’insieme nonnecessariamente booleano.Nella figura 1, è riportato un esempio di alcu-ne funzioni di appartenenza definite sulla va-riabile età che caratterizza gli elementi dell’u-niverso del discorso. Si noti la funzione chedefinisce l’insieme delle persone giovani,quella relativa alle persone anziane, e quellarelativa all’insieme delle persone non moltogiovani che, come si vedrà, si può ricavaredalla prima applicando opportuni operatori.È possibile vedere che una persona di 50 an-ni, secondo le definizioni date da chi ha defi-nito queste funzioni di appartenenza, appar-tiene sia all’insieme delle persone non moltogiovani, con un grado di appartenenza relati-vamente elevato, sia all’insieme delle perso-ne giovani con grado basso, sia all’insiemedelle persone anziane, pure con grado basso.L’appartenenza a entrambi questi ultimi dueinsiemi potrebbe sembrare una contraddizio-ne (come può una persona essere allo stessotempo giovane e vecchia?), ma non lo è per ladefinizione che è stata data dei due insiemi,che hanno le funzioni di appartenenza par-zialmente sovrapposte. Questa possibilitàpermette di utilizzare insiemi fuzzy per rap-presentare concetti in ambienti in cui la rile-vazione degli stessi può essere approssimatao incerta, e dà un grande potere descrittivo.La definizione di insieme fuzzy non è cheun’estensione della definizione classica di in-sieme. L’insieme fuzzy ha una frontiera chenon è più una linea netta di demarcazione tragli elementi che appartengono all’insieme equelli che non vi appartengono, ma un’areain cui si trovano elementi classificabili comeappartenenti all’insieme con un certo grado.Per questo l’insieme è detto “fuzzy”, cioè“sfumato”. In figura 2, è possibile notare al-cuni esempi di insiemi crisp e di insiemi fuzzy.Si noti che in linea di principio insiemi crisp einsiemi fuzzy si possono intersecare, inquanto entrambi operano nello stesso uni-verso del discorso e possono esistere ele-menti che appartengono a entrambi.

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

4

Gradodi appartenenza

Giovane Non molto giovane

Anziano

1

0.5

00 50 Età

FIGURA 1Alcune funzioni di

appartenenza

Il termine scelto da Zadeh per denominare inuovi insiemi da lui definiti, rendeva contodella loro peculiare caratteristica, ma costituìuno dei primi ostacoli alla diffusione di que-ste idee: chi avrebbe voluto usare delle cose“sfuocate” quando c’erano tanti modelli ma-tematici a disposizione, precisi e ben definiti?Nonostante questo, il messaggio fu colto,dapprima, in Europa, dove nel 1974 EbrahimMamdani definì delle regole basate sugli in-siemi fuzzy per poter realizzare il controlloredel reattore di un cementificio [3]. Questo èun impianto di difficile modellizzazione ma-tematica, che veniva controllato manualmen-te con successo da operatori che ragionava-no in termini di “temperatura alta” e “pocaacqua”, reagendo a una situazione descrittain termini qualitativi con azioni del tipo “ag-giungere poco cemento” o “aumentare laportata dell’acqua di molto”. Mamdani codi-ficò queste regole in termini fuzzy, che per-mettevano di interpretare i numeri forniti daisensori (o forniti agli attuatori) con i terminilinguistici usati dagli operatori: era nato ilcontrollo in linguaggio naturale.

3. COSA SONO LE REGOLEFUZZY?

Le regole proposte da Mamdani, e da alloralargamente usate, non sono altro che un mo-do per mettere in relazione una descrizionedi una situazione in termini linguistici conun’azione da svolgere, espressa anch’essa aparole. Sono basate su un’altra estensione diun concetto matematico che segue immedia-tamente dall’estensione degli insiemi: la lo-gica fuzzy. I valori di verità di una proposizio-ne non sono più solamente “vero” o “falso”,

ma possono variare in un insieme ordinale,normalmente nell’insieme dei numeri realida 0 a 1. Analogamente, si estendono tutti iconcetti caratteristici della logica. Gli opera-tori logici, negazione (not), disgiunzione (or)e congiunzione (and) vengono ridefiniti inmodo da poter fornire valori coerenti con illoro significato anche per operandi con valorinon booleani, ma reali. L’estensione segue,immediatamente, la definizione dei loro cor-rispondenti nella teoria degli insiemi (com-plemento, unione, intersezione (Figura 3)).

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

5

0

0

0

1

FIGURA 2Due insiemi crispe due insiemi fuzzy.In linea di principioinsiemi crispe insiemi fuzzysi possonointersecare,in quanto entrambioperano nellostesso universodel discorso

Maschi Anziani

Giovani

Insiemi crisp Insiemi fuzzy

Ingegneri

1

1

1

Medio-alto

Non medio-alto

Medio Alto

Medio Alto

Alto Medio

Alto Medio

FIGURA 3Composizionedi funzionidi appartenenzaper gli operatoriinsiemistici

Per esempio, la negazione viene definitasemplicemente come il complemento a 1 del-la funzione di appartenenza all’insieme com-plementare. Indicando con µA(x) la funzionedi appartenenza di un elemento x all’insiemefuzzy A e con A il complementare di A, si hache µA (x)= 1 – ΩµA(x).In logica fuzzy sono poi stati definiti tutti glialtri elementi della logica, quali quantificato-ri, modificatori, meccanismi inferenziali, suiquali non è il caso di dilungarsi in questocontesto, rimandando i lettori interessati al-la letteratura specifica [1]. Per dare un’ideadella potenzialità di queste estensioni si puòcitare il fatto che i modificatori, che hanno ilruolo di modificare il valore di verità di unaproposizione, in logica fuzzy sono in linea diprincipio infiniti, mentre in logica booleana siha la sola negazione, dato che la modifica diun valore booleano (per esempio, “vero”)può solo essere l’altro “falso”. Per esempio,“molto” è un modificatore che deforma lafunzione di appartenenza, e di cui si è vistaun’applicazione nella definizione dell’insie-me “non molto giovane” in figura 1. I quanti-ficatori, che in logica classica sono il quanti-ficatore esistenziale (Esiste un x tale che...) eil quantificatore universale (Per ogni x ...) inlogica fuzzy possono essere infiniti, come adesempio: “Esistono molti x tali che...”, “Perquasi tutti gli x...”, Per qualche x...”. In que-ste frasi, tutti i termini (“molti”, “quasi tutti”,“qualche”) possono essere definiti da altret-tanti insiemi fuzzy che ne rappresentano il si-gnificato in maniera ben definita. Anche imeccanismi inferenziali sono stati fuzzyfica-ti, introducendone le versioni valide per unalogica con valori di verità continui. Per esem-pio, il fuzzy modus ponens è una versionedel classico meccanismo usato per dedurreinformazione da informazione nota, in cui glielementi coinvolti possono avere valori diverità compresi tra 1 e 0. Se ne vedranno de-gli esempi qui di seguito.A questo punto, è possibile rispondere alladomanda: “Cosa sono le regole fuzzy?”Sono rappresentazioni di inferenze logichefatte su composizioni di proposizioni fuzzy,nella forma (X è LX), dove X è una variabiledetta “variabile linguistica” in quanto assu-me come valori i nomi di insiemi fuzzy, e LXè l’etichetta che denota un insieme fuzzy

definito per quella variabile. Sono costituiteda un antecedente, da cui viene ricavato,per inferenza fuzzy, il valore di verità di unconseguente. Anche se antecedenti e con-seguenti, in linea di principio, possono es-sere composti da una qualunque combina-zione di proposizioni fuzzy, nella stragrandemaggioranza delle applicazioni ci si limitaad avere regole in cui gli antecedenti sonoin congiunzione tra di loro e i conseguentipure. Si avranno, quindi, delle regole nellaforma:

if (X is LX) and (Y is LY) and … and (Z is LZ)

then (U is LU) and … and (V is LV)

Per esempio, si può avere una regola che di-ce che “se la temperatura è alta e la pressio-ne è alta, allora la quantità di gasolio da for-nire al bruciatore dell’impianto deve essereridotta di molto”. Questo permetterà di rica-vare il valore dell’uscita a partire dai valoridegli ingressi rilevati, cioè di effettuare un’in-ferenza fuzzy, come si vedrà nell’esempiopresentato nella prossima sezione.

4. UN ESEMPIODI FUNZIONAMENTODELLE REGOLE FUZZY

Nella figura 4, sono rappresentate due variabi-li linguistiche A e B, definite su un insieme disette valori ciascuna. I valori sono insiemifuzzy, definiti da funzioni di appartenenza lecui etichette indicano rispettivamente Negati-vo grande, Negativo medio, Negativo piccolo,Zero, Positivo piccolo, Positivo medio e Positi-vo grande. Si noti che questi insiemi sono defi-niti su un asse di valori reali corrispondenti adue variabili reali associate alle variabili lingui-stiche: grazie all’interpretazione dei valori rea-li in termini di insiemi fuzzy si potrà usare l’in-sieme di regole fuzzy per mappare valori realisu valori reali, attraverso un modello espressoin termini linguistici. Si noti, inoltre, che le fun-zioni di appartenenza hanno tutte la stessaforma e che si distribuiscono uniformementesull’intervallo di definizione delle variabili realiassociate. Questa è una scelta di progetto co-mune, che tra l’altro ottimizza la resistenza delmodello al rumore, ma non è affatto obbligato-

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

6

ria: il progettista può definire le forme che piùsono adatte a rappresentare i concetti coinvol-ti e distribuirle a piacere sull’intervallo di defi-nizione. Esistono anche molti strumenti di otti-mizzazione o di apprendimento automaticodel numero, della forma e della distribuzionedelle funzioni di appartenenza, che si occupa-no di ottenere prestazioni ottimali lavorandosui dati a disposizione e sollevando il progetti-sta da un compito altrimenti oneroso.Nella figura 4, si ha anche un’altra variabilelinguistica, usata per l’uscita, che assume va-lori su un insieme di insiemi fuzzy con unaforma particolare. Si tratta di insiemi fuzzycontenenti un solo elemento ciascuno, senzaulteriori frontiere (“singleton” o “singoletti”).L’uso di questo tipo di valori fuzzy per i con-seguenti di regole fuzzy è pratica comune nelcontrollo fuzzy e non inficia particolarmentela qualità del modello, semplificandone, in-vece, la computazione che, spesso, nel casodel controllo, è fatta su microchip di bassissi-mo costo e complessità.Le regole che sono considerate nell’esempioche segue sono:

R1: if (A is PL) and (B is PS) then (X is PM)

R2: if (A is PM) and (B is PS) then (X is PS)

R3: if (A is PL) and (B is PM) then (X is PM)

Si noti come vengono usate queste regole inuna tipica applicazione di controllo in cui gliingressi numerici vengono interpretati in ter-

mini fuzzy, attivano le regole fuzzy che gene-rano uscite fuzzy che vengono alla fine ripor-tate in termini numerici per essere trasmesseagli attuatori. In altri termini, il controllorefuzzy mappa ingressi reali in uscite reali at-traverso un modello linguistico.

PASSO 1 FUZZYFICAZIONE (MATCHING)I valori reali in ingresso vengono interpretatiin termini di fuzzy set (Figura 5). Per la variabi-le A, il valore in ingresso è appartenente all’in-sieme PL con grado 0,2 e all’insieme PM congrado 0,8. Per la variabile B, il valore in ingres-so è PM con grado 0,4 e PS con grado 0,6.

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

7

0

0

0

1

FIGURA 4Le variabili nelleregole fuzzydell’esempio

FIGURA 5Passo 1:fuzzyficazione

NL NM NS ZE PS PM PL NL NM NS ZE PS PM PL

NL NM NS ZE PS PM PL

A

X

B

0,8

0,2

0,6

0,4

NL NM NS ZE PS PM PL

NL NM NS ZE PS PM PL

A

B123,5

27

PASSO 2 COMBINAZIONE DEI VALORI NELL’ANTECEDENTE

I valori delle diverse clausole nell’anteceden-te vengono combinati con l’operatore “and”(congiunzione) per ottenere il valore comples-sivo dell’antecedente, che indica in sostanzaquanto le condizioni di attivazione della rego-la sono ben rappresentative dei valori di in-gresso al sistema. L’operatore utilizzato è quiil minimo e i risultati sono riportati in figura 6.

PASSO 3 TRASMISSIONE DEL VALORE AL CONSEGUENTE

Ottenuto il valore dell’antecedente, occorretrasmetterlo al conseguente. In generale, èpossibile associare un valore alle regole chene indichi l’importanza. È il numero che in fi-

gura 6 è riportato sotto al termine “then”.Questo viene combinato con il valore dell’an-tecedente, ancora una volta con un operato-re che, anche qui, sarà il minimo. Il valore co-sì ottenuto passa al conseguente. Il significa-to dell’operazione è il seguente: il conse-guente ha un peso che dipende da quanto laregola è adeguata per rappresentare una cer-ta situazione definita dagli ingressi e daquanto è importante in generale. Nell’esem-pio in questione, pur essendo presente unaregola con valore di importanza diverso da 1,questo non ha avuto alcun effetto in quantola combinazione degli antecedenti era già piùpiccola, e l’operatore utilizzato (il minimo)seleziona il valore più piccolo.

PASSO 4 COMBINAZIONE DEI VALORI DEI CONSEGUENTI

Come si può notare anche in questo sempliceesempio, può darsi che ci siano diverse rego-le che hanno lo stesso conseguente ma ante-cedenti diversi. Questo può provocare il fattoche i conseguenti siano associati a pesi di-versi. Occorre aggregare i diversi pesi calco-lati ottenuti per ogni conseguente e questoviene fatto con un operatore, nell’esempio, ilmassimo. Il risultato finale dell’inferenzafuzzy risulta così essere:

(X is PM) con grado 0,4

(X is PS) con grado 0,6

PASSO 5 DEFUZZYFICAZIONE

Il processo inferenziale è terminato, ma ci sipuò riportare a un valore numerico per la varia-bile di uscita associata alla variabile linguisticapresente nel conseguente. Questo è quantofatto, ad esempio, nel controllo fuzzy. L’opera-zione si chiama defuzzyficazione ed è effettua-ta con un operatore scelto in una vasta classe.In questo esempio, viene scelta la semplicemedia pesata, o baricentro, ottenendo il valoreriportato nella figura 7 e calcolato come:

(10 · 0,6 + 20 · 0,4)/(0,6 + 0,4) = 14

Per riassumere e focalizzare quanto presen-tato nell’esempio, si può supporre che A rap-presenti un errore di temperatura e B un erro-re di pressione in un processo industriale eche X sia una variabile di controllo, per esem-

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

8

FIGURA 6Passi 2 e 3:

combinazionedei valori

nell’antecedentee trasmissione

del valoreal conseguente

R1: se (A is PL) e (B is PS) allora (X is PM)

R2: se (A is PM) e (B is PS) allora (X is PS)

R3: se (A is PM) e (B is PM) allora (X is PM)

0,2 0,6

0,2

0,2

0,6

0,4

0,4

0,6

1

0,8 0,6 0,9

0,8 0,4 1

FIGURA 7Defuzzyficazione

NL NM NS ZE PS PM PL

0,6

10 20 X

0,4

pio la quantità di acqua di raffreddamentoper il processo, rispetto a un riferimento. So-no state utilizzate delle regole che stabiliva-no relazioni tra queste grandezze, ad esem-pio R1: “Se l’errore di temperatura è positivoed elevato, e l’errore di pressione è positivo epiccolo, allora la quantità di acqua di raffred-damento è positiva e media rispetto al valoredi riferimento”. Applicando queste regole aglierrori di temperatura e pressione introdottinel sistema come numeri reali, si è ottenutoun valore finale della portata che è a sua vol-ta scelto nell’insieme dei reali. È stato, cioè,utilizzato un modello simbolico, costituito datermini linguistici e regole per calcolare unarelazione tra ingressi e uscite reali.

5. I MODELLI FUZZY

Un insieme di regole fuzzy costituisce unmodello, espresso in termini linguistici, chemette in relazione ingressi e uscite. Si è ap-pena visto che ingressi e uscite possono es-sere numeri reali e che, quindi, il modello è,in linea di principio, applicabile anche laddo-ve vengono applicati modelli matematici.Inoltre, come si è visto, il modello esprime inmaniera precisa dei concetti qualitativi. Nonsi tratta, quindi, come a volte capita di senti-re da chi non conosce questi sistemi, di unmodello “raffazzonato” o “definito mala-mente”; si tratta, invece, di un modello defi-nito in maniera formale, precisa, in termini direlazioni matematiche tra funzioni matema-tiche, le funzioni di appartenenza. In genera-le, è un modello non lineare, che ha numero-se proprietà interessanti, tra cui una buonarobustezza al rumore, e la possibilità di defi-nire l’uscita desiderata in maniera ottimaleper ogni valore degli ingressi. Si veda, peresempio, una tipica superficie di controllo infigura 8: in ascisse e ordinate rispettivamen-te errore e derivata dell’errore di uno degliassi del braccio e sull’asse z l’azione di con-trollo. Si vedrà più avanti come queste pro-prietà ne facciano un ottimo strumento percontrollare sistemi complessi, difficilmenteidentificabili in modo sufficientemente pre-ciso in termini matematici.Proprio queste proprietà hanno portato alsuccesso il controllo fuzzy, che ha cono-sciuto negli anni ’80 un vero boom in Giap-

pone, si dice per la maggior similitudine delmodello con il modo di pensare dei giappo-nesi, rispetto ai modelli matematici. In que-gli anni, furono realizzati controlli fuzzy ditreni, di elicotteri, di impianti industriali eanche di oggetti di uso comune come aspi-rapolvere, macchine fotografiche, lavatricie perfino mini-forni a vapore per cuocere ilriso (rice-cookies).Negli anni ’80 un altro pioniere dei sistemifuzzy, il giapponese Michio Sugeno, avevadefinito un nuovo tipo di regole fuzzy apren-do ulteriori possibilità di modellizzazione [4].Queste regole hanno antecedenti del tuttoanaloghi a quelli delle regole di Mamdani,permettendo di definire con termini linguisti-ci le situazioni in cui vengono attivate. Il con-seguente è, invece, un modello, espresso intermini dei valori (crisp) degli ingressi. Peresempio:

if (A is LA) and (B is LB) and... thenU is f (A, B)

con f (A, B) = a + bA + cB

dove a, b e c sono costanti, mentre A e B so-no i valori numerici delle variabili associatead A e B all’ingresso. In questo esempio, ilmodello che compare nel conseguente del-la regola è un semplice modello lineare, manegli anni successivi sono stati introdotticome conseguenti modelli di ogni tipo, dapolinomi a reti neurali. Questo tipo di rego-le, in altri termini, permette di definire intermini linguistici le condizioni in cui appli-

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

9

0

0

0

1

FIGURA 8Una superficiedi controllo fuzzyper un bracciorobotizzato

0.03

0.02

0.01

0

–0.01

–0.02

–0.031

1

–1 –1

0.5

0.500–0.5

–0.5

care un modello. Inoltre, dato che le condi-zioni sono fuzzy, è possibile combinare leuscite dei modelli presenti nelle diverse re-gole con gli operatori di combinazione vistisopra, ottenendo così una variazione gra-duale (smooth) nell’intervallo tra l’applica-zione di un modello e l’applicazione di unaltro. L’utilizzo di queste regole non solo haintrodotto nuove possibilità di modellizza-zione, ma ha anche permesso di provaredelle proprietà importanti per sistemifuzzy, quali, ad esempio, la stabilità delcontrollore.Il boom del controllo fuzzy in Giappone haportato questa tecnologia all’attenzione ditutto il mondo e le applicazioni sviluppatesono aumentate enormemente negli annifacendo entrare di forza la tecnologia fuzzynel bagaglio di base dell’ingegnere e delmodellista.

6. NON SOLO CONTROLLO

Modelli fuzzy sono usati non solo per il con-trollo, ma anche in tutti quei settori dove ènecessario definire modelli robusti sia a par-tire da informazioni qualitative, sia a partireda dati, utilizzando magari sistemi di sintesiautomatica del modello. Tra i molteplici settori applicativi se ne cita-no, nel seguito, solo alcuni.Rappresentazione dell’incertezza e mo-

delli di conoscenza. Le teorie fuzzy sonostate usate per definire una pletora di mo-delli e misure per la rappresentazione del-l’incertezza [1] (possibilità e necessità,plausibilità e credenza e molte altre), usatinei settori più disparati, anche laddove leteorie probabilistiche non possono essereapplicate. Basandosi su misure di incertez-za si possono, inoltre, definire modelli diconoscenza in cui si tenga conto dell’incer-tezza nei dati e nel modello stesso. Questopermette di presentare come uscita del mo-dello risultati con pesi diversi, invece di do-ver per forza giungere a un unico risultatonel tentativo di eliminare ogni contraddi-zione. Si pensi, ad esempio, a un sistema didiagnosi, in cui i dati siano affetti da incer-tezza o anche solo approssimati, come po-trebbe essere nella diagnosi medica, maanche nella diagnosi industriale di sistemi

in condizione critica (come un impianto infase di avviamento). È certamente preferi-bile ottenere una serie di possibili diagnosipesate da un opportuno indicatore di plau-sibilità, piuttosto che una sola diagnosi chepotrebbe non essere quella corretta a cau-sa di errori nelle rilevazioni.Sistemi di supporto alle decisioni. Spessoun decisore deve prendere decisioni basan-dosi su informazioni qualitative derivate daosservazioni personali. In altri casi, si basasu valutazioni sintetiche ricavate da massedi dati, magari con un processo automaticodi data mining. Gli insiemi fuzzy ben si pre-stano a caratterizzare entrambi i tipi diinformazione, permettendo di esplicitaremodelli altrimenti taciti. Si pensi, per esem-pio, a una decisione di marketing strategicoin cui il decisore pensa in termini di alta obassa ricettività del mercato, alto o bassorapporto prezzo/costo di produzione ecc. Inquesti casi, i dati numerici possono essereinterpretati e aggregati in maniera fuzzy eun sistema di supporto alle decisioni puòpresentare risultati emulando il ragiona-mento del decisore, opportunamente codi-ficato in un sistema fuzzy.Sistemi di information retrieval. Nella ricer-ca di informazioni in documenti e in rete èinteressante poter esprimere richieste“soft”, magari associate a indicatori lingui-stici o numerici relativi all’importanza dataai vari termini. I motori di ricerca combinanocon operatori fuzzy questi indicatori e le ca-ratterizzazioni fuzzy delle richieste, con altriindicatori risultanti dall’operazione di ricer-ca e possono così fornire delle risposte chesoddisfano l’utente. Si possono, così, espri-mere richieste del tipo: “Vorrei indicazionisui prezzi delle auto veloci e con bassi con-sumi apparse sul mercato negli ultimi tem-pi”. Un’analoga richiesta trattata con siste-mi basati sul concetto di intervallo richiedeuna definizione rigida dei concetti “veloce”,“basso” “ultimi tempi”, introducendo lapossibilità di esclusione di risultati interes-santi che con un sistema fuzzy sarebbero,comunque, tenuti in considerazione, con gliopportuni pesi.Sistemi di interpretazione del segnale. An-che in questo caso, si tratta di modelli chepermettono di valutare caratteristiche del

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

10

segnale. Ad esempio, si può avere un siste-ma di visione in cui vengono riconosciutioggetti per il loro colore. Il colore è, general-mente, rappresentato da una tripletta di va-lori numerici. Anche qui, è possibile definiregli insiemi fuzzy su queste variabili cheidentificano il colore desiderato. Altre carat-teristiche di segnali possono essere identi-ficate in termini fuzzy per portare a unaclassificazione degli stessi. Ad esempio, sipotrebbe dire che “se la frequenza del se-gnale è alta, e i picchi sono elevati, ma irre-golari, allora il segnale corrisponde a una si-tuazione non critica”.Sistemi di previsione di serie storiche. Inquesto caso, una delle modalità di applica-zione di sistemi fuzzy consiste nel rappresen-tare in termini fuzzy particolari caratteristi-che degli andamenti della serie storica (peresempio, l’andamento delle quotazioni dimercato di un bene) e nell’associarvi dei mo-delli previsionali, magari ricavati con sistemiautomatici quali reti neurali.

7. APPLICAZIONI FUZZY

Vengono presentate, ora, più in dettaglio, al-cune applicazioni paradigmatiche che per-metteranno di capire le potenzialità di que-sta tecnologia, non solo nel settore del con-trollo, ma anche in quello dell’information re-

trieval, dei sistemi di supporto alle decisionie nella modellistica in generale.

7.1. Controllo della frenata di un treno di unametropolitana e del volo di un elicottero:un’azione di controllo per ogni situazioneEsistono situazioni in cui il sistema da con-trollare ha configurazioni e caratteristichediverse nel tempo. È, quindi, necessario de-finire un sistema di controllo per ogni condi-zione di esercizio. Se queste cambiano con-tinuamente e se il cambiamento non è diret-tamente misurabile, è possibile definire uninsieme di regole fuzzy, ognuna in grado dicoprire una particolare situazione. La com-binazione delle regole fuzzy permette diavere un controllo che varia in continuità alvariare delle variabili di ingresso. Per questimotivi, il controllo della frenata del trenodella metropolitana di Sendai, in Giappone,fu realizzato negli anni ’80 con tecniche

fuzzy. Il treno era in grado di frenare in ma-niera precisa e molto morbida qualunquefosse il carico di passeggeri. Ne risultò unmaggior comfort per i passeggeri e un ri-sparmio notevole di energia, rispetto allafrenata realizzata da operatori umani.Un altro esempio è il controllo di un mini eli-cottero, effettuato da Sugeno sempre neglianni ’80. L’elicottero era in grado di eseguirecomandi vocali con buona precisione, pursottoposto a raffiche di vento non costanti,che cambiavano di continuo le condizionioperative.

7.2. Controllo di una lavabiancheria: con-trollo efficace a basso costo su beni dilargo consumoGrazie alla possibilità di realizzare control-lori fuzzy su chip a bassissimo costo e allaloro buona robustezza nei confronti di se-gnali di cattiva qualità provenienti da sen-sori a basso costo, sistemi fuzzy sono statiusati per rendere più semplice l’utilizzo dibeni di consumo quali lavatrici, aspirapolve-re, condizionatori, telecamere, automobili,frullini ecc. Così, si hanno sul mercato lava-trici (anche di produttori italiani, divenutileader di questa tecnologia) in grado di ca-pire autonomamente che tipo di panni stan-no lavando e di adeguare di conseguenza ilciclo di lavaggio, tra l’altro sciacquando so-lo finché è necessario, con notevoli risparmidi acqua ed energia. Si hanno aspirapolverein grado di ridurre la potenza del motorequando sono puntate contro delle tende, eaumentarla sul pavimento. Si hanno teleca-mere in grado di mantenere a fuoco oggettiin movimento e di ridurre le accidentali vi-brazioni della mano.A titolo d’esempio, si veda come una lavatri-ce, a un costo bassissimo e compatibile conle esigenze di mercato, può capire che tipodi panni deve lavare. Ogni lavatrice caricaacqua finché un semplice interruttore pneu-matico (pressostato) non viene attivato dal-la pressione stessa dell’acqua nella vasca.Quando l’acqua entra nella vasca viene as-sorbita dai panni con un tempo di solito su-periore a quello di attivazione del presso-stato, e diverso a seconda del tipo di tessu-to usato. Dopo un certo tempo, si ha, quin-di, una diminuzione della quantità d’acqua

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

11

0

0

0

1

nella vasca a spese dell’acqua assorbita daltessuto. Il pressostato scatta e l’acqua ri-prende a entrare. Misurando i tempi e laquantità di attivazioni del pressostato sipuò ottenere, senza sensori aggiuntivi, unacaratterizzazione del tipo di panni immesso,che viene usata per adattare il programmadi lavaggio, ottimizzandolo e risparmiandoall’operatore umano l’onere della scelta delprogramma.Anche la regolazione della quantità di ri-sciacqui può essere fatta a costo bassissi-mo. L’acqua nella vasca costituisce un die-lettrico per un condensatore le cui armaturesono la vasca e un elemento metallico isola-to da essa. L’acqua ha caratteristiche dielet-triche diverse a seconda che contenga omeno sapone. Viene così misurato il tempodi carica del condensatore-lavatrice conl’acqua al termine del lavaggio e si continuaa sciacquare fino a quando questo temponon è qualitativamente vicino al tempo dicarica misurato all’entrata dell’acqua frescaall’inizio del lavaggio.In entrambi questi casi, il modello è qualitati-vo e affetto da rumore: si presta, dunque, be-ne a essere realizzato con regole fuzzy.

7.3. Controllo di un impianto industriale:modello matematico difficile da identificareEsistono impianti industriali il cui modellomatematico è difficile da definire o da iden-tificare con precisione, come per esempio,reattori chimici come quello oggetto del pri-mo controllo fuzzy industriale citato all’ini-

zio, laminatoi, forni ecc. In questi casi, in ge-nere, ci sono operatori umani in grado di go-vernare l’impianto manualmente utilizzan-do regole qualitative basate sull’esperien-za. Il controllore fuzzy può sostituirli, o af-fiancarli, catturandone e rendendone espli-cita l’esperienza.Anche qui si veda un esempio in dettaglio. Sitratta di un forno per l’invecchiamento di al-luminio, in cui bisogna portate un carico ditrafilati di alluminio a una temperatura distabilizzazione, possibilmente senza intro-durre gradienti termici tra i due estremi deitrafilati, e senza produrre sovrariscaldamen-ti eccessivi. Il tutto nel più breve tempo pos-sibile. In questa applicazione, il forno ad ariaforzata era controllato considerando le tem-perature dell’aria all’ingresso e all’uscita delcarico. Nell’azienda si avevano più di 10.000tipi diversi di trafilati con diverse caratteristi-che di assorbimento termico e non si volevaappesantire le operazioni di carico e scaricocon procedure che indicassero il tipo di cari-co effettuato. In questo caso, è stato realiz-zato un controllo fuzzy che cattura una logi-ca semplice e applicabile a qualunque tipodi carico, al quale il comportamento del con-trollore si adatta naturalmente. Espressa aparole la logica suona così: “Finché la diffe-renza di temperatura tra ingresso e uscitadell’aria (∆T) è contenuta entro i limiti desi-derati, si scaldi con la massima intensità. Seil limite di ∆T è raggiunto si tenga quell’in-tensità nel riscaldamento. Se la temperaturain ingresso è vicina alla temperatura obietti-vo si mantenga la temperatura obiettivo”.Con un insieme di meno di 10 regole si è cosìottenuto un controllo efficace, in grado di ri-spondere, come desiderato, ai diversi cari-chi. Un esempio di andamento del riscalda-mento è riportato in figura 9, dove si ha lacurva rappresentante la temperatura dell’a-ria calda in ingresso, sempre superiore aquella rappresentante la temperatura dell’a-ria in uscita dai trafilati. Si noti come si trattidi curve che sarebbero difficilmente rappre-sentabili con una funzione matematica, laquale eventualmente avrebbe un’espressi-vità molto minore delle poche regole lingui-stiche menzionate, e una difficoltà di identi-ficazione e manutenzione molto maggiori.Inoltre, la curva dovrebbe essere diversa per

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

12

FIGURA 9Andamentodelle curve

di riscaldamentoper il forno

di invecchiamentodi trafilati

di alluminio

200

180

160

140

120

100

80

60

40

20

00 50 100 150

ogni tipo di carico e questo richiederebbe l’i-dentificazione di parametri in linea di princi-pio difficili da identificare.

7.4. Sistema di controllo di qualità: datirilevati da operatori in modo qualitativoNel controllo di qualità il prodotto viene sot-toposto a un’analisi per verificarne caratteri-stiche salienti ed eventualmente interveniresulla regolazione dell’impianto per ottenereil prodotto con la qualità desiderata. In molticasi, le misure sono fatte da operatori chedanno delle valutazioni qualitative delle ca-ratteriste in gioco. Si pensi, ad esempio, allavalutazione della birra (colore, tipo e quan-tità di bolle, amarezza ecc.). Questi operatoripossono fornire un’indicazione fuzzy a un si-stema esperto basato su regole fuzzy chepossa suggerire il tipo di intervento da faresull’impianto.In altri casi, giudizi qualitativi su aspetti spe-cifici possono essere aggregati con operatorifuzzy per fornire indicazioni globali in manie-ra formalmente corretta. Per esempio, sonostati proposti dei sistemi di valutazione semi-automatica di siti web, in cui i criteri di valu-tazione si basano in parte su misure obietti-ve rilevate automaticamente (lunghezza del-la pagina, numero di link ecc.) e in parte suvalutazioni fornite da operatori. Le caratteri-stiche considerate vengono poi compostecon operatori fuzzy e generano indicatori glo-bali di valutazione.Un caso che rientra ancora in questa catego-ria è quello del sistema di valutazione delpersonale all’assunzione, sviluppato per unadelle più grandi aziende italiane. Anche qui,le valutazioni qualitative vengono aggregatecon operatori fuzzy a informazioni numerichefuzzyficate. Uno dei maggiori ritorni rilevaticon l’adozione di questo sistema è la possi-bilità di rendere esplicito, uniforme e obietti-vo il processo di valutazione.

7.5. Controllo di una squadra di robot au-tonomi: modello linguistico dell’ambienteottenuto da dati sensoriali imprecisi eaffetti da incertezzaIn questo caso, si ha una squadra di robotautonomi che deve svolgere un compito, adesempio giocare una partita di calcio roboti-co, come avviene, dal 1997, nella competi-

zione internazionale Robocup. Ogni robot sicostruisce un modello del mondo sulla basedei dati sensoriali che riceve. Il sistema dicontrollo comportamentale del robot è ingrado di scegliere tra diversi comportamen-ti (“porta la palla in porta”, “passa”, “chiudil’avversario” ecc.) basandosi su una valuta-zione in termini di predicati fuzzy della si-tuazione in cui si trova (“palla avanti”, “av-versario lontano” ecc.). Anche il meccani-smo di coordinamento della squadra e discelta delle strategie è basato su analoghistrumenti, e può essere realizzato da strate-ghi umani con relativa facilità. L’applicazio-ne può sembrare ludica, ma è di notevolissi-ma complessità, e l’adozione di modellifuzzy permette di affrontarla con regole dibuon senso.

8. COME SI FANNO I SISTEMIFUZZY?

La realizzazione di sistemi fuzzy è supportatada strumenti a diversi livelli.Esistono numerosi sistemi di sviluppo persistemi di controllo fuzzy, caratterizzati daregole che classificano un ingresso numeri-co e forniscono un’uscita fuzzy tradotta poiin termini numerici. Il supporto consiste nel-la possibilità di utilizzare forme predefinitee parametrizzate di funzioni di appartenen-za, nella definizione di regole e nella visua-lizzazione dei valori ottenuti dal sistemafuzzy in tutto l’intervallo dei valori di ingres-so. Alcuni di questi sistemi di supporto for-niscono anche un’interfaccia di ottimizza-zione che, tramite l’applicazione di reti neu-rali ai dati del problema, è in grado di sug-gerire la posizione e il numero ottimale difunzioni di appartenenza, cioè di effettuareautonomamente la parametrizzazione delsistema.Controllori fuzzy vengono realizzati sia suPC (Personal Computer), sia sui microcon-trollori usati per applicazioni tradizionali,sia su microcontrollori progettati e prodottiper ottimizzare le operazioni fuzzy necessa-rie a ottenere l’uscita. Il costo di questi chipè compatibile con i costi sopportabili per laloro adozione in prodotti normalmente conbassi margini di guadagno, quali i beni diconsumo.

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

13

0

0

0

1

Sistemi di supporto alle decisioni e modellipiù articolati possono essere invece realiz-zati con sistemi di sviluppo ad hoc, facil-mente integrabili nei sistemi informativi incui devono operare.

9. CONCLUSIONI

In conclusione, è possibile affermare che isistemi fuzzy hanno ormai da tempo rag-giunto una maturità tale che li rende un otti-mo strumento per una larga quantità di ap-plicazioni. La loro diffusione è ancora, inparte, ostacolata da una loro scarsa cono-scenza e da una ingiustificata diffidenza neiconfronti di uno strumento così semplice epotente. Con la diffusione della conoscenzasulla loro struttura e funzionamento, un nu-

mero sempre maggiore di applicazioni vie-ne affrontato, in un numero sempre piùgrande di settori applicativi.

Bibliografia

[1] Klir GJ, Yuan B: Fuzzy Sets and Fuzzy Logic.

Theory and Applications. Prentice Hall, UpperSaddle River, N J, 1995.

[2] Mamdani EH, Assilian S: An experiment in lin-guistic synthesis with a fuzzy logic controller.International Journal of Man-machine Studies,Vol. 7, 1975, p. 1-13.

[3] Sugeno M: Industrial Applications of Fuzzy Con-

trol. Elsevier, Amsterdam, NL, 1985.

[4] Zadeh LA: Fuzzy sets. Information and Control,Vol. 8, 1965, p. 338-353.

M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 0 3

1

0

0

0

1

14

ANDREA BONARINI è professore associato presso il Politecnico di Milano e coordina dal 1984 il locale Laboratorio diIntelligenza Artificiale e Robotica. I suoi interessi di ricerca riguardano: sistemi fuzzy, sistemi di apprendimentoper rinforzo e sviluppo di robot mobili autonomi di servizio, e di intrattenimento (Robocup – calcio robotico)[email protected]