SlideShare a Scribd company logo
1 of 24
Download to read offline
Università degli Studi di Trieste
DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA
_________________________________________________________________
Corso di Laurea in Ingegneria dell’Informazione
STIMA DELLA PRESSIONE TRACHEALE NEL
CONTROLLO DELLA VENTILAZIONE MECCANICA
MEDIANTE GENETIC PROGRAMMING
LAUREANDA RELATORE
Ngouoyiwouo Mfouapon Nadine Prof. Alberto Bartoli
CORRELATORE
Dott. Alessandro Turco
SESSIONE STRAORDINARIA
_______________________________________________________________________________
Anno Accademico 2012-2013
  2 
Indice
I – INTRODUZIONE 3
II- ANALISI E STRUMENTI 5
1) Programmazione Genetica 5
2) Evolutionary Design 7
3) Dati 10
III- ESPERIMENTO NUMERICO 12
1) Organizzazione dei dati 12
2) Ricerca dei parametri ottimali 13
3) Risultati 19
IV- VALIDAZIONE 20
V- CONCLUSIONI E POSSIBILI SVILUPPI FUTURI 21
Bibliografia e Sitografia 22
Ringraziamenti 24
  3 
I. INTRODUZIONE
In medicina, la ventilazione meccanica consiste nel compensare o assistere la
respirazione spontanea del paziente, utilizzando un dispositivo chiamato “ventilatore”. Essa
è più spesso praticata in un contesto di cure critiche (medicina d’urgenza, terapia intensiva o
intermedia) e di anestesia. Esistono numerose metodologie di ventilazione meccanica. In
questa tesi ci siamo interessati in particolare alla “ventilazione percussiva ad alta
frequenza”.
La ventilazione percussiva ad alta frequenza (High Frequency Percussive
Ventilation, HFPV) è una metodologia di ventilazione meccanica non convenzionale che
associa gli aspetti benefici della ventilazione meccanica convenzionale (CMV) con quelli
della ventilazione ad alta frequenza (HFV) [1]. Nel corso degli anni, questo tipo di
ventilazione si è dimostrato molto utile nel trattamento di alcune condizioni patologiche:
trauma cranico chiuso [2], sindrome da distress respiratorio dell’adulto (adult respiratory
distress syndrom, ARDS) causato da ustioni ed inalazione di fumo [3], [4], pazienti con
insufficienza respiratoria acuta (acute respiratory failure, ARF) [5], neonati con malattia
delle membrane ialine o sindrome da distress respiratorio (RDS) [6].
L’utilizzo della ventilazione percussiva ad alta frequenza in generale comporta l’uso
del tubo endotracheale1
(EET) che connette il circuito del ventilatore alla via respiratoria del
paziente. La Figura 1 mostra un tubo endotracheale inserito in trachea [20]. La pressione
misurata dal ventilatore è la somma della variazione di pressione nel tubo e della pressione
tracheale dissipata per gonfiare i polmoni. La pressione del flusso d’aria insufflato dal
ventilatore deve essere controllata molto accuratamente per evitare danni ai polmoni come il
volutrauma e il barotrauma [7]. Poiché, al momento la pressione al livello della trachea non
può essere misurata, è necessario avere un modello per stimare tale pressione basandosi
sulle proprietà del tubo (EET) e sulle proprietà del flusso d’aria che al momento possono
essere misurati in pratica clinica.
                                                            
1
Tubo di materiale plastico, spesso monouso, che viene inserito nella trachea del paziente attraverso la bocca oppure
attraverso il naso. [13]
  4 
Figura 1. Tubo endotracheale inserito in trachea attraverso la bocca: A- tubo endotracheale
(blu), B- cuffia del tubo di gonfiaggio con palloncino, C- trachea, D- esofago.
Nell’articolo “A Novel Estimation Methodology for Tracheal Pressure in
Mechanical Ventilation Control” [8] si descrive un esperimento basato sulla
Programmazione Genetica, fatto per generare tale modello. In questa tesi ci proponiamo di
riprodurre con il software modeFRONTIER l’esperimento numerico descritto nell’articolo e
di confrontarne i risultati. Ovvero, si vogliano testare le prestazioni dell’algoritmo di
programmazione genetica (Evolutionary Design) presente in modeFRONTIER su un
problema già studiato.
  5 
II. ANALISI E STRUMENTI
1) Programmazione genetica
Il nostro esperimento si basa sulla programmazione genetica (Genetic Programming,
GP).
La programmazione genetica è un metodo sistematico di programmazione
automatizzata, ispirata dall’evoluzione biologica, per creare programmi informatici che
risolvano un determinato problema [9]. La GP è stata usata in una vasta gamma di
applicazioni quali la web security [10], la predizione del prezzo dell’elettricità [11], il text
mining [12], la progettazione di sistema(per esempio per aerei, treni,circuiti elettronici, etc.).
La GP parte da una popolazione iniziale di programmi che nel nostro caso specifico
sono semplicemente formule matematiche. Tali formule sono generate in modo casuale da
un insieme predefinito di funzioni (function set) e di terminali (terminal set). Ciascuno di
questi programmi chiamato individuo, costituisce una soluzione candidata per il problema.
La rappresentazione ad albero è usata per raffigurare ciascuna formula. Ogni nodo-
foglia è un elemento preso dall’insieme predefinito di terminali e ogni nodo-padre è un
elemento preso dall’insieme predefinito di funzioni. Come esempio, la Figura 2 mostra la
rappresentazione in struttura ad albero di un individuo in GP.
Figura 2. Rappresentazione ad albero della formula “
€
Paw (t)-
€
Rtube
˙V(t) -
€
I ˙˙V(t)”
 
  6 
La versione di base della programmazione genetica richiede di specificare le cinque
principali fasi preparatorie elencate di seguito:
a. L’insieme di terminali (terminal set) che consiste generalmente di variabili e costanti dei
programmi, numeri random, etc.
b. L’insieme di funzioni (function set) che contiene generalmente funzioni primitive come,
ad esempio, operatori aritmetici.
c. La funzione d’idoneità (fitness function) per misurare esplicitamente o implicitamente
l’idoneità degli individui nella popolazione (cioè quanto bene un individuo è capace di
risolvere il problema).
d. Determinati parametri di controllo dell’esecuzione del programma (numero d’individui
nella popolazione, numero di generazioni, etc.).
e. Il criterio di terminazione e il metodo per scegliere il risultato dell’esecuzione.
Le fasi preparatorie sono gli input definiti dall’utente umano del sistema GP. La formula
ancora chiamata individuo è il risultato dell’esecuzione di GP.
Partendo dalla generazione casuale della popolazione iniziale (come detto più in
alto), l’esecuzione di GP procede in una ricerca evolutiva strutturata in modo seguente:
a. Esegue tutti questi programmi e raccoglie i risultati.
b. Valuta l’idoneità di ogni individuo con la funzione di fitness.
c. Costruisce nuovi individui (figli) applicando gli operatori genetici scelti (come ad
esempio il “crossover”, la mutazione) sugli individui (genitori) con maggiore idoneità.
d. Costruisce una nuova popolazione composta da individui con maggiore idoneità scelti
tra genitori e figli. Questa popolazione costituisce una nuova generazione.
e. Questo processo viene ripetuto fino a quando, un criterio di terminazione è soddisfatto.
Al giorno di oggi, esistono numerosi software di Programmazione Genetica, scritti
nei tanti e diversi linguaggi di programmazione. Ad esempio i software “LIL-GP” scritto in
C, “GPC++” scritto in C++, “JGProg” scritto in Java, etc. [14]
Il software usato in questa tesi è “modeFRONTIER” scritto in Java; è prodotto da
ESTECO spa, azienda insediata presso l’Area di Ricerca di Trieste, che ha supportato la
realizzazione di questa tesi. modeFRONTIER® è una piattaforma di integrazione che
  7 
permette un interfacciamento diretto con un gran numero di strumenti Computer-
Aided Design e Computer-Aided Engineering, dedicata all’ottimizzazione multiobiettivo,
all’automazione dei processi di progettazione ingegneristica, all’analisi dei dati e al decision
making in contesti multidisciplinari.
Per l’esperimento in questa tesi, è stato usato il programma genetico Evolutionary
Design (ED) implementato in modeFRONTIER, che descriveremmo nel paragrafo
seguente.
2) Evolutionary Design
ED è un’implementazione effettiva della metodologia GP per la regressione
simbolica[15], [16], [17]. In generale, l’obiettivo del compito di regressione è di scoprire la
relazione tra un insieme d’ingressi (o variabili indipendenti) x e un’uscita osservabile (o
variabile dipendente) y.
Nelle tecniche di regressione standard, il modello della forma funzionale f è noto in
anticipo. Le uniche incognite sono alcuni coefficienti, cioè i parametri liberi del modello.
ED utilizza funzioni primitive elementari. Queste funzioni possono essere combinate per
specificare la funzione completa. Dato un insieme di funzioni, la forma funzionale
complessiva indotta dalla programmazione genetica può assumere una varietà di forme. Le
funzioni primitive sono di solito le funzioni aritmetiche standard come addizione,
sottrazione, moltiplicazione e divisione, ma potrebbe includere anche funzioni
trigonometriche e trascendenti. Qualsiasi combinazione ammissibile delle funzioni e delle
variabili può essere ottenuta.
La regressione simbolica è quindi una composizione di variabili di ingresso,
coefficienti e funzioni primitive tale che l‘errore della funzione rispetto al risultato atteso sia
minimizzato. Né la forma, né la dimensione sono specificate prima della regressione. Il
numero di coefficienti e quali valori essi assumono sono ulteriori problematiche determinate
nel processo di ricerca stesso. Attraverso l'uso di tali funzioni primitive, la programmazione
genetica è in linea di principio capace di esprimere qualsiasi forma funzionale che utilizza le
funzioni primitive fornite dall'utente. A differenza dei metodi tradizionali, il processo
  8 
Evolutionary Design ottimizza automaticamente sia la forma funzionale che i valori dei
coefficienti.
ED è in grado di fornire risposte nel linguaggio simbolico della matematica, mentre
altri metodi forniscono solo risposte in forma di serie di numeri, pesi, validi nel contesto di
un modello definito in anticipo. Così, dopo l'allenamento la formula esplicita del modello di
regressione è disponibile.
Per lanciare l’allenamento di ED in modeFRONTIER, bisogna prima di tutto
importare la tabella dei dati costituta di valori delle variabili di input e output. Ogni colonna
corrisponde a una variabile ed ogni riga corrisponde ad un design (una combinazione di
valori delle variabili). modeFRONTIER dispone di un wizard di importazione dei dati per
guidare l’utente nell’ importazione dei dati, da un file (file di testo o file di Excel) oppure da
un database server. Questo wizard consente anche di configurare la tabella impostando le
variabili di input, di output e le loro proprietà. Nel nostro caso, abbiamo importato il file csv
dei dati dell’esperimento tramite tale Data Import Wizard.
Per quest’algoritmo di programmazione genetica, possono essere definiti diversi parametri:
1. Training set: Database/Insieme dei design per l’allenamento di Evolutionary Design. È
possibile scegliere tra All Designs (in questo caso saranno usati per l’allenamento, tutti i
design della tabella dei dati) e Only Market Designs (in questo caso, solo i design selezionati
saranno usati per l’allenamento di ED.).
2. Exclude Error Designs: se selezionata, l'algoritmo scarta quei design che presentano
errori di una o più variabili(di input o di output) non selezionate. Ad esempio se un design
contiene una o più variabili senza valore oppure con un errore, allora viene rimosso dal
training set. I design che presentano errori di una o più variabili selezionate sono già
automaticamente esclusi dal training set.
3. Number of Jobs: numero di diverse ricerche evolutive gestite da ED. I risultati dei
diversi jobs sono tutti presentati nel log, e il risultato migliore viene scelto automaticamente.
4. Tempo massimo ammissibile (s): l'algoritmo si ferma al raggiungimento di tale limite di
tempo.
5. Crossover Depth: questo valore definisce la profondità massima per l’operazione di
crossover. Tale operazione è applicata a degli alberi che rappresentano formule. Essa
consiste nel generare due figli scambiando il ramo di un genitore con il ramo di un altro
genitore. Il procedimento è esplicitato in Figura 3. Il Crossover depth è quindi la profondità
massima del ramo preso da un genitore.
  9 
6. Generations Number: questo valore definisce il numero di generazioni per il processo
evolutivo.
7. Population Size: questo valore definisce il numero d’individui nella popolazione. Il
numero di individui è uguale in tutte le generazioni durante il processo evolutivo.
8. Significant Decimals: numero di decimali significativi utilizzati per arrotondare i valori
calcolati e la funzione di fitness .
9. Unbounded Expressions Policy: è possibile scegliere tra due diverse politiche: Allow
Unbounded oppure Penalize Unbounded. Il range di variazione (codominio) di espressioni
candidate del modello di regressione può essere illimitato (funzione con discontinuità
infinita), oppure, al contrario può venire richiesto di essere limitato . I confini stimati delle
espressioni risultanti da diversi job sono tutti presentati nel log.
10. Random Generator Seed: la modifica di questo valore permette l'esecuzione di ricerche
diverse partendo dalla stessa popolazione iniziale . Il seed è un numero intero utilizzato per
la ripetibilità di sequenza. Se due sequenze Evolutionary Design sono valutate con lo stesso
seed, si generano e restituiscono sequenze identiche di numeri. Se il valore di
inizializzazione è 0 , la sequenza è seminata automaticamente ad un valore basato
sull'orologio macchina .
11. Functions Set: l'insieme delle funzioni primitive da utilizzare nel modello di regressione
deve essere specificato in questo campo.
12. Multi-threading Policy: è possibile scegliere tra due diverse politiche: Use Maximum
Number of Available Processors (utilizzo del numero massimo di processori disponibili)
oppure User Defined (definito dall'utente). Infatti, la formazione di diversi lavori può essere
eseguita in parallelo; in questo modo è possibile sfruttare i sistemi multi-core, riducendo il
tempo di allenamento totale dell'algoritmo.
13. Number of Threads: questo campo è attivo solo quando il Multi-threading Policy è
definito dall'utente. Questo parametro determina il numero di thread dei diversi job che sarà
utilizzato in parallelo. Il limite superiore è fissato automaticamente al numero di processori /
core disponibili sulla macchina locale.
 
  10 
 
Figura 3. Un esempio di crossover.
 
 
3) Dati
Al fine di stimare la pressione tracheale per mezzo di Evolutionary Design siamo
partiti da un database di variabili con valori misurati sperimentalmente in vitro (esperimento
col polmone artificiale descritto nell’articolo su-citato) [8]. Questo database è costituito da
due tabelle, una corrispondente all’esperimento col tubo endotracheale da 6.5 mm di
diametro (tubo per bambini) e l’altro corrispondente all’esperimento col tubo endotracheale
da 7.5 mm di diametro(tubo per adulti).
Ciascuna delle due tabelle contiene valori per le variabili seguenti:
- La pressione tracheale Ptr (t)
- La pressione misurata dal ventilatore Paw (t)
- Il flusso
€
˙V
  11 
- L’accelerazione volume
€
˙˙V
- La frequenza percussiva fp
- La pressione di lavoro Pwork
- Il diametro del tubo DEET
- Carico resistivo del simulatore di polmoni Rsim
- Carico di conformità del simulatore di polmoni Csim
I valori delle variabili V’
, Paw (t), Ptr (t) e V’’
costituiscono un insieme di segnali respiratori2
rilevati durante la fase inspiratoria di ogni singolo ciclo respiratorio per una durata di 4 (s).
Quindi, per ogni tubo endotracheale e per ogni combinazione diversa dei parametri Pwork, fp,
Rsim, Csim è stato raccolto un insieme di segnali respiratori composto di 8000 x 4 campioni.
La Figura 4 evidenzia solo due dei quattro componenti di tale segnale respiratorio: Paw (t) e
Ptr (t) che sono rappresentati in ordinata. Il tempo è rappresentato in ascissa.
Figura 4. Misurazioni di Ptr (t) e Paw (t) per il tubo di diametro 6.5 mm e per la
combinazione di parametri Pwork = 40 cmH2O, fp =300ciclo/min, Rsim = 20 cmH2O/(Ls) e Csim =
10 mL/cmH2O.
                                                            
2
insieme di segnali respiratori: insieme dei valori di V’
, Paw (t), Ptr (t) e V’’
raccolti durante ogni singolo ciclo
respiratorio. Hanno considerato 108 combinazioni dei parametri Pwork, fp, Rsim, Csim quindi hanno esperimentato 108 cicli
respiratori.
  12 
III. ESPERIMENTO NUMERICO
L’esperimento numerico fatto in questa tesi per generare un modello di stima della
pressione tracheale Ptr (t) ignota, per mezzo dell’algoritmo di programmazione genetica E-D,
si è svolto nel modo seguente:
1) Organizzazione dei dati.
Per ogni tubo endotracheale è stata suddivisa la corrispondente tabella in 5 blocchi
ciascuno per la ricerca e la scelta di un modello e 1 blocco per il test delle formule. I primi 5
blocchi sono composti ciascuno da 7 insiemi di segnali respiratori per il training set e 3
insiemi di segnali respiratori per il validation set. L’ultimo blocco è composto dai rimanenti
insiemi di segnali respiratori per il testing set. La Figura 5 illustra questa divisione; le parti
in blu sono le tabelle di training set, in rosso le tabelle di validation set e in verde la tabella
di testing set.
In questo modo avremmo per ogni tubo, 5 modelli per la pressione tracheale.
Figura 5. Organizzazione dei dati per ogni tubo.
 
 
Tabella iniziale 
 
⇓ 
Blocco1  Blocco2  Blocco3  Blocco4  Blocco5   
Testing set 
 
⇓ 
  
 
                   
 
 
  13 
Abbiamo riprodotto la stessa organizzazione dei dati dell’articolo, ma non abbiamo
usato il validation per scegliere, come modello, l’individuo con fitness migliore. Infatti,
l'implementazione di ED inclusa in modeFRONTIER sceglie automaticamente la migliore
formula tra tutti i job e tra tutte le generazioni basandosi sul training set e sull'esito
dell'ottimizzazione interna affidata a NSGA-II []. Abbiamo invece utilizzato il validation set
per il tuning dei parametri di ED, calcolando l’errore quadratico medio (mean square error,
MSE) sulle funzioni/formule ottenuti negli esperimenti test.
2) Ricerca dei parametri ottimali
La variabile Ptr (t) nelle tabelle è impostata come variabile di output.
Abbiamo usato come variabili di input o Terminal set:
- La pressione misurata dal ventilatore (P1) Paw(t)
- Il flusso (V)
- L’accelerazione volume (dV1)
- La frequenza percussiva (f) fp
- La pressione di lavoro (Pw) Pwork
Non sono stati usati le variabili Rsim e Csim perché essendo variabili legate al simulatore di
polmoni non sono misurabili in vivo.
Il function set è composto di:
operatori aritmetici: +, -, *, / , le funzioni esponenziale(exp) e potenza(pow)
Per ogni tubo e per ogni blocco, sono stati eseguiti diversi esperimenti (esecuzioni
GP) mantenendo immutati i valori di certi parametri e cambiando ogni volta i valori di altri
parametri per valutare (in base all’errore quadratico medio, MSE) quali di essi portassero a
risultati migliori. I parametri fissi sono:
- Crossover Depth: 10
- Significant Decimals: 6
- Random Generator Seed: 1
  14 
- Multi-threading Policy: Use Maximum Number of Available Processors (utilizzo del
massimo numero di processori disponibili). Inizialmente abbiamo provato diversi set di
parametri sul primo blocco e sul secondo blocco del tubo da 6.5 mm di diametro. Le tabelle
seguenti illustrano tali esperimenti preliminari:
  Primo Blocco (tubo da 6.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2  P2_ED_3 
Parametri  Number of
Jobs
5
Maximum
Allowable
Time (s)
600
Generations
Number
1000
Population
Size
500
 
Number of
Jobs
5
Maximum
Allowable
Time (s)
600
Generations
Number
1500
Population Size 200
 
Number of
Jobs
5
Maximum
Allowable
Time (s)
600
Generations
Number
1000
Population
Size
500
 
Number of
Jobs
5
Maximum
Allowable
Time (s)
600
Generations
Number
1000
Population Size 500
 
MSE  8.202932124  32.85895217  1.476096763  35.26441583 
Attraverso le prove eseguite sui primi due blocchi del tubo di diametro 6.5 mm,
abbiamo scelto di proseguire l’esperimento anche su tutti gli altri blocchi con il set dei
parametri seguenti:
Number of Jobs =5,
Maximum Allowable Time (s) =3600,
Generations Number =1000,
  Secondo Blocco (tubo da 6.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2  P2_ED_3 
Parametri  Number of Jobs 5
Maximum
Allowable
Time (s)
600
Generations
Number
1000
Population Size 500
 
Number of Jobs 5
Maximum
Allowable
Time (s)
600
Generations
Number
1500
Population Size 200
 
Number of Jobs 5
Maximum
Allowable
Time (s)
3600
Generations
Number
1000
Population Size 500
 
Number of Jobs 5
Maximum
Allowable
Time (s)
7200
Generations
Number
1000
Population Size 500
 
MSE  18.57442143  13.20723808  0.921172951  0.926792459 
  15 
Population Size =500
Ma non abbiamo ottenuto buoni valori di MSE per alcuni blocchi, perciò abbiamo riprovato
su tutti i blocchi dei due tubi, cambiando solo il Maximum Allowable Time (s) = 7200.
Abbiamo visto che aumentando il Maximum Allowable Time, l’errore era
decrescente. Perciò abbiamo di nuovo riprovato aumentando sempre il Maximum Allowable
Time (s) =10800.
Di seguito sono riportate delle tabelle riassuntive degli esperimenti test eseguiti su
tutti i blocchi:
 
  Primo Blocco (tubo da 6.5 mm) 
Funzione  P2_ED_2  P2_ED_4  P2_ED_5 
Parametri  Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations
Number
1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
10800
Generations
Number
1000
Population Size 500
 
MSE  1.476096763  1.263911571  0.911725899 
 
 
  Secondo Blocco (tubo da 6.5 mm) 
Funzione  P2_ED_2  P2_ED_3  P2_ED_4 
Parametri  Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
10800
Generations Number 1000
Population Size 500
 
MSE  0.921172951  0.926792459  0.891277087 
  16 
  Terzo Blocco (tubo da 6.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2 
Parametri   Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
10800
Generations Number 1000
Population Size 500
 
MSE  8.556076443  1.425119226  1.266567463 
  Quarto Blocco (tubo da 6.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2 
Parametri  Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
10800
Generations Number 1000
Population Size 500
 
MSE  1.11920401  0.987614867  0.943222165 
 
  Quinto Blocco (tubo da 6.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2 
Parametri  Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
10800
Generations Number 1000
Population Size 500
 
MSE  6.851476818  0.796142996  0.836486433 
  17 
  Primo Blocco (tubo da 7.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2 
Parametri  Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
MSE  6.343043788  1.259394091  0.590351923 
 
 
  Secondo Blocco (tubo da 7.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2 
Parametri   Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
10800
Generations Number 1000
Population Size 500
 
MSE  3.062922721  3.180353145  2.436940922 
  Terzo Blocco (tubo da 7.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2 
Parametri   Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
10800
Generations Number 1000
Population Size 500
 
MSE  3.893228619  3.014154427  2.244820308 
 
 
 
 
 
  18 
 
  Quarto Blocco (tubo da 7.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2 
Parametri  Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
10800
Generations Number 1000
Population Size 500
 
MSE  1.380432086  1.370436148  1.37036796 
 
  Quinto Blocco (tubo da 7.5 mm) 
funzione  P2_ED_0  P2_ED_1  P2_ED_2 
Parametri   Number of Jobs 5
Maximum Allowable
Time (s)
3600
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
7200
Generations Number 1000
Population Size 500
 
Number of Jobs 5
Maximum Allowable
Time (s)
10800
Generations Number 1000
Population Size 500
 
MSE  5.729861654  0.823379  0.733360558 
I risultati ottenuti durante la fase di tuning ci hanno permesso di capire che il limite
temporale imposto era troppo stringente e non permetteva all'algoritmo di eseguire tutte le
generazioni. Pertanto abbiamo stabilito il Maximum Allowable Time al valore massimo
inseribile (100000). Nello scopo di poter meglio confrontare i risultati con quelli del
sopracitato paper, abbiamo fissato i rimanenti parametri con gli stessi valori:
- Number of jobs: 32
- Generetions number: 500
- Populations size: 500
  19 
3) Risultati
Al termine dell’esperimento finale, abbiamo ottenuto 5 modelli generati da ED per
ciascun tubo. Infatti, com’è stato detto più in alto, ED è in grado di fornire risposte nel
linguaggio simbolico della matematica. Così dopo l'allenamento, la formula esplicita del
modello di regressione è disponibile.
I modelli generati da ED al termine di questo esperimento sono molto lunghi. Perciò
non forniremmo qui tali modelli. Ad esempio la formula generata da ED al primo blocco del
tubo con diametro DEET = 6.5 mm è:
0.46239061043995733 + ((((((((((P1 - V) - (V * 1)) - V) - (V * (V * (V + V)))) - ((V
* (V * (V + V))) * 1)) - (V * 1)) - V) - (dV1 * 0.1)) - ((V * (V * (V + (V * 1)))) * 1)) +
(((((((V * (Pw - P1)) * (V + V)) - (((Pw / Pw) - (dV1 * 0.1)) - (((Pw - V) - (Pw / P1)) - V))) -
((dV1 * ((dV1 * 0.1) - (V + V))) * V)) - ((V + V) * (((((V * 0.1) - (V * dV1)) - (1 + V)) - (V
* (Pw - P1))) - ((V + V) * ((V + V) * ((dV1 * 0.1) * (dV1 * 0.1))))))) * 0.1) * 0.1))
I risultati in termini di errore quadratico medio (mean square error, MSE) calcolati
sul testing set, sono riassunti nella tabella seguente:
DEET blocchi MSE Media
Primo blocco 0.848919056
Secondo blocco 0.883064535
Terzo blocco 0.749136696
Quarto blocco 0.869143543
6.5
Quinto blocco 0.842826817
0.838618129
Primo blocco 0.916212388
Secondo blocco 0.901631216
Terzo blocco 1.065465306
Quarto blocco 1.038365051
7.5
Quinto blocco 0.904561585
0.965247109
  20 
IV.VALIDAZIONE
Nello scopo di valutare l’accuratezza dei nostri risultati, abbiamo considerato i
modelli GP realizzati nell’esperimento descritto nell’articolo su-citato [8] e altri due modelli
di base LM e NM ampiamente usati nella letteratura e realizzati da esperti del settore [18],
[19].
L’accuratezza dei modelli generati da ED, dei modelli GP dell’articolo e dei modelli
di base LM(Linear Model) e NM(Non-linear Model) è stato quantificato dai rispettivi errori
medi quadratico calcolati sul testing set.
La tabella seguente mostra i valori delle MSE per ogni blocco di ogni tubo e per ogni
modello e i valori medi di MSE per ogni tubo.
MSE per blocco Media MSE per ogni tubo
DEET
ED GP LM NM ED GP LM NM
0.85 1.01 3.44 1.94
0.88 0.78 3.47 1.92
0.75 0.76 3.57 1.98
0.87 0.82 3.48 1.89
6.5
0.84 0.84 3.29 2.06
0.84 0.84 3.45 1.96
0.92 0.90 3.33 1.94
0.90 1.06 3.35 1.95
1.07 1.03 3.24 1.90
1.04 3.21 3.27 1.89
7.5
0.90 1.03 3.25 1.94
0.97 1.44 3.29 1.91
  21 
V. CONCLUSIONE E POSSIBILI SVILUPPI FUTURI
L’esperimento numerico svolto in questa tesi, consisteva nel generare dei modelli per
la stima della pressione tracheale durante la ventilazione percussiva ad alta frequenza
mediante l’algoritmo di programmazione genetica Evolutionary-Design e di valutarne
l’accuratezza. I risultati dell’esperimento ci portano a dedurre che Evolutionary-Design
implementato in modeFRONTIER è in grado di generare dei modelli accurati in termine di
MSE. Abbiamo valutato le prestazioni di ED su questo problema di grande importanza nel
contesto di anestesia e di cure critiche, confrontando i nostri risultati con quelli ottenuti
nell’articolo sopracitato e con quelli ottenuti dai due modelli di base LM e NM. In base
all’errore quadratico medio (MSE) i nostri risultati in generale sono migliori.
Per quanto riguarda il tempo di esecuzione delle evoluzioni GP (job), non possiamo
fare un confronto perché è un parametro che dipende dalle caratteristiche del calcolatore
usato. Poiché i diversi job possono essere eseguiti in parallelo, sfruttando i sistemi multi-
core si riduce il tempo di allenamento totale dell'algoritmo. Inoltre, il fatto che
modeFRONTIER sia dottato di un’ampia interfaccia grafica e che sia usabile sotto diversi
sistemi operativi, fa si che Essa pregiudica le performance temporali nel lancio di ED a
vantaggio del monitoring da interfaccia grafica.
modeFRONTIER offre altre superficie di risposta che potrebbero permettere di
risolvere questo tipo di problema. Superficie di risposta come ad esempio Kriging e Radial
Basis Function e Neural Network sono metodologie potenzialmente molto promettenti.
Pertanto, si potrebbe eseguire altri esperimenti con tali metodologie usando lo stesso
database e confrontare i risultati per vedere se i modelli generati sono più accurati o meno.
Questi nuovi esperimenti rappresentano un nuovo tema di ricerca aperto da questa tesi che
potrebbero portare in futuro significative migliorie nella stima della pressione tracheale.
  22 
Bibliografia e Sitografia.
[1] U. Lucangelo, V. Antonaglia, W. Zin, L. Fontanesi, A.Peratoner, F. Bird, and A. Gullo, “Effects
of mechanical load and flow, volume and pressure delivered by high-frequency percusive
ventilation,” Respiratory physiology & neurobiology, vol.142, no. 1, pp. 81-91, 2004.
[2] J.M. HURST, R. D. BRANSON, e C. B. DEHAVEN, “The role of high-frequency ventilation in
post-traumatic respiratory insufficiency,” the Journal of trauma and acute care surgery,vol. 27, no.
3, pp. 236-242,1987.
[3] C. W. Lentz e H. Peterson, “ Smoke inhalation is a multilevel insult to the pulmonary system,”
Current Opinion in Pulmonary Medecine, vol. 3, no. 3, pp. 221-226, 1997.
[4] S. K. Alpard, J. B. Zwischenberger, W. Tao, D. J. Deyo, D. L. Traber, e Bidani, “New clinically
relevant sheep model of severe respiratory failure secondary to combined smoke
inhalation/cutaneous flame burn injury,” Critical care medecine, vol. 28, no. 5, pp. 1469-1476,
2000.
[5]http://www.minervamedica.it/it/riviste/minerva-
anestesiologica/articolo.php?cod=R02Y2003N11A0853
[6] G. C. Velmahos, L. S. Chan, R. Tatevossian, E. E. Cornwell, W. R. Dougherty, J. Escudero, e
D. Demetriades, “High-frequency percussive ventilation improbe oxygenation in patients withs
ARDS,” CHEST Journal, vol. 116, no. 2, pp. 440-446, 1999.
[7] P. Rocco e W. Zin, “Modelling the mechanical effects of tracheal tubes in normal subjects.”
European Respiratory Journal, vol. 8, no. 1, pp. 121-126, 1995.
[8] M. Ajcevic, A. De Lorenzo, A. Accardo, A. Bartoli and E. Medvet,” A Novel Estimation
Methodology for Tracheal Pressure in Mechanical Ventilation Control”,DIA – University of
Trieste,Italy, 8th International Symposium on Image and Signal Processing and Analysis(ISPA
2013).
[9] http://it.wikipedia.org/wiki/Programmazione_genetica
  23 
[10] E. Medvet, C. Fillon, e A. Bartoli, “Detections of web defacements by means of genetic
programming,” in Information Assurance and Security, 2007. IAS 2007. Third International
Symposium on. IEEE, 2007, pp. 227-234.
[11] A. Bartoli, G. Davanzo, A. De Lorenzo, e E. Medvet, “GP-based electricity price forecasting,”
in Genetic Programming, ser. Lectures Notes in Computer Science, S. Silva, J. Foster, M. Nicolau,
P. Machado, e M. Giacobini, Eds. Springer Berlin Heidelberg, 2011, vol. 6621, pp. 37-48.[online]
Available: http://dx.doi.org/10.1007/978-3-642-20407-4_4
[12] A. Bartoli, G. Davanzo, A. De Lorenzo, M. Mauri, E. Medvet, e E. Sorio, “Automatic
generation of regular expressions from examples with genetic programmino,” in Proceedings of the
fourteenth International conference on Genetic and evolutionary computation conference
companion. ACM, 2012, pp.1477-1478.
[13] http://it.wikipedia.org/wiki/Tubo_endotracheale
[14] http://www.geneticprogramming.com/GPpages/software.html
[15] Fillon, C., New Strategies for Efficient and Practical Genetic Programming, PhD Thesis,
Università degli Studi di Trieste, 2008.
[16] Koza J. R., Genetic Programming: On the Programming of Computers by Means of Natural
Selection, MIT Press, 1992.
[17] Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D., Genetic Programming – An
Introduction; On the Automatic Evolution of Computer Programs and its Applications, Morgan
Kaufmann, dpunkt.verlag, 1998.
[18] S. Schumann, M. Krappitz, K. Moller, R. Hentschel, G. Braun, e J. Guttmann, “Pressure loss
caused by pediatric tubes during high-frequency-oscillation-ventilation,” Respiratory physiology &
neurobiology, vol.162, no. 2, pp.132-137, 2008.
[19] M. Sullivan, J. Paliotta, e M. Saklad, “Endotracheal tube as a factor in measurement of
respiratory mechanics,” Journal of applied physiology, vol. 41, no. 4, pp. 590-592, 1976.
[20] http://pictures.doccheck.com/it/photos/2/6142/intubazione-endotracheale-schema/
  24 
Ringraziamenti
Desidero ricordare tutti coloro che mi hanno aiutato nella stesura della tesi con
suggerimenti, consigli, critiche ed osservazioni: a loro va la mia gratitudine, anche se a me
spetta la responsabilità per ogni errore contenuto in questa tesi.
Ringrazio anzitutto il Prof. Alberto Bartoli, Relatore e il Dott. Alessandro Turco, Correlatore
di questa tesi per la grande disponibilità e per tutto l’aiuto fornito durante la stesura.
Un ringraziamento speciale ai miei genitori, a tutta la mia famiglia, a tutti i miei amici che in
qualche modo mi hanno sostenuto e incoraggiato durante i miei anni di studi.
Infine, vorrei ringraziare con tutto il cuore, il Signore Dio che nella sua immensa grazia mi
fortifica e mi guida ogni giorno della mia vita.

More Related Content

Similar to Stima della pressione tracheale nel controllo della ventilazione meccanica mediante genetic programming

Eco-efficienza con Data Envelopment Analysis
Eco-efficienza con Data Envelopment AnalysisEco-efficienza con Data Envelopment Analysis
Eco-efficienza con Data Envelopment AnalysisGiuliano Resce
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Stefano Costanzo
 
Progetto e sviluppo di un’applicazione per la gestione di un reagentario per ...
Progetto e sviluppo di un’applicazione per la gestione di un reagentario per ...Progetto e sviluppo di un’applicazione per la gestione di un reagentario per ...
Progetto e sviluppo di un’applicazione per la gestione di un reagentario per ...Marko Paliska
 
Scatol8® presentazione scuole
Scatol8® presentazione scuoleScatol8® presentazione scuole
Scatol8® presentazione scuoleStefano Pasquino
 
Un simulatore in C++ basato su GEANT4 per lo studio di sensori nella Tomograf...
Un simulatore in C++ basato su GEANT4 per lo studio di sensori nella Tomograf...Un simulatore in C++ basato su GEANT4 per lo studio di sensori nella Tomograf...
Un simulatore in C++ basato su GEANT4 per lo studio di sensori nella Tomograf...fabio998
 
Laboratorio Programmazione: Overflow e switch
Laboratorio Programmazione: Overflow e switchLaboratorio Programmazione: Overflow e switch
Laboratorio Programmazione: Overflow e switchMajong DevJfu
 
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesCOUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesDavidePanarella
 
A static Analyzer for Finding Dynamic Programming Errors
A static Analyzer for Finding Dynamic Programming ErrorsA static Analyzer for Finding Dynamic Programming Errors
A static Analyzer for Finding Dynamic Programming ErrorsLino Possamai
 
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Simone Cumar
 
Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Valerio Eletti
 
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...Pieredoardo Gabutti
 
05 - Programmazione: Funzioni
05 - Programmazione: Funzioni05 - Programmazione: Funzioni
05 - Programmazione: FunzioniMajong DevJfu
 
Concorso Premiamo i Risultati - Sintesi presentazione progetto_ottimalità_id_87
Concorso Premiamo i Risultati - Sintesi presentazione progetto_ottimalità_id_87Concorso Premiamo i Risultati - Sintesi presentazione progetto_ottimalità_id_87
Concorso Premiamo i Risultati - Sintesi presentazione progetto_ottimalità_id_87Giuseppe
 

Similar to Stima della pressione tracheale nel controllo della ventilazione meccanica mediante genetic programming (20)

Eco-efficienza con Data Envelopment Analysis
Eco-efficienza con Data Envelopment AnalysisEco-efficienza con Data Envelopment Analysis
Eco-efficienza con Data Envelopment Analysis
 
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
Definizione e sviluppo di un algoritmo genetico multiobiettivo per problemi d...
 
Progetto e sviluppo di un’applicazione per la gestione di un reagentario per ...
Progetto e sviluppo di un’applicazione per la gestione di un reagentario per ...Progetto e sviluppo di un’applicazione per la gestione di un reagentario per ...
Progetto e sviluppo di un’applicazione per la gestione di un reagentario per ...
 
7 Sottoprogrammi
7   Sottoprogrammi7   Sottoprogrammi
7 Sottoprogrammi
 
Scatol8® presentazione scuole
Scatol8® presentazione scuoleScatol8® presentazione scuole
Scatol8® presentazione scuole
 
Un simulatore in C++ basato su GEANT4 per lo studio di sensori nella Tomograf...
Un simulatore in C++ basato su GEANT4 per lo studio di sensori nella Tomograf...Un simulatore in C++ basato su GEANT4 per lo studio di sensori nella Tomograf...
Un simulatore in C++ basato su GEANT4 per lo studio di sensori nella Tomograf...
 
Pycon
PyconPycon
Pycon
 
Laboratorio Programmazione: Overflow e switch
Laboratorio Programmazione: Overflow e switchLaboratorio Programmazione: Overflow e switch
Laboratorio Programmazione: Overflow e switch
 
Video python3 n2
Video python3 n2Video python3 n2
Video python3 n2
 
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm RoutinesCOUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
COUGAR: Clustering Of Unknown malware using Genetic Algorithm Routines
 
A static Analyzer for Finding Dynamic Programming Errors
A static Analyzer for Finding Dynamic Programming ErrorsA static Analyzer for Finding Dynamic Programming Errors
A static Analyzer for Finding Dynamic Programming Errors
 
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...Compressione di insiemi di espressioni regolari tramite programmazione geneti...
Compressione di insiemi di espressioni regolari tramite programmazione geneti...
 
Algoritmi
Algoritmi Algoritmi
Algoritmi
 
Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)
 
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
Progetto e realizzazione di un'interfaccia web interattiva per un sistema di ...
 
05 - Programmazione: Funzioni
05 - Programmazione: Funzioni05 - Programmazione: Funzioni
05 - Programmazione: Funzioni
 
Concorso Premiamo i Risultati - Sintesi presentazione progetto_ottimalità_id_87
Concorso Premiamo i Risultati - Sintesi presentazione progetto_ottimalità_id_87Concorso Premiamo i Risultati - Sintesi presentazione progetto_ottimalità_id_87
Concorso Premiamo i Risultati - Sintesi presentazione progetto_ottimalità_id_87
 
1 Programmazione
1   Programmazione1   Programmazione
1 Programmazione
 
Presentazione,
Presentazione,Presentazione,
Presentazione,
 
Presentazione
PresentazionePresentazione
Presentazione
 

Recently uploaded

Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativovaleriodinoia35
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.giuliofiorerm
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaRafael Figueredo
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
San Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxSan Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxMartin M Flynn
 

Recently uploaded (9)

Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativo
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
San Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxSan Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptx
 

Stima della pressione tracheale nel controllo della ventilazione meccanica mediante genetic programming

  • 1. Università degli Studi di Trieste DIPARTIMENTO DI INGEGNERIA E ARCHITETTURA _________________________________________________________________ Corso di Laurea in Ingegneria dell’Informazione STIMA DELLA PRESSIONE TRACHEALE NEL CONTROLLO DELLA VENTILAZIONE MECCANICA MEDIANTE GENETIC PROGRAMMING LAUREANDA RELATORE Ngouoyiwouo Mfouapon Nadine Prof. Alberto Bartoli CORRELATORE Dott. Alessandro Turco SESSIONE STRAORDINARIA _______________________________________________________________________________ Anno Accademico 2012-2013
  • 2.   2  Indice I – INTRODUZIONE 3 II- ANALISI E STRUMENTI 5 1) Programmazione Genetica 5 2) Evolutionary Design 7 3) Dati 10 III- ESPERIMENTO NUMERICO 12 1) Organizzazione dei dati 12 2) Ricerca dei parametri ottimali 13 3) Risultati 19 IV- VALIDAZIONE 20 V- CONCLUSIONI E POSSIBILI SVILUPPI FUTURI 21 Bibliografia e Sitografia 22 Ringraziamenti 24
  • 3.   3  I. INTRODUZIONE In medicina, la ventilazione meccanica consiste nel compensare o assistere la respirazione spontanea del paziente, utilizzando un dispositivo chiamato “ventilatore”. Essa è più spesso praticata in un contesto di cure critiche (medicina d’urgenza, terapia intensiva o intermedia) e di anestesia. Esistono numerose metodologie di ventilazione meccanica. In questa tesi ci siamo interessati in particolare alla “ventilazione percussiva ad alta frequenza”. La ventilazione percussiva ad alta frequenza (High Frequency Percussive Ventilation, HFPV) è una metodologia di ventilazione meccanica non convenzionale che associa gli aspetti benefici della ventilazione meccanica convenzionale (CMV) con quelli della ventilazione ad alta frequenza (HFV) [1]. Nel corso degli anni, questo tipo di ventilazione si è dimostrato molto utile nel trattamento di alcune condizioni patologiche: trauma cranico chiuso [2], sindrome da distress respiratorio dell’adulto (adult respiratory distress syndrom, ARDS) causato da ustioni ed inalazione di fumo [3], [4], pazienti con insufficienza respiratoria acuta (acute respiratory failure, ARF) [5], neonati con malattia delle membrane ialine o sindrome da distress respiratorio (RDS) [6]. L’utilizzo della ventilazione percussiva ad alta frequenza in generale comporta l’uso del tubo endotracheale1 (EET) che connette il circuito del ventilatore alla via respiratoria del paziente. La Figura 1 mostra un tubo endotracheale inserito in trachea [20]. La pressione misurata dal ventilatore è la somma della variazione di pressione nel tubo e della pressione tracheale dissipata per gonfiare i polmoni. La pressione del flusso d’aria insufflato dal ventilatore deve essere controllata molto accuratamente per evitare danni ai polmoni come il volutrauma e il barotrauma [7]. Poiché, al momento la pressione al livello della trachea non può essere misurata, è necessario avere un modello per stimare tale pressione basandosi sulle proprietà del tubo (EET) e sulle proprietà del flusso d’aria che al momento possono essere misurati in pratica clinica.                                                              1 Tubo di materiale plastico, spesso monouso, che viene inserito nella trachea del paziente attraverso la bocca oppure attraverso il naso. [13]
  • 4.   4  Figura 1. Tubo endotracheale inserito in trachea attraverso la bocca: A- tubo endotracheale (blu), B- cuffia del tubo di gonfiaggio con palloncino, C- trachea, D- esofago. Nell’articolo “A Novel Estimation Methodology for Tracheal Pressure in Mechanical Ventilation Control” [8] si descrive un esperimento basato sulla Programmazione Genetica, fatto per generare tale modello. In questa tesi ci proponiamo di riprodurre con il software modeFRONTIER l’esperimento numerico descritto nell’articolo e di confrontarne i risultati. Ovvero, si vogliano testare le prestazioni dell’algoritmo di programmazione genetica (Evolutionary Design) presente in modeFRONTIER su un problema già studiato.
  • 5.   5  II. ANALISI E STRUMENTI 1) Programmazione genetica Il nostro esperimento si basa sulla programmazione genetica (Genetic Programming, GP). La programmazione genetica è un metodo sistematico di programmazione automatizzata, ispirata dall’evoluzione biologica, per creare programmi informatici che risolvano un determinato problema [9]. La GP è stata usata in una vasta gamma di applicazioni quali la web security [10], la predizione del prezzo dell’elettricità [11], il text mining [12], la progettazione di sistema(per esempio per aerei, treni,circuiti elettronici, etc.). La GP parte da una popolazione iniziale di programmi che nel nostro caso specifico sono semplicemente formule matematiche. Tali formule sono generate in modo casuale da un insieme predefinito di funzioni (function set) e di terminali (terminal set). Ciascuno di questi programmi chiamato individuo, costituisce una soluzione candidata per il problema. La rappresentazione ad albero è usata per raffigurare ciascuna formula. Ogni nodo- foglia è un elemento preso dall’insieme predefinito di terminali e ogni nodo-padre è un elemento preso dall’insieme predefinito di funzioni. Come esempio, la Figura 2 mostra la rappresentazione in struttura ad albero di un individuo in GP. Figura 2. Rappresentazione ad albero della formula “ € Paw (t)- € Rtube ˙V(t) - € I ˙˙V(t)”  
  • 6.   6  La versione di base della programmazione genetica richiede di specificare le cinque principali fasi preparatorie elencate di seguito: a. L’insieme di terminali (terminal set) che consiste generalmente di variabili e costanti dei programmi, numeri random, etc. b. L’insieme di funzioni (function set) che contiene generalmente funzioni primitive come, ad esempio, operatori aritmetici. c. La funzione d’idoneità (fitness function) per misurare esplicitamente o implicitamente l’idoneità degli individui nella popolazione (cioè quanto bene un individuo è capace di risolvere il problema). d. Determinati parametri di controllo dell’esecuzione del programma (numero d’individui nella popolazione, numero di generazioni, etc.). e. Il criterio di terminazione e il metodo per scegliere il risultato dell’esecuzione. Le fasi preparatorie sono gli input definiti dall’utente umano del sistema GP. La formula ancora chiamata individuo è il risultato dell’esecuzione di GP. Partendo dalla generazione casuale della popolazione iniziale (come detto più in alto), l’esecuzione di GP procede in una ricerca evolutiva strutturata in modo seguente: a. Esegue tutti questi programmi e raccoglie i risultati. b. Valuta l’idoneità di ogni individuo con la funzione di fitness. c. Costruisce nuovi individui (figli) applicando gli operatori genetici scelti (come ad esempio il “crossover”, la mutazione) sugli individui (genitori) con maggiore idoneità. d. Costruisce una nuova popolazione composta da individui con maggiore idoneità scelti tra genitori e figli. Questa popolazione costituisce una nuova generazione. e. Questo processo viene ripetuto fino a quando, un criterio di terminazione è soddisfatto. Al giorno di oggi, esistono numerosi software di Programmazione Genetica, scritti nei tanti e diversi linguaggi di programmazione. Ad esempio i software “LIL-GP” scritto in C, “GPC++” scritto in C++, “JGProg” scritto in Java, etc. [14] Il software usato in questa tesi è “modeFRONTIER” scritto in Java; è prodotto da ESTECO spa, azienda insediata presso l’Area di Ricerca di Trieste, che ha supportato la realizzazione di questa tesi. modeFRONTIER® è una piattaforma di integrazione che
  • 7.   7  permette un interfacciamento diretto con un gran numero di strumenti Computer- Aided Design e Computer-Aided Engineering, dedicata all’ottimizzazione multiobiettivo, all’automazione dei processi di progettazione ingegneristica, all’analisi dei dati e al decision making in contesti multidisciplinari. Per l’esperimento in questa tesi, è stato usato il programma genetico Evolutionary Design (ED) implementato in modeFRONTIER, che descriveremmo nel paragrafo seguente. 2) Evolutionary Design ED è un’implementazione effettiva della metodologia GP per la regressione simbolica[15], [16], [17]. In generale, l’obiettivo del compito di regressione è di scoprire la relazione tra un insieme d’ingressi (o variabili indipendenti) x e un’uscita osservabile (o variabile dipendente) y. Nelle tecniche di regressione standard, il modello della forma funzionale f è noto in anticipo. Le uniche incognite sono alcuni coefficienti, cioè i parametri liberi del modello. ED utilizza funzioni primitive elementari. Queste funzioni possono essere combinate per specificare la funzione completa. Dato un insieme di funzioni, la forma funzionale complessiva indotta dalla programmazione genetica può assumere una varietà di forme. Le funzioni primitive sono di solito le funzioni aritmetiche standard come addizione, sottrazione, moltiplicazione e divisione, ma potrebbe includere anche funzioni trigonometriche e trascendenti. Qualsiasi combinazione ammissibile delle funzioni e delle variabili può essere ottenuta. La regressione simbolica è quindi una composizione di variabili di ingresso, coefficienti e funzioni primitive tale che l‘errore della funzione rispetto al risultato atteso sia minimizzato. Né la forma, né la dimensione sono specificate prima della regressione. Il numero di coefficienti e quali valori essi assumono sono ulteriori problematiche determinate nel processo di ricerca stesso. Attraverso l'uso di tali funzioni primitive, la programmazione genetica è in linea di principio capace di esprimere qualsiasi forma funzionale che utilizza le funzioni primitive fornite dall'utente. A differenza dei metodi tradizionali, il processo
  • 8.   8  Evolutionary Design ottimizza automaticamente sia la forma funzionale che i valori dei coefficienti. ED è in grado di fornire risposte nel linguaggio simbolico della matematica, mentre altri metodi forniscono solo risposte in forma di serie di numeri, pesi, validi nel contesto di un modello definito in anticipo. Così, dopo l'allenamento la formula esplicita del modello di regressione è disponibile. Per lanciare l’allenamento di ED in modeFRONTIER, bisogna prima di tutto importare la tabella dei dati costituta di valori delle variabili di input e output. Ogni colonna corrisponde a una variabile ed ogni riga corrisponde ad un design (una combinazione di valori delle variabili). modeFRONTIER dispone di un wizard di importazione dei dati per guidare l’utente nell’ importazione dei dati, da un file (file di testo o file di Excel) oppure da un database server. Questo wizard consente anche di configurare la tabella impostando le variabili di input, di output e le loro proprietà. Nel nostro caso, abbiamo importato il file csv dei dati dell’esperimento tramite tale Data Import Wizard. Per quest’algoritmo di programmazione genetica, possono essere definiti diversi parametri: 1. Training set: Database/Insieme dei design per l’allenamento di Evolutionary Design. È possibile scegliere tra All Designs (in questo caso saranno usati per l’allenamento, tutti i design della tabella dei dati) e Only Market Designs (in questo caso, solo i design selezionati saranno usati per l’allenamento di ED.). 2. Exclude Error Designs: se selezionata, l'algoritmo scarta quei design che presentano errori di una o più variabili(di input o di output) non selezionate. Ad esempio se un design contiene una o più variabili senza valore oppure con un errore, allora viene rimosso dal training set. I design che presentano errori di una o più variabili selezionate sono già automaticamente esclusi dal training set. 3. Number of Jobs: numero di diverse ricerche evolutive gestite da ED. I risultati dei diversi jobs sono tutti presentati nel log, e il risultato migliore viene scelto automaticamente. 4. Tempo massimo ammissibile (s): l'algoritmo si ferma al raggiungimento di tale limite di tempo. 5. Crossover Depth: questo valore definisce la profondità massima per l’operazione di crossover. Tale operazione è applicata a degli alberi che rappresentano formule. Essa consiste nel generare due figli scambiando il ramo di un genitore con il ramo di un altro genitore. Il procedimento è esplicitato in Figura 3. Il Crossover depth è quindi la profondità massima del ramo preso da un genitore.
  • 9.   9  6. Generations Number: questo valore definisce il numero di generazioni per il processo evolutivo. 7. Population Size: questo valore definisce il numero d’individui nella popolazione. Il numero di individui è uguale in tutte le generazioni durante il processo evolutivo. 8. Significant Decimals: numero di decimali significativi utilizzati per arrotondare i valori calcolati e la funzione di fitness . 9. Unbounded Expressions Policy: è possibile scegliere tra due diverse politiche: Allow Unbounded oppure Penalize Unbounded. Il range di variazione (codominio) di espressioni candidate del modello di regressione può essere illimitato (funzione con discontinuità infinita), oppure, al contrario può venire richiesto di essere limitato . I confini stimati delle espressioni risultanti da diversi job sono tutti presentati nel log. 10. Random Generator Seed: la modifica di questo valore permette l'esecuzione di ricerche diverse partendo dalla stessa popolazione iniziale . Il seed è un numero intero utilizzato per la ripetibilità di sequenza. Se due sequenze Evolutionary Design sono valutate con lo stesso seed, si generano e restituiscono sequenze identiche di numeri. Se il valore di inizializzazione è 0 , la sequenza è seminata automaticamente ad un valore basato sull'orologio macchina . 11. Functions Set: l'insieme delle funzioni primitive da utilizzare nel modello di regressione deve essere specificato in questo campo. 12. Multi-threading Policy: è possibile scegliere tra due diverse politiche: Use Maximum Number of Available Processors (utilizzo del numero massimo di processori disponibili) oppure User Defined (definito dall'utente). Infatti, la formazione di diversi lavori può essere eseguita in parallelo; in questo modo è possibile sfruttare i sistemi multi-core, riducendo il tempo di allenamento totale dell'algoritmo. 13. Number of Threads: questo campo è attivo solo quando il Multi-threading Policy è definito dall'utente. Questo parametro determina il numero di thread dei diversi job che sarà utilizzato in parallelo. Il limite superiore è fissato automaticamente al numero di processori / core disponibili sulla macchina locale.  
  • 10.   10    Figura 3. Un esempio di crossover.     3) Dati Al fine di stimare la pressione tracheale per mezzo di Evolutionary Design siamo partiti da un database di variabili con valori misurati sperimentalmente in vitro (esperimento col polmone artificiale descritto nell’articolo su-citato) [8]. Questo database è costituito da due tabelle, una corrispondente all’esperimento col tubo endotracheale da 6.5 mm di diametro (tubo per bambini) e l’altro corrispondente all’esperimento col tubo endotracheale da 7.5 mm di diametro(tubo per adulti). Ciascuna delle due tabelle contiene valori per le variabili seguenti: - La pressione tracheale Ptr (t) - La pressione misurata dal ventilatore Paw (t) - Il flusso € ˙V
  • 11.   11  - L’accelerazione volume € ˙˙V - La frequenza percussiva fp - La pressione di lavoro Pwork - Il diametro del tubo DEET - Carico resistivo del simulatore di polmoni Rsim - Carico di conformità del simulatore di polmoni Csim I valori delle variabili V’ , Paw (t), Ptr (t) e V’’ costituiscono un insieme di segnali respiratori2 rilevati durante la fase inspiratoria di ogni singolo ciclo respiratorio per una durata di 4 (s). Quindi, per ogni tubo endotracheale e per ogni combinazione diversa dei parametri Pwork, fp, Rsim, Csim è stato raccolto un insieme di segnali respiratori composto di 8000 x 4 campioni. La Figura 4 evidenzia solo due dei quattro componenti di tale segnale respiratorio: Paw (t) e Ptr (t) che sono rappresentati in ordinata. Il tempo è rappresentato in ascissa. Figura 4. Misurazioni di Ptr (t) e Paw (t) per il tubo di diametro 6.5 mm e per la combinazione di parametri Pwork = 40 cmH2O, fp =300ciclo/min, Rsim = 20 cmH2O/(Ls) e Csim = 10 mL/cmH2O.                                                              2 insieme di segnali respiratori: insieme dei valori di V’ , Paw (t), Ptr (t) e V’’ raccolti durante ogni singolo ciclo respiratorio. Hanno considerato 108 combinazioni dei parametri Pwork, fp, Rsim, Csim quindi hanno esperimentato 108 cicli respiratori.
  • 12.   12  III. ESPERIMENTO NUMERICO L’esperimento numerico fatto in questa tesi per generare un modello di stima della pressione tracheale Ptr (t) ignota, per mezzo dell’algoritmo di programmazione genetica E-D, si è svolto nel modo seguente: 1) Organizzazione dei dati. Per ogni tubo endotracheale è stata suddivisa la corrispondente tabella in 5 blocchi ciascuno per la ricerca e la scelta di un modello e 1 blocco per il test delle formule. I primi 5 blocchi sono composti ciascuno da 7 insiemi di segnali respiratori per il training set e 3 insiemi di segnali respiratori per il validation set. L’ultimo blocco è composto dai rimanenti insiemi di segnali respiratori per il testing set. La Figura 5 illustra questa divisione; le parti in blu sono le tabelle di training set, in rosso le tabelle di validation set e in verde la tabella di testing set. In questo modo avremmo per ogni tubo, 5 modelli per la pressione tracheale. Figura 5. Organizzazione dei dati per ogni tubo.     Tabella iniziale    ⇓  Blocco1  Blocco2  Blocco3  Blocco4  Blocco5    Testing set    ⇓                              
  • 13.   13  Abbiamo riprodotto la stessa organizzazione dei dati dell’articolo, ma non abbiamo usato il validation per scegliere, come modello, l’individuo con fitness migliore. Infatti, l'implementazione di ED inclusa in modeFRONTIER sceglie automaticamente la migliore formula tra tutti i job e tra tutte le generazioni basandosi sul training set e sull'esito dell'ottimizzazione interna affidata a NSGA-II []. Abbiamo invece utilizzato il validation set per il tuning dei parametri di ED, calcolando l’errore quadratico medio (mean square error, MSE) sulle funzioni/formule ottenuti negli esperimenti test. 2) Ricerca dei parametri ottimali La variabile Ptr (t) nelle tabelle è impostata come variabile di output. Abbiamo usato come variabili di input o Terminal set: - La pressione misurata dal ventilatore (P1) Paw(t) - Il flusso (V) - L’accelerazione volume (dV1) - La frequenza percussiva (f) fp - La pressione di lavoro (Pw) Pwork Non sono stati usati le variabili Rsim e Csim perché essendo variabili legate al simulatore di polmoni non sono misurabili in vivo. Il function set è composto di: operatori aritmetici: +, -, *, / , le funzioni esponenziale(exp) e potenza(pow) Per ogni tubo e per ogni blocco, sono stati eseguiti diversi esperimenti (esecuzioni GP) mantenendo immutati i valori di certi parametri e cambiando ogni volta i valori di altri parametri per valutare (in base all’errore quadratico medio, MSE) quali di essi portassero a risultati migliori. I parametri fissi sono: - Crossover Depth: 10 - Significant Decimals: 6 - Random Generator Seed: 1
  • 14.   14  - Multi-threading Policy: Use Maximum Number of Available Processors (utilizzo del massimo numero di processori disponibili). Inizialmente abbiamo provato diversi set di parametri sul primo blocco e sul secondo blocco del tubo da 6.5 mm di diametro. Le tabelle seguenti illustrano tali esperimenti preliminari:   Primo Blocco (tubo da 6.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  P2_ED_3  Parametri  Number of Jobs 5 Maximum Allowable Time (s) 600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 600 Generations Number 1500 Population Size 200   Number of Jobs 5 Maximum Allowable Time (s) 600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 600 Generations Number 1000 Population Size 500   MSE  8.202932124  32.85895217  1.476096763  35.26441583  Attraverso le prove eseguite sui primi due blocchi del tubo di diametro 6.5 mm, abbiamo scelto di proseguire l’esperimento anche su tutti gli altri blocchi con il set dei parametri seguenti: Number of Jobs =5, Maximum Allowable Time (s) =3600, Generations Number =1000,   Secondo Blocco (tubo da 6.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  P2_ED_3  Parametri  Number of Jobs 5 Maximum Allowable Time (s) 600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 600 Generations Number 1500 Population Size 200   Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   MSE  18.57442143  13.20723808  0.921172951  0.926792459 
  • 15.   15  Population Size =500 Ma non abbiamo ottenuto buoni valori di MSE per alcuni blocchi, perciò abbiamo riprovato su tutti i blocchi dei due tubi, cambiando solo il Maximum Allowable Time (s) = 7200. Abbiamo visto che aumentando il Maximum Allowable Time, l’errore era decrescente. Perciò abbiamo di nuovo riprovato aumentando sempre il Maximum Allowable Time (s) =10800. Di seguito sono riportate delle tabelle riassuntive degli esperimenti test eseguiti su tutti i blocchi:     Primo Blocco (tubo da 6.5 mm)  Funzione  P2_ED_2  P2_ED_4  P2_ED_5  Parametri  Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 10800 Generations Number 1000 Population Size 500   MSE  1.476096763  1.263911571  0.911725899        Secondo Blocco (tubo da 6.5 mm)  Funzione  P2_ED_2  P2_ED_3  P2_ED_4  Parametri  Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 10800 Generations Number 1000 Population Size 500   MSE  0.921172951  0.926792459  0.891277087 
  • 16.   16    Terzo Blocco (tubo da 6.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  Parametri   Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 10800 Generations Number 1000 Population Size 500   MSE  8.556076443  1.425119226  1.266567463    Quarto Blocco (tubo da 6.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  Parametri  Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 10800 Generations Number 1000 Population Size 500   MSE  1.11920401  0.987614867  0.943222165      Quinto Blocco (tubo da 6.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  Parametri  Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 10800 Generations Number 1000 Population Size 500   MSE  6.851476818  0.796142996  0.836486433 
  • 17.   17    Primo Blocco (tubo da 7.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  Parametri  Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   MSE  6.343043788  1.259394091  0.590351923        Secondo Blocco (tubo da 7.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  Parametri   Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 10800 Generations Number 1000 Population Size 500   MSE  3.062922721  3.180353145  2.436940922    Terzo Blocco (tubo da 7.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  Parametri   Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 10800 Generations Number 1000 Population Size 500   MSE  3.893228619  3.014154427  2.244820308           
  • 18.   18      Quarto Blocco (tubo da 7.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  Parametri  Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 10800 Generations Number 1000 Population Size 500   MSE  1.380432086  1.370436148  1.37036796      Quinto Blocco (tubo da 7.5 mm)  funzione  P2_ED_0  P2_ED_1  P2_ED_2  Parametri   Number of Jobs 5 Maximum Allowable Time (s) 3600 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 7200 Generations Number 1000 Population Size 500   Number of Jobs 5 Maximum Allowable Time (s) 10800 Generations Number 1000 Population Size 500   MSE  5.729861654  0.823379  0.733360558  I risultati ottenuti durante la fase di tuning ci hanno permesso di capire che il limite temporale imposto era troppo stringente e non permetteva all'algoritmo di eseguire tutte le generazioni. Pertanto abbiamo stabilito il Maximum Allowable Time al valore massimo inseribile (100000). Nello scopo di poter meglio confrontare i risultati con quelli del sopracitato paper, abbiamo fissato i rimanenti parametri con gli stessi valori: - Number of jobs: 32 - Generetions number: 500 - Populations size: 500
  • 19.   19  3) Risultati Al termine dell’esperimento finale, abbiamo ottenuto 5 modelli generati da ED per ciascun tubo. Infatti, com’è stato detto più in alto, ED è in grado di fornire risposte nel linguaggio simbolico della matematica. Così dopo l'allenamento, la formula esplicita del modello di regressione è disponibile. I modelli generati da ED al termine di questo esperimento sono molto lunghi. Perciò non forniremmo qui tali modelli. Ad esempio la formula generata da ED al primo blocco del tubo con diametro DEET = 6.5 mm è: 0.46239061043995733 + ((((((((((P1 - V) - (V * 1)) - V) - (V * (V * (V + V)))) - ((V * (V * (V + V))) * 1)) - (V * 1)) - V) - (dV1 * 0.1)) - ((V * (V * (V + (V * 1)))) * 1)) + (((((((V * (Pw - P1)) * (V + V)) - (((Pw / Pw) - (dV1 * 0.1)) - (((Pw - V) - (Pw / P1)) - V))) - ((dV1 * ((dV1 * 0.1) - (V + V))) * V)) - ((V + V) * (((((V * 0.1) - (V * dV1)) - (1 + V)) - (V * (Pw - P1))) - ((V + V) * ((V + V) * ((dV1 * 0.1) * (dV1 * 0.1))))))) * 0.1) * 0.1)) I risultati in termini di errore quadratico medio (mean square error, MSE) calcolati sul testing set, sono riassunti nella tabella seguente: DEET blocchi MSE Media Primo blocco 0.848919056 Secondo blocco 0.883064535 Terzo blocco 0.749136696 Quarto blocco 0.869143543 6.5 Quinto blocco 0.842826817 0.838618129 Primo blocco 0.916212388 Secondo blocco 0.901631216 Terzo blocco 1.065465306 Quarto blocco 1.038365051 7.5 Quinto blocco 0.904561585 0.965247109
  • 20.   20  IV.VALIDAZIONE Nello scopo di valutare l’accuratezza dei nostri risultati, abbiamo considerato i modelli GP realizzati nell’esperimento descritto nell’articolo su-citato [8] e altri due modelli di base LM e NM ampiamente usati nella letteratura e realizzati da esperti del settore [18], [19]. L’accuratezza dei modelli generati da ED, dei modelli GP dell’articolo e dei modelli di base LM(Linear Model) e NM(Non-linear Model) è stato quantificato dai rispettivi errori medi quadratico calcolati sul testing set. La tabella seguente mostra i valori delle MSE per ogni blocco di ogni tubo e per ogni modello e i valori medi di MSE per ogni tubo. MSE per blocco Media MSE per ogni tubo DEET ED GP LM NM ED GP LM NM 0.85 1.01 3.44 1.94 0.88 0.78 3.47 1.92 0.75 0.76 3.57 1.98 0.87 0.82 3.48 1.89 6.5 0.84 0.84 3.29 2.06 0.84 0.84 3.45 1.96 0.92 0.90 3.33 1.94 0.90 1.06 3.35 1.95 1.07 1.03 3.24 1.90 1.04 3.21 3.27 1.89 7.5 0.90 1.03 3.25 1.94 0.97 1.44 3.29 1.91
  • 21.   21  V. CONCLUSIONE E POSSIBILI SVILUPPI FUTURI L’esperimento numerico svolto in questa tesi, consisteva nel generare dei modelli per la stima della pressione tracheale durante la ventilazione percussiva ad alta frequenza mediante l’algoritmo di programmazione genetica Evolutionary-Design e di valutarne l’accuratezza. I risultati dell’esperimento ci portano a dedurre che Evolutionary-Design implementato in modeFRONTIER è in grado di generare dei modelli accurati in termine di MSE. Abbiamo valutato le prestazioni di ED su questo problema di grande importanza nel contesto di anestesia e di cure critiche, confrontando i nostri risultati con quelli ottenuti nell’articolo sopracitato e con quelli ottenuti dai due modelli di base LM e NM. In base all’errore quadratico medio (MSE) i nostri risultati in generale sono migliori. Per quanto riguarda il tempo di esecuzione delle evoluzioni GP (job), non possiamo fare un confronto perché è un parametro che dipende dalle caratteristiche del calcolatore usato. Poiché i diversi job possono essere eseguiti in parallelo, sfruttando i sistemi multi- core si riduce il tempo di allenamento totale dell'algoritmo. Inoltre, il fatto che modeFRONTIER sia dottato di un’ampia interfaccia grafica e che sia usabile sotto diversi sistemi operativi, fa si che Essa pregiudica le performance temporali nel lancio di ED a vantaggio del monitoring da interfaccia grafica. modeFRONTIER offre altre superficie di risposta che potrebbero permettere di risolvere questo tipo di problema. Superficie di risposta come ad esempio Kriging e Radial Basis Function e Neural Network sono metodologie potenzialmente molto promettenti. Pertanto, si potrebbe eseguire altri esperimenti con tali metodologie usando lo stesso database e confrontare i risultati per vedere se i modelli generati sono più accurati o meno. Questi nuovi esperimenti rappresentano un nuovo tema di ricerca aperto da questa tesi che potrebbero portare in futuro significative migliorie nella stima della pressione tracheale.
  • 22.   22  Bibliografia e Sitografia. [1] U. Lucangelo, V. Antonaglia, W. Zin, L. Fontanesi, A.Peratoner, F. Bird, and A. Gullo, “Effects of mechanical load and flow, volume and pressure delivered by high-frequency percusive ventilation,” Respiratory physiology & neurobiology, vol.142, no. 1, pp. 81-91, 2004. [2] J.M. HURST, R. D. BRANSON, e C. B. DEHAVEN, “The role of high-frequency ventilation in post-traumatic respiratory insufficiency,” the Journal of trauma and acute care surgery,vol. 27, no. 3, pp. 236-242,1987. [3] C. W. Lentz e H. Peterson, “ Smoke inhalation is a multilevel insult to the pulmonary system,” Current Opinion in Pulmonary Medecine, vol. 3, no. 3, pp. 221-226, 1997. [4] S. K. Alpard, J. B. Zwischenberger, W. Tao, D. J. Deyo, D. L. Traber, e Bidani, “New clinically relevant sheep model of severe respiratory failure secondary to combined smoke inhalation/cutaneous flame burn injury,” Critical care medecine, vol. 28, no. 5, pp. 1469-1476, 2000. [5]http://www.minervamedica.it/it/riviste/minerva- anestesiologica/articolo.php?cod=R02Y2003N11A0853 [6] G. C. Velmahos, L. S. Chan, R. Tatevossian, E. E. Cornwell, W. R. Dougherty, J. Escudero, e D. Demetriades, “High-frequency percussive ventilation improbe oxygenation in patients withs ARDS,” CHEST Journal, vol. 116, no. 2, pp. 440-446, 1999. [7] P. Rocco e W. Zin, “Modelling the mechanical effects of tracheal tubes in normal subjects.” European Respiratory Journal, vol. 8, no. 1, pp. 121-126, 1995. [8] M. Ajcevic, A. De Lorenzo, A. Accardo, A. Bartoli and E. Medvet,” A Novel Estimation Methodology for Tracheal Pressure in Mechanical Ventilation Control”,DIA – University of Trieste,Italy, 8th International Symposium on Image and Signal Processing and Analysis(ISPA 2013). [9] http://it.wikipedia.org/wiki/Programmazione_genetica
  • 23.   23  [10] E. Medvet, C. Fillon, e A. Bartoli, “Detections of web defacements by means of genetic programming,” in Information Assurance and Security, 2007. IAS 2007. Third International Symposium on. IEEE, 2007, pp. 227-234. [11] A. Bartoli, G. Davanzo, A. De Lorenzo, e E. Medvet, “GP-based electricity price forecasting,” in Genetic Programming, ser. Lectures Notes in Computer Science, S. Silva, J. Foster, M. Nicolau, P. Machado, e M. Giacobini, Eds. Springer Berlin Heidelberg, 2011, vol. 6621, pp. 37-48.[online] Available: http://dx.doi.org/10.1007/978-3-642-20407-4_4 [12] A. Bartoli, G. Davanzo, A. De Lorenzo, M. Mauri, E. Medvet, e E. Sorio, “Automatic generation of regular expressions from examples with genetic programmino,” in Proceedings of the fourteenth International conference on Genetic and evolutionary computation conference companion. ACM, 2012, pp.1477-1478. [13] http://it.wikipedia.org/wiki/Tubo_endotracheale [14] http://www.geneticprogramming.com/GPpages/software.html [15] Fillon, C., New Strategies for Efficient and Practical Genetic Programming, PhD Thesis, Università degli Studi di Trieste, 2008. [16] Koza J. R., Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press, 1992. [17] Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D., Genetic Programming – An Introduction; On the Automatic Evolution of Computer Programs and its Applications, Morgan Kaufmann, dpunkt.verlag, 1998. [18] S. Schumann, M. Krappitz, K. Moller, R. Hentschel, G. Braun, e J. Guttmann, “Pressure loss caused by pediatric tubes during high-frequency-oscillation-ventilation,” Respiratory physiology & neurobiology, vol.162, no. 2, pp.132-137, 2008. [19] M. Sullivan, J. Paliotta, e M. Saklad, “Endotracheal tube as a factor in measurement of respiratory mechanics,” Journal of applied physiology, vol. 41, no. 4, pp. 590-592, 1976. [20] http://pictures.doccheck.com/it/photos/2/6142/intubazione-endotracheale-schema/
  • 24.   24  Ringraziamenti Desidero ricordare tutti coloro che mi hanno aiutato nella stesura della tesi con suggerimenti, consigli, critiche ed osservazioni: a loro va la mia gratitudine, anche se a me spetta la responsabilità per ogni errore contenuto in questa tesi. Ringrazio anzitutto il Prof. Alberto Bartoli, Relatore e il Dott. Alessandro Turco, Correlatore di questa tesi per la grande disponibilità e per tutto l’aiuto fornito durante la stesura. Un ringraziamento speciale ai miei genitori, a tutta la mia famiglia, a tutti i miei amici che in qualche modo mi hanno sostenuto e incoraggiato durante i miei anni di studi. Infine, vorrei ringraziare con tutto il cuore, il Signore Dio che nella sua immensa grazia mi fortifica e mi guida ogni giorno della mia vita.