+ All Categories
Home > Technology > Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA DI DATI DI TIPO...

Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA DI DATI DI TIPO...

Date post: 15-Aug-2015
Category:
Upload: cristian-randieri-phd-lion-open-networker
View: 30 times
Download: 0 times
Share this document with a friend
172
UNIVERSITÀ DEGLI STUDI DI CATANIA FACOLTA’ DI INGEGNERIA DIPARTIMENTO ELETTRICO, ELETTRONICO E SISTEMISTICO CRISTIAN RANDIERI TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA DI DATI DI TIPO AMBIENTALE TESI DI LAUREA Relatore: Ch.mo Prof. G. NUNNARI Correlatore: Ing. A. NUCIFORA ANNO ACCADEMICO 1998-99
Transcript

UNIVERSITÀ DEGLI STUDI DI CATANIA

FACOLTA’ DI INGEGNERIA

DIPARTIMENTO ELETTRICO, ELETTRONICO E SISTEMISTICO

CRISTIAN RANDIERI

TECNICHE DI SOFT COMPUTING PER LA

MODELLISTICA DI DATI DI TIPO AMBIENTALE

TESI DI LAUREA

Relatore:

Ch.mo Prof. G. NUNNARI

Correlatore:

Ing. A. NUCIFORA

ANNO ACCADEMICO 1998-99

Ai miei cari genitori Clelia e

Salvatore, che con immensi sacrifici

hanno permesso tutto ciò.

Al Prof. Giuseppe Nunnari, che mi

ha sempre incoraggiato verso

l’affascinante mondo della ricerca.

Nel ricordo del Prof. Victor Rizza,

modello di vita, elemento unico e

geniale.

i

INDICE

1 INTRODUZIONE 1

2 TECNICHE DI TIPO SOFT COMPUTING 4

INTRODUZIONE 4

2.1 LE RETI NEURALI 6

2.1.1 Struttura delle reti neurali 8

2.1.2 Tipi di apprendimento delle reti neurali 10

2.1.3 Reti a separazione lineare 11

2.1.4 Algoritmo di apprendimento di Widrow-Hoff 14

2.1.5 Reti a separazione non lineare 17

2.1.6 Apprendimento delle reti MLP 19

2.1.7 Apprendimento non supervisionato 22

2.2 LA LOGICA FUZZY 24

2.2.1 La teoria dei fuzzy set 25

2.2.2 Variabili linguistiche 27

2.2.3 Funzione di appartenenza 28

2.2.4 Regole fuzzy 29

2.2.5 Sistemi fuzzy 32

2.2.6 Associazione fuzzy input-output 37

2.2.7 Metodi di defuzzificazione 40

2.3 GLI ALGORITMI GENETICI 42

2.4 LE RETI NEURALI CELLULARI 48

2.4.1 Architettura delle reti neurali cellulari (CNN) : Il modello elettrico 48

2.4.2 Stabilità di una rete neurale cellulare 56

2.4.3 Equilibrio stabile di una cella di una CNN 61

2.4.4 Funzionamento circuitale di una CNN 63

2.5 I SISTEMI IBRIDI 66

2.5.1 Fuzzy neural networks (FNNs) 67

3 MODELLISTICA DELL’INQUINAMENTO

ATMOSFERICO TRAMITE TECNICHE DI

SOFT COMPUTING 72

3.1 INTRODUZIONE 72

ii

3.2 PREDIZIONE DELLE CONCENTRAZIONI DEGLI INQUINANTI

ATMOSFERICI IN UNA ZONA AD ALTA DENSITA’ DI

INSEDIAMENTI INDUSTRIALI 79

3.2.1 Modelli di predizione mediante strutture di tipo ARMAX 81

3.2.2 Identificazione mediante perceptrone multistrato (MLPs) 86

3.2.3 Modelli Neuro-Fuzzy 92

3.2.4 Modelli AR/MLP 103

3.3 ANALISI DEI RISULTATI 110

4 SISTEMA PER LA DETERMINAZIONE DELLA

CARICA BATTERICA TRAMITE RETI NEURALI

CELLULARI 117

4.1 INTRODUZIONE 117

4.2 DETERMINAZIONE QUANTITATIVA TRAMITE METODI

TRADIZIONALI 119

4.3 APPLICAZIONI DELLE RETI NEURALI CELLULARI PER

L’ELABORAZIONE DELLE IMMAGINI 132

4.4 DETERMINAZIONE QUANTITATIVA TRAMITE RETI

NEURALI CELLULARI 135

4.5 DETERMINAZIONE QUANTITATIVA: UN CASO REALE

148

ALGORITMO PER LA DISCRIMINAZIONE DELLE CELLULE CON

DIMENSIONE FISSATA 153

5 CONCLUSIONI 155

6 BIBLIOGRAFIA 160

PREFAZIONE

L’approccio classico nella modellizzazione matematica della realtà fisica si basa

sull’utilizzo di leggi che descrivono il comportamento del sistema in studio. Tali leggi si

esprimono generalmente nella imposizione di condizioni di equilibrio di forze agenti su

parti infinitesime del sistema in esame. Le equazioni che così si ricavano sono tipicamente

equazioni differenziali alle derivate parziali. Tali modelli però risultano molto complessi e

di difficile applicazione quale ad esempio nella previsione degli inquinanti atmosferici.

Pertanto molte delle volte non riescono a dare dei risultati in piccola scala ma si riferiscono

ad osservazioni macroscopiche del sistema in esame.

Nell’ultimo decennio sono nate alcune tecniche diverse da quelle convenzionali di tipo

analitico, per la modellizzazione di sistemi fisici. Ci si riferisce alle tecniche di relative alla

fuzzy logic, alle reti neurali artificiali, alle tecniche di ottimizzazione globale (ad esempio

algoritmi di ottimizzazione globale ed evoluzionistici) e ai sistemi distribuiti non lineari

(ad esempio le CNN) che messe assieme originano una metodologia denominata Soft

Computing. Esso mira a fondere in modo sinergico i differenti aspetti delle varie discipline

al fine di implementare sistemi ibridi che riescono a fornire soluzioni innovative nei settori

più svariati della scienza.

PREFAZIONE

iv

Nel presente lavoro si portano due applicazioni di uso scientifico che fanno uso di

tecniche di Soft Computing. La prima si riferisce alla previsione della concentrazione di

particolari inquinanti atmosferici quali O3, NMHC, NO2 e NOx . La seconda, mira invece a

risolvere un problema pratico di conteggio di oggetti a partire da immagini, nella

fattispecie verrà descritta l’implementazione si un sistema per la conta di cellule e batteri

mediante l’uso delle reti neurali cellulari (CNN).

I problemi presentati in questa sede sono già stati affrontato da alcuni autori con risultati

incoraggianti [1][2] [3] [4]. In questo lavoro l’argomento viene riprese ed esteso.

CAPITOLO I

INTRODUZIONE

1.1 INTRODUZIONE ALLA PRIMA PARTE

In una società industrializzata come la nostra, oggi più che mai si pone il problema

dell’inquinamento atmosferico dovuto agli scarichi industriali. Normalmente il nostro

pianeta è soggetto a determinati cicli chimici che hanno originato la vita degli esseri che

popolano la terra. Un’alterazione di questi ultimi può provocare seri danni alla natura

distruggendo tutto ciò che essa è riuscita a fare in milioni di anni. L’uomo purtroppo non si

rende conto di ciò e non pensa alle conseguenze delle sue azioni. Una delle prime

conseguenze a cui si va incontro è l’aumento della temperatura terrestre, che fino a qualche

anno fa sembrava solo un’ipotesi astratta, si sta rilevando oggi come possibilità concreta.

Le sostanze inquinanti che abbiamo immesso in questi ultimi decenni di era industriale

sono ben poca cosa in confronto a ciò che ora stiamo immettendo e che immetteremo nei

prossimi decenni.

La predizione della concentrazione degli inquinanti atmosferici, sia essi urbani che

industriali, rappresenta oggi un mezzo molto potente per la scelta delle strategie da

CAPITOLO I - INTRODUZIONE

2

applicare per evitare il superamento delle soglie di concentrazioni ammesse dalla

legislazione.

Lo scopo della prima parte di questo lavoro consiste nel considerare la possibilità di

usare tecniche moderne quali quelle basate sul Soft Computing per l’identificazione di

modelli per la predizione degli inquinanti atmosferici. Verranno prese in considerazione

predizioni a piccolo e medio raggio delle concentrazioni di O3, NMHC, NO2 e NOx, che

sono inquinanti tipici del ciclo fotolitico dell’azoto. I risultati ottenuti dimostrano la grande

capacità delle reti neurali per la modellizzazione del fenomeno in questione rispetto ai

modelli autoregressivi di identificazione tradizionali.

Inoltre la possibilità di usare reti neuro-fuzzy, che sfruttano le capacità delle reti neurali

combinate con la logica fuzzy, permetterà l’estrazione automatica della base di regole nella

forma “if ... then …”; ciò rappresenta un modo trasparente di modellizzazione che

aggiunge indicazioni utili per l’analisi del fenomeno in questione e l’eventuale

integrazione con altre basi di conoscenza acquisite da un esperto umano.

In fine si introduce la possibilità di utilizzare un modello di predizione “misto” che

prevede l’uso in cascata di un modello AR con un modello basato sul perceptrone

multistrato (MLP).

CAPITOLO I - INTRODUZIONE

3

1.2 INTRODUZIONE ALLA SECONDA PARTE

I metodi di conteggio delle cellule trovano largo impiego sia nella biologia molecolare

che nella medicina clinica con particolare riferimento ai cicli di crescita e fissione delle

cellule animali. Non è sempre tecnicamente possibile misurare quantitativamente gli eventi

riguardanti la crescita e la fissione cellulare. Quando ciò può essere fatto, le procedure

impiegate non sono molto semplici e non riescono ad analizzare un gran numero di cellule

contemporaneamente. In questo lavoro, si descrive un sistema basato su reti neurali

cellulari (CNN) che facendo uso di un simulatore CNN è capace di conteggiare, in modo

automatico, le cellule animali anche durante le loro fasi di crescita e replicazione. La

capacità del sistema proposto saranno illustrate mediante un semplice esperimento di

conteggio che si basa sul contatore Petroff-Hauser o Helber, normalmente impiegato in

biologia per la conta dei batteri.

Lo studio presentato è suddiviso in due parti. La prima parte riguarda i metodi di

conteggio tradizionalmente impiegati nella cultura di cellule batteriche. La seconda

riguarda invece l’implementazione del sistema automatico di conteggio basato su reti

neurali cellulari. In fine si dimostrerà la possibilità di implementare un sistema per lo

screening del numero delle cellule in funzione della loro grandezza.

CAPITOLO II

TECNICHE DI TIPO SOFT COMPUTING

INTRODUZIONE

Da sempre una delle cose che più ha affascinato l’essere umano è stato il processo di

formazione della conoscenza umana ed animale. Da argomento principe della filosofia di

tutti i tempi è arrivata fino ad oggi senza per questo perdere quel fascino che la

contraddistingueva. Nel campo del sapere più propriamente scientifico è nata di recente

una disciplina denominata Soft Computing che si pone come metodologia che fonde in

modo sinergico gli aspetti caratteristici della fuzzy logic, delle reti neurali, degli algoritmi

evoluzionistici e dei sistemi distribuiti non lineari al fine di progettare sistemi il cui

comportamento sia ibrido. Esso fornisce algoritmi sempre più potenti capaci di

discriminare, ragionare, valutare, prevedere piuttosto che semplicemente eseguire dei

“calcoli”, queste nuove strutture di calcolo si ispirano a processi naturali e biologici quali

l’adattamento, l’aggregazione, la cooperazione e la selezione.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

5

Si cerca cioè di ricercare soluzioni fortemente innovative nel settore della

classificazione, nella modellizzazione e nella simulazioni di sistemi dinamici molto

complessi. Il loro pregio maggiore è quello di essere capaci di modellare l’incertezza che è

tipica del mondo reale. Essi sono “soft” nel senso che la loro precisione è sfumata e che la

logica su cui si basano non è rigida ma elastica. Il Soft Compunting assieme alla tecnologia

sempre più spinta dei nostri giorni, ci consente di progettare sistemi sempre più complessi

e sofisticati, incrementando così la qualità della nostra vita e del benessere comune.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

6

2.1 LE RETI NEURALI

I primi studi su questi sistemi risalgono agli anni sessanta ma vennero presto

abbandonati in quanto non parevano offrire possibilità di sviluppi futuri. Da pochi anni,

anche grazie a nuovi algoritmi di apprendimento e alle possibilità della odierna tecnologia,

sono invece tornate prepotentemente alla ribalta.

La caratteristica principale delle reti neurali è quella di poter risolvere un determinato

problema apprendendolo anziché mediante una specifica programmazione. Le reti neurali

artificiali si ispirano dichiaratamente al sistema nervoso degli animali. Tale sistema è

costituito da un grande numero di cellule nervose (una decina di miliardi nell’uomo)

collegate tra di loro in una fitta rete. Nell’uomo, ogni neurone è collegato mediamente con

decine di migliaia di altri neuroni [5]. Si hanno quindi centinaia di miliardi di connessioni.

Il comportamento intelligente emerge dalle numerose interazioni tra le unità interconnesse

(perciò si parla di paradigma connessionista). Ogni neurone è costituito da un corpo

cellulare (soma) dal quale si diparte un filamento (assone) che si ramifica poi in tanti

filamenti secondari (dendriti). Ogni filamento secondario istituisce un contatto chimico con

un altro neurone. Tale contatto (sinapsi o peso sinattico) si estrinseca nel rilascio

controllato di una sostanza chimica di tipo ormonale (neurotrasmettitore) che consente la

trasmissione del segnale da un neurone ad un altro. I pesi sinattici possono essere eccitatori

o inibitori, quindi l’input di un neurone è la media di segnali di segno opposto, oltre che di

intensità diversa. Quando tale media supera una determinata soglia il neurone genera un

segnale bio-elettrico che si propaga lungo l’assone sino alle dendriti e, attraverso i pesi

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

7

sinattici, ad altri neuroni. La soglia del neurone può variare nel tempo, con effetto

“calmante” o “eccitante”, a seconda che il suo valore si alzi o si abbassi.

Una caratteristica fondamentale delle reti neurali è la loro precisione sfumata; in altre

parole esse sono costituzionalmente “fuzzy”. Questo potrebbe sembrare un elemento

negativo, ma è in realtà un punto di forza che le accomuna al cervello. Anche il cervello

umano non brilla per precisione (le sue capacità aritmetiche sono inferiori a quelle di

qualunque calcolatrice). Tuttavia nessuna macchina, per quanto sofisticata, sa riconoscere

un gatto o un albero da una loro figura approssimativa oppure la presenza non visibile di

una persona conosciuta dalla sua voce, magari alterata da rumore ambientale. La precisione

sfumata delle reti neurali le rende inadatte alla contabilità o al calcolo tecnico-scientifico,

ma si rivela preziosa nel riconoscimento e nella classificazione di oggetti, nel supporto

decisionale a scelte complesse, nella robotica, in un mondo reale che è “grigio“ e analogico

e non “bianco o nero” cioè discreto. In particolare, quanto sopra conferisce alle reti neurali

una notevole capacità di generalizzazione. Dopo un apprendimento basato su un adeguato

campione di dati (training set) la rete non solo risolverà correttamente (anche se con

precisione sfumata) ognuno di questi esempi, ma fornirà una soluzione adeguata anche per

nuovi input, non compresi in quegli esempi.

Altre caratteristiche importanti delle reti neurali sono la loro robustezza o non

fragilità (forniscono infatti soluzioni accettabili anche con dati parziali o rumorosi) ed il

funzionamento “fail safe” (degradazione dolce delle prestazioni). Queste proprietà

dipendono dal loro essere fuzzy e dal coinvolgimento di un grande numero di neuroni nella

soluzione di un problema: la conoscenza necessaria è distribuita e condivisa da molti

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

8

neuroni e non concentrata in uno o in pochi di essi. Inoltre le reti neurali possono fornire

buoni risultati anche se gli input sono parzialmente mancanti o ambigui o addirittura

contrastanti oppure se un certo numero di neuroni non sono operativi.

2.1.1 Struttura delle reti neurali

Pur essendo un neurone reale molto complesso, una sua schematizzazione che si è

rivelata di grande utilità (neurone artificiale) è la seguente. Ogni neurone riceve in ingresso

segnali x1,x2,...,xi,...,xn da n altri neuroni, tramite connessioni di intensità wi (pesi sinattici)

fornendo in uscita un solo segnale y. I segnali di ingresso vengono consolidati in un

potenziale post-sinattico

P w xi ii

n

1

(2.1)

media pesata degli ingressi, mentre l’uscita è fornita da una opportuna funzione di

attivazione y f P dove è una soglia caratteristica del neurone in questione.

Le funzioni di attivazione più usate sono:

Funzione a gradino: y=f(x)=sign(x), cioè f(x)=1, per x 0 ( P ) e f(X)=0

altrimenti [6].

Funzione sigmoide o curva logistica:

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

9

y f xe Ax

1

1 (2.2)

Le caratteristiche della funzione sigmoide sono:

- vale 1/2 per x=0 ( P );

- tende a zero per x ;

- tende a uno per x ;

- può essere più o meno ripida in funzione del parametro A ed in particolare tende a

diventare la funzione a gradino per A molto grande e la funzione lineare per A molto

piccolo.

In alcuni casi si usa la grandezza T=1/A che viene denominata temperatura per analogia

con la termodinamica in quanto che, in alcuni casi viene diminuita gradualmente in una

sorta di processo di raffreddamento. Una proprietà interessante della sigmoide, che sarà

sfruttata in fase di apprendimento, è che la sua derivata è data da

ydy

dxAy y' 1 (2.3)

In alternativa alla sigmoide si usa in alcuni casi la tangente iperbolica che ha la

caratteristica di fornire valori compresi tra -1 e 1. La sua espressione è

ye e

e e

x x

x x

(2.4)

L’uscita y di ogni neurone, in una rete, è a sua volta uno degli input di molti altri

neuroni. In generale una rete neurale artificiale è costituita da n neuroni di ingresso

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

10

(corrispondenti ai neuroni sensori come quelli della retina nell’occhio), da m neuroni di

uscita (corrispondenti ai neuroni motori come quelli che attivano i muscoli) e da k neuroni

intermedi (interneuroni o neuroni nascosti). Questi ultimi sono collegati con altri neuroni

intermedi e/o con neuroni sensori a monte e/o con neuroni motori a valle. Se in un

determinato momento, gli input della rete sono x1,x2,...,xi,...,xn allora si otterranno gli

output y1,y2,...,ym con

y f x x xj j n 1, ,...,2 (2.5)

In sostanza una rete può essere concepita come una scatola nera che trasforma

determinati ingressi in corrispondenti uscite. Se gli input sono i dati di un problema e gli

output le relative soluzioni, la rete risolve quel problema.

2.1.2 Tipi di apprendimento delle reti neurali

La capacità di apprendere di una rete neurale è contenuta intrinsecamente nella sua

struttura. Più precisamente, nel corso delle sue interazioni con l’ambiente esterno,

tipicamente nel processo di apprendimento, i pesi sinattici tra ogni coppia di neuroni

vengono modificati in funzione delle prestazioni. Nelle reti artificiali si hanno due tipi

principali di apprendimento detti supervisionato e non supervisionato. Nel primo caso

vengono presentati alla rete, in ogni istante t, opportuni campioni degli ingressi xi e dei

corrispondenti output desiderati dj. Le variazioni dei pesi sinattici necessarie per

l’aggiornamento

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

11

w t w t w 1 (2.6)

sono un’opportuna funzione di una metrica dell’errore e quindi delle differenze (yj-dj) tra

output ottenuti yj e output desiderati dj. In generale gli algoritmi di apprendimento

assumono come metrica l’errore quadratico medio che viene minimizzato.

L’apprendimento supervisionato richiede quindi la conoscenza preliminare non solo degli

input xi ma anche dei corrispondenti output voluti dj. Ogni campione

x x xn1 2, ,..., d d dm1 2, ,...,

è un elemento di un insieme di p campioni denominato “training set”.

Nel caso invece dell’apprendimento non supervisionato, il training set è tipicamente

costituito da numerosi campioni di ingresso X x x xi i i in 1 2, ,..., che si vogliono

classificare in un numero limitato m di classi C1,C2,...,Cm . Nel presentare i campioni non

viene però dichiarata la classe di appartenenza. E’ la stessa rete ad auto organizzarsi,

cambiando progressivamente i suoi pesi sinattici, in modo tale da eseguire, dopo

l’apprendimento, classificazioni corrette.

2.1.3 Reti a separazione lineare

La rete neurale più semplice che possiamo costruire è quella formata da un solo neurone

con n ingressi ed una sola uscita y. Adottiamo, per fissare le idee, una funzione di

trasferimento a gradino e studiamone le prestazioni.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

12

Una tale rete, che viene indicata come perceptrone, può riconoscere tutti gli esemplari di

una determinata forma F , distinguendoli da quelli relativi a forme non-F. Nel caso

bidimensionale basterà che una retta separi i punti (x1,x2) corrispondenti ad una forma F da

quelli relativi a forme non F. La situazione descritta è mostrata in Fig. 2.1.

Fig 2.1 Esempio di classi separabili linearmente.

Se w1 e w2 sono i pesi sinattici e è la soglia del neurone, l’equazione della retta deve

essere

w x w x1 1 2 2 0 (2.7)

In tal caso la retta divide il piano in due semipiani per i quali si ha rispettivamente

w x w x1 1 2 2 0 , cioè w x Pi ii

n

1

, quindi y=1 (2.8)

w x w x1 1 2 2 0 , cioè w x Pi ii

n

1

, quindi y=0 (2.9)

dove P è già stato definito potenziale postsinattico. Fornendo come ingressi le

coordinate di un punto che giace nel semipiano di F la rete darà uscita unitaria, altrimenti

x2

x1

F

non

F

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

13

l’uscita sarà nulla. Nel caso di tre coordinate possiamo parlare di piano di separazione fra

due semispazi e, nel caso più generale di n dimensioni, si parlerà di iperpiani di

separazione. Una variazione dei valori dei pesi sinattici wi determina una variazione

dell’inclinazione dell’iperpiano, mentre una variazione della soglia determina uno

spostamento dell’iperpiano parallelamente a se stesso. L’apprendimento dei pesi e della

soglia si risolve allora in una serie di piccoli movimenti dell’iperpiano sino a realizzare la

separazione lineare, partendo da un iperpiano iniziale generico che non la realizza. In

generale si usa parlare di apprendimento dei pesi e si suole considerare la soglia come il

peso di un ingresso sempre unitario. Questo è possibile ridefinendo P come

P w xi ii

n

1

(2.10)

Il modo più semplice per addestrare una rete di questo tipo è quello di far variare i

pesi (aumentarli o diminuirli) in modo proporzionale agli ingressi cioè secondo la formula

w x dove è un coefficiente detto “learning rate”.

E’ ovvio che la rete descritta funziona solo se esiste un iperpiano che divide le due

classi e che ciò non sempre avviene. Supponiamo adesso di considerare lo spazio

bidimensionale binario. Gli elementi dello spazio sono le quattro coppie 00,01,10 e 11. E’

facile separare, ad esempio, la forma logica AND = 11 dalle altre, o la forma logica OR =

10,01,11 da 00 ed anzi è facile verificare, graficamente o analiticamente, che esistono

infinite rette che operano questa separazione. Se però consideriamo la forma XOR = 01,10

i suoi due elementi non sono separabili dagli altri due punti con una retta. In tal caso la

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

14

separazione è effettuabile mediante linee curve cioè mediante l’introduzione di reti più

complicate con almeno un livello di neuroni nascosti.

2.1.4 Algoritmo di apprendimento di Widrow-Hoff

Estendiamo i discorsi precedenti ad una rete con m neuroni. Se esistono m forme

diverse Fj, ciascuna delle quali costituisce una configurazione di n punti x ed è separabile

linearmente dalle altre, allora ogni neurone può riconoscere una configurazione particolare

e la rete, globalmente, può riconoscere m configurazioni. Per ottenere questo occorre

assegnare agli m n pesi sinattici. L’algoritmo di Widrow-Hoff calcola i pesi necessari,

partendo da pesi casuali e apportando ad essi piccole variazione, graduali e progressive, in

un processo che converge alla soluzione finale.

La rete abbia quindi n ingressi x, ed m neuroni (uscite). Gli m neuroni abbiano tutti la

stessa funzione di trasferimento associata f e che tale funzione sia differenziabile. Sia

inoltre disponibile un training set di p esempi. Ciò premesso l’algoritmo consiste nel

ripetersi ciclico di alcuni passi fino al raggiungimento dei risultati desiderati. Tali passi

sono:

1) Presentazione di un input generico X x x x xi n 1 2, ,..., ,... (2.11)

2) Calcolo degli output corrispondenti y f Pj j con P w xj ji ii

n

1

(2.12)

3) Calcolo dell’errore quadratico medio E y dj jj

m

1

2

2

1

(2.13)

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

15

4) Calcolo delle variazioni w t w t wdE

dwji ji ji

ji

1 (2.14)

dove è un coefficiente compreso tra zero ed uno detto “learning rate”.

Il processo si interrompe quando E raggiunge un valore piccolo prefissato. Per

giustificare la formula dell’aggiornamento dei pesi sinattici rileviamo che occorre

minimizzare E quindi se E aumenta con w (dE/dw>0) i pesi devono diminuire (w 0 )

mentre se E diminuisce all’aumentare di w (dE/dw<0) i pesi devono essere aumentati

(w 0).

Vediamo come si possono scrivere le formule di aggiornamento scritte al punto quattro.

Essendo

dE

dwy d

dy

dwy d

dy

dP

dP

dwji

i j

j

ji

i j

j

j

j

ji

(2.15)

dove

dy

dPf P

j

j

j ' e dP

dwx

j

ji

i (2.16)

si ha allora

w y d f P x D xji j j j i j i ' (2.17)

avendo posto D y d f Pj j j j ' . (2.18)

Se la funzione di trasferimento considerata è la sigmoide si ha f P y yj j j' 1 e

dunque

w y d y y xji j j j j i 1 (2.18)

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

16

L’inconveniente della sigmoide è allora che per y vicino a zero le variazioni dei pesi

tendono a zero e dunque il sistema non apprende più.

Se la funzione di trasferimento è lineare la sua derivata è costante e dunque

w y d xji j j i (2.19)

Dopo la presentazione di un congruo numero di esempi in altrettanti cicli consecutivi

l’errore diventerà più piccolo di un minimo prefissato ed il processo di apprendimento sarà

così concluso. Se invece, dopo una prima presentazione di tutti gli esempi del training set

(prima epoca) l’errore non è ancora accettabile si procede a una seconda epoca a così via.

Solo nel caso di funzione di trasferimento lineare l’errore avrà un minimo assoluto mentre

negli altri casi esistono dei minimi locali. E’ opportuno allora in alcuni momenti inserire

delle perturbazioni casuali sui pesi in modo da evitare lo stallo in uno di questi minimi.

Negli sviluppi matematici precedenti si è considerata la versione on-line dell’algoritmo

cioè quella che prevede l’aggiornamento dei pesi alla presentazione di ogni singolo

esempio. La versione batch dell’algoritmo prevede invece che l’aggiornamento sia

effettuato ad ogni epoca. L’errore da minimizzare in questo caso risulta

E y dkj kjj

m

k

p

1

2

2

11

(2.20)

In generale la versione on-line è preferita alla versione batch in quanto fornisce

normalmente risultati migliori cioè convergenza più veloce e minori oscillazioni.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

17

2.1.5 Reti a separazione non lineare

Ritorniamo al problema dello XOR per dimostrare che esso può essere risolto mediante

una rete più complessa cioè con un maggior numero di gradi di libertà. Un modo per

risolverlo è quello di aumentare fittiziamente il numero di ingressi del sistema

aggiungendo a x1 e x2 un terzo input x3=x1x2. Gli esempi del training set sono allora quelli

della seguente tabella:

x1 x2 x3 Y

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Il problema è stato trasformato in un problema a separazione lineare e dunque può

essere risolto con un perceptrone. Tuttavia già con tre ingressi avremmo dovuto inserire

quattro ingressi fittizi. Possiamo allora concludere che questo metodo è scarsamente

applicabile con un numero realistico di ingressi.

Un altro modo di aumentare i gradi di libertà del sistema è quello di aggiungere uno

strato di neuroni intermedi. Per il problema da noi considerato la soluzione può essere

ricavata dalla formula del calcolo combinatorio

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

18

x1 XOR x2 = (x1 AND x2) OR (x1 OR x2) (2.21)

che suggerisce di adottare la seguente rete:

Fig 2.2 Rete neurale a due strati dove i neuroni intermedi realizzano uno la funzione

OR e uno la funzione AND ed il neurone di uscita realizza la funzione OR.

Una rete neurale con uno stadio di ingresso, uno o più strati intermedi ed uno stadio di

uscita è denominato Multi-Layers Perceptron (perceptrone multistadio MLP). Tale rete è

anche definita di tipo feed-forward perchè i segnali si propagano dagli ingressi alle uscite,

attraverso i neuroni intermedi, non avendosi connessioni trasversali o connessioni feed-

back.

In conclusione una rete neurale MLP può, in teoria, eseguire qualunque separazione

risolvendo così qualsiasi problema di classificazione, di riconoscimento, di scelta. Tuttavia,

nel caso di problemi complessi, la realizzabilità teorica di una rete MLP che risolva il

x1 x2

y

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

19

problema, può non essere di grande aiuto. Infatti il grande numero richiesto di neuroni

intermedi, la notevole lunghezza del processo di addestramento e la non disponibilità di un

training set adeguato potrebbero diventare ostacoli insormontabili per una realizzazione

effettiva.

2.1.6 Apprendimento delle reti MLP

Purtroppo l’algoritmo di Widrow-Hoff (WH) non può essere applicato al caso di reti

MLP. Sappiamo infatti calcolare l’errore E y dj j j per ogni neurone di uscita ma non

sappiamo calcolarlo per i neuroni intermedi k non conoscendo i valori voluti dk. Questo

fatto ha impedito per molto tempo lo sfruttamento pratico delle notevoli possibilità delle

reti MLP. Solo nel decennio scorso è stato proposto l’algoritmo back-propagation (BP) che

supera tale problema. Sostanzialmente l’algoritmo BP è un estensione del WH. Il punto

chiave è l’opportuna ripartizione dell’errore, noto al livello di uscita, tra i neuroni dello

strato e quelli degli strati intermedi. In ogni ciclo dell’algoritmo si hanno due fasi: una

(forward) per il calcolo degli errori che è virtualmente identica al caso del perceptrone e

l’altra per la ripartizione degli errori negli strati intermedi.

Per fissare le idee, consideriamo una rete di tre strati; il primo con attività neurali xi, il

secondo (intermedio) con attività yj e pesi sinattici wji, il terzo con attività zk e pesi sinattici

wkj. L’aggiornamento dei pesi wkj è identico a quello già visto per l’algoritmo WH

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

20

wdE

dwz d f P ykj

kj

k k k j ' (2.22)

cioè anche ponendo D z d f Pk k k k '

w D ykj k j (2.23)

Per quanto riguarda l’aggiornamento dei pesi sinattici wji si ha, similmente a quanto

visto per l’algoritmo Widrow-Hoff

wdE

dwji

ji

dE

dw

dE

dy

dy

dP

dP

dwji j

j

j

j

ji

dy

dPf P

j

j

j ' e dP

dwx

j

ji

i

dE

dw

dE

dyf P x

ji j

j i ' (2.24)

Per ottenere dE/dwji occorre ora conoscere dE/dyi , ma gli errori noti sono (zk-dk),

differenza tra gli output ottenuti zk e quelli desiderati dk. Dovremmo quindi esprimere

dE/dyi in funzione di questi errori

dE

dy

dE

dz

dz

dP

dP

dyy d f P w D w

j k

k

k

k

jkk k k kj

kk kj

k

' (2.25)

Ne deriva finalmente che è

dE

dwf P x D w

ji

j i k kjk

' (2.26)

cioè anche, ponendo D f P D wj j k kjk

'

wdE

dwD xji

ji

j i (2.27)

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

21

Quanto sopra può essere generalizzato dicendo che, dati due strati successivi con attività

neurali xi e pesi wji, l’aggiornamento w ji deve essere effettuato con la formula

w D xji j i (2.28)

dove però

D y d f Pj j j j ' se j è un neurone di uscita

D f P D wj j k kjk

' se j è un neurone intermedio.

Generalmente l’aggiornamento dei pesi viene eseguito con una formula modificata

nel seguente modo

w t D x w tji j i ji 1 (2.29)

dove è un coefficiente positivo minore di uno denominato “momentum”. In questo

caso l’aggiornamento nel ciclo t tende a non differenziarsi molto da quello nel precedente

ciclo t-1 per una sorta di effetto di inerzia. Si può anche affermare che il termine di

momentum ha l’effetto di filtrare le variazioni ad alta frequenza della superficie di errore

E, nello spazio dei pesi w. In sostanza l’adozione di tale termine (tipicamente =0.9)

consente di assumere un coefficiente più elevato (tipicamente =0.7) senza incorrere in

oscillazioni.

Rileviamo infine che non esiste a tutt’oggi una teoria che suggerisca, per risolvere un

determinato problema, il numero di strati intermedi o il numero di neuroni necessari per

ognuno di questi strati. Occorre quindi procedere per tentativi applicando criteri empirici.

La scelta oculata del numero di neuroni intermedi è molto importante perché da essa deriva

la più o meno buona capacità di generalizzazione della rete. Se ci sono troppi neuroni

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

22

intermedi la rete impara troppo il training set, non generalizza e richiede anche un processo

di apprendimento più lungo. D’altra parte, se ci sono pochi neuroni intermedi la rete non

riesce ad apprendere nemmeno il training set. La capacità di generalizzazione della rete

dipende anche da altri fattori quali la lunghezza del processo di apprendimento o la

presentazione degli esempi.

2.1.7 Apprendimento non supervisionato

Consideriamo adesso l’apprendimento senza supervisione dove, come già è stato detto,

il training set è costituito da numerosi campioni X x x xi i i in 1 2, ,..., che si vogliono

classificare in un numero limitato p di classi C C Cp1 2, ,..., . Nel presentare i campioni, non

viene ora dichiarata la loro classe di appartenenza (a priori ignota), al contrario di quanto

avviene nell’apprendimento supervisionato. E’ la stessa rete ad auto-organizzarsi,

cambiando progressivamente i suoi pesi sinattici, in modo tale da eseguire classificazioni

corrette ad apprendimento completato.

La rete in questione ha n ingressi e m (m>p) neuroni di uscita collegati con pesi sinattici

wji. Ad ogni neurone j è associato quindi un vettore W w w wj j j jn 1 2, ,..., cioè anche un

punto nello spazio ad n dimensioni. Anche i vettori X x x xi i i in 1 2, ,..., rappresentano

dei punti nello stesso spazio. Se gli ingressi X i sono raggruppati in p classi distinte si

avranno p “nuvole” distinte di punti. L’apprendimento consiste nella migrazione dei punti

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

23

Wj verso i centroidi di queste nuvole partendo da una generica configurazione iniziale.

Presentando dunque un certo input X i tutti i neuroni competono per essere attivati ma

vince uno solo di essi cioè quello per cui Wj è più vicino a X i . Il premio di tale vittoria

consiste in un ulteriore piccolo avvicinamento a X i secondo la formula

w X Wj i j (1.30)

dove è il solito coefficiente di apprendimento detto learning rate e compreso tra zero

ed uno. Presentando in successione tutti i punti del training set si avrà come risultato

l’avvicinamento progressivo dei punti Wj ai centroidi delle classi. Alla fine

dell’apprendimento gli input che si riferiscono ad una certa classe attiveranno solo il

neurone i cui pesi nello spazio rappresentano tale classe. Se questo avviene la rete ha

imparato il problema di classificazione.

L’apprendimento che abbiamo ora descritto è denominato “competitive learning” per il

fatto che i neuroni si competono la vittoria ad ogni presentazione di un ingresso. Tale

strategia è denominata “Winner Takes All” (WTA)[7].

Esistono altri e diversi tipi di apprendimento ed altre importanti topologie di reti neurali

quali l’apprendimento Hebbiano o le reti di Hopfield per le quali si rimanda alla

bibliografia [8] [9] [10].

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

24

2.2 LA LOGICA FUZZY

In molti campi di applicazione la metodologia fuzzy si è resa utile per la progettazione

di dispositivi che richiedono una certa intelligenza nel loro modo di operare. Essa,

contrariamente all' "Hard Computing", si prefigge di tollerare l'incertezza e l'imprecisione

in fase di calcolo, di elaborazione e di decisione, risultando così meno accurata, ma nello

stesso tempo più robusta e soprattutto capace di ridurre complessità e quindi costi.

La Fuzzy Logic, in particolare, è una disciplina scientifica che imita l'abilità della mente

umana di impiegare metodi di ragionamento approssimati anziché esatti; essa si rende

molto utile per ridurre la complessità di sistemi intelligenti che possono tollerare

l'imprecisione e l'incertezza, apprendere dall'esperienza ed adattarsi ai cambiamenti delle

condizioni di lavoro.

Nata intorno al 1965 [11], con l'introduzione della teoria degli insiemi fuzzy (Fuzzy

Set), a partire dagli anni '80 comincia ad essere usata nelle applicazioni industriali e poi,

dagli anni '90, ha interessato sempre più vari prodotti di largo consumo, anche in

combinazione con le tecniche delle reti neurali, per renderli capaci di adattarsi e di

apprendere dall'esperienza. A tal proposito si può dire che i principali costituenti del Soft

Computing, ovvero la logica fuzzy (FL), la teoria delle reti neurali (NN) ed il ragionamento

probabilistico che include gli algoritmi genetici (GA), pur avendo aree che si

sovrappongono, sono complementari piuttosto che competitivi, quindi è conveniente

impiegarli insieme anziché da soli. Di essi, il primo tratta fondamentalmente con

l'imprecisione, il secondo con l'apprendimento e il terzo con l'incertezza.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

25

Recentemente la logica fuzzy ha raggiunto enorme popolarità, tanto nel mondo

accademico che in quello industriale, vincendo la naturale resistenza al cambiamento. Il

suo successo ha spinto le industrie di microelettronica a creare una nuova classe di

macchine (i circuiti integrati denominati fuzzy machine) in grado di superare i limiti che si

incontrano con i sistemi di calcolo tradizionali quando sono usati in ambito fuzzy.

Il termine Fuzzy Logic in senso letterale indica un sistema logico che mira ad una

formalizzazione del modo di ragionare approssimato; oggi, invece, va inteso in senso più

ampio come sinonimo di teoria degli insiemi fuzzy, ovvero teoria di classi con confini non

netti.

2.2.1 La teoria dei fuzzy set

Nella teoria degli insiemi tradizionale un elemento dell'universo può appartenere ad un

dato insieme oppure no. Ad esempio tra tutte le persone di una famiglia, elementi u di U,

l'elemento persona "a" appartiene all'insieme A delle persone con età inferiore ai 30 anni e

non appartiene all'insieme B delle persone con più di 70 anni (si veda la Fig 2.3). Quindi, il

grado di appartenenza di un elemento nei confronti di un dato insieme può assumere solo i

valori logici "vero" o "falso" cioè, come si suol dire, valori "crisp".

Nelle situazioni più comuni, tuttavia, si incontrano casi nei quali non conviene delineare

un confine netto per gli insiemi; ad esempio, volendo considerare la classe delle persone

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

26

giovani, sembra una forzatura fissare dei valori numerici in anni per delimitarne l'intervallo

di appartenenza.

Fig 2.3 Esempio di insiemi tradizionali.

In un caso del genere è più interessante invece conoscere quanto una data persona può

definirsi giovane, cioè in che misura può considerarsi tale. E’ proprio da questa semplice

constatazione che prende spunto la teoria dei fuzzy set.

Un fuzzy set è una generalizzazione di un insieme tradizionale, ottenuta assegnando ad

ogni suo elemento un grado di appartenenza compreso tra 0 ed 1. In questo modo si può

capire quanto più una data persona "a" soddisfa la caratteristica del concetto "giovane",

continuando ad indicare con i valori estremi 1 e 0 la perfetta appartenenza o meno al dato

insieme. In questo modo l'insieme A delle persone giovani sarà costituito da tutti elementi

persone di U, ognuno con il suo grado di appartenenza ad A, il quale, potendo assumere

valori con continuità e non in modo brusco, fornisce un'idea più vicina alla realtà del

concetto di giovane riferito a quella persona. Si evince quindi che, con tale definizione,

nessun elemento dell’universo U risulta essere non appartenente (nel senso

U A

B

a

b

c

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

27

dell’insiemistica ordinaria) ad un fuzzy set, e ciò in virtù del concetto di grado di

appartenenza. Pertanto un elemento che nell’insiemistica ordinaria verrebbe considerato

come non appartenente ad un dato insieme, in un contesto fuzzy gli verrebbe invece

associato un grado di appartenenza basso, o, al limite, nullo.

In sintonia con quanto detto, la teoria dei fuzzy set rappresenta il superamento della

concezione secondo la quale una data asserzione può essere o solo vera o solo falsa.

2.2.2 Variabili linguistiche

La logica fuzzy permette di approdare alle soluzioni attraverso un metodo

deterministico che, mascherato da una struttura di tipo “linguistico”, consente di avere una

struttura versatile e adattabile ad ogni tipo di sistema. E’ noto infatti che il linguaggio

verbale è ridondante, ovvero lascia abbastanza spazio all’ambiguità e all’incertezza. La

logica fuzzy quindi rappresenta una sorta di fusione tra due approcci basilarmente

antitetici.

Una variabile linguistica è una variabile i cui valori sono parole o frasi anziché numeri.

Tornando all'esempio precedente, asserendo che una data persona è giovane, si fa

riferimento alla variabile linguistica "età", i cui valori linguistici potrebbero appunto essere

"giovane", "di mezza età" ed "anziano". Quindi, fissata una variabile linguistica, la

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

28

specificazione dei suoi valori comporta allo stesso tempo la specificazione degli insiemi

fuzzy prima discussi.

Analiticamente una variabile linguistica x nell'universo del discorso U è caratterizzata

da un insieme W(x) = (W1x , ... , Wnx) e da un insieme M(x) = (M1x , ... , Mnx).

W(x) è l’insieme contenente tutti i valori linguistici che può assumere x,

M(x) contiene invece un set di funzioni Mix specificanti, ciascuna, il grado di

appartenenza di ogni elemento dell’universo U a Wix, cioè all’i-esimo fuzzy set individuato

dalla variabile linguistica x.

2.2.3 Funzione di appartenenza

Considerando una variabile linguistica, ad ogni suo valore linguistico, per quanto detto

in precedenza, si può associare un sottoinsieme fuzzy, i cui elementi saranno caratterizzati

da un grado di appartenenza. Si può così identificare una funzione di appartenenza ad un

sottoinsieme fuzzy, che associa ad ogni elemento u dell'Universo del Discorso U il

corrispondente grado di appartenenza a quel sottoinsieme. Nella insiemistica ordinaria tale

funzione può assumere solo i valori logici "vero" o "falso", è cioè "crisp"; invece, nella

teoria dei sistemi fuzzy ha un ruolo molto importante, potendo assumere valori reali che

variano con continuità da 0 ad 1.

In un sistema di assi cartesiani si può rappresentare, ad esempio, il sottoinsieme fuzzy

giovane con il grafico della funzione di appartenenza come in figura 2.4 .

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

29

Fig 2.4 Fuzzy set.

Analiticamente si può dire che nell' Universo del Discorso U un fuzzy set F è

caratterizzato da una funzione di appartenenza mf ( ) definita in U, che assume valori reali

nell'intervallo 0 1, ; è quindi rappresentato da un insieme di coppie ordinate, ognuna

composta da un generico elemento appartenente ad U e dal suo grado di appartenenza mf

(u), cioè

F = ( u, mf (u)) u U . (2.31)

ETA’ IN ANNI

GRADO DI

APPARTENENZA

GIOVANE MEZZA ETA’

VECCHIO

1

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

30

2.2.4 Regole fuzzy

I fuzzy set possono essere considerati un'estensione degli insiemi ordinari, d'altra parte

la fuzzy logic costituisce un'estensione della logica ordinaria. Quindi, così come avviene

tra l'insiemistica e la logica ordinarie, si possono ricavare delle corrispondenze anche tra la

teoria dei fuzzy set e la fuzzy logic. Ad esempio agli operatori unione, intersezione e

complemento agenti sui sistemi fuzzy corrispondono rispettivamente gli operatori logici

OR, AND e NOT, al grado di appartenenza di un elemento in un fuzzy set può

corrispondere il valore vero di una proposizione nella fuzzy logic.

Infine anche le implicazioni tra sottosistemi fuzzy possono essere rappresentate

mediante regole. Le regole che governano un sistema fuzzy vengono spesso scritte usando

espressioni linguistiche che formalizzano le regole empiriche per mezzo delle quali un

operatore umano è capace di descrivere un processo usando la sua esperienza.

Tali regole fanno uso di relazioni logiche tra argomenti chiamate predicati. Si parla in

particolare di predicati fuzzy i quali si contrappongono su certi aspetti ai predicati normali.

Ad esempio gli esempi seguenti costituiscono rispettivamente un predicato normale e

fuzzy.

Prezzo = 28

Prezzo = alto

Nel primo caso, il predicato può essere vero o falso, nel secondo caso, alto è un insieme

fuzzy, definito in un dominio Pmin- Pmax, e il prezzo può essere “alto” con gradi di verità

compresi tra zero e uno.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

31

In generale, quindi, un predicato fuzzy ha la forma X = F, dove X è una variabile

definita in un dominio Xmin- Xmax e F, denotato da un termine linguistico, come “alto”,

“veloce”, “caldo”, è un insieme fuzzy nello stesso dominio.

In generale una regola condizionale fuzzy è del tipo:

if premessa then conclusione.

La premessa è costituita da un asserzione in cui i predicati fuzzy Pi (che chiameremo

antecedenti) della forma generale (xi is Ai) possono essere combinati da diversi operatori

quali gli operatori logici AND e OR; in questo caso xi è una variabile linguistica definita

nell'universo del discorso U ed Ai è uno dei nomi del term set di xi .

La conclusione indica le azioni da intraprendere quando vengono soddisfatte le

condizioni della premessa.

Un esempio di regole condizionali fuzzy che usano tali operatori è dato da:

if (P1 and P2 or P3) then P4

dove

P1 = (x1 is A1), P2 = (x2 is A2),

P3 = (x3 is A3), P4 = (y4 is B4), (2.32)

Il predicato ( xi is Ai) restituisce come risultato il grado di appartenenza i della

variabile linguistica xi relativamente all'insieme fuzzy Ai. L'applicazione degli operatori

fuzzy ai predicati della premessa fornisce ancora un valore compreso tra 0 ed 1, ricavato

mediante le corrispondenze riportate nella tabella seguente.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

32

Operatore Significato

i AND j MIN( i , j )

i OR j MAX( i , j )

NOT i 1- i

Considerando un universo del discorso finito, cioè con un numero finito di elementi,

una funzione di appartenenza ad un sottosistema può essere identificata da un array, i cui

valori sono dati dal grado di appartenenza a quel sistema di ogni elemento dell'universo.

2.2.5 Sistemi Fuzzy

Un sistema fuzzy trasforma determinati input (per esempio, la temperatura T di una

stanza, rilevata da un sensore) in opportuni output (per esempio, la velocità V di un

ventilatore che deve raffreddare la stanza) : C = f(V).

In generale, si hanno però n input Ii e m output Oj, per cui :

O1 = f1 (I1 , I2 , ... , In)

O2 = f2 (I1 , I2 , ... , In)

O3 = f3 (I1 , I2 , ... , In) (2.33)

Il comportamento dei sistemi fuzzy è definito da una specie di base di conoscenza : essa

comprende la descrizione degli insiemi fuzzy, input e output, e le regole che associano gli

uni agli altri. Le regole dei sistemi fuzzy sono principi generali piuttosto che regole

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

33

precise : ad esempio non ci sono regole come “se la velocità supera 100 Km/h, allora

occorre girare la valvola di 30 gradi”, ma piuttosto regole come “se la velocità è media,

allora occorre girare la valvola di un angolo medio”.

Infine le regole fuzzy vengono eseguite tutte contemporaneamente, in parallelo

conferendo al sistema la possibilità di comprendere le relazioni tra input e output.

Esaminiamo ora il funzionamento generale di un sistema fuzzy.

Si abbiano r regole del tipo (x = Ai and y = Bj z = Ck), con due input, un output, N

insiemi Ai (nel dominio x1 , ... , xn) M insiemi Bj (nel dominio y1 , ... , ym), e P insiemi Ci

(nel dominio z1 , ... , zp).

Il funzionamento comprende le seguenti tre fasi :

1) Fuzzificazione. Vengono opportunamente attivati gli insiemi input (fuzzy), in

funzione dei valori attuali delle variabili input (non fuzzy).

Nel caso di due variabili x, y e dei relativi insiemi input :

A1 , A2 , ... , AN

B1 , B2 , ... , BM

si otterranno, come vedremo tra poco, per i valori attuali x = xo, y = yo, i sottoinsiemi

input :

A’1 , A’2 , ... , A’N,

B’1 , B’2 , ... , B’M .

2) Associazione input-output. E’ la trasformazione dei precedenti insiemi input

(con apice) negli insiemi output fuzzy :

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

34

(C’1 , C’2 , ... , C’P),

applicando le regole :

A’i and B’j C’k,

3) Defuzzificazione. In questa fase i precedenti insiemi output C’k vengono

consolidati in un solo insieme output C’ che, a sua volta, deve essere convertito in un ben

determinato valore attuale zo della variabile output z (viene cioè “defuzzificato”).

L’architettura di un sistema fuzzy (Fig. 2.5), ha quindi come componenti : una base di

dati che descrive gli insiemi fuzzy (funzioni di appartenenza), una base di regole fuzzy, un

fuzzificatore dell’input, un associatore input-output (valutazione regole) e un

defuzzificatore dell’output.

Fig 2.5 Architettura di un sistema fuzzy.

FUZZIFICAZIONE

INPUT

FUZZY

INPUT

VALUTAZIONE

REGOLE

FUZZY

OUTPUT

DEFUZZIFICAZIONE

OUTPUT

FUNZIONI

MEMBERSHIP

REGOLE

BASE DATI E REGOLE

INPUT

OUTPUT

OUTPUT

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

35

La prima operazione di un sistema fuzzy consiste nell’attivare gli insiemi input, in

funzione del valore attuale delle sue variabili input. Abbiamo visto che un insieme fuzzy A

si può rappresentare nel dominio discreto n-dimensionale x1 , x2 , ... , xn, tramite il vettore :

A = (a1 , a2 , ... , an)

dove :

ai = m (A, xi) 1 (2.34)

è il grado di appartenenza di xi ad A.

Il valore attuale di x coincide con un ben determinato x1 xi xn (poniamo con x4), al

quale corrisponde una determinata funzione di appartenenza a4 = m (A, x4), grado di verità

dell’appartenenza di x4 ad A. Questo valore x4 attiva, come giustificheremo tra poco, un

sottoinsieme A’ di A.

Si hanno due modalità di attivazione : Correlation-Minimum Encoding e

Correlation-Product Encoding.

Nel primo caso viene attivato un sottoinsieme (si veda la Fig. 2.6) :

A’ = (a’1 , a’2 , ... , a’n), con a’i = min (a4 , ai)

cioè la figura A’ si ottiene dalla figura A tagliandone la parte superiore ad a4.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

36

Fig 2.6 Correlation minimum encoding.

Nel secondo caso viene attivato un sottoinsieme (si veda la Fig. 2.7) :

A’ = (a’1 , a’2 , ... , a’n), con a’i = a4 ai

cioè la figura A’ si ottiene dalla figura A riducendone le ordinate nella scala a4 1.

Naturalmente, se fosse a4=0, l’insieme A’ avrebbe, in entrambi i casi, elementi tutti nulli e

coinciderebbe con l’insieme vuoto.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

37

Fig 2.7 Correlation product encoding.

2.2.6 Associazione fuzzy input-output

La seconda operazione di un sistema fuzzy consiste nell’attivare gli insiemi output, in

funzione delle regole applicabili e degli insiemi già attivati in input. Nel nostro esempio di

riferimento, avendo già attivato gli insiemi A’i, B’i, occorrerà ora determinare in che misura

attivare gli insiemi Ck nel dominio (z1 , z2 , ... , zp) della variabile z.

Incominciamo a considerare il caso di una sola associazione input-output, espressa da

una sola regola con un solo antecedente : A B, per esempio “Temperatura alta

Velocità ventilatore alta”.

Sappiamo che A e B sono due vettori non binari :

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

38

A = (a1 , a2 , ... , an)

B = (b1 , b2 , ... , bm)

di dimensioni rispettive n, m.

Per ottenere l’output B dall’input A occorrerebbe allora, da un punto di vista

matematico, moltiplicare il vettore A per una opportuna matrice M di dimensioni n m e

con determinati elementi mij :

B = A M , con bj = i ai mij , per 0 i n, 0 j m. (2.35)

Le operazioni fuzzy su vettori e matrici vengono eseguite nel modo seguente : alla somma

di elementi si sostituisce l’operatore max e al prodotto di elementi l’operatore min.

Questa operazione fondamentale è denominata Composizione Min-Max :

i ai diventa max (ai)

ai aj diventa min (ai, aj)

(ai aj) diventa max(min(ai , aj))

Pertanto avremo, al posto della moltiplicazione B = A M la Composizione Min-Max (“o”

è il relativo operatore) :

B = (A o M), con bi = max min (ai, mij) (2.36)

Vi sono due modi per ottenere gli elementi di mij di M :

Correlation-Minimum Encoding : mij = min (ai, bj)

Correlation-product Encoding : mij = ai bj

Nei due casi, mij è il prodotto, fuzzy o normale, degli elementi ai, bj e la matrice M è

fornita rispettivamente da :

M = AT o B (2.37)

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

39

oppure

M = AT B (2.38)

dove AT è il vettore trasposto di A (verticale se A è orizzontale).

In pratica, però, non si ha mai una sola regola, bensì un repertorio di r regole :

A1 B1 A’1 B’1

A2 B2 cioè anche A’2 B’2

Ar Br A’r B’r

Non tutte le regole saranno generalmente applicabili, perché al valore attuale della

variabile x corrisponderanno solo pochi insiemi A’i non nulli, come abbiamo già rivelato.

Otterremo quindi solo pochi insiemi output B’i , che sarà opportuno consolidare in un solo

insieme B’ .

Il modo più semplice per farlo è il ricorso ad una loro combinazione lineare :

B’ = i (Wi B’j) (2.39)

dove i pesi Wi dovrebbero riflettere la credibilità, la frequenza o la forza della regola

Ai Bi .

Comunemente però si adotta Wi = 1, per cui B’ si riduce a una semplice somma :

B’ = i B’i (2.40)

Esaminiamo, infine il caso più realistico costituito da regole con più antecedenti nella

premessa.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

40

Basterebbe considerare due antecedenti A, B connessi da “and”, poiché i risultati possono

essere generalizzati facilmente a qualunque numero di antecedenti, comunque connessi.

Si abbia dunque la regola :

A and B C

che potremo scindere nelle due seguenti :

A C1

B C2

C = C1 and C2

I valori attuali delle variabili x, y attivano i sottoinsiemi A’ e B’, quindi l’applicazione in

parallelo delle due regole produrrà, nel caso di correlation-Minimum Encoding, i

corrispondenti C’1 e C’2 .

Nel caso invece di due antecedenti con connettivo “or” :

A or B C ,

al posto dell’intersezione occorrerebbe operare la congiunzione tra C’1 e C’2 .

2.2.7 Metodi di defuzzificazione

Il processo di defuzzificazione consiste nell'estrapolazione del valore più

rappresentativo dall’universo del discorso.

Dato un sottoinsieme fuzzy F sullo spazio d’uscita Y, il processo di defuzzificazione ha

il compito di selezionare un opportuno elemento y. I metodi utilizzati per realizzare tale

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

41

operazione sono diversi; i più noti sono il metodo del massimo ed il metodo del centro di

gravità.

Il primo metodo assume come punto rappresentativo di C’ il suo valore massimo

max ',m C zk con 1 k p . Si ottiene così un determinato valore di k in corrispondenza

del quale si ha il valore cercato. Il metodo però fallisce nel caso di più massimi e ignora la

maggior parte dell’informazione contenuta nella funzione m C zk' , . Il secondo metodo,

quello più usato, consiste nel determinare l’ascissa del centroide dell’area sottesa alla

funzione m C zk' , , cioè del suo baricentro

z

m C z z

m C z

k kk

kk

0

' ,

' , (2.41)

Naturalmente nel caso di dominio continuo della variabile z occorre sostituire alle

sommatorie gli integrali. Posto m C z f z' , si ha

z

f z zdz

f z dz

f z zdz

A0

(2.42)

dove A è l’area sottesa alla funzione f(z). Una proprietà importante, e di interesse pratico, è

la seguente: tagliando l’area globale in n strisce verticali di area Ai e centroide zi si ha

zA z

A

A z

A

i i

i

i i

0

(2.43)

Questa proprietà semplifica i calcoli in quanto l’area A è generalmente la somma di figure

semplici (triangoli, rettangoli o trapezi) il cui centroide si calcola facilmente.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

42

2.3 GLI ALGORITMI GENETICI

Gli algoritmi genetici (GA = Genetic Algorithms) furono proposti inizialmente da J.H.

Holland [12] nel 1975. Da allora sono stati oggetto di molti studi e recentemente si è

iniziato ad utilizzarli anche per applicazioni pratiche. Essi costituiscono un modello

computazionale idealizzato dell'evoluzione darwiniana, basata sui due principi della

variazione genetica e della selezione naturale. Gli individui di una popolazione hanno

patrimoni genetici più o meno differenti (variazione genetica). Ad ogni generazione,

coppie di individui si uniscono per generare altri individui, che saranno dotati di un

patrimonio genetico risultante dalla combinazione dei patrimoni dei genitori.

L'adattamento degli individui all'ambiente ("fitness") dipende dal loro patrimonio genetico.

Gli individui con maggiore fitness sono mediamente favoriti (selezione naturale) rispetto

agli altri: essi tendono a vivere di più, a riprodursi di più, trasmettendo alla discendenza

parte del loro patrimonio genetico, già rivelatosi competitivo.

Negli algoritmi genetici il patrimonio genetico di un individuo è rappresentato

generalmente da una stringa di n simboli o geni. Ogni gene è un simbolo tratto da un

alfabeto di p simboli; in particolare, i simboli possono essere 0, 1 (p = 2), avendosi allora

stringhe binarie. Si possono pertanto avere pn individui diversi che, nel caso binario, sono

vertici di un iper-cubo di n dimensioni. Una popolazione è costituita da m stringhe, aventi

tutte la stessa lunghezza n. Nella soluzione di un problema, mediante un algoritmo

genetico, le stringhe di una popolazione rappresentano altrettante ipotesi di soluzione di

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

43

quel problema. La bontà delle soluzioni è misurata dalla fitness delle stringhe. Inizialmente

le fitness sono piuttosto scadenti e si cerca allora di fare evolvere la popolazione in modo

da fare emergere, dopo un numero ragionevole di generazioni, almeno una soluzione

"molto buona", con fitness elevata. Per ottenere tale evoluzione, gli algoritmi si valgono di

operazioni genetiche, ciascuna eseguita su uno o più individui, scelti con criteri

probabilistici. Le operazioni genetiche più comuni sono:

1) Riproduzione. In una popolazione di M individui (generazione attuale) se ne

scelgono, con probabilità proporzionale alla loro fitness solo m<M, che costituiscono

la generazione successiva.

2) Cross-over. Questa operazione coinvolge due stringhe genitrici

A A A

B B B

n

n

1 2

1 2

, ,...,

, ,...,

Dopo aver scelto in modo random un indice k (1 k n) si effettua uno scambio di

geni tale da produrre le stringhe figlie

A A A A B B B

B B B B A A A

k k k k n

k k k k n

1 2 1 1 2

1 2 1 1 2

, ,..., , , , ,...,

, ,..., , , , ,...,

Una variante di questa operazione sceglie in modo random due indici k ed l ed

effettua lo scambio

A A A B B A A

B B B A A B B

k k l l n

k k l l n

1 2 1 1

1 2 1 1

, ,..., , ,..., , ,...,

, ,..., , ,..., , ,...,

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

44

3) Mutazione. Opera su una sola stringa A nel modo seguente: dopo aver scelto, in

modo casuale, un indice k si sostituisce al simbolo Ak un nuovo simbolo Ak

' tratto

in modo random dall’alfabeto dei geni. Si ottiene così la trasformazione

A A A A A Ak n k n1 1,..., ,..., ,..., ,...,'

L’algoritmo genetico di base (dal quale derivano molte versioni) è il seguente

Si ha una popolazione U di m stringhe, ordinate in funzione della loro fitness.

Si sceglie con probabilità Pmut (molto piccola) un gene di una stringa e si opera la

mutazione.

Si scelgono con probabilità P Pcross mut due stringhe e si opera il cross-over.

Si riordinano le stringhe in funzione della loro fitness e se ne scelgono m, con

probabilità proporzionale alla fitness, costituendo così la nuova popolazione U.

Si ritorna al punto 1 fino a che non è stato soddisfatto un predefinito criterio di stop

(per esempio un numero massimo di iterazioni).

Il problema sarà risolto se almeno una delle stringhe della popolazione finale costituisce

una soluzione vicina all’ottimo assoluto. Sostanzialmente l’algoritmo genetico è un metodo

di ricerca di soluzioni ottimali nel “paesaggio” multidimensionale della fitness. Tale

metodo è considerato più efficiente di quello denominato “hill climbing” che presenta

l’inconveniente di offrire soluzioni che sono minimi relativi e non assoluti. Per l’algoritmo

genetico la mutazione introduce, così come il coefficiente di momentum per le reti neurali,

un disturbo che tende ad evitare la convergenza prematura su un ottimo relativo.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

45

E’ importante anche rilevare che, nell’ambito di una stringa, possono emergere, in un

certo momento, determinate sequenze di geni che le conferiscono una fitness superiore alla

media. Un esempio di schema, in una stringa binaria con n=13 è

01###100#1101

dove # indica un qualunque simbolo legale. Si definisce “ordine” di uno schema il

numero di simboli definiti in esso (9 nel precedente esempio). Si ritiene che l’operazione di

cross-over faciliti la combinazione di schemi buoni di ordine basso (“building blocks”) in

schemi migliori di ordine elevato. Un teorema dovuto ad Holland assicura, sotto

determinate condizioni, la convergenza dell’algoritmo. Gli schemi con fitness superiore

alla media tendono a diffondersi esponenzialmente nella popolazione.

Tuttavia, se esistono soluzioni diverse, ugualmente buone ma con schemi

contrastanti, l’operazione di cross-over può produrre, da genitori buoni, ibridi cattivi.

Generalmente nel passaggio da una generazione all’altra che, come abbiamo visto, tende a

riprodurre gli m individui migliori, si preferisce comunque copiare l’individuo migliore

della generazione precedente, per non rischiare la perdita del suo prezioso patrimonio

genetico.

Per risolvere un problema mediante l’algoritmo genetico è necessario formalizzare le

ipotetiche soluzioni con stringhe di simboli aventi la stessa lunghezza . Come primo

esempio consideriamo il semplice problema di trovare la regola che sintetizza i casi

accettabili della tabella:

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

46

Caso Prezzo Qualità Accettabilità

1 450 3 si

2 500 3 si

3 600 3 no

4 450 2 si

5 500 2 si

6 600 2 no

7 450 1 no

8 500 1 no

9 600 1 no

La regola cercata sarà del tipo

(Op1 VP) Op2 (Op1 VQ)

con la seguente codifica binaria

Op1 = operatore 1 (0 = maggiore o uguale, 1 = minore o uguale)

VP = valore prezzo (01 = 450, 10 = 500, 11 = 600, 00 non usato)

Op2 = operatore 2 (0 = AND, 1 = OR)

VQ = valore qualità (01 = 1, 10 = 2, 11 = 3, 00 non usato)

Per esempio la regola 0111101, una stringa di 7 bit equivale a

(Prezzo 600) OR (Qualità 1)

La fitness di una regola è uguale al rapporto tra il numero di casi accettabili che esso

soddisfa e il numero totale di tali casi (la regola precedente ha fitness nulla). Partendo

allora da una popolazione sufficientemente grande di stringhe (nel nostro caso ne sono

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

47

possibile 128), applicando l’algoritmo genetico, si giunge, in un ragionevole numero di

generazioni, alla migliore soluzione che ha fitness 1 ed è

1100010=(Prezzo 500) OR (Qualità 2).

Per completare la breve trattazione sugli algoritmi genetici occorre sottolineare che

esistono una serie di operatori genetici non standard che permettono di migliorare le

prestazioni dell’algoritmo genetico sia in termini di velocità di convergenza che in termini

di accuratezza della soluzione [13] [14].

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

48

2.4 LE RETI NEURALI CELLULARI

Le reti neurali cellulari (CNN), la cui prima formulazione si deve a L.O.Chua, fanno

la loro prima apparizione nell’ottobre 1988 [15]. Le CNN, costituiscono un particolare tipo

di reti neurali artificiali, da cui traggono alcuni aspetti innovativi tra cui il processamento

asincrono parallelo, tempo continuo (circuiti analogici), derivante dalle interazioni degli

elementi della rete: esse trovano un ottimo campo di impiego nell’elaborazione delle

immagini. Oggi il campo di applicazione di tali sistemi si è ampliato enormemente tanto da

trovare impiego in ambiti totalmente differenti da quello originale. Sono state proposte

applicazioni nella elaborazione dei dati di tipo biomedicale, nella robotica, nelle memorie

associative, nella simulazione di sistemi complessi sia fisici che biologici [16],[17].

2.4.1 Architettura delle reti neurali cellulari (CNN): il modello elettrico

L’unità di base di una CNN è detta cella ed è implementata mediante un circuito

elettrico elementare costituito da elementi lineari come condensatori, resistenze, generatori

indipendenti e generatori pilotati, e non lineari implementati anch’essi con generatori

pilotati non lineari.

Ogni singola cella è in grado di interagire in modo diretto con le celle ad essa adiacenti

ed indirettamente con tutte le altre, sfruttando l’effetto di propagazione degli stimoli

[15],[17].

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

49

Una CNN computazionalmente, può essere considerata come una matrice di celle n-

dimensionale: nel nostro caso ci limiteremo a CNN bidimensionali ovvero considereremo

matrici MxN, tenendo conto del fatto che quanto diremo potrà essere facilmente esteso ai

casi a più dimensioni.

Un esempio di CNN bidimensionale 3x3 in cui vengono indicate le connessioni tra le

celle, è mostrato in Fig. 2.8.

C(1,1) C(1,2) C(1,3)

C(2,1) C(2,2) C(2,3)

C(3,1) C(3,3)C(3,2)

Fig. 2.8 Schema di CNN 3x.3

Detta C(i,j) la cella della matrice/CNN, appartenente alla i-esima riga e alla j-esima

colonna, si definisce intorno Nr(i,j) di raggio r della cella, il seguente:

N i j C k l k i l j r k M l Nr( , ) ( , )|max | |,| | , , 1 1 (2.44)

con r 0 .

La figura 1.9 mostra due esempi di intorni di una cella C(i,j), indicata in nero,

rispettivamente di raggio r=1 ed r=2.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

50

(a) (b)

Fig. 2.9 Intorni di raggio 1 e 2 di una CNN .

Si noti come ad un raggio r=1 corrisponda un intorno 3x3, ad un raggio r=2 corrisponda

un intorno 5x5 e così via.

Indicando ancora con C(i,j) la cella generica, per una CNN è inoltre valida la seguente

proprietà di simmetria:

Se C i j Nr k l( , ) ( , ) , allora C k l Nr i j( , ) ( , ) , (2.45)

C i j( , ) , C k l( , )

In Fig.2.9 è riportato il circuito elettrico equivalente di una generica cella di CNN [1]:

+

Eij I C

Ixu(i,j;k,l) Iyu(...) Iyx

Stato VxijIngresso Vuij Uscita Vyij

C Rx Ry

Fig. 1.9 Struttura circuitale di una cella di CNN.

fig

.3

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

51

I suffissi u, x e j, indicano rispettivamente l’ingresso, lo stato e l’uscita del circuito.

L’unico elemento non lineare la cui caratteristica supporremo lineare a tratti, è il

generatore di corrente controllato in tensione Iyx, la cui caratteristica viene riportata in

Fig.2.10:

f(V)

V

+1

-1

-1 +1

Fig. 2.10 Caratteristica del generatore di corrente non lineare.

Vale dunque la seguente relazione:

f V V V( ) | | | | 1

21 1 (2.46)

detto ciò, per i generatori di corrente valgono le seguenti equazioni (normalizzate

rispetto ad una tensione d’uscita unitaria | |V voltyij 1 ):

Iyx i j Ry f Vxij Ry Vxij Vxij( , ) ( / ) ( ) ( / ) (| | | |) 1 1 2 1 1 (2.47)

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

52

Ixy i j k l A i j k l VyklRy

A i j k l Iyx k l( , ; , ) ( , ; , ) ( , ; , ) ( , ) 1

(2.48)

Ixu i j k l B i j k l Vukl( , ; , ) ( , ; , ) (2.49)

Si noti come l’interazione tra la cella C(i,j) e la cella C(k,l) avvenga mediante generatori

di corrente controllati in tensione.

Le grandezze A e B vengono dette maschere di convoluzione o “templates”: esse,

unitamente alla corrente I, influenzano il comportamento dell’intera CNN.

Una condizione necessaria per la convergenza verso uno stato stabile della CNN, è che

A sia una matrice simmetrica, ovvero:

k l Nr, , sia: A k l A l k( , ) ( , ) (2.50)

inoltre, se A(0,0) > 1, ogni uscita dello stato stabile sarà compresa tra i valori 1 e -1.

La template A viene denominata “feedback template”, essendo legata alle uscite

circuitali e svolgendo una vera e propria azione di retroazione sullo stato.

Per quel che riguarda la matrice B, essa può interpretarsi come un operatore di controllo

e pertanto viene denominata “control template”, essendo peraltro legata agli ingressi

circuitali [18] [19].

Lo schema a blocchi di una CNN standard viene rappresentato in Fig. 2.11 [16]:

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

53

B

A

U I

x dx y

+

-

+

+

Fig.2.11 Schema a blocchi di una CNN.

Applicando al circuito equivalente in fig.2.9 le leggi di Kirchhoff sulla corrente e sulla

tensione si ottengono per la cella C(i,j) di una CNN le seguenti equazioni di stato:

EQUAZIONI DI STATO

Cd

dtVxij t

RxVxij t A i j k l Vykl B i j k l Vukl

C k l Nr i j C k l Nr i j

( ) ( ) ( , ; , ) ( , ; , )( , ) ( , ) ( , ) ( , )

1

I

(2.51)

con 1 i M e 1 j N

dove M ed N si sono assunti rispettivamente il numero di righe e di colonne della CNN.

EQUAZIONI DI OUTPUT

Vyij t Vxij t Vxij t( ) (| ( ) | | ( ) |) 1

21 1 (2.52)

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

54

con 1 i M e 1 j N

EQUAZIONI DI INPUT

Vuij Eij (2.53)

con 1 i M e 1 j M

VINCOLI

| ( )|Vxij 0 1 (2.54)

| |Vuij 1 (2.55)

con 1 i M e 1 j N

PARAMETRI

A i j k l A k l i j( , ; , ) ( , ; , ) (2.56)

C 0 (2.57)

Rx 0 (2.58)

con 1 i M e 1 j N

Sono da rilevare i seguenti aspetti:

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

55

(1) Detta C(i,j) una cella della CNN, denominata cella centrale, (“inner cell”); le celle ad

essa confinanti sono dette celle vicine o di confine (“boundary cell”) ed il loro numero,

avendo indicato con r il raggio dell’intorno di C(i,j), sarà pari a ( )2 1 2r .

(2) Ogni cella di una CNN ha al più tre nodi (come si rileva dal circuito in Fig.2.9), infatti

scegliendo ad es. Eij = 0 se B(i,j;k,l) = 0, per tutte le celle, i nodi di ogni cella si

ridurranno a due (stato e uscita).

(3) Gli elementi delle templates A e B hanno la funzione di pesi per le equazioni di stato e

agiscono come veri e propri operatori di convoluzione, realizzando rispettivamente un

feedback in uscita ed un controllo in ingresso.

(4) I valori delle resistenze Rx ed Ry rappresentanti le perdite joule circuitali, sempre in

riferimento al circuito in Fig.2.9, hanno valori normalmente compresi entro un

intervallo tra i mille ohm ed il milione di ohm.

(5) La costante di tempo del circuito ossia RC ha valori compresi tra i cento

picosecondi e i dieci microsecondi, caratteristica, questa, che rende adatte le CNN a

impieghi come l’image processing, permettendo un processamento in tempo reale

(tempo continuo, trattandosi di circuiti analogici).

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

56

2.4.2 Stabilità di una rete neurale cellulare

Una delle proprietà fondamentali delle CNN consiste nella caratteristica che esse

hanno, nell’ipotesi di simmetria della “feedback template”, di convergere ad una situazione

di equilibrio stabile, a partire da delle date condizioni iniziali, che analizzeremo di seguito

in dettaglio [15],[20].

Quando una CNN viene applicata ad es. al processamento di un’immagine, essa,

partendo dall’immagine originale in ingresso, “mappando” progressivamente tutti i pixel

della data immagine, fornisce, in dipendenza dai coefficienti di A, B e della corrente I della

(2.51), un sistema di n equazioni differenziali, le quali costituiscono le equazioni di stato

della cella-pixel su cui è centrata in quel momento la CNN, essendo n il numero di celle

del suo interno. Qualunque sia a partire dallo stato iniziale, il regime transitorio di

evoluzione, delle singole celle, l’immagine di partenza dovrà convergere ad un’immagine

di uscita rappresentante uno stato di equilibrio stabile (“steady state”). Distingueremo di

seguito, tra equilibrio della singola cella ed equilibrio dell’intera CNN (equilibrio globale):

quest’ultimo è principalmente l’oggetto del nostro interesse.

Vediamo ora quali e quante sono le condizioni necessarie affinché la CNN possa

raggiungere la convergenza allo steady state.

Lo studio della stabilità di una CNN, sarà ristretto, per semplicità, al caso di (valori di

tensione d’uscita Vyij) immagini binarie d’uscita con livelli di intensità dei pixel -1 ed +1;

tale studio potrà essere esteso facilmente al caso di immagini d’uscita a più livelli di grigio.

Essendo le celle della rete caratterizzate da equazioni differenziali non lineari,

sfrutteremo il criterio di convergenza di Lyapunov per circuiti dinamici non lineari.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

57

L.O. Chua, nei suoi articoli, definisce funzione di Lyapunov per una CNN la seguente

espressione:

E t A i j k l Vyij t Vyki tRx

Vyij tk l i ji j

( ) ( , ; , ) ( ) ( ) ( )( , ) ( , )( , )

1

2

1

2

2

B i j k l Vyij t Vukl t I Vyij ti jk li j

( , ; , ) ( ) ( ) ( )( , )( , )( , )

(2.59)

La (2.59) non ha un preciso significato fisico: ci limiteremo a considerarla una energia

in senso generalizzato. Si noti come nella (2.59) non compaia lo stato Vxij della cella:

nonostante ciò da essa potranno comunque essere tratte informazioni sullo steady state

della CNN.

Si dimostra che la funzione di Lyapunov sopra definita converge sempre ad un minimo

locale in cui la CNN produce l’uscita desiderata.

Vediamo adesso le proprietà di cui gode la (2.59).

TEOREMA 1

La funzione di Lyapunov E(t) è limitata superiormente, ossia:

ma x E t Et

| ( )| max (2.60)

dove Emax ha la seguente espressione:

E A i j k l B i j k l M NRx

Ik l k li ji j

max

( , ) ( , )( , )( , )

| ( , ; , )| | ( , ; , )| ( | |) 1

2

1

2 (2.61)

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

58

per una CNN di M righe ed N colonne.

Tale Emax, per un circuiti integrati è tipicamente un valore intorno ai 20 V.

TEOREMA 2

La funzione di Lyapunov E(t) è una funzione monotona decrescente e risulta:

d

dtE t C

d

dtVxij t

Vxij

( ) ( )| |

2

1

0 (2.62)

o anche

d

dtE t C

d

dtVyij t

Vxij

( ) ( )| |

2

1

0 (2.63)

o anche

d

dtE t C

d

dtVyij t

i j

( ) ( )( , )

2

0 (2.64)

Vyij f Vxij( ):

d

dVxijVyij 0

Dai teoremi 1 e 2 deriva il seguente teorema:

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

59

TEOREMA 3

Per la funzione di Lyapunov E(t), per ogni ingresso Vu e per qualunque stato iniziale

Vx, valgono le seguenti:

lim ( )t

E t c

(2.65)

lim ( )t

d

dtE t

0 (2.66)

dove c è un valore costante.

COROLLARIO al TEOREMA 3

Ad esaurimento del transitorio di una CNN, come uscite si ottiene sempre una costante,

cioè:

lim ( )t

Vyij t c

(2.67)

oppure

lim ( )t

d

dtVyij t

0 (2.68)

con 1 i M e 1 j N

Dal teorema 3, segue che per lo stato di una cella, al tendere all’infinito del tempo, per

dE(t)/dt= 0, ci sono solo le tre seguenti possibilità:

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

60

d

dtVxij t( ) 0 e | ( )|Vxij t 1 (2.69)

d

dtVxij t( ) 0 e | ( )|Vxij t 1 (2.70)

d

dtVxij 0 e | ( )|Vxij t 1 (2.71)

Dalla osservazione della caratteristica rappresentata in Fig.2.10 nel tratto in cui si ha

Vyij = f(Vxij), (intervallo -1,+1) e della (2.62) è possibile capire come si giunga alle

equazioni (2.69)-(2.71).

Infatti, in virtù della validità della (2.63) quando risulta | Vxij(t) | < 1, da quanto

mostrato in Fig.2.10 sarà Vyij(t) = Vxij(t) e di conseguenza risulteranno uguali le rispettive

derivate rispetto al tempo, cioè ( dVyij(t)/dt )= ( dVxij(t)/dt ): dal teorema 3 e dal suo

corollario segue la (2.69).

Per quanto riguarda la (2.70), sempre tenendo conto della Fig. 2.10,per| Vxij(t) | > 1,

Vyij(t) e Vxij(t) sono diverse: Vyij varrà +1 o -1,

ovvero sarà in ogni caso costante con conseguente derivata nulla; per la (2.46) si avrà

che dVxij(t)/dt = 0, cioè la (2.70).

Il caso (2.71), infine, è valido per funzioni Vxij(t) periodiche o aperiodiche, purché

limitate.

Si ricerca adesso la condizione dei parametri circuitali per cui possa verificarsi solo la

possibilità (2.70), per ogni Vxij nello “steady state” o stato consolidato.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

61

2.4.3 Equilibrio stabile di una cella di una CNN

Uno stato di equilibrio stabile di una cella di una CNN, V xij , è una variabile di stato

Vxij della cella C(i,j), soddisfacente le seguenti condizioni:

d

dtVxij t Vxij V xij( ) * 0 e V xij* 1 (2.72)

avendo assunto: Vykl 1 C k l Nr i j( , ) ( , )

Lo stato di equilibrio stabile di ogni cella in evoluzione libera, dipende quindi dal suo

stato iniziale e da quello delle celle ad essa confinanti.

Una cella può arrivare ad uno stato di equilibrio stabile ben preciso se le sue condizioni

iniziali rimangono invariate.

Si noti come la definizione suddetta sia valida per una qualunque combinazione di

Vykl=1 o Vykl=-1 e pertanto può non rappresentare una componente di uno stato di

equilibrio stabile dell’intero circuito: ciò significa che le singole stabilità di tutte le celle di

una CNN non garantiscono la stabilità di quest’ultima.

Un punto di equilibrio stabile del sistema di una CNN è definito essere un vettore di

stato avente come componenti gli stati di equilibrio delle celle: la CNN deve sempre

convergere ad uno dei punti di equilibrio stabile del sistema, ad esaurimento del transitorio.

Ogni punto di equilibrio stabile del sistema di una CNN (come appena definito), è un

punto limite di un set di traiettorie delle corrispondenti equazioni differenziali (2.51); tale

punto limite rappresenta un punto di confluenza cioè l’unione di tutte le traiettorie

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

62

converge a tale punto. Lo spazio di stato di una CNN può dunque essere partizionato in un

set di traiettorie centrate sui punti di equilibrio stabile del sistema.

Si dimostra valere il seguente teorema:

TEOREMA 5

Se i parametri circuitali soddisfano la seguente condizione:

A i j i jRx

( , ; , ) 1

(2.73)

allora, ogni cella della CNN tenderà, all’esaurirsi del transitorio, ad punto di equilibrio

stabile.

Varranno inoltre le seguenti:

lim ( )t

Vxij t

1 (2.74)

e

lim ( )t

Vyij t

1 (2.75)

con 1 i M e 1 j N

Da questo teorema si evince come le uscite convergano a due valori possibili ,+1 e -1 ed

il circuito non diventerà caotico e non subirà delle oscillazioni.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

63

Inoltre, essendo A(i,j;i,j) corrispondente al feedback positivo della cella C(i,j), la (2.73)

ne stabilisce un limite inferiore (mimino feedback positivo in grado di garantire lo steady

state; strutturalmente è dunque una indicazione sulla scelta dei parametri circuitali.

2.4.4 Funzionamento circuitale di una CNN

Una CNN, matematicamente, opera come una funzione, avente un dominio di valori di

ingresso ed un codominio di valori di uscita.

Analizziamo adesso il circuito in Fig.2.9 di una cella per capirne il funzionamento, sia

dal punto di vista della singola unità base (cella), che da quello dell’intero sistema.

Tutti gli elementi del circuito, generatori controllati compresi, sono lineari, fatta

eccezione per il generatore di corrente Iyx.

Il nodo di tensione Vxij della cella C(i,j) è chiamato “stato della cella” e la sua

condizione iniziale si assume essere minore o uguale ad 1.

Il nodo di tensione Vuij costituisce l’ingresso della cella C(i,j) e si assume essere una

costante con grandezza minore o uguale ad 1.

Il nodo di tensione Vyij si assume come uscita della cella C(i,j).

Ogni cella contiene un generatore indipendente di tensione Eij, due resistori ed al più

2m (con m pari al numero di celle confinanti) generatori di corrente (lineari) controllati in

tensione, accoppiati alle celle confinanti tramite l’ingresso di controllo Vykl di ogni cella

C(k,l).

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

64

Un valore di ingresso di una CNN può essere, dunque, interpretato circuitalmente come

una tensione: considerando di far riferimento alla singola generica cella C(i,j), tale valore

sarà proprio la Vuij.

Ciò che interessa è, allora, data una cella, ottenere un sistema di equazioni differenziali

(non lineari), che ne rappresenti lo stato.

Tale sistema è dato dalle equazioni (2.51), in cui il contributo dei circuiti delle celle

dell’intorno Nr della cella in questione è fornito, come detto sopra, tramite le correnti dei

generatori controllati, legati da relazioni lineari con le rispettive tensioni di controllo Vukl

e Vykl, rispettivamente input e output della cella generica C(k,l) dell’intorno; in che modo

e con che peso si eserciti tale controllo lo vedremo più in dettaglio nel primo paragrafo del

capitolo successivo, in cui il funzionamento della CNN sarà messo in relazione con le

applicazioni di image processing, oggetto principale della dissertazione.

L’uscita della cella generica è caratterizzato da una relazione non lineare:

IyxRy

f Vxij 1

( ) (2.76)

dove f è la funzione lineare a tratti rappresentata in Fig.2.10: come si nota, la corrente di

non linearità dipende, direttamente dallo stato della cella considerate (C(i,j)).

Le uscite non lineari Vykl delle celle dell’intorno, moltiplicate per i corrispondenti

coefficienti A, saranno la causa della non linearità delle equazioni differenziali ( azione di

feedback).

Vedremo in seguito quali potranno essere i metodi più appropriati per la soluzione dei

sistemi di equazioni differenziali rappresentanti lo stato della CNN.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

65

Lo stato globale della CNN sarà dato dall’insieme degli stati delle celle, interconnesse

tra loro nel modo appena visto.

Per concludere c’è da dire che, attualmente, per le CNN si è ancora ad uno stadio di

simulazione ed è proprio della simulazione di una rete neurale cellulare, con relative e

particolari sue applicazioni che ci si occuperà nei capitoli successivi.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

66

2.5 I SISTEMI IBRIDI

Tra i metodi di soft computing quello che senz’altro ha richiamato l’attenzione degli

studiosi del settore è la fuzzy logic. Tuttavia, così come è stata concepita, essa esula

completamente dal concetto di apprendimento automatico che invece è intrinseco, per

esempio, alle reti neurali. Quindi se si rimane nell’ambito della teoria fuzzy originaria, non

è possibile utilizzare la fuzzy logic in tutti quei campi applicativi nei quali non si abbiano

già a disposizione degli esperti che formulino le regole. Per diversi anni, questa

caratteristica negative della fuzzy logic è stato l’aspetto più fortemente limitante per la sua

diffusione in molti campi applicativi. Il sorgere delle prime tecniche di apprendimento

automatico sviluppate apposta per la fuzzy logic è da considerarsi una pietra miliare nel

campo della ricerca sul soft computing. Attualmente una percentuale elevata dei lavori

nell’ambito di tale disciplina è basata sulla commistione fra le varie tecniche. Questa

interazione è ormai così stretta che, talvolta, appare veramente difficile individuare quali

siano le reali frontiere fra le reti neurali, la logica fuzzy e gli algoritmi genetici.

Esistono dunque numerosi tools applicativi che permettono di progettare sistemi

basati sui metodi di soft computing. La maggior parte di questi accoppia la logica fuzzy

con metodi di apprendimento automatico basati sulle reti neurali [21].

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

67

2.5.1 Fuzzy neural networks (FNNs)

Le reti neuro fuzzy sono un particolare tipo di reti neurali in cui i pesi delle connessioni

rappresentano i parametri di un set di regole fuzzy detta base di regole.

Sfortunatamente l’estrazione manuale di una base di regole fuzzy e l’identificazione

delle rispettive funzioni di membership nel corrispondente universo del discorso, risulta

molto difficoltosa. Per superare tale limitazione è possibile utilizzare le capacità di

apprendimento delle reti neurali per estrarre automaticamente una base di regole fuzzy da

dati di tipo input-output [22].

Il seguente paragrafo mostrerà brevemente come una base di regole fuzzy del tipo

menzionato precedentemente può essere estratto da un’appropriata rete neurale. Le FNNs

sono state classificate da in tre tipi [23]. In questa sede per brevità verranno presentate solo

le strutture di tipo I, a cui faremo riferimento nella presente trattazione.

Una rete neuro-fuzzy di tipo I, la cui struttura è riportata in Fig. 2.11, è caratterizzata

dall’avere i conseguenti costanti. Nell’esempio la rete FNN ha due ingressi (x1, x2), un

variabile d’uscita (y*) e tre funzioni di membership A1j(xj), A2j(xj), e A3j(xj) per ogni

variabile d’ingresso (vedi Fig.2.11). I cerchi ed i rettangoli riportati in figura rappresentano

unità della rete. Le notazioni wc, wg, wf, 1 e -1 tra le unità sono i pesi delle connessioni.

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

68

1

1

f

f

f

f

f

f

f

f

x1

x2

1

1

1

1

-1

1

1

1

-1

wc wg

wf

wc wg

(A) (B) (C) (D) (E) (F)

conseguents antecedents

y*

(a)

(b)

Fig. 2.11. Struttura di una rete Neuro-Fuzzy (a) e relative funzioni di membership (b).

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

69

Le unità con il simbolo 1 sono le unità di bias con uscita pari ad 1.

Definiamo inoltre le seguenti grandezze:

Ij(n) e Oj

(n) sono rispettivamente l’ingresso e l’uscita dell’unità j-esima dello strato n;

Wj k(n,n-1) è il peso della connessione tra la K-esima unità dello strato (n-1)-esimo e

la j-esima unità dello strato n-esimo.

Le relazioni ingresso-uscita delle unità f , e ̂ sono definite dalle seguenti equazioni:

OwI dove , Iexp1

1O funità

k

1n

k

1nn

jk

n

jn

j

n

j

)(),()(

)(

)(

)( : (2.77)

eespression precedentenella definito stato è I dove , IO unità n

j

(n)

j

n

j: )()( (2.78)

k

1)(n

k

1)n(n,

jk

(n)

j

(n)

j)(

)(

(n)

j

OwI

segue come definito è I caso questo in dove , Oˆunità :

k

n

k

n

j

I

I

(2.79)

Le unità rappresentate senza simboli sono unità lineari a semplice somma. La parte

relativa alla premessa di una regola viene processata dagli strati da A ad E. I gradi di verità

della premesse della funzione di membership sono calcolati negli strati da A a D. I pesi

delle connessioni Wc e Wg sono i parametri che determinano rispettivamente la posizione

centrale e il gradiente della funzione sigmoidale nelle unità dello strato C. Inizializzando

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

70

opportunamente i pesi delle connessioni, le funzioni di membership Aij(xj) di ogni regola

possono essere allocate nell'universo del discorso come riportato ad esempio in Fig. 2.11b

(dove per ogni variabile d’ingresso sono state considerate tre funzioni di membership di

tipo sigmoidale A1j(xj), A2j(xj), A3j(xj)). I gradi di verità delle regole fuzzy si ottengono

dalle uscite delle unità poste nello strato E. Gli ingressi e le uscite dello strato E sono

rispettivamente:

k

k

ii

j

jiji

outputs

xAinputs

ˆ:

)(:

(2.80)

dove i è l'attivazione della regola i-esima e i è il valore normalizzato di i . In fine

l’uscita dello strato F è la somma dei prodotti tra i e wfi e rappresenta il valore

defuzzificato y*

y

wfi i

i

n

ii

n

*

1

1

(2.81)

Ciò dimostra che la rete neurale considerata è equivalente ad una base di regole fuzzy della

forma:

Ri : If x1 is Ai1(x1) and x2 is Ai2

(x2) then y=wfi (i=1,2..n) (2.82)

CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING

71

Il processo di identificazione di un modello fuzzy può essere suddiviso nelle due fasi di

identificazione dei parametri strutturali (di topologia) della rete e, successivamente, di

identificazione delle premesse e dei conseguenti, con apprendimento del tipo back-

propagation. La prima fase viene normalmente eseguita attraverso una procedura di fuzzy

clustering, ovvero attraverso il metodo di Sugeno [24].

Il problema più rilevante nell’utilizzo delle reti neuro-fuzzy per l’estrazione automatica

delle regole è la dipendenza esponenziale dal numero di ingressi. Ad esempio una rete con

8 ingressi e 3 fuzzy set per ogni ingresso genera una base di 38=6561 regole. Ciò

rappresenta una controindicazione sia in fase d’implementazione della base di regole sia

nella analisi dei risultati. Tuttavia tale problema può essere superato utilizzando degli

appropriati algoritmi di “clustering”, quale ad esempio il noto “winner take all” [7] in

grado di ridurre in maniera drastica il numero di regole di una base della conoscenza.

Naturalmente algoritmi di questo tipo si trovano già implementati nei software disponibile

sul mercato per la modellizzazione neuro-fuzzy: si veda ad esempio AFM (Adaptive

Fuzzy Modeler, 1995 ) fornito dalla SGS - Thomson Microelectronics [21].

CAPITOLO III

MODELLISTICA DELL’INQUINAMENTO

ATMOSFERICO TRAMITE TECNICHE DI

SOFTCOMPUTING

3.1 INTRODUZIONE

L’atmosfera terrestre è caratterizzata da un equilibrio molto delicato di sostanze e gas.

Normalmente i meccanismi naturali sono in grado, da soli, di smaltire e riciclare molte

delle sostanze dannose per gli esseri viventi. Tuttavia, esiste un’altra forma di

inquinamento d’origine antropica che è concentrato particolarmente nelle aree urbane e

industriali.

Il meccanismo di diffusione degli inquinanti atmosferici è molto complicato e dipende

da una molteplicità di parametri di natura diversa tra cui acquistano rilievo le

caratteristiche orografiche dell’area presa in analisi. Ciò causa un incremento di particolari

sostanze nocive che si verifica in certe ore del giorno, o in certe stagioni, fortemente

influenzato e dipendente sia dalle condizioni meteorologiche che dalla presenza di

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

73

inquinanti primari che reagiscono tra loro. Il presente lavoro non vuole rappresentare uno

studio sui complessi fenomeni di inquinamento dell’aria, per i quali si rimanda a testi

specifici sull’argomento [24], si prefigge essenzialmente di focalizzare sull’utilità

d’impiegare le tecniche basate su softcomputing per l’identificazione di modelli di

predizione a breve termine. Tra le numerose possibilità di studio di inquinamento, in

questo lavoro, si è preso in considerazione la modellizzazione degli inquinanti prodotti

dall’alterazione del cosiddetto ciclo fotolitico dell’NO2 dovuto alla presenza di idrocarburi

rilasciati nell’atmosfera i quali favoriscono la formazione di NO2 e di ozono (O3). Si

descrive in modo elementare e sintetico il processo chimico di tale ciclo:

La reazione chimica di sintesi che avviene nell’atmosfera dovuta alla combinazione di

sostanze in essa contenute con la luce del sole è

322 ONOsoledelluceOHCNO (3.1)

Dove HC sta per idrocarburi: essi sono pure denominati VOC (composti organici

volatili), ROG (gas organici reattivi), NMHC (idrocarburi non metanici) e NMOG (gas

organici non metanici). Gli ultimi due nomi derivano dall’osservazione che in atmosfera il

metano è molto meno reattivo che gli idrocarburi a più elevato peso molecolare. Per il resto

della discussione sarà usato il termine VOC.

I composti NO, NO2 e O3 interagiscono in atmosfera secondo le reazioni:

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

74

NOOhvNO2 (3.2)

dove hv rappresenta un fotone di luce con appropriata lunghezza d’onda:

MOMOO 32 (3.3)

dove M rappresenta ogni altro tipo di molecola (usualmente N2 o O2 ) le quali riescono

a sottrarre una certa quantità di energia sviluppata con la reazione se O3 è instabile per cui

223 ONOONO (3.4)

Il composto NO2 viene scisso da un fotone di luce per produrre NO più il radicale

dell’ossigeno O il quale, a sua volta, reagisce con la molecola di ossigeno O2 per riformare

una molecola di ozono

32 OOO (3.5)

A sua volta, ancora l’ozono reagisce con la molecola di monossido di azoto per formare

una molecola di biossido di azoto più una molecola di ossigeno (3.4). Se si assume che

tutte le reazioni considerate hanno un uguale rapporto stechiometrico (una molecola per

ogni composto reagente), considerato allo stato di regime, allora il tutto si può risolvere in

funzione della concentrazione di O3

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

75

NOK

NOhvO

3.D

23 (3.6)

nella quale hv è l’intensità della luce solare , misurata con appropriata unità di misura,

e .4.3K è il rapporto costante della reazione 3.4. In assenza di composti VOC questa

equazione conduce ad un equilibrio tra NO, NO2 e O3 il quale equilibrio è dipendente

dall’intensità delle radiazioni solari ma non è fortemente dipendente dalla concentrazione

di composti NOx in quanto viene contemplato solamente il rapporto tra le concentrazioni

di NO ed NO2: ogni molecola di NO2 che è prodotta, a sua volta, produce sia una molecola

di NO sia una molecola di O3 la quale può ancora reagire con una molecola di NO secondo

la reazione 3.4.

Il ruolo di VOC è quello di convertire NO in NO2 senza coinvolgere la molecola di O3

il quale si accumula. Un meccanismo con il quale il VOC fa ciò è:

OHNONOHO

HORCHOORO

RONONORO

OHROVOCOH

22

22

22

22

(3.7)

Sommando queste quattro reazioni ed eliminando i termini simili la reazione risultante

è

222 NO2RCHOOHONO2VOC (3.8)

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

76

Il termine R sta per ogni tipo di idrocarburo. Queste reazioni, così come scritte

normalmente, non sono bilanciate stechiometricamente per O.

L’NO2 complica questo processo perché esso può reagire con il radicale OH per

formare acido nitrico con conseguente riduzione della concentrazione disponibile del

radicale OH stesso.

32 HNOOHNO (3.9)

Questa equazione suggerisce anche il fatto che, in qualche situazione, addizionando

NO2 all’atmosfera si otterrà una riduzione della concentrazione di O3 sviluppato.

In altre parole se nel ciclo non interferissero i VOC, l’NO2 si convertirebbe in NO per

convertirsi nuovamente in NO2 senza modifiche nelle concentrazioni dei due composti. Ma

i VOC presenti nell’atmosfera interferiscono nel ciclo permettendo che l’NO si converta

più rapidamente in NO2 di quando l’NO2 venga dissociato in NO e O, con un conseguente

accumulo di NO2 ed ozono [26].

La modellistica di fenomeni di inquinamento atmosferico presenta una certa difficoltà a

causa delle influenze di numerose variabili esterne (es. temperatura, umidità, direzione e

velocità del vento etc.), della presenza di effetti di tempo varianza e di non linearità che

rendono talvolta il processo di identificazione difficoltoso con le tecniche tradizionali.

In letteratura si trovano diversi approcci per la modellistica dei dati riguardanti

l’inquinamento atmosferico. In particolare i metodi di identificazione parametrica

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

77

mediante modelli stocastici di tipo ARMAX (Auto Regressive Moving Average with

eXogenous inputs).

La struttura generale di un modello ARMAX è del tipo seguente

)()()()()()( teqCtuqBtyqA (3.10)

dove le y(t) sono le uscite, u(t) gli ingressi, e(t) un rumore bianco e A(q), B(q), C(q) sono

vettori di parametri. Per una descrizione più esaustiva dei modelli ARMAX si rimanda il

lettore alla letteratura [28].

Tuttavia a causa della citata complessità dei fenomeni in gioco, la predizione effettuata

sulla base di modelli ARMAX può talvolta risultare poco affidabile.

Appare quindi giustificata la ricerca di tecniche di calcolo più innovative e potenti,

quali appunto quelle basate su soft computing che consentano di superare alcune delle

difficoltà sopra citate.

In questo lavoro vengono utilizzate delle reti neurali di tipo Multilayer Perceptron

Neural Networks (MLPs) per l’identificazione di modelli di predizione delle

concentrazioni di inquinanti. Le prestazioni ottenute con questo approccio vengono messe

a confronto con quelle dei tradizionali modelli ARMAX.

Vengono inoltre considerate le reti di tipo neuro-fuzzy che com’è noto consentono di

descrivere il legame tra le variabili d’ingresso e quelle d’uscita di un assegnato processo

mediante un insieme di regole di tipo if.....then. Queste ultime risultano molto più

espressive dell’insieme dei pesi delle interconnessioni tra i neuroni di una rete neurale di

tipo MLPS e possono essere utili a vari scopi. Sarà infatti possibile un’analisi dei fenomeni

in gioco e un esperto potrà effettuare una integrazione della base di regole traendo

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

78

conoscenze dal proprio “bagaglio” o semplicemente effettuare un “tuning” delle regole

stesse, analogamente a quanto avviene in taluni sistemi di controllo.

In fine si valuta la possibilità di utilizzare un modello di predizione “misto” che si basa

sulla combinazione di due modelli di predizione AR e MLP al fine di migliorare i risultati

ottenuti con i precedenti modelli.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

79

3.2 PREDIZIONE DELLE CONCENTRAZIONI DEGLI

INQUINANTI ATMOSFERICI IN UNA ZONA CON ALTA

DENSITA’ DI INSEDIAMENTI INDUSTRIALI

Sin dal 1983 esistono in Italia delle leggi che fissano i massimi valori delle

concentrazioni di inquinanti al fine di valutare e rispettare la qualità dell’aria. Solo di

recente si sono costituiti degli enti territoriali che mediante delle reti di monitoraggio

rilevano le concentrazioni degli inquinanti e alcuni dati meteorologici fornendo sia alle

autorità civili che alle industrie informazioni sulla base delle rilevazioni effettuate. L’area

industriale presa in considerazione è quella della provincia di Siracusa e più precisamente

quella di Priolo-Melilli-Augusta, caratterizzata da un’alta densità di industrie

petrolchimiche. L’area in questione è controllata da una rete di monitoraggio degli

inquinanti atmosferici posta nei punti geograficamente ritenuti più strategici.

I dati considerati in questo lavoro sono stati forniti dal C.I.P.A. (Consorzio Industriale

per la Protezione Ambientale) e si riferiscono ad un arco temporale di circa tre mesi. E’

stata necessaria una fase di pre-elaborazione al fine di rimuovere gli eventuali dati non

accettabili a causa dei problemi tecnici. I dati non validi sono stati marcati con un valore

negativo dalle stazioni di monitoraggio. All’occorrenza di questi dati invalidi il campione

corrispondente viene eliminato dall’insieme dei pattern (stringa contenete gli ingressi e le

uscita del modello da identificare) necessari alla modellizzazione delle serie temprali. Per

fare ciò si possono impiegare diverse tecniche. In alcuni casi quando il numero dei dati

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

80

mancanti è relativamente basso si possono sostituire i dati mancanti con dei dati ottenuti

tramite modelli di predizione oppure tecniche di interpolazione. Tuttavia, è sempre

rischioso sostituire dei dati perché potrebbero corrompere il modello finale del sistema

preso in esame. Per questo motivo è stato deciso di evitare la formazione dei pattern

relativi ai dati mancanti. Le serie temprali prese in considerazione sono: la concentrazione

di O3, NMHC, NO2 e l’NOx. Tali serie temporali sono alla base del presente studio che si

articolerà in quattro parti in relazione alle quattro differenti tecniche di identificazione che

come anticipato sopra sono basati sull’uso di modelli ARMAX, modelli neurali di tipo

MLP, modelli di tipo neuro-fuzzy e modelli “misti” AR/MLP.

Per quel che concerne l’ordine dei modelli ai fini dell’identificazione delle singole serie

temporali, sono state utilizzate le indicazioni fornite dalle funzioni di autocorrelazione

delle serie temporali considerate, unitamente a dei tipici processi di “trial and error” volte

al conseguimento del miglior risultato. Più dettagliatamente, decisa la struttura del modello

(data secondo il giudizio di un esperto umano in funzione ad esempio delle analisi di

correlazioni delle serie temprali), il numero degli ingressi viene progressivamente

incrementato sino a raggiungere un buon compromesso tra il numero degli ingressi e la

bontà del modello trovato.

Per l’identificazione dei modelli di predizione ad un’ora sono stati usati 350 dei 700

pattern selezionati, mentre la totalità dei dati sono stati usati per la fase di test dei modelli.

Per l’identificazione dei modelli di predizione a 24 ore sono stati adoperati invece 40

pattern (ottenuti sottocampionando le serie temprali originarie ad intervalli di T=24 ore),

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

81

mentre la totalità dei dati, consistenti di 80 campioni, sono stati considerati per la fase di

test dei modelli.

3.2.1 Modelli di predizione mediante strutture di tipo ARMAX

I modelli usati, uno per ciascuno degli inquinanti considerati (O3, NMHC, NO2 e NOx),

sono del tipo MISO (Multi Input Single Output), essendo stati assunti quali ingressi

esogeni gli inquinanti di volta in volta disponibili.

Dall’analisi dei risultati corrispondenti ai vari tentativi effettuati si è potuto riscontrare

che i risultati migliori sono quelli relativi all’uso di modelli del 2° ordine senza ingressi

espliciti (per esempio modelli AR) . I risultati della previsione ad un passo (corrispondente

ad un’ora) ed il relativo errore sono riportati nelle Fig. 3.3-3.6.

In ogni figura vengono riportate due curve che rappresentano rispettivamente le serie

temporali reali, quelle simulate ed il relativo errore. Per rendere le figure molto più

leggibili viene riportato solamente un set limitato di campioni. Per le figure che si

riferiscono ai modelli di predizione ad un ora il tempo rappresentato corrisponde a circa

quattro giorni, mentre nelle figure che rappresentano i modelli di predizione a 24 ore il

tempo rappresentato corrisponde a circa 80 giorni. Da un’attenta analisi delle figure è

possibile evidenziare l’accuratezza con cui viene prevista la concentrazione di O3 nel

modello di previsione ad un’ora, lo stesso non si può dire per i rimanenti inquinanti.

Un’analisi numerica più accurata dei risultati, riportata nei paragrafi successivi, conferma

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

82

queste considerazioni. In fine in Fig. 3.7 si riportano i risultati relativi alla predizione a 24

ore della concentrazione di NOx.

Fig. 3.3. Concentrazione di O3: confronto tra dati reali e dati simulati e relativo errore,

ottenuti mediante un modello AR ad un’ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

83

Fig. 3.4. Concentrazione di NMHC: confronto tra dati reali e dati simulati e relativo

errore, ottenuti mediante un modello AR ad un’ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

84

Fig. 3.5. Concentrazione di NO2: confronto tra dati reali e dati simulati e relativo

errore, ottenuti mediante un modello AR ad un’ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

85

Fig. 3.6. Concentrazione di NOX : confronto tra dati reali e dati simulati e relativo

errore, ottenuti mediante un modello AR ad un’ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

86

Fig. 3.7. Concentrazione di NOx: confronto tra dati reali e dati simulati e relativo

errore, ottenuti mediante un modello AR ad 24 ore.

3.2.2 Identificazione mediante perceptrone multistrato (MLPs)

Si riporta di seguito lo schema del modello neurale adoperato per l’identificazione

delle serie di dati sopra indicati, facendo per semplicità solo riferimento all’O3 (Fig. 3.8).

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

87

Fig. 3.8. Struttura del modello basato sul perceptrone multistrato usato per la

predizione dell’ O3.

Lo schema opportunamente modificato vale anche per NMHC, NO2 e NOx. Si osservi

che non essendovi particolari limitazioni nella complessità della rete, a differenza di

quanto accade per le reti neuro-fuzzy, è possibile considerare più ingressi. I risultati delle

previsioni ad un’ora e a 24 ore sono riportati nelle figure 3.9-3.13. Un’analisi più

dettagliata dei risultati viene riportata nei prossimi paragrafi. Tramite una semplice

ispezione si può notale l’accuratezza delle curve di previsione rispetto a quelle reali.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

88

Fig. 3.9. Concentrazione di O3: confronto tra dati reali, dati simulati e relativo errore,

ottenuti mediante un modello neurale di tipo MLP ad 1 ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

89

Fig. 3.10. Concentrazione di NMHC confronto tra dati reali, dati simulati e relativo

errore, ottenuti mediante un modello neurale di tipo MLP ad 1 ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

90

Fig. 3.11. Concentrazione di NO2: confronto tra dati reali, dati simulati e relativo

errore, ottenuti mediante un modello neurale di tipo MLP ad 1 ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

91

Fig. 3.12. Concentrazione di NOX: confronto tra dati reali, dati simulati e relativo errore,

ottenuti mediante un modello neurale di tipo MLP ad 1 ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

92

Fig. 3.13. Concentrazione di NOx: confronto tra dati reali, dati simulati e relativo

errore ottenuti mediante un modello neurale di tipo MLP a 24 ore.

3.2.3 Modelli Neuro-Fuzzy

I risultati migliori sono stati ottenuti considerando modelli simili a quello riportato in

Fig. 3.14. Il modello si riferisce al caso particolare dell’O3.e resta valido, con ovvie

modifiche, anche nel caso degli altri inquinanti considerati: cioè NMHC, NO2 e NOx.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

93

La struttura di tale modello è stata individuata dopo un adeguato numero di tentativi

volti, da un lato, alla ricerca del migliore risultato e dall’altro a non aumentare

eccessivamente la complessità della rete che com’è noto cresce esponenzialmente con il

numero di ingressi e dei fuzzy sets per ciascun ingresso. Queste limitazioni in effetti

possono rappresentare dei seri ostacoli nell’utilizzo di reti neuro-fuzzy.

O3(k)

O3(k-1)

NMHC(k-1)

NO2(k)

NOx(k)

NOx(k-1)

O3(k+1)Neuro-Fuzzy

Model

NMHC(k)

NO2(k-1)

Fig. 3.14. Struttura del modello Neuro-Fuzzy per la predizione dell’O3.

Nel presente lavoro è stato utilizzato il software tool denominato AFM (Adaptative

Fuzzy Modeller), per l’occasione messo a disposizione dalla SGS Thomson [21]. Per

ciascun ingresso del modello sono state utilizzate tre funzioni di membership di tipo

gaussiano e come metodo d’inferenza il prodotto. Si riportano i risultati ottenuti con questa

tecnica nelle Fig. 3.15-3.19.

Con riferimento a quanto esposto precedentemente nel caso dell’apprendimento

competitivo “winner take all” riportiamo in Tabella 3.1 la distribuzione delle regole

ottenute (con riferimento al modello di predizione ad un’ora dell’ozono), è da notare che

da un set di 6561 possibili regole ne sono state estratte solamente 40. Nella prima colonna

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

94

della Tabella 3.1 viene riportato il numero identificativo (nel range [1-6561]) riferito alle

regole estratte dall’algoritmo su menzionato. Ogni riga della tabella rappresenta una regola

fuzzy espressa nella forma:

if O3(k) is ... and O3(k-1) is ... and NMHC(k) is ... and NMHC(k-1) is ... and NO2(k) is

... and NO2(k-1) is ... and NOx(k) is ...and NOx(k-1) is ... then O3(k+1) is ...

Come è stato osservato precedentemente, la base di regole fuzzy è caratterizzata da

un conseguente costante (crisp) il cui valore è riportato (in g/m3) nell’ultima colonna

della tabella. I fuzzy set, che compaiono nella premessa, sono chiamati rispettivamente

LOW, MEDIUM e HIGH.

Il software AFM, usato per l’estrazione delle regole, fornisce il valore del centroide per

ogni fuzzy set che appare nella premessa della base di regole considerata; questi valori

sono riportati nella Tabella 3.2. Si può notare come le regole ottenute rappresentino un

modello linguistico che risulta molto più espressivo rispetto ai pesi sinaptici, tipici dei

modelli basati sul perceptrone multistrato. Tuttavia bisogna evidenziare che, da un punto di

vista numerico, le regole riportate nella Tabella 3.1 non possono essere valutate

singolarmente per il calcolo del valore defuzzificato della variabile d’uscita. Per ottenere

ciò è invece necessario il contributo di tutte le regole (si veda l’espressione 2.81).

Nonostante ciò da un punto di vista logico, il modello linguistico dovrebbe essere di più

facile interpretazione per un esperto.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

95

Fig. 3.15. Concentrazione di O3: confronto tra dati reali, dati simulati e relativo errore

ottenuti mediante un modello Neuro-Fuzzy ad 1 ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

96

Fig. 3.16. Concentrazione di NMHC: confronto tra dati reali, dati simulati e relativo

errore ottenuti mediante un modello Neuro-Fuzzy ad 1 ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

97

Fig. 3.17. Concentrazione di NO2: confronto tra dati reali, dati simulati e relativo

errore ottenuti mediante un modello Neuro-Fuzzy ad 1 ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

98

Fig. 3.18. Concentrazione di NOX : confronto tra dati reali, dati simulati e relativo

errore ottenuti mediante un modello Neuro-Fuzzy ad 1 ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

99

Fig. 3.19. Concentrazione di NOx : confronto tra dati reali, dati simulati e relativo errore

ottenuti mediante un modello Neuro-Fuzzy a 24 ore.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

100

Numero

identificativo

delle regole

vincenti

If

O3(k)

is

and

O3(k-1)

is

and

NMHC(k)

is

and

NMHC(k-1)

Is

and

NO2(k)

is

And

NO2(k-1)

Is

and

NOx(k)

is

and

NOx(k-1)

is

then

O3(k+1)

is

3727 LOW MEDIUM LOW LOW LOW LOW LOW LOW 56.65

3855 LOW MEDIUM LOW LOW LOW LOW MEDIUM LOW 23.65

2428 MEDIUM MEDIUM MEDIUM LOW LOW LOW MEDIUM LOW 43.29

4253 LOW LOW MEDIUM LOW LOW LOW MEDIUM LOW 48.00

4321 LOW LOW LOW LOW MEDIUM LOW MEDIUM LOW 76.21

2681 MEDIUM LOW LOW MEDIUM LOW LOW LOW LOW 64.37

4428 LOW LOW LOW MEDIUM LOW LOW LOW LOW 45.00

2857 MEDIUM LOW LOW MEDIUM LOW MEDIUM LOW LOW 68.43

2974 MEDIUM LOW LOW LOW LOW LOW LOW MEDIUM 75.00

4697 LOW LOW LOW LOW LOW MEDIUM LOW MEDIUM 78.00

4721 LOW LOW MEDIUM LOW MEDIUM LOW LOW MEDIUM 62.02

3449 MEDIUM MEDIUM LOW LOW LOW LOW LOW MEDIUM 63.54

4976 LOW MEDIUM LOW LOW LOW LOW MEDIUM LOW 45.05

5124 LOW MEDIUM LOW LOW LOW LOW MEDIUM MEDIUM 23.87

5153 LOW MEDIUM LOW LOW LOW LOW LOW MEDIUM 109.00

5157 LOW LOW LOW LOW MEDIUM MEDIUM LOW MEDIUM 76.99

5173 LOW LOW LOW MEDIUM LOW MEDIUM LOW MEDIUM 32.06

3523 MEDIUM LOW LOW LOW LOW MEDIUM LOW MEDIUM 62.56

3729 LOW LOW LOW MEDIUM LOW MEDIUM LOW MEDIUM 29.54

3873 LOW LOW LOW LOW HIGH MEDIUM LOW LOW 88.64

4143 LOW LOW MEDIUM LOW MEDIUM MEDIUM MEDIUM MEDIUM 44.76

5126 LOW LOW LOW MEDIUM MEDIUM HIGH HIGH MEDIUM 189.43

2565 LOW LOW MEDIUM MEDIUM MEDIUM HIGH HIGH HIGH 126.40

2917 MEDIUM MEDIUM LOW LOW LOW LOW LOW LOW 43.51

2920 MEDIUM MEDIUM LOW LOW LOW LOW LOW LOW 199.00

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

101

2921 LOW MEDIUM LOW LOW LOW LOW HIGH MEDIUM 142.00

2922 LOW MEDIUM LOW LOW LOW LOW HIGH HIGH 94.05

2926 LOW MEDIUM LOW LOW LOW MEDIUM LOW LOW 105.63

2929 LOW MEDIUM LOW LOW LOW MEDIUM MEDIUM LOW 115.00

2930 LOW LOW LOW HIGH LOW LOW MEDIUM MEDIUM 67.00

2948 LOW LOW LOW HIGH MEDIUM LOW MEDIUM LOW 174.00

2957 LOW LOW LOW LOW MEDIUM MEDIUM LOW MEDIUM 117.52

2992 LOW LOW LOW LOW HIGH HIGH LOW LOW 157.80

2998 LOW LOW LOW MEDIUM LOW LOW LOW LOW 93.01

3015 MEDIUM LOW LOW MEDIUM LOW MEDIUM LOW MEDIUM 97.01

3158 MEDIUM LOW MEDIUM LOW LOW LOW LOW LOW 64.60

3168 MEDIUM MEDIUM MEDIUM LOW LOW LOW LOW MEDIUM 124.50

3271 MEDIUM MEDIUM MEDIUM MEDIUM LOW LOW LOW LOW 54.01

3282 MEDIUM MEDIUM MEDIUM MEDIUM LOW LOW LOW MEDIUM 86.60

3299 LOW MEDIUM LOW MEDIUM LOW LOW HIGH HIGH 115.61

Tab. 3.1 – Base di regole Fuzzy (40 regole) del modello di predizione ad un’ora dell’O3.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

102

Tab. 3.2. Fuzzy sets e centroidi del modello di predizione ad un’ora dell’O3.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

103

3.2.4 Modelli AR/MLP

In questo paragrafo si propone un modello “misto” di predizione che prevede l’uso in

cascata di due predittori rispettivamente uno AR ed uno neurale di tipo MLP. Il modello

riportato in Fig. 3.20 si ispira alla predizione della concentrazione dell’ozono, con ovvie

modifiche si può estendere agli altri inquinanti.

Fig. 3.20. Modello AR/MLP per la predizione ad un’ora della concentrazione di O3.

Il primo modello ha la stessa struttura dei modelli presentati nei precedenti paragrafi, il

secondo invece ha in più le previsioni della concentrazione di inquinante del modello

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

104

precedente. Ciò si può interpretare dicendo che si tenta di recuperare l’errore di predizione

del primo modello. Nelle figure che seguono (Fig. 3.21-3.25) si riportano i risultati relativi

alle varie simulazioni del modello presentato, sia esso ad un’ora che a 24 ore (caso

specifico dell’NOx).

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

105

Fig. 3.21. Concentrazione di O3 : confronto tra dati reali e dati simulati e relativo errore,

ottenuti mediante un modello AR/MLP ad un’ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

106

Fig. 3.22. Concentrazione di NMHC : confronto tra dati reali e dati simulati e relativo

errore, ottenuti mediante un modello AR/MLP ad un’ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

107

Fig. 3.23. Concentrazione di NO2 : confronto tra dati reali e dati simulati e relativo

errore, ottenuti mediante un modello AR/MLP ad un’ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

108

Fig. 3.24. Concentrazione di NOX : confronto tra dati reali e dati simulati e relativo

errore, ottenuti mediante un modello AR/MLP ad un’ora.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

109

Fig. 3.25. Concentrazione di NOX : confronto tra dati reali e dati simulati e relativo

errore, ottenuti mediante un modello AR/MLP a 24 ore.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

110

3.3 ANALISI DEI RISULTATI

Per valutare oggettivamente le prestazioni delle singole tecniche qui considerate, sono stati

analizzati gli errori di predizione dell’O3 ,dell’NMHC, dell’NO2 e dell’NOx in una finestra

temporale di 700 campioni (circa un mese). Di tali errori di predizione sono stati estratti

quattro indici di qualità indicati rispettivamente con IQ1, IQ2, IQ3 e IQ4.

Più dettagliatamente tali indici sono:

- IQ1 rappresenta il valor medio del quadrato del residuo;

- IQ2e la deviazione standard del quadrato del residuo;

- IQ3 rappresenta il rapporto tra la covarianza del residuo e la covarianza della serie

temporale dell’inquinante dato;

- IQ4 rappresenta il coefficiente di correlazione tra le serie temporali reali e quelle

simulate.

Naturalmente, il modello migliore è quello che presenta valori bassi di IQ3 e valori alti

di IQ4, nel range [0,1].

Introduciamo in fine altri due indici di qualità, indicati rispettivamente con IQ5 e IQ6.

Tali indici sono stati definiti con lo scopo di confrontare la capacità dei modelli di

prevedere quando la concentrazione di un inquinante (per esempio l’O3 ) supera una soglia

prefissata. Le autorità pubbliche non sono interessate a conoscere la previsione dell’esatta

concentrazione di un inquinante, ma sono invece interessate a prevedere quando un

prefissato inquinante supera una determinata soglia. L’indice QI5 viene quindi definito con

lo scopo di misurare la percentuale di correttezza dei campioni identificati che eccedono

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

111

una prefissata soglia di concentrazione. L’indice QI6 rappresenta invece la percentuale dei

campioni identificati erroneamente, ossia i campioni che hanno superato la soglia

prefissata. I risultati riguardanti gli indici di qualità sono riportati nelle Tabelle 3.3-3.7.

Modello

AR

Modello

Neuro-Fuzzy

Modello

Neurale

Modello

AR/MLP

IQ1 17.35 19.14 29.96 10.91

IQ2 1.15 0.58 1.42 0.36

IQ3 0.14 0.29 0.09 0.08

IQ4 0.92 0.79 0.85 0.96

IQ5 soglia MAX 90g/cm3 78.57 82.3 96.6 99.37

IQ6 soglia MAX 90g/cm3 7.14 9.34 8.69 4.22

IQ5 soglia MIN 50g/cm3 89.98 92.48 99.59 99.81

IQ6 soglia MIN 50g/cm3 29.70 25.45 2.47 1.38

Tab. 3.3. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione ad

un’ora della concentrazione di O3

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

112

Modello

AR

Modello

Neuro-Fuzzy

Modello

Neurale

Modello

ARP/MLP

IQ1 472.19 253.40 128.35 122.84

IQ2 22.39 9.1 0.66 0.37

IQ3 0.54 0.18 0.11 0.08

IQ4 0.78 0.81 0.92 0.98

IQ5 soglia MAX 400g/cm3 45.56 78.19 94.26 96.37

IQ6 soglia MAX 400g/cm3 1.23 1.35 0.75 0.43

IQ5 soglia MIN 300g/cm3 36.75 76.65 92.52 96.74

IQ6 soglia MIN 300g/cm3 2.50 1.59 1.12 0.91

Tab. 3.4. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione ad

un’ora della concentrazione di NMHC.

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

113

Modello

AR

Modello

Neuro-Fuzzy

Modello

Neurale

Modello

AR/MLP

IQ1 51.60 8.26 6.29 4.13

IQ2 21.86 12.72 8.92 6.84

IQ3 0.32 0.25 0.17 0.18

IQ4 0.73 0.84 0.92 0.98

IQ5 soglia MAX 90g/cm3 42.58 78.35 89.99 99.93

IQ6 soglia MAX 90g/cm3 1.59 2.56 1.01 0.81

IQ5 soglia MIN 50g/cm3 25.84 73.65 93.54 93.64

IQ6 soglia MIN 50g/cm3 6.74 5.81 4.51 3.21

Tab. 3.5. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione ad

un’ora della concentrazione di NO2

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

114

Modello

AR

Modello

Neuro-Fuzzy

Modello

Neurale

Modello

AR/MLP

IQ1 46.18 5.8 4.00 3.28

IQ2 1.09 0.33 0.03 0.02

IQ3 0.39 0.58 0.11 0.06

IQ4 0.67 0.69 0.93 0.99

IQ5 soglia MAX 90g/cm3 60.28 74.09 98.67 99.90

IQ6 soglia MAX 90g/cm3 8.54 4.23 5.90 3.28

IQ5 soglia MIN 50g/cm3 81.48 78.29 93.88 98.68

IQ6 soglia MIN 50g/cm3 24.29 11.46 5.54 2.36

Tab. 3.6. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione ad

un’ora della concentrazione di NOx

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

115

Modello

AR

Modello

Neuro-Fuzzy

Modello

Neurale

Modello

AR/MLP

IQ1 6.34 8.36 3.87 2.46

IQ2 1.30 0.98 0.76 0.35

IQ3 0.21 0.17 0.09 0.06

IQ4 0.91 0.93 0.98 0.99

IQ5 soglia MAX 90g/cm3 97.1 98.8 99 100

IQ6 soglia MAX 90g/cm3 0.61 0.85 0.33 0

IQ5 soglia MIN 50g/cm3 86.66 90.31 95.65 100

IQ6 soglia MIN 50g/cm3 0.23 0.19 0.11 0

Tab. 3.7. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione a 24

ore della concentrazione di NOx

Si può evidenziare che, considerando una soglia alta di 90 g/m3 (soglia a cui fanno

riferimento le autorità pubbliche), i modelli neurali ed in particolare quelli MLP,

forniscono risultati migliori rispetto agli altri modelli di predizione di tipo “semplice”

(AR,MLP,Neuro-Fuzzy).

CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING

116

Si noti che a volte i predittori AR presentano indici IQ5 migliori dei rispettivi indici dei

predittori neuro-fuzzy, di contro però questi ultimi presentano sempre un indice IQ6

corrispondente nettamente migliore.

Se però si considerano i modelli di predizione di tipo “misto” AR/MLP si evidenzia un

netto miglioramento rispetto ai precedenti modelli senza che il carico computazionale sia

notevolmente aumentato.

Da un’analisi globale dei risultati si può concludere che i predittori AR/MLP sono

superiori rispetto a quelli neurali (di tipo MLP e NF) che a loro volta sono superiori

rispetto a quelli AR.

CAPITOLO IV

SISTEMA PER LA DETERMINAZIONE DELLA

CARICA BATTERICA TRAMITE RETI NEURALI

CELLULARI

4.1 INTRODUZIONE

Gli studi più avanzati riguardanti le tecniche di cultura cellulare ancora oggi non riescono

ad offrire metodologie e tecniche, sufficientemente precise ed economiche, per la

valutazione della velocità di crescita delle cellule batteriche. Tale parametro è di

fondamentale importanza per la valutazione delle variabili in studio negli esperimenti

biologici, poiché è importate riuscire a capire la dipendenza della crescita cellulare con

l’esperimento che si intende eseguire.

L’applicazione del sistema per la determinazione della carica batterica basato su Reti

Neurali Cellulari (CNN), suggerisce un approccio innovativo per l’implementazione di

nuove tecniche nella moderna microbiologia. Di particolare importanza è il fatto che

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

118

mediante questa tecnica in ogni istante di tempo è possibile conteggiare un numero elevato

di cellule in modo parallelo. Questa caratteristica permette quindi il confronto di popolazioni

di cellule in differenti stati di sviluppo e crescita. Ripetendo più volte la conta delle cellule,

ad intervalli regolari, è possibile ottenere con precisione delle curve che correlano il numero

delle cellule all’incremento di alcuni parametri della massa protoplasmatica quali ad

esempio: il contenuto di acidi nucleici, il volume delle cellule ecc.

In più il ricercatore ha un notevole risparmio di tempo nella valutazione della loro

velocità di crescita.

Le considerazioni espresse precedentemente hanno incoraggiato lo studio e lo sviluppo di

un sistema per la conta delle cellule animali di tipo “on-line” basato su un sistema di

processamento di immagini. Le reti neurali cellulari, proposte da L. O. Chua [29-30], hanno

dimostrato di avere una grande capacità nell’implementazione di un sistema di

processamento molto veloce di immagini; ciò ha spinto ricercatori ed aziende di tutto il

mondo verso la realizzazione di un chip capace di espletare le funzionalità di una CNN [31].

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

119

4.2 DETERMINAZIONE QUANTITATIVA TRAMITE

METODI TRADIZIONALI

La determinazione quantitativa o "carica batterica" è quella tecnica microbiologica che si

prefigge di accertare il numero di microrganismi presenti, per unità di volume, o di peso, in

un campione. Innanzi tutto occorre stabilire se la popolazione batterica presente nel

campione è costituita da batteri di una sola specie oppure se è una popolazione mista.

In quest'ultimo caso verrà determinata una "carica batterica totale". Se invece si vuol fare

una ricerca quantitativa di una specie batterica, bisogna procedere al suo isolamento.

Occorre aggiungere che in una popolazione batterica mista, non sempre è possibile avere un

eguale sviluppo di tutti i componenti, sia per le diverse esigenze nutrizionali, sia per le

diverse esigenze di temperatura di crescita, sia per i metaboliti prodotti da alcune specie che

possono inibire la crescita di altre.

Per la determinazione quantitativa i metodi usati sono molti, dei quali alcuni determinano

il numero totale dei germi (vivi e morti), altri determinano solo quelli vivi [31]. Una ulteriore

distinzione può essere fatta tra metodi "diretti" e , metodi “indiretti".

a) Conta al microscopio: è un metodo diretto e rapido, che però determina sia i batteri

vivi che quelli morti. Si utilizzano delle camere di conta particolari che si differenziano per il

tipo di reticolo che li costituisce: Petroff-Hauser, Breed, Thoma-Zeiss, Burcher. Il reticolo

della camera di Thoma-Zeiss (Fig. 4.1) ha la grandezza di 1 mm2 ed è suddiviso in 16

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

120

quadrati ognuno dei quali ha una superficie di 1/25 di mm2. Ognuno di questi quadrati è

ulteriormente suddiviso in 16 quadratini che hanno una superficie di 1/400 di mm2.

Fig. 4.1 Reticolo camera Thomas-Zeiss.

Coprendo la camera con il suo vetrino coprioggetto, l'altezza viene ad essere di 1/10 di

mm. Il reticolo della camera di Burker (Fig. 4.2) ha invece una superficie di 9 mm2 ed è

suddivisa in 9 quadrati di 1 mm2. Ognuno di questi quadrati è poi ancora suddiviso in 16

quadrati di 1/25 di mm2 e in quadratimi di 1/400 di mm2 o di rettangolini di 1/100 di mm2.

Anche qui lo spessore della camera è di 1/10 di mm.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

121

Fig. 4.2 Reticolo camera di Burker..

La carica batterica si determina contando le cellule batteriche presenti in non meno di 5

quadrati grandi (Thoma-Zeiss) da 1/25 di mm2 oppure in non meno di 20 quadratini da 1/400

di mm2 o di rettangolini da 1/100 di mm2, se si usa la camera di Burker.

Si fa la media dei batteri contati, si moltiplica per il reciproco dell'area e per il reciproco

dell'altezza e si ottiene il numero dei batteri per ml (occorre tenere conto anche della

eventuale diluizione iniziale).

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

122

Es. Camera Thoma-Zeiss:

media n.batteri x 25 x 10 = n.batteri/ml

(contati in 5 quadrati da 1/25 mm2)

Però in uno spessore di 1/10 di mm i batteri si dispongono in un centinaio di piani mentre

con il microscopio è possibile mettere a fuoco solo quelli situati in un solo piano. Per

limitare questa imprecisione si possono usare le camere di Petroff-Hausen (Fig. 4.3 4.4) che,

pur avendo un reticolo del tutto uguale a quello di Burker, hanno un'intercapedine alta 1/100

di mm.

Fig. 4.3. Camera di Petroff-Hausen: il campione da analizzare viene posto nella parte

centrale del vetrino; bisogna stare attenti che non fuoriesca del liquido. Lo spazio tra il

vetrino copri oggetto e la camera deve essere di 1/100 di mm. All’interno si compone di 25

quadratini più grandi per un’area totale di 1 mm2 ed un volume di 0.01 mm3.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

123

Fig. 4.4. Osservazione al microscopio: si contano le cellule contenute nei quadrati più

grandi. In genere si effettua la conta su più quadrati e se ne considera la media.

Il vetrino della camera di Breed porta invece inciso un quadrato di 1 cm di lato sul quale

viene sparsa, usando un'ansa calibrata, 1/100 di ml di sospensione di coltura batterica. Dopo

aver fissato e colorato, si osserva al microscopio, usando un obbiettivo ad immersione il cui

campo abbia un 0 di 0,16 mm.

Sapendo che in 1 cm2 si possono osservare 5000 campi, si moltiplica il numero medio

dei batteri per 5000 e per 100 (reciproco di 1/100 di ml) e si ottiene il numero dei batteri

presenti in 1 ml (tenere conto della eventuale diluizione iniziale)

media n.batteri x 5000 x 100 = n.batteri/ml

b) Contatori coulter counter: sono strumenti capaci di contare rapidamente le cellule o

altri corpi sospesi in un fluido che viene fatto passare attraverso un, foro tra due elettrodi

capaci di registrare il volume delle cellule e quindi di contare quelle che hanno il volume per

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

124

il quale è stato tarato lo strumento. L’apparecchio però non sa distinguere le cellule vive da

quelle morte ed inoltre conta indiscriminatamente corpuscoli di qualsiasi natura, di

conseguenza il campione in esame deve essere opportunamente trattato per eliminare i corpi

estranei e falsamente influenti. Il coulter counter viene utilizzato prevalentemente nei

laboratori di analisi cliniche per il conteggio dei globuli rossi e dei globuli bianchi. Esso

trova anche applicazione nell'analisi citologica del latte ovvero nel conteggio dei leucociti.

In questo caso il latte deve subire un trattamento chimico per eliminare i globuli di grasso

che interferiscono nel conteggio. C'è anche da aggiungere che il coulter counter non

permette un esatto conteggio dei batteri che formano aggregati, come ad es. diplococchi,

stafilococchi, ecc.

e) Metodo di Wright: è un metodo diretto che però ha una percentuale di errore molto

elevata. La sospensione batterica viene mescolata con una soluzione di globuli rossi a titolo

noto, si fa uno striscio su di un vetrino portaoggetti e lo si colora opportunamente: gli

eritrociti risultano colorati in rosa e i batteri in blu.

Si contano i vari campi microscopici, facendo una media del numero dei batteri e dei

globuli rossi:

n.eritrociti totali : n.eritrociti contati = x : n.batteri contati

d) Metodo turbidimetrico: qui viene evidenziata la massa delle cellule batteriche. La

sospensione batterica viene fatta attraversare da un raggio luminoso e la quantità di luce

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

125

assorbita è proporzionale al numero di batteri presenti. Riportando in un grafico i valori di

assorbimento ottenuti alle diverse diluizioni della stessa sospensione, si otterrà una curva.

Batteri di specie diverse hanno forma e dimensioni diverse e quindi si dovrà costruire

una curva di taratura per ciascuna specie.

e) Metodo nefelometrico: è basato sul fenomeno della diffrazione della luce. Anche in

questo caso la sospensione batterica viene fatta attraversare da un raggio luminoso e la

quantità di luce diffratta è proporzionale al numero dei batteri. Anche con questo metodo si

dovrà costruire una curva di taratura per ogni specie batterica.

f) Calcolo dell'indice MPN: MPN significa "numero maggiormente probabile" ed è

stato introdotto da MeCrady nel 1915. E' un metodo di conteggio statistico e si bassa

sull'ipotesi che i microrganismi siano distribuiti in modo casuale nel campione in esame.

Importante è la scelta del terreno liquido che permetta la crescita esclusiva del

microrganismo in esame, specialmente quando ci si trova di fronte a materiali polimicrobici.

Il calcolo si avvale di apposite tabelle studiate in base al tipo di conta da attuare e il metodo

varia a seconda della tabella in uso. I risultati ottenuti sono indicativi in quanto il metodo

MPN è più impreciso della conta in piastra.

g) Metodo della filtrazione su membrana: si filtra un esatto volume di campione

microbico attraverso una membrana sterile di 0,45 micron di porosità. Il filtro viene poi

deposto, con tecnica sterile, in una piastra di Petri con agar-nutriente. Dopo opportuna

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

126

incubazione si contano le colonie ottenute. Il numero dei microrganismi per unità di volume

(ml) è dato dal rapporto tra il numero delle colonie contate e il volume del campione filtrato

(bisogna tenere conto dell'eventuale diluizione iniziale).

h) Metodo di dip-slides: è un metodo semplice e veloce per una determinazione

orientativa di una carica microbica. E' usato: per campioni liquidi, per superfici (anche

cutanee), per materiali pastosi, in dermatologia, ecc..

Il dip-slides consiste in una striscia imbevuta di terreno che viene messa a contatto con il

materiale di cui si vuol determinare la carica batterica (Fig. 4.5). Dopo incubazione, che può

avvenire anche a t° ambiente, si confronta la crescita avvenuta, con delle apposite schede

campione (Fig. 4.6) che danno direttamente la concentrazione microbica nel campione in

esame in correlazione alla densità delle colonie cresciute. In commercio esistono

"dip-slides" diversi in rapporto alla carica batterica che si vuol determinare. Questo metodo

è diretto e determina il numero dei germi attivi.

Fig. 4.5. Tecnica di conta batterica con “dip-slides”.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

127

Fig. 4.6. Schede campione per la determinazione della concentrazione microbica del

campione in esame.

i) Metodo al blù di metilene: è un saggio usato per l'analisi batterica del latte e si basa sul

fatto che una piccola quantità di blù di metilene aggiunta al campione in esame, viene

decolorata per la presenza di batteri. Questo metodo non dà un valore esatto della carica

batterica, ma un'approssimativa valutazione in base ad una tabella di riferimento (Tab. 4.1)

che si basa sui tempi di decolorazione.

Tab. 4.1. Tabella di riferimento per il metodo al blu metile.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

128

1) Metodo della semina in piastra: è un metodo diretto che determina il numero di

germi vivi. E' detto anche metodo delle diluizioni successive. Si prepara una serie di

provette contenenti 9 ml di acqua distillata sterile. Mediante una pipetta sterile si trasferisce

1 ml di campione in esame nella prima provetta (diluizione a 1/10 = 10-1). Successivamente

si preleva 1 ml di questa sospensione batterica e la si trasferisce in una seconda provetta

(diluizione 10-2 ) e così via sino alla provetta 10-9.

Si preparano e si siglano alcune piastre di Petri e si effettuano delle semine per inclusione

a partire dalla provetta 10-4, prelevando 1 ml di sospensione batterica. Contemporaneamente

si possono allestire delle semine per “spatolamento", prelevando, sempre a partire dalla

provetta 10-4 , 0,1 ml della sospensione. Dopo opportuna incubazione, si contano le piastre

con più di 30 colonie e quelle con meno di 300 colonie, si moltiplica per la diluizione iniziale

e si fa la media, ottenendo cosi il numero di batteri per 1 mi. Questo metodo si presta a degli

errori interpretativi poiché ogni colonia contata non sempre corrisponde ad un

microrganismo iniziale; molti di loro, crescono in gruppi (es. diplococchi, staffilococchi,

sarcine, ecc, ) altri tendono a dare colonie confluenti.

m) Metodo della spirale: prevede l'uso di una particolare apparecchiatura per la semina

automatica del campione. La piastra di Petri viene sistemata su un supporto rotante e la

coltura batterica o il campione in esame in soluzione viene seminato mediante uno stilo

erogatore che si muove a spirale dal centro alla periferia. La semina avviene con

diminuzione proporzionale e costante del volume man mano che lo stilo si sposta dal centro

verso i margini della piastra.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

129

Il conteggio delle colonie viene fatto:

a) sistema manuale: ci si avvale di uno schermo di lettura suddiviso in 8 settori uguali

(Fig. 4.7), ciascuno dei quali suddiviso in 4 segmenti numerati (1,2,3,4). L'area di ciascun

segmento è rapportata ad un volume noto del campione seminato. Dopo incubazione la

piastra viene posta sullo schermo di lettura, viene scelto uno degli 8 settori e si contano le

colonie contenute in uno dei segmenti. Quindi si contano le colonie contenute nello stesso

segmento del settore opposto (es. settore D segmento 3 - settore H segmento 3).

Mediante un'apposita tabella (Tab. 4.2) che associa volumi di campione a ciascun

segmento in rapporto al diametro della piastra e al volume totale, si può calcolare la densità

batterica.

Esempio:

n.colonie conteggiate = 26 + 28 = 54

densità batterica =54/0.0027 = 2 x 10 batteri/ml

Se il numero totale delle colonie contate in un settore è inferiore a 20 si devono contare

tutte le colonie della piastra di Petri.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

130

b) sistema Laser: la lettura della piastra seminata sia per inclusione che con il sistema

della spirale può essere fatta con un contatore a raggio Laser. L'operazione di conteggio

richiede pochi secondi.

Fig.4.7. Schermo per la lettura delle piastre seminate “a spirale”.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

131

Tab. 4.2. Volumi crescenti di campione depositati nei vari segmenti anulari di una piastra di

Petri di 150 mm e con volume di 40 microliti

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

132

4.3 APPLICAZIONI DELLE RETI NEURALI CELLULARI

PER L’ELABORAZIONE DELLE IMMAGINI

L'elaborazione delle immagini in tempo reale è senza dubbio un processo

computazionalmete oneroso e le classiche operazioni di preprocessamanto, segmentazione

ed interpretazione, sono strettamente condizionate dal tipo di processare utilizzato.

Esistono fondamentalmente due problemi, quali la conversione analogico\digitale

dell'immagine ed il processamento sequenziale di tale informazioni, che causano ritardi

nella visualizzazione e sono inaccettabili per tutte le applicazioni che riguardano la robotica

o monitoraggio real time.

Le reti cellulari neurali data le loro capacità di processamento parallelo e l'elevata rapidità

di esecuzione rappresentano un valida alternativa ai metodi di elaborazione classica.

Numerose implementazioni hardware di reti cellulari neurali sono state proposte [31], ed

alcune di esse in poche anni saranno integrate in prodotti commerciali.

In [32] è stata sviluppata una CNN 20*20 implementata in tecnologia 0.7m CMOS con

costante di tempo della cella pari a T=5s, il ché significa circa 10000 op/sec, con un tempo

di convergenza globale di circa 20.

Sfortunatamente ancora oggi l’implementazione hardware delle reti neurali cellulari

esiste solamente a livello prototipale, tali prototipi inoltre non superano la capacità di

processamento di 32x32 [31] or 64x64 pixel.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

133

Si pensa che nel prossimo futuro verranno implementati chip CNN la cui architettura sarà

sufficientemente ampia da poter trovare applicazioni pratiche. Questo permetterà di

processare le immagini direttamente in forma analogica tramite una precedente conversione

A/D dell’immagine. Considerando un circuito CNN della stessa dimensione dell’immagine

si ottiene un processamento parallelo di quest’ultima.

Attualmente per superare questa limitazione si adoperano dei simulatori software di

CNN, in particolare in questo lavoro si ci riferisce al SimulCN² scritto nel linguaggio “C”

[33].

Fig. 4.8. Schema a blocchi in cui sono riportati i passi di processamento del simulatore

CNN.

True

True

U, X(0)

(bitmap)

Circuital parameters

Rx, C

INPUT A, B, I

(templates)

N, intstep

START

i = 1, n = 1, X = X(0)

Pixel(n,i) State Equation

Runge-Kutta Integration

i = M i = i +1

False

X = X(n)

n = N i = 1, n = n + 1

False

Y = X, OUTPUT

STOP

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

134

Come evidenziato precedentemente (si veda il par.1.4), la dinamica delle CNN può essere

sviluppata mediante l’integrazione di equazioni di stato riguardanti le celle della rete

mediante il metodo di Runge-Kutta ed Eulero [34].

Nel simulatore a cui si ci riferisce sono state implementate delle routines ottimizzate per

garantire il carico minimo computazionale. Queste caratteristiche rendono possibile

l’impiego di tale software anche in personal computer di media potenza. In Fig. 4.8 si riporta

lo schema a blocchi rappresentante i passi seguiti dal simulatore durante le fasi di

processamento.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

135

4.4 DETERMINAZIONE QUANTITATIVA TRAMITE RETI

NEURALI CELLULARI

Le procedure per la determinazione quantitativa viste sino ad ora sono relativamente lente

e per dare risultati accettabili richiedono una concentrazione minima di cellule. Inoltre, si

possono commettere errori dovuti all’erroneo conteggio delle cellule da parte dell’operatore

umano. Altri errori possono essere dovuti alla sedimentazione e quindi aderenza delle cellule

nella celle campione ecc..

Fig 4.12: Diagramma a blocchi rappresentante l’algoritmo per la conta delle cellule.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

136

In questo paragrafo si riporta la descrizione di un algoritmo basato sulle CNN per il

conteggio delle cellule animali. Il relativo diagramma a blocchi è riportato in Fig. 4.12.

Il software implementato necessita come ingresso immagini a 256 toni di grigio. In

questo lavoro si è adoperata una fotografia (“Cellule.bmp” di 70x70x256 pixel) generata al

calcolatore ponendo in essa oggetti di forma diversa distribuiti in modo random. In

particolare con riferimento alla Fig. 4.14: sono stati generati 8 oggetti diversi,

rappresentativi di un gruppo di cellule all’interno di un quadrato della cella di conteggio.

Successivamente l’immagine viene convertita in bianco e nero (due toni di grigio), come

mostrato in Fig 4.15. Questa conversione è ottenuta mediante l’uso della “threshold”

template (4.1) [37].

“Threshold” template

11

000

000

000

000

020

000

IBA (4.1)

(a) (b)

Fig. 4.13. Esempio d’applicazione della template “Threshold”.(a) figura originale,(b)

figura elaborata.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

137

Fig. 4.14. Immagine generata al computer “Cellule.bmp”.

Fig. 4.15. Processamento “Threshold”.

L’immagine risultante è alla base delle successive elaborazioni che includono:

“Hole filling ”

Questa operazione serve ad identificare gli oggetti in esame: essa prende gli oggetti

rappresentanti le cellule batteriche cave e le riempie. Tale elaborazione è di fondamentale

importanza per la conta degli oggetti presenti all’interno di un quadrato della cella di

conteggio.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

138

La template che viene utlizzata per tale scopo è la “Hole filling” (4.2) (Fig. 4.16) [37].

“Hole filling” template

1

000

020

000

010

211

010

IBA (4.2)

(a) (b)

Fig. 4.16. Esempio d’applicazione della template ”HOLE_FILLING”.(a) figura

originale,(b) figura elaborata.

Si noti, confrontando le Fig. 4.15 e le Fig. 4.17, come sono state eliminate le concavità negli

oggetti mediante il loro riempimento con aree nere.

Fig.4.17: Immagine “A” (processamento“Hole filling”).

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

139

L’immagine “A” è soggetta a due processamenti paralleli ognuno dei quali è costituito

da due processamenti in cascata (si veda la Fig 4.12).

La prima operazione produce un immagine denominata “A1” mediante le templates

“LSE” (4.3) e “CCD_HOR” (4.4) [37].

“LSE” template

5.5

111

020

000

000

200

000

IBA (4.3)

“CCD_HOR” template

0

000

000

000

000

121

000

IBA (4.4)

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

140

(a) (b)

Fig. 4.18. Esempio d’applicazione della template “LSE”.(a) figura originale,(b)

figura elaborata.

(a) (b)

Fig. 4.19 Esempio d’applicazione della template “LCP”.(a) figura originale,(b)

figura elaborata.

Il compito della template “LSE” è quello di determinare le parti SUD degli oggetti

(Fig.4.18). La seconda template invece intercetta e connette le parti orizzontali della figura

(Fig.4.19).

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

141

(a) (b)

Fig. 4.20. Esempio d’applicazione della template “CCD_HOR”.(a) figura

originale,(b) figura elaborata.

Nel nostro caso ciò significa che ad ogni oggetto della figura viene ridotto ad un pixel

di esso rappresentativo. Le Fig. 4.21 e 4.22 (immagine “A”) illustrano i risultati ottenuti

tramite queste operazioni applicate alla Fig. 4.17.

Fig. 4.21: Processamento”LSE”

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

142

Fig. 4.22.Processamento“CCD_HOR” (immagine“A1”).

La seconda operazione produce l’immagine “A2” riportata in Fig. 4.24. Tale figura è

generata dall’applicazione consecutiva delle templates “LCP” (4.5) (Fig. 4.19) e

“CCD_HOR” (4.4) (Fig. 4.20) [37].

“LCP” template

5.5

5.015.0

121

000

000

200

000

IBA (4.5)

La template “LCP” estrae le concavità degli oggetti (si veda la Fig. 4.19). I risultati ottenuti

dall’applicazione di queste templates sono riportati nelle Fig. 4.23 e 4.24.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

143

Fig. 4.23: Processamento“LCP”.

La differenza numerica ottenuta tra il numero di pixel neri dell’immagine “A1” (Fig. 4.22)

e il numero dei pixel neri della “A2” (Fig. 4.24) corrisponde al numero di oggetti presenti

nella figura di partenza (Fig. 4.12). Nell’esempio riportato si ha la seguente differenza

8-1=7.

Bisogna sottolineare che l’algoritmo presentato, in questo stato di sviluppo, non è in

grado di distinguere due oggetti sovrapposti che quindi verranno conteggiati come un

singolo oggetto. Per superare questa limitazione si potrebbero correggere i risultati mediante

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

144

medie statistiche su diverse misurazioni (visto che le cellule possono muoversi, al variare del

tempo si disporranno diversamente).

Fig. 4.24. Processamento“CCD_HOR” (immagine“A2”).

Un altro problema può essere dovuto alla presenza di rumore nella fotografia proveniente

dal microscopio ottico (si veda ad esempio la Fig. 4.25).

Fig. 4.25. Possibile immagine affetta da rumore.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

145

Per prevenire ciò è necessario lavorare in condizioni ottime che assicurino la perfetta

pulizia delle lenti sia del microscopio che del sistema di acquisizione delle immagini.

Alternativamente si possono utilizzare le proprietà di filtraggio delle CNN, tramite un

un’opportuna template quale per esempio la “Figextr” [37].

“Figextr” template

0

25.025.025.0

25.025.025.0

25.025.025.0

000

200

000

IBA (4.6)

La template “Figextr” converte in bianco ogni pixel che non ha contorni neri, lascia solo

gli elementi che hanno un contorno (Fig. 4.26).

(a) (b)

Fig. 4.26. Esempio d’applicazione della template “Fixextr”.(a) figura originale,(b)

figura elaborata.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

146

Fig. 4.27. Diagramma a blocchi per le operazioni di filtraggio.

Il filtraggio dell’immagine è ottenuto mediante l’applicazione della templates “Figextr”,

”Threshold” secondo il diagramma a blocchi riportato in Fig. 4.27.

Fig. 4.28. Processamento “Threshold”.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

147

Fig. 4.29. Processamento “Figextr”.

Le Fig. 4.25 ->4.28 ->4.29 illustrano i passi per filtrare un’immagine corrotta da rumore

che si distingue dalle cellule biologiche. Questi passi includono un primo processamento

mediante la template “Threshold” (4.1) della Fig. 4.25 ed un secondo mediante la template

“Figextr” (4.6) della Fig. 4.28. L’immagine depurata dal rumore (Fig. 4.29) può quindi

essere usata come ingresso dell’algoritmo di conteggio precedentemente esposto.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

148

4.5 DETERMINAZIONE QUANTITATIVA: UN

CASO REALE

Si riporta di seguito un caso di studio reale riguardante l’applicazione esposta nel paragrafo

precedente. La Fig. 4.30 rappresenta una foto reale proveniente da un microscopio ottico

riguardante una cella di Petroff-Hausbauer contenente un campione di cellule da analizzare.

Tale fotografia,”Cell.bmp”, ha le seguenti dimensioni 100x112x256 livelli di grigio.

Fig. 4.30. Fotografia al microscopio ottico di una camera di Petroff-Hausen contenente

un campione di cellule animali da analizzare.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

149

Il primo processamento della Fig. 4.30 consiste nell’applicazione della templates

“Threshold” (si veda par. 4.3) Fig. 4.31.

Fig. 4.31 Processamento “Threshold” dell’immagine “Cell.bmp”.

Fig. 4.32. Processamento “Figextr”.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

150

Si può visivamente notare come l’immagine “Cell.bmp” sia stata convertita in bianco e

nero. Poiché l’algoritmo di conteggio esposto è sensibile al rumore presente nelle fotografie

si effettua alla Fig. 4.31 un processamento “Figextr”. Dalla Fig. 4.32 si può notare la

rimozione del rumore dovuto ai minuscoli puntini presenti nella Fig. 4.31.

La figura così ottenuta presenta ancora oggetti con cavità, di conseguenza si applicherà

all Fig. 4.32 un processamento “Hole Filling”, Fig. 4.33.

Fig. 4.33. Processamento “Hole Filling”.

Adesso rimangono da applicare i due processamenti paralleli LSE-CCD_Hor e

LCP-CCD_Hor (si veda la Fig. 4.12), Fig. 4.34-4.35.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

151

(a) (b)

Fig. 4.34. Processamento: (a) “LSE”; (b) “CCD_Hor”.

(a) (b)

Fig. 4.35. Processamento: (a) “LCP”; (b) “CCD_Hor”.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

152

IL numero delle cellule conteggiate dall’algoritmo sarà dato dalla differenza del numero

dei pixel delle Fig. 4.34b e 4.35b, ovvero 77-51=26.

Si vuole sottolineare che la robustezza dell’algorimo può essere incrementata mediante

l’applicazione ripetuta della template “Erosion” (4.7) che ha lo scopo di corrodere gli oggetti

presenti in una fotografia (si veda la Fig. 4.36) al fine di separare eventuali cellule

sovrapposte [37].

Template “Erosion”

5.4

010

111

010

000

200

000

IBA (4.7)

(a) (b)

Fig. 4.36. Esempio d’applicazione della template “Erosion”.(a) figura originale,(b)

figura elaborata..

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

153

4.6 ALGORITMO PER LA DISCRIMINAZIONE

DELLE CELLULE CON DIMENSIONE FISSATA

Come estensione delle elaborazioni presentate nei precedenti paragrafi, si riporta di

seguito un algoritmo innovativo basato su CNN capace di discriminare il numero di cellule

appartenenti ad una fotografia aventi la proprietà di possedere la stessa dimensione.

L’algoritmo proposto prevede che sia nota a priori la dimensione ( in numero di pixel)

degli oggetti da discriminare (Fig. 4.37).

Fig. 4.37. Algoritmo per la discriminazione degli oggetti di dimensione prefissata.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

154

Attraverso un uso ripetuto della template “Erosion” (4.7) si corrodono gli oggetti sino a

lasciare quelli della dimensione fissata, dopodiché si ricostruiscono gli oggetti originari

attraverso la template “Recostruction” (4.8) Fig. 4.38. Si noti che l’immagine che

rappresenta lo stato iniziale per la template “Erosion” può subire un processamento

“PEELHOR” (4.9) (Fig. 4.39) nel caso in cui la dimensione selezionata è un numero dispari.

Template “Recostruction”

5.2

000

010

000

010

211

010

IBA (4.8)

(a) (b) (c)

Fig. 4.38. Esempio d’applicazione della template “Recostruction”.(a) figura

originale,(b) stato iniziale,(c) figura elaborata..

Template “PEELHOR”

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

155

5

000

330

000

000

020

000

IBA (4.9)

(a) (b)

Fig. 4.39. Esempio d’applicazione della template “PEELHOR”.(a) figura

originale,(b) figura elaborata..

Di seguito si riportano le immagini intermedie dell’algoritmo descritto applicato ad un caso

reale (foto “Cell.bmp” Fig. 4.30) Fig. 4.40-4.42.

Fig. 4.40. Processamento “Threshold”.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

156

Fig. 4.41. Processamento “Erosion”.

Fig. 4.42. Processamento “Recostruction”.

La figura finale del processamento (Fig. 4.42) contiene gli oggetti (nell’esempio cellule)

aventi la dimensione di 9x9=81 pixel. Tale immagine può quindi essere usata come

immagine d’ingresso per l’algoritmo di conteggio presentato in 4.4.

CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI

157

Si noti che applicando più volte l’algoritmo appena esposto è possibile fare uno screening

delle dimensioni degli oggetti presenti in una immagine ed ottenere quindi una distribuzione

del numero di oggetti presenti in funzione della loro grandezza.

CAPITOLO V

CONCLUSIONI

Con riferimento all’applicazione riguardante la predizione delle concentrazioni degli

inquinanti atmosferici possiamo trarre le seguenti conclusioni:

- Il fatto che i predittori NF si dimostrino meno accurati dei PMS può essere spiegato

ricordando che ci si è dovuti limitare nella complessità del modello NF per le ragioni

sopra esposte. E’ facile attendersi che i risultati miglioreranno ulteriormente

ottimizzando i parametri delle funzioni di membership mediante nuovi algoritmi di

ottimizzazione quali ad esempio Simulated Annealing o gli Algoritmi Genetici;

- L’utilità delle reti neuro-fuzzy è da ricercarsi principalmente nella loro capacità di

estrarre conoscenze, che rappresentano una forma trasparente di modellizzazione, dalla

quale l’utente può trarre utili indicazioni sui fenomeni, o per ulteriori integrazioni delle

conoscenze medesime attingendo al proprio bagaglio di conoscenze;

- L’uso combinato dei modelli di predizione AR/MLP offre numerosi vantaggi in

termini di capacità di predizione anche rispetto ai singoli predittori MLP.

Si vuole sottolineare in fine che il carico computazionale dei modelli AR è notevolmente

inferiore rispetto ai modelli neurali poiché non necessita di fase di allenamento. L’uso

CAPITOLO V - CONCLUSIONI

156

congiunto dei modelli AR e MLP introduce quindi un carico computazionale simile a

quello del singolo predittore neurale di conseguenza se ne giustifica l’eventuale utilizzo.

L’applicazione di questi algoritmi dovrebbe andare alle autorità pubbliche al fine di

limitare l’emissione degli inquinanti quando si prevedono elevati tassi. Un uso intelligente

di questi meccanismi di previsione potrebbe in qualche modo limitare i danni e le malattie

provocate dall’inquinamento urbano ed industriale.

Tra i possibili sviluppi futuri di questa ricerca si può considerare lo studio di predittori a

più passi al fine di prevedere non solo un campione ma un’intera dinamica del sistema in

questione.

L’aspetto innovativo della seconda applicazione presentata in questo lavoro consiste

nell’uso delle Reti Neurali Cellulari per operazioni di conteggio, in particolare si evidenzia

l’indipendenza della velocità dell’algoritmo proposto dalla complessità dell’immagine e

dal numero di oggetti in essa contenuti. La caratteristica evidenziata mette notevolmente in

risalto la versatilità del metodo di conteggio proposto rispetto ai metodi tradizionalmente

adoperati. Nel processo di simulazione descritto il tempo richiesto per effettuare il

conteggio è dell’ordine dei 10 minuti. La stima di questo tempo è puramente indicativa e si

riferisce ad immagini della dimensione 100x112 pixel e si fa uso di un Pc con processore

Pentium a 200MHz. Bisogna però tenere conto che quando sarà disponibile nel mercato

una tecnologia capace di integrare le CNN in un chip questo tempo sarà dell’ordine dei s.

Tale tempo di processamento sarà quindi trascurabile rispetto al tempo di acquisizione

CAPITOLO V - CONCLUSIONI

157

delle immagini. Si ribadisce in fine che le CNN possono essere implementate in un

comune DSP e di conseguenza seppure non si giunge alla velocità di processamento dei s

si possono comunque ottenere risultati che incoraggiano nell’utilizzo di questa tecnologia.

In fine si vuole sottolineare l’efficienza del metodo di screening riferito alla dimensione

delle cellule in funzione del loro numero.

Tra i possibili sviluppi futuri di questa tecnologia si può considerare lo sviluppo di un

sistema on-line per la determinazione del numero di particelle che passa attraverso un

capillare. Tale applicazione è di notevole interesse nel campo delle biotecnologie con

particolare riferimento alla produzione di batteri ed enzimi.

CAPITOLO VI

BIBLIOGRAFIA

[1] Nunnari G., Randieri C., Nucifora A., Occhipinti L., Applicazioni di tecniche neurali

per la modellistica di fenomeni di inquinamento atmosferico, Giornata di studio su

"Applicazione del Soft-Computing al Controllo di Processo e dell'Ambiente, pp 32-44,

Firenze, Aprile 1997,

[2] Nucifora A., Nunnari G., Randieri C., Occhipinti, Tecniche neurali per la

modellistica dell’inquinamento atmosferico. Automazione e Strumentazione, Settembre

1997,pp. 97-104

[3] Nunnari G., Nucifora A. Randieri C. The application of neural techniques to the

modelling of time-sries of atmosferic pollution data, Elological Modelling, 1998, Vol 111,

pp. 187-205.

[4] Bertucco L., ,Nunnari G.,Randieri C.,Rizza V.,Sacco A. A cellular neural network

based system for cell couning in culture of biological cells, Proc. Of the 1998 IEEE

International Conference on Control Application, Vol. I, pp. 341-345, Trieste, Sept. 1998

CAPITOLO VI - BIBLIOGRAFIA

161

[5] Shepherd, G. M., 1990. The Synaptic Organization of the Brain. Oxford, Oxford

Univerity Press.

[6] McCulloch, W. e Pitts, W. 1993. A logical calculus of the ideas immanet in nervous

activity, Bulletin of mathematica biophysics, vol. 5 pp. 115-133.

[7] Jang, J.S.R., Sun, C.T. and Mizutani, E., 1997. Neuro-Fuzzy and Soft Computing - A

Computational Approach to Learning and Machine Intelligence. Prentice Hall.

[8] Hebb, D.O. The organisation of behavior, New York, Whiley & Sons

[9] Hopfield, J.J. 1982. Neural networks and physical systems with emergent collective

computational abilities, Proceedings of the National Academy of Science USA, vol. 79 pp.

2554-2558.

[10] Hopfield, J.J. 1984. Neurons with graded responses have collective computational

proprietis like those of two state neurons. , Proceedings of the National Academy of

Science USA, vol. 81 pp. 3088-3092.

[11] Yager R.R., Zadeh L.A. ed. 1992.An introduction to fuzzy logic applications in

intelligent system. Kluwer Academic.

CAPITOLO VI - BIBLIOGRAFIA

162

[12] Holland, J.H. 1975. Adaption in natural and artificial systems, Ann Arbor, The

University of Michigan Press.

[13] Hoffmeisterrrr F. e Beack T. 1991. Geneic algorithms and evolution strategies:

Similarieties and differences. Parallel problem solving from nature, Sringer-Verlag, pp.

455-469.

[14] Goldberg, D.E. 1989. Genetic algorithms in search, optmization and machine

learning, Reading , MA, Addison-Wesley.

[15] Chua L. O. 1998. A paradigm for complexity, World Scientific.

[16] Arena P. Et al. 1995. Cellular neural networks: a survey IFAC Symp. On Large Scale

Systems, London.

[17] Arena P. Et al. 1994. CNN image processing for the automatic classification of

oranges. CNNA-94 Third IEEE International Workshop on CNN and their Application,

Rome.

[18] Cardilli G.C., Sargeni F. 1993. Very efficent VLSI implementation of CNN with

discrete templates, IEEE Electronics Letters, vol. 29, n. 14, pp. 1286-1287.

CAPITOLO VI - BIBLIOGRAFIA

163

[19] Salerno M. Et al. 1996. 6x6 DPCNN: A programmable mixed analouge-digital chip

for CNN. 4th IEEE Int. Workshop on CNN and their app., pp. 451-456, Spain.

[20] Roska T. Et al. 1992. Stability and dynamics of delay-type general and CNN. IEEE

Transaction on Circuits Systems-I: Fundamental Theory and Application, vol. 39, n.6.

[21] SGS - Thomson Microelectronics, 1995. AFM 1.0, Adaptive Fuzzy Modelling.

[22] Yamaguchi, T., Imasaki, N. and Haruchi, K., 1990. Fuzzy rule realization on

associative memory system. Proc, IJCNN ’90, Vol. II, pp 720-723.

[23] Horikawa, S., Furuhashi, T. and Uchikawa, Y, 1992. On fuzzy modeling using fuzzy

neural networks with the back-propagation algorithm. IEEE Trans. On Neural Networks,

Vol. 3, N. 5.

[24] Sugeno, M. and Takagi, T., 1985. Fuzzy identification of Systems and its application

to modeling and control. IEEE Transaction on System, Man and Cibernetic, Vol. 15, No.1,

pp. 116-132.

[25] Zannetti, P., 1990. Air pollution modeling (Theories, computational methods and

available software). Van Nostrand Reinhold.

[26] Noel de Nevers, 1995. Air pollution control engineering. McGraw-Hill.

CAPITOLO VI - BIBLIOGRAFIA

164

[27] Seinfeld, J.H., 1986. Atmospheric chemistry and physics of air pollution. J. Wiley and

Sons, New York.

[28] Ljung, L., 1987. System Identification, Theory for the user. Prentice Hall.

[29] Chua L. O. and Yang L., October 1988.Cellular Neural Networks: Theory, in IEEE

Transactions on Circuits and Systems, vol.35, no.10.

[30]. Crounse K. R and Chua L. O. October 1995. Methods for Image Processing and

Pattern Formation in Cellular Neural Networks: a Tutorial, in IEEE Transactions on

Circuits and Systems: Fundamental Theory and Applications, vol.42.

[31] Rodriguez-Castro A. Et al Dec. 1994, A CNN Universal Chip in CMOS technology,

Third IEEE Int. Workshop on Cellular Neural Networks and their Applications,

Rome, Italy, pp. 91-96.

[32] Espejo S. Et al 1994. Smart pixel cellular neural networks in analog current mode

CMOS technology. J. Of Solid State Circuits. Vol.29, pp. 895-905

[33] Nunnari Et al. 1997.A cellular neural network simulator for on-line image

processing : An application to monitoring active volcanoes, accepted to 15th IMACS

World Congress, Vol. 4, pp. 215-220, Berlin.

[34] J. R. Rice, 1992.Numerical Methods, Software and Analysis.

[35] T. D. Brock el al., 1994.Biology of Microorganism.

CAPITOLO VI - BIBLIOGRAFIA

165

[36] R. Ian Freshney, 1994.Culture of animal cells.

[37] Computer and Automation institute Hungarian Academy of Sciences, december

1992.CNN analogic (dual) software library, in Dual and Neural Computing System

Laboratory, Budapest.


Recommended