le regole della fuzzy logic

pendolo invertito
Supponiamo di voler mantenere in equilibrio un'asta incernierata su un carrello: un pendolo invertito. Praticamente, spostando il carrello, l'asta tende a cadere a meno che con abili manovre sia mantenuta in posizione verticale. Per ottenere questo risultato, si può collegare il pendolo ad un dispositivo meccanico che spostando il carrello a destra o a sinistra, mantenga l'asta in equilibrio. In questo caso, il funzionamento del dispositivo sarà controllato da un complesso modello matematico la cui soluzione permette di ottenere le velocità ed il verso di spostamento del carrello di volta in volta necessarie per mantenere l'asta in equilibrio. Il modello matematico è molto bello, elegante ed efficace; d'altra parte, un analogo risultato può essere ottenuto da un abile giocoliere che certamente non si affida alla soluzione istantanea di un modello matematico, bensì alla pratica ed all'intuito.

un'alternativa al modello matematico: fuzzy logic

La fuzzy logic, è una logica alternativa a quella Aristotelica. In effetti, la si può tradurre in italiano come "logica sfumata", perché rifiuta il principio del terzo escluso Aristotelico: se A è A, allora A non può essere non-A.
Il principo del terzo escluso delimita drasticamente i confini tra opposti: bianco e nero, alto e basso, buono e cattivo, caldo e freddo, ecc. Tuttavia, nella pratica, la realtà è meno definita: non tutto è bianco e non tutto è nero; nessuno è del tutto buono e nessuno è del tutto cattivo. Per esempio, con le definizione classiche, una volta definite alte le persone di altezza superiore a 180 cm, le persone alte 179 cm sono esplicitamente definite basse o, non alte.

concetto di arte
Con quale criterio decidiamo quale di queste opere sia la più bella?
Nel caso della fuzzy logic, si può dire che una persona alta 180 cm appartiene all'insieme delle persone alte con una congruenza totale, o con un grado di appartenenza totale (100%). Una persona alta 179 cm, appartiene all'insieme delle persone alte con una congruenza parziale, o con un grado di apparteneza del 99% . E' evidente che questo criterio di grado di appartenenza, garantise una maggior flessibilità nella definizione arbitraria del concetto di alto.

Non è questa la sede per discutere, nemmeno in modo superficiale, i princìpi teorici e filosofici della fuzzy logic (perché il suo modo di vedere le cose è abbastanza estraneo alla nostra cultura). Pertanto, ci limiteremo a darne un'idea applicandola ad un esempio semplice: la regolazione della velocità del ventilatore di un condizionatore d'aria.

Per prima cosa, la fuzzy logic si basa su regole tratte dall'esperienza. In altre parole, una persona esperta nell'affrontare un certo problema (come il giocoliere che controlla un pendolo invertito), descrive a parole come risolve quel certo problema. Nel caso in discussione, l'esperto potrebbe essere un esperto in condizionamento ambientale.

Il problema che ci proponiamo di affrontare, consiste nel regolare la velocità del ventilatore (la quale regola il flusso di aria fredda) collegato ad un condizionatore in modo da soddisfare il maggior numero possibile di persone. Questo significa che impostata una certa temparatura, per es. 22 ºC, alcune persone che si trovano nell'ambiente condizionato trarranno un gradimento diverso da altre, ma ciò è inevitabile stanti le ovvie differenze individuali.





regole fuzzy

fuzzy logic per un ventilatore 1
Fig. 1: i cinque triangoli (due parziali) rappresentano altrettante regole fuzzy

Nella figura 1, sono tracciati i profili di cinque triangoli (tre al centro e due laterali parziali). Questi profili rappresentano le regole, cioé fissano i limiti inferiori, e superiori per una determinata sensazione termica: la porzione del primo triangolo, con limite superiore = 17.5 ºC descrive la sensazione di freddo; il secondo triangolo, fra 12.5 ºC e 22.5 ºC, descrive la sensazione di fresco; ecc. (si è colorato in verde il terzo triangolo per sottolineare la temperatura ottimale).

nella formulazione delle regole, occorre seguire alcuni criteri orientativi:

  1. il grado di appartenenza non è un dato statistico, bensì un criterio di costruzione delle regole: dire che la temperatura di 15 ºC è aria fresca al 50% non significa che 50 persone su 100 avvertiranno una sensazione di fresco, piuttosto che questa temperatura soddisfa a metà la definizione di fresco attribuita, per esempio, al 100% alla temperatura di 17,5 ºC
  2. le regole, dettate dall'esperienza, possono essere aumentate (aumentando il numero dei triangoli) e così anche la loro forma (un lato può essere più inclinato di un altro);
  3. aumentare le regole permette di evitare funzioni non iniettive: alla stessa ordinata corrispondono ascisse diverse (ad es., nel grafico di Fig. 1, tra 25 ºC e 30 ºC vi sono sempre due valori uguali per le ordinate);
  4. l'aumento del numero delle regole per evitare funzioni non iniettive, non è strettamente necessario: ciò che può accadere, infatti, è una diminuzione della precisione di funzionamento. Per esempio, con le regole in Fig. 1, il condizionatore potra mostrare delle imprecisoni nella regolazione della temperatura tra 25 ºC e 30 ºC, ma ciò potrebbe trovare una giustificazione nella convenienza economica del prodotto;
  5. è preferibile utilizzare regole definite da rette, la cui semplice equazione matematica y = ± m x conduce a modelli molto semplici.

metodo di defuzzyficazione

A questo punto (Fig. 1), supponiamo che la temperatura dell'ambiente sia 19.5 ºC. Alziamo da questa temperatura una retta parallela all'asse delle ordinate fino ad incontrare il profilo di un triangolo. In questo caso, l'intersezione riguarda esclusivamente il secondo triangolo che, in questo caso, definisce la sensazione di fresco. Tuttavia, a 19.5 ºC, questa sensazione non è la stessa di quella che si avrebbe a 17.5 ºC. E qui la fuzzy logic si differenzia dalla logica Aristotelica: il fresco a 19.5 ºC è "meno" fresco del fresco a 17.5 ºC. Dunque, è ancóra fresco, ma con un grado di "appartenenza" del 64% (si ricava tracciando una retta parallela all'asse delle ascisse fino ad incontrare l'asse delle ordinate.

temperatura ambiente velocità del ventilatore
12,5 ºC lim. inf. aria fresca 0.40 Vmax
20,0 ºC lim. inf. aria buona 0.50 Vmax
22.5 ºC lim. inf. aria calda 0.60 Vmax
25,0 ºC lim. sup. aria buona 0.70 Vmax
32.5 ºC lim. sup. aria calda 1 Vmax
Con questi dati, temperatura e grado di appartenenza, possiamo determinare la velocità del ventilatore che regola il flusso di aria fredda. Per far questo, costruiamo sperimentalmente una tabella nella quale riportiamo le velocità del ventilatore necessarie per ottenere una data temperatura in un ambiente con una data volumetria ed un definito numero massimo di persone. In questo caso, fisseremo le velocità di ventilazione necessarie per ottenere i valori di confine delle 5 regole proposte e per semplicità supporremo che queste velocità siano proporzionali alla temperatura in modo lineare.

Con la tabella appositamente costruita, costruiamo un triangolo "defuzzyficatore" (Fig. 2) la cui altezza è data dal grado di appartenenza alla regola (fresco al 64%) e i cui estremi 12,5 ºC e 22,5 ºC sono associati alle velocità 0.40 Vmax e 0,60 Vmax

defuzzyficazione
Fig. 2: il valore con cui deve girare il ventilatore (0.50 · Vmax) si ricava dal baricentro del triangolo (aria "fresca").

La velocità del ventilatore necessaria per ottenere la temperatura di 19.5 ºC si ricava dal baricentro del triangolo (aria "fresca"), che in questo caso semplice cade lungo l'asse di simmetria: il ventilatore dovrà girare alla metà della velocità massima (V = 0,50 Vmax).

Ora (Fig. 3), poniamo che la temperatura dell'ambiente aumenti a 24.2 ºC. Ripetendo il procedimento precedente, incontriamo il profilo di due triangoli, corrispondenti alla sensazione di temperatura "buona" e di temperatura "calda". La prima regola ha grado di appartenenza 0.48; la seconda, 0.27. Questo, in fuzzy logic, significa che: la sensazione di temperatura "buona" (in questo caso abbastanza confortevole) è verificata per il 48%; la sensazione di "caldo" (in questo caso leggermente fastidioso) è verificata per il 27%.

fuzzy logic per un ventilatore 1
Fig. 3: se la temperatura dell'ambiente è 24,2 ºC, si attivano (con valori di appartenenza diversi) due regole, corrispondenti al triangolo della sensazione "buona" ed a quella della sensazione "calda"

Con i due valori ricavati, possiamo controllare la nuova velocità, V, del ventilatore. In questo caso, però si hanno due regole attivate, applicando le quali si avrebbe:

  1. V1 = 0.48 · Vmax (temperatura "buona": il ventilatore gira a circa metà della velocità massima)
  2. V2 = 0.27 · Vmax (temperatura "calda": il ventilatore gira a circa 1/4 della velocità massima)

Ovviamente, il ventilatore deve girare ad una velocità unica. Nel nostro caso, ne abbiamo due (se fossero state attivate più regole, si sarebbero ottenuti altrettanti valori) e dunque, occorre defuzzyficare i risultati in modo da fornire un unico valore al processore che controlla il ventilatore in base alla temperatura dell'ambiente.

Con i valori della tabella, costruiamo due triangoli "defuzzyficatori" (Fig. 4) le cui altezze sono date dal grado di appartenenza alla regole (temperatura buona al 48%; temperatura calda al 27%) ed i cui estremi 20-25 ºC e 22.5-32,5 ºC sono rispettivamente associati alle velocità 0.50 e 0.70 Vmax ; 0.60 e 1 Vmax

defuzzyficazione
Fig. 4: il valore con cui deve girare il ventilatore (0.70 · Vmax) si ricava dal baricentro dei due triangoli (aria "buona", aria "calda") considerati singolarmente e non in base al loro unico profilo.

Una volta costruito il grafico, si calcola il valore del centro di gravità dei due triangoli (considerati singolarmente, cioé triangolo verde + triangolo blu, e non in base al loro profilo complessivo) con la formula seguente, che può essere calcolata automaticamente da un computer:

calcolo dell'asse x baricentrico

dove:
A1, A2, Ai = aree dei triangoli attivati;
x1, x2, xi = distanza dei centri dei triangoli dall'asse delle ordinate;

ottenuto il centro di massa, cm, applicheremo la regola:

V = cm · velocità max ventilazione

condizionatoreInserendo i dati, si ottiene il valore 0.70 : per contrastare la temperatura aumentata a 24,2 ºC, il ventilatore aumenta la sua velocità per riportare la temperatura al valore originario. Questo procedimento può essere ripetuto, da un programma appositamente sviluppato e che non interessa questa presentazione, per qualsiasi valore della temperatura. Così, quando per esempio l'utilizzatore imposta il valore 22 ºC, una sonda misura il valore della temperatura ambiente e il programma di controllo a fuzzy logic adatta la velocità del ventilatore e quindi il flusso dell'aria in modo da ottenere la temperatura impostata. In pratica, questo è un climatizzatore automatico: l'utilizzatore deve solo scegliere la temperatura desiderata ed il sistema si regola da solo, piuttosto che richiedere l'intervento manuale di un utilizzatore che cerca di ottenerla per tentativi.
Questa, in sintesi, è la modalità di controllo di un dispositivo basato su fuzzy logic, della quale sono presentate alcune applicazioni biomediche nella prossima pagina.


principi di funzionamento dei computer1 2 applicazioni della fuzzy logic3 microinfusori per insulina4 siringhe hipospray5 capsule per videodiagnostica6 misura della temperatura7 biochip per studi preclinici8 mesoterapia, elettroterapia, microaghi9 mercato farmaceutico e aziende in INTERNET10 mercato farmaceutico e aziende in INTERNET11 mercato farmaceutico e aziende in INTERNET12 mercato farmaceutico e aziende in INTERNET13 defibrillatore14 firma digitale15
HOME PAGE HOME PAGE

Marcello Guidotti, copyright 2003-2005
questa pagina può essere riprodotta su qualsiasi supporto o rivista purché sia citata la fonte e l'indirizzo di questo sito (ai sensi degli artt. 2575 e 2576 cc. Legislazione sul diritto d'autore). Le fotografie sono tratte da siti web e sono, o possono ritenersi, di pubblico dominio purché utilizzate senza fini di lucro. Le immagini di prodotti presenti nel sito hanno unicamente valenza esemplificativa oltre che, eventualmente, illustrare messaggi fuorvianti e non vi è alcun richiamo diretto o indiretto alla loro qualità e/o efficacia il cui controllo è affidato alle autorità regolamentatorie.