modellistica e controllo dei sistemi ambientali Di Mauro Patti

Post on 11-Mar-2016

217 views 1 download

description

Gianluca Di Mauro Giuseppe Patti Ingegneria dell’Automazione e Controllo dei Sistemi Complessi Anno 2008/09 Vulcani Vulcanesimo Vulcanesimo 2.Distribuzione cumulativa degli intervalli di tempo tra eruzioni successive 4.Studio dei grafi ottenuti connettendo tutti i vulcani in eruzione in un determinato intervallo temporale. 3.Eseguire un’ analisi statistica circa le eventuali correlazioni tra i vulcani in eruzione nello stesso periodo di tempo. 1.Distribuzione cumulativa delle durate delle eruzioni.

transcript

Modellistica e Controllo dei Sistemi Ambientali

Gianluca Di Mauro Giuseppe Patti

Ingegneria dell’Automazione e Controllo dei Sistemi Complessi

Anno 2008/09

Vulcani

Nell'accezione comune il vulcano è il rilievo formato dalle masse di rocce ignee eruttate dall'interno della Terra(edificio vulcanico o cono vulcanico).In generale sono vulcani tutte le discontinuità nella crosta terrestre attraverso le quali, con manifestazioni varie, si fanno strada i prodotti dell'attività magmatica endogena: polveri, gas, vapori e materiali fusi solidi. La fuoriuscita di materiale è detta eruzione e i materiali eruttati sono: lava,cenere,lapilli,gas, scorie varie e vapore acqueo.

VulcanesimoAttività Vulcanica:Un vulcano può trovarsi in quattro stati o fasi di attività: •Quiescenza e Solfatarica:manifestazioni postvulcaniche, quali solfatarefumarole, mofete, acque termali.•Attività permanente moderata:L'attività permanente moderata può essere rappresentata dalle eruzioni hawaiane, con formazione di laghi di lava di lunga durata o dalle eruzioni stromboliane, con alternanze di lanci di scorie e fuoriuscita di lave, fluide, o dalla estrusione di cupole e di guglie laviche.

Vulcanesimo•Eruzione Possono essere di diverso tipo: possono dar luogo a fenomeni esplosivi, con ceneri e lapilli proiettati fino a decine di km al di sopra del cratere e depositati fino a centinaia di km di distanza dal centro eruttivo, o effusivi, se il magma fuoriesce formando una colata lavica che si propaga per distanze minori.•Distribuzione Geografica dei VulcaniI vulcani sono localizzati in zone che corrispondono alle aree di alta sismicità e che seguono le catene montuose a pieghe di origine recente, le fratture e le fosse tettoniche sia continentali sia oceaniche.

Fasi di sviluppo

1.Distribuzione cumulativa delle durate delle eruzioni.

2.Distribuzione cumulativa degli intervalli di tempo tra eruzioni successive

3.Eseguire un’ analisi statistica circa le eventuali correlazioni tra i vulcani in eruzione nello stesso periodo di tempo.

4.Studio dei grafi ottenuti connettendo tutti i vulcani in eruzione in un determinato intervallo temporale.

Fase Preliminare

Lo studio qui presentato è ottenuto mediante l’analisi delle informazioni ottenute dal sito: http://www.volcanolive.com/world.htmlSito contenente le posizioni dei vulcani con le rispettive longitudini,latitudini e le date delle eruzioni.Dalle informazioni presenti è stato allora sviluppato un database necessario nelle successive fasi.

Fase 1In questa fase si è calcolata la distribuzione cumulativa della durate delle eruzioni:Si è creato un vettore di durata_eruzione:for i=1:Neruzioni

durata_eruzione(i) =fine_eruzione(i)-inizio_eruzione(i);end

Si è poi provveduto al calcolo della distribuzione:for j=1:max_eruz

for i=1:Neruzioniif( durata_eruzione(i)>j)counter(j)=counter(j)+1;endend

endloglog(counter)

Fase 1Distribuzione Cumulativa della durate delle eruzioni:

Numero eruzioni

Tempo(anni)

Fase 1La distribuzione ottenuta ha un andamentoa legge di Potenza:Una legge di potenza è caratterizzata dall’avere all’aumentare dell’intensità del fenomeno(ad esempio la durata delle eruzioni), un decremento nella frequenza di osservazione.Per esempio, nel caso dei terremoti al raddoppiare della magnitudine l’occorrenza del fenomeno diventa 4 volte più rara.Nel caso di distribuzione power law non è possibile definire un valore medio delle intensità,o una mediana.

Fase 2Distribuzione cumulativa degli intervalli di tempo tra eruzioni successive:Per ogni vulcano è stato calcolatoil numero di eruzioni:

eruzioni=size(vulcano.idVolc);eruzioni=eruzioni(:,1)

E la durata tra eruzioni successive: for u=1:eruzioniif((eruzioni+1)< b)

durata_er(s,u)=vulcano.AnnoInizio(u+1)-vulcano.AnnoFine(u);

Fase 2Con lo stesso procedimento utilizzato precedentemente si È poi plottata la distribuzione cumulativa degli intervalli di Tempo tra eruzioni successive considerando le eruzioni Successive di tutti i vulcani ottenendo:

Numero eruzioni

Tempo(anni)

Fase 2

Questa volta non è stato possibile supporre un andamento a Legge di potenza della distribuzione cumulativa:

Numero eruzioni

Tempo(anni)

Fase 2

Si sono inoltre calcolate le distribuzioni cumulative traeruzioni successive di alcuni vulcani più significativi:

Tinakula :Numero eruzioni

Tempo(Anni)

Fase 2

Santo Cristobal

Numero eruzioni

Tempo(Anni)

Fase 2

GuazapaNumero eruzioni

Tempo(anni)

Fase 2

Anche questa volta non è stato possibile supporre un andamento a legge di potenza.Nonostante in alcuni casi sono state notate forti somiglianze con l'andamento powerlaw.

Fase 3Analisi statistica:Sono state ricercate le correlazioni tra i vulcani in eruzione nello stesso periodo di tempo.

E’ stato scelto di selezionare l’intervallo di studio mediante delle Query dinamiche:

s1='SELECT DISTINCT Idvolc FROM Eruzioni WHERE AnnoInizio BETWEEN '

Mediante i parametri w,p si è scelto la dimensione della finestra d’analisi e l’ampiezza dell’intervallo temporale.

Fase 3Si è poi passato alla costruzione della matrice delle adiacenze:adiacenze=zeros(Nvolc,Nvolc);for i=1:Nvolc

for j=1:Nvolcconfronta=0;confrontb=0;a=completan.idVolc(i);b=completan.idVolc(j);for k=1:l

if (a==rangen.Idvolc(k))confronta=1;

endif (b==rangen.Idvolc(k))

confrontb=1;endif((confronta*confrontb)==1)adiacenze(i,j)=1;

Fase 3

Ad ogni iterazione si è plottata la matrice delle adiacenze mediante la funzione biographIterazione di passo p(anni)Si è poi:•Calcolata la matrice di correlazione dell’intervallo di tempo specificato:

for i=1:Niterazioniadiacenze=st(i).data.*st(i+1).data;

Fase 3s1='SELECT DISTINCT Id,Nome,Lat,Dir_Lat,Lon,Dir_Lon FROM Vulcani WHERE Id = ';

s2=completan.idVolc(i);s2=num2str(s2);s=strcat(s1,s2);s=[s1 s2 ];curs=exec(conn,s);curs=fetch(curs);setdbprefs('DataReturnFormat','structure');vulcano1=curs.Data;s3='SELECT DISTINCT

Id,Nome,Lat,Dir_Lat,Lon,Dir_Lon FROM Vulcani WHERE Id = ';s4=completan.idVolc(j);s4=num2str(s4);s=strcat(s3,s4);s=[s3 s4 ];curs=exec(conn,s);curs=fetch(curs);

Fase 3if (strcmp(vulcano1(1).Dir_Lat,'S'))

vulcano1(1).Lat=-vulcano1(1).Lat;endif (strcmp(vulcano1(1).Dir_Lon , 'W'))

vulcano1(1).Lon=-vulcano1(1).Lon;endif (strcmp(vulcano2(1).Dir_Lat,'S'))

vulcano2(1).Lat=-vulcano2(1).Lat;endif (strcmp(vulcano2(1).Dir_Lon, 'W'))

vulcano2(1).Lon=-vulcano2(1).Lon;endvulcano1(1).Nome; vulcano2(1).Nome;lat(count)= vulcano1(1).Lat;lon(count)= vulcano1(1).Lon;count=count+1;

Fase 3Si è poi calcolata la matrice delle adiacenze pesate con le Distanze

[dist,atz]=distance(vulcano1(1).Lat,vulcano1(1).Lon,vulcano2(1).Lat,vulcano2(1).Lon)

adiacenze(i,j)=1*dist;

che è stata plottata mostrando i pesi(distanza tra il vulcano i,j):

view(biograph(adiacenze,idd,'ShowWeights','on'))

La matrice delle adiacenze finale si è poi visualizzata mediante il comando geoshow scegliendo il giallo per i nodi correlati e il rosso per i restanti nodi.

Fase 3Risultati:Sono stati ottenuti:Nell’intervallo dal 1950-1965 si è scelto un ampiezza di 5 anni per il calcolo della correlazioneFinestra 1: 1950-1960Finestra 2: 1955-1965Si è lavorato sul database VolcanoesPl.mdb(contenente i database dei gruppi 1-7-10)

Fase 3Correlazione tra i vulcani in eruzione dal 1950-1965 (database VolcanoesPL.mdb)

Fase 3

Risultati:Sono stati ottenuti:Nell’intervallo dal 1950-1965 si è scelto un ampiezza di 5 anni per il calcolo della correlazioneFinestra 1: 1950-1960Finestra 2: 1955-1965Si è lavorato sul database volcanoes.mdb(contenente il database del gruppo 7)

Fase 3

Dato il minor numero di vulcani in questo database è stato Possibile mostrare il grafo contente i vulcani in eruzione nella finestra Temporale (1950-1960) :

I nodi collegati rappresentanoI vulcani attivi nella finestra temporale

Fase 3

Grafo contente i vulcani in eruzione nella finestra Temporale (1955-1965) :

Fase 3

Calcolo della correlazione:Vengono visualizzati i vulcani correlati nella finestra temporaleIn un grafo pesato con le distanze tra i vulcani :

Fase 3

Il risultato finale è poi mostrato su una mappa della terra:

Fase 3

Ulteriore esempio:Si sono costruite 2 finestre di passo 10anniFinestra 1: 1970-1980Finestra 2: 1982-1992Il database utilizzato è ancora volcanoes.mdb (database del gruppo7)

Fase 3

Finestra 1:visualizzazione mediante il biograph dei vulcani Attivi dal 1970-1980 nel database volcanoes.mdb

Fase 3

Finestra 2:visualizzazione mediante il biograph dei vulcani Attivi dal 1982-1992 nel database volcanoes.mdb

Fase 3

Plotting della correlazione:

Fase 3

Mappa:

Fase 4Studio dei grafi:Questo studio che è stato effettuato connettendo tutti i

vulcani in eruzione in un determinato intervallo temporale, è stato reso possibile grazie all’utilizzo di particolari indici, che come vedremo, permettono di identificare la topologia e le proprietà di un grafo:

Lunghezza media di un camminoCoefficiente di clusteringGrado (connettività) di un nodo

Fase 4Lunghezza media di un cammino:

In un network la distanza tra due nodi i e j si definisce come il numero di archi del cammino più breve che li connette.

La lunghezza media di un cammino (L) di un network è la media delle distanze tra coppie di nodi ottenuta come media aritmetica su tutte le coppie di nodi

Fase 4Coefficiente di clustering:Per quanto riguarda il coefficiente di clustering

supponiamo che il nodo j della network abbiakj archi che lo connettono ad altrettanti nodi.Questi nodi sono vicini del nodo j.Al più kj (kj – 1) / 2 archi possono esistere traloro (quando ogni vicino del nodo j è connesso ad ogni altro vicino del nodo j).

Ne esistono, in generale, di meno (Ej).

Fase 4Da cui si ha cheIl coefficiente di clustering del nodo j (Cj) si

definisce come il rapportoCj=2 Ej / (kj (kj-1))

mentre coefficiente di clustering del network (C) sidefinisce come la media aritmetica dei coefficienti di ogni nodo

C = (1/n)∑jCj

Fase 4Grado del nodo:Il grado di un nodo j (kj) è definito come il numero

totale di connessioni con altri nodi,quindi intuitivamente, fornisce un’idea dell’importanza di un nodo

Il valore della media aritmetica del grado diogni nodo si definisce come grado medio delnetwork <k>

Fase 4Fatto questo breve excursus esaminiamo il codice che ci

ha permesso di svolgere tale lavoro.

La scelta della finestra temporale è effettuata mediante una query dinamica,dove i due parametri s2 e p costituiscono rispettivamente l'anno di inizio e di fine dell'intervallo temporale scelto; mentre l'ampiezza della finestra è individuata mediante un terzo parametro p mentre w rappresenta il numero di iterazioni

Fase 4for w=1:4

s1='SELECT DISTINCT Idvolc FROM Eruzioni WHERE AnnoInizio BETWEEN ';

s2=1954+p;

p=w+10;

s2=num2str(s2);

s3=' AND ';

s4=1949+p+3;

s4=num2str(s4);

s=strcat(s1,s2,s3,s4);

s=[s1 s2 s3 s4];

curs=exec(conn,s);

curs=fetch(curs);

setdbprefs('DataReturnFormat','structure')

rangen=curs.Data;

rangen;

rangen.Idvolc;

lenght=size(rangen.Idvolc);

l=lenght(:,1);

Fase 4Successivamente si è passati alla creazione della

matrice delle adiacenze , valutando se all'interno della finestra la coppia di vulcani i,j considerati sono attivi.

adiacenze=zeros(idv,idv);for i=1:idv

for j=1:idv

confronta=0;

confrontb=0;

a=completan.idVolc(i);

b=completan.idVolc(j);

Fase 4for k=1:l

if (a==rangen.Idvolc(k))

confronta=1;

end

if (b==rangen.Idvolc(k))

confrontb=1;

end

if((confronta*confrontb)==1)

adiacenze(i,j)=1;

end

end

end

end

adiacenze_tot=adiacenze+adiacenze_tot;

end

Fase 4Per la costruzione del grafo si è utilizzata la matrice

adiacenze_tot ottenuta sommando le matrici delle adiacenze delle w iterazioni

adiacenze_tot=adiacenze_pesate(adiacenze_tot); adiacenze_tot=sparse(adiacenze_tot);idd=num2str(id.idVolc); bio=biograph(adiacenze_tot,idd);view(biograph(adiacenze_tot,idd,'ShowWeigh)

Invece per quanto riguarda il calcolo degli indici, è stato eseguito dalle seguenti funzioni

Fase 4Nconn=0;

for i=1:idv

adiacenze_tot(i,i)=0;

Nconn=Nconn+~isempty(find(adiacenze_tot(:,i)==1)); end

Dist=graphallshortestpaths(adiacenze_tot);

somma=0;

for i=1:N

for j=1:N if i~=j && Dist(i,j)~=Inf somma=somma+Dist(i,j); end endend

L=1/(Nconn*(Nconn-1))*somma

Per quanto riguarda la lunghezza media

Fase 4Mentre per il coefficiente di clustering:

ki=full(sum(adiacenze_tot));

Ci=zeros(idv,1);

coppie=zeros(idv,1);

for i=1:idv

Ncoppie=0; for j=1:idv

Fase 4for k=1:idv

if adiacenze_tot(j,k)==1 && adiacenze_tot(i,j)==1 && adiacenze_tot(i,k)==1 && i~=j && j~=k && i~=k

Ncoppie=Ncoppie+1; end end coppie(i)=Ncoppie; end if ki(i)==0 || ki(i)==1 Ci(i)=0; else Ci(i)=coppie(i)/(ki(i)*(ki(i)-1)); endend

coeff_cluster=mean(Ci)

Fase 4 Risultati:Sono stati ottenuti:Nell’intervallo dal 1954-1968 si è scelto un ampiezza di

5 anni per il calcolo della correlazione

Si è lavorato sul database VolcanoesC (database quasi completo)

L: 1.2172COEFFICIENTE DI CLUSTERING: 0.5062

Fase 4Questi risultati sono stati poi confrontati con quelli

ottenuti calcolando, rispettivamente C ed L con le formule relative ai grafi regolari e random

L_reg:4.5190L_rand:0.1577Coeff.clust._rand:0.2213

Fase 4Ciò ci permette di dire che il grafo da noi ottenuto ha

tutte le caratteristiche di un grafo small world in quanto come ogni grafo che ricade in data tipologia ha un commino medio nonché un coefficiente di clustering a “metà strada tra i due” (distanza media tra i nodi bassa e alto coeff. di clustering)