Upload
melora
View
23
Download
2
Embed Size (px)
DESCRIPTION
Un Algoritmo Immunologico per il Riconoscimento di Caratteri e per il Problema 3-SAT Giuseppe Nicosia Dipartimento di Matematica e Informatica Università di Catania. In questa presentazione descriverò il lavoro di tesi dal titolo. - PowerPoint PPT Presentation
Citation preview
Un Algoritmo Immunologico per il Riconoscimento di Caratteri
e per il Problema 3-SAT
Giuseppe NicosiaDipartimento di Matematica e InformaticaUniversità di Catania
In questa presentazione descriverò il
lavoro di tesi dal titolo
In questa presentazione descriverò il
lavoro di tesi dal titolo
Indice della presentazioneIndice della presentazione
Computazione Evolutiva: Metafora SI, Selezione
Clonale ed Algoritmo immunologico
Learning e riconoscimento di caratteri mediante un
Algoritmo Immunologico (AI).
Risoluzione di istanze difficili del problema 3-SAT
con un AI.
In particolare vedremo tre sezioni:nella prima
descriverò brevemente: la
metafora utilizzata, i meccanismi che da
essa abbiamo estratto e lo sviluppo
dell’algoritmo che abbiamo creato,nella
seconda vedremo che questo mantiene le
proprietà di apprendimento ereditate dal SI
naturale, e nella terza osserveremo il comportamento
dell’algoritmo nel risolvere istanze difficili
di un problema NP-completo quale il 3SAT
In particolare vedremo tre sezioni:nella prima
descriverò brevemente: la
metafora utilizzata, i meccanismi che da
essa abbiamo estratto e lo sviluppo
dell’algoritmo che abbiamo creato,nella
seconda vedremo che questo mantiene le
proprietà di apprendimento ereditate dal SI
naturale, e nella terza osserveremo il comportamento
dell’algoritmo nel risolvere istanze difficili
di un problema NP-completo quale il 3SAT
Algoritmi EvolutiviAlgoritmi Evolutivi
Gli operatori principali: Selezione Ricombinazione Mutazione
Nascono dal “paradigma” della evoluzione biologica della specie
Questi algoritmi vengono utilizzati in applicazioni quali riconoscimento di patterns ed ottimizzazioni di funzioni.
Sistema Immunitario NaturaleSistema Immunitario Naturale
Il SI naturale è un sistema di riconoscimento e difesa dell’organismo da agenti patogeni esterni.
Ci siamo posti la seguente domanda :
E’ possibile utilizzare i meccanismi del SI per costruire
un algoritmo evolutivo capace di risolvere problemi di riconoscimento ed ottimizzazione ?
Il lavoro della tesi è una prima risposta a questa domanda.
Il SI NaturaleIl SI Naturale
Il Il SISI naturale riconosce ed elimina gli naturale riconosce ed elimina gli agenti patogeni esterni (agenti patogeni esterni (AntigeniAntigeni) con un ) con un sistema complesso, basato sul sistema complesso, basato sul
matchingmatching, , anche non perfettoanche non perfetto, ,
tra i recettori dei linfociti B (tra i recettori dei linfociti B (Cellule BCellule B) e gli ) e gli antigeni.antigeni.
Meccanismo della Selezione Meccanismo della Selezione Clonale, produzione di Clonale, produzione di plasma cellule e cellule plasma cellule e cellule memoriamemoria
Affinity loop: Le cellule Affinity loop: Le cellule prodotte da clonazione prodotte da clonazione vengono a loro volta vengono a loro volta sottoposte a selezionesottoposte a selezione
La cellula che supera la soglia di
attivazione viene clonata, i cloni
vengono sottoposti a mutazione alcuni evolveranno in
Plasma cellule altri in Cellule memoria caratterizzate da un tempo di vita media
molto lungo. All’interno di questo
mecc. È presente anche un processo chiamato affinity
loop
La cellula che supera la soglia di
attivazione viene clonata, i cloni
vengono sottoposti a mutazione alcuni evolveranno in
Plasma cellule altri in Cellule memoria caratterizzate da un tempo di vita media
molto lungo. All’interno di questo
mecc. È presente anche un processo chiamato affinity
loop
Algoritmo ImmunologicoAlgoritmo Immunologico
Basandoci su questi modelli del Basandoci su questi modelli del SI abbiamo costruito un SI abbiamo costruito un algoritmo evolutivo che utilizza i algoritmo evolutivo che utilizza i seguenti operatori:seguenti operatori:
Gli Operatori ImmunologiciGli Operatori Immunologici
SelezioneSelezione mediata dall’antigene: L’incontro tra recettore ed Antigene genera informazione che serve al processo evolutivo della Selezione Clonale.
ClonazioneClonazione: La cellula viene duplicata un numero di volte prestabilito.
IpermutazioneIpermutazione: Inserisce diversità nella popolazione garantendo la copertura di spazi di ricerca molto ampi.
L’Algoritmo ImmunologicoL’Algoritmo Immunologico
Procedura AI;{
Initpop P(0); /* Generazione casuale di P */
Evaluate P(0); /* Valutazione livelli affinità */
until(done) {
t=t+1;
CloningSelection P(t); /* Selezione in base ad affinità */
Hypermutation(); /* Mutazione B cells */
Birth(); /* Nascita B cells */
Evaluate P(t);
Survive P(t); /* Secondo passo di selezione */
}
}
Qui è mostrata la pseudo codifica dell’algoritmo da noi presentato.
Sono ben visibili gli operatori
precedentemente menzionati
Qui è mostrata la pseudo codifica dell’algoritmo da noi presentato.
Sono ben visibili gli operatori
precedentemente menzionati
ApplicazioniApplicazioni
L’algoritmo descritto è stato verificato su due classici problemi computazionali:
Il riconoscimento di caratteri Testato su due implementazioni diverse: Riconoscimento sequenziale e parallelo.
Il 3-SATMediante l’uso di un meccanismo chiamato SAW.
Dario:
Forse è meglio: Osservando i
comportamenti di due diverse
implementazioni
Dario:
Forse è meglio: Osservando i
comportamenti di due diverse
implementazioni
II Applicazione Applicazione
Riconoscimento di CaratteriRiconoscimento di Caratteri
Riconoscimento di Caratteri Riconoscimento di Caratteri
Ag
Recettore codificati mediante un
vettore di interi di dim. L = 120
12 x 10
Altrimenti 0
B se 1 dove ),( i
1
0
il
i
AgAgBDh
L
AgBDhAgBF
),(1),(
Distanza di Hamming
Funzione di Fitness
Definizione del problema:
I caratteri in input vengono
presentati come una matrice di bit
12x10;
Gli antigeni e i recettori delle
cellule B vengono codificati
mediante un vettore di interi di
dim. 120, la metrica che
abbiamo utilizzato per definire la
distanza tra rec. ed antig. è la DH
uguale alla somma di tutti i bit
diversi, La funzione di fitness
associata alle cellule è quindi un numero compreso tra 0 ed 1 1 perf. Match 0 entità
opposte
I caratteri in input vengono
presentati come una matrice di bit
12x10;
Gli antigeni e i recettori delle
cellule B vengono codificati
mediante un vettore di interi di
dim. 120, la metrica che
abbiamo utilizzato per definire la
distanza tra rec. ed antig. è la DH
uguale alla somma di tutti i bit
diversi, La funzione di fitness
associata alle cellule è quindi un numero compreso tra 0 ed 1 1 perf. Match 0 entità
opposte
Evoluzione di una singola Evoluzione di una singola popolazione di cellule Bpopolazione di cellule B
Variazione sul numero di cellule B durante il riconoscimento di tutti i caratteri. Gli spike corrispondono ai riconoscimenti
0
100
200
300
400
500
600
700
800
0 50 100 150 200 250 300 350 400
Fitness
time steps
individui nella popolazione
numero di cellule
0
50
100
150
200
0 5 10 15 20 25 30 35 40
Spike
Lanciata la versione
sequenziale osservando
l’evoluzione della popolazione di
cellule, si possono notare
gli spike che corrispondono ai
vari riconoscimenti,
Nel grafico piccolo è
evidenziato un particolare
relativo al primo step di
riconoscimento per meglio apprezzare
l’espansione in prossimità del perfect match
Lanciata la versione
sequenziale osservando
l’evoluzione della popolazione di
cellule, si possono notare
gli spike che corrispondono ai
vari riconoscimenti,
Nel grafico piccolo è
evidenziato un particolare
relativo al primo step di
riconoscimento per meglio apprezzare
l’espansione in prossimità del perfect match
Andamento della Fitness Andamento della Fitness FunctionFunction
0.4
0.5
0.6
0.7
0.8
0.9
1
0 50 100 150 200 250 300 350 400
Fitness
Time Steps
Valori di Fitness
valore mediovalore migliore
Valori medio e massimo della misura di affinità delle cellule B
durante il riconoscimento degli Antigeni in Input.
Un’altra quantità da tenere in
considerazione è la misura di
affinità. Dalla quale otteniamo la certezza dei riconoscimenti,
informazioni sulla sequenza di
questi e sull’andamento
dei valori di fitness
Un’altra quantità da tenere in
considerazione è la misura di
affinità. Dalla quale otteniamo la certezza dei riconoscimenti,
informazioni sulla sequenza di
questi e sull’andamento
dei valori di fitness
Riconoscimento ParalleloRiconoscimento Parallelo
1. Coevoluzione di n popolazioni che contemporaneamente tendono agli n caratteri in input
2. Seconda fase della selezione : Abbiamo utilizzato un meccanismo chiamato ranking selection (Selezione Ordinata) secondo il quale vengono selezionati per sopravvivere solo m individui per ogni popolazione. La popolazione i-esima sarà formata, quindi, dai primi m elementi della lista ordinati rispetto all’i-esimo elemento dell’array F (fitness function).
La seconda versione
dell’algoritmo permette 1.
Un’altra differenza consiste nella 2.
La seconda versione
dell’algoritmo permette 1.
Un’altra differenza consiste nella 2.
Coevoluzione di più popolazioni di Coevoluzione di più popolazioni di cellule Bcellule B
0
20
40
60
80
100
0 10 20 30 40 50 60 70
Num
ero
cel
lule
B
Time Steps
Totalità delle cellule B
Specializzazione
Riconoscimento
dei Caratteri
Grafico sulla dinamica del Numero di Cellule B durante il
Riconoscimento Parallelo.
Questa seconda implementazione ha evidenziato aspetti
interessanti: nei primi steps del riconoscimento
abbiamo osservato che le popolazioni contengono alcuni individui in comune che vengono via via
rimpiazzati da cellule più
specializzate, questo fenomeno, nel SIN è appunto
chiamato specializzazione.
Durante il riconoscimento la diminuzione del
numero di cellule è dovuta al fatto che si
devono isolare sempre meno
popolazioni man mano che i caratteri
vengono riconosciuti.
Questa seconda implementazione ha evidenziato aspetti
interessanti: nei primi steps del riconoscimento
abbiamo osservato che le popolazioni contengono alcuni individui in comune che vengono via via
rimpiazzati da cellule più
specializzate, questo fenomeno, nel SIN è appunto
chiamato specializzazione.
Durante il riconoscimento la diminuzione del
numero di cellule è dovuta al fatto che si
devono isolare sempre meno
popolazioni man mano che i caratteri
vengono riconosciuti.
Andamento della Fitness Andamento della Fitness FunctionFunction
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
0 10 20 30 40 50 60
Fitn
ess
Time Steps
Valori di Fitness degli Individui Migliori
patt 0patt 1patt 2patt 3patt 4patt 5patt 6patt 7patt 8patt 9
Visualizzazione del valore di affinità migliore per ogni sotto po-polazione relativa a tutti i patterns in input.
L’andamento della fitness dei migliori elementi
di ogni popolazione ci
mostra la effettiva coevoluzione
verso il riconoscimento
completo di tutti i caratteri
L’andamento della fitness dei migliori elementi
di ogni popolazione ci
mostra la effettiva coevoluzione
verso il riconoscimento
completo di tutti i caratteri
Learning CascadeLearning Cascade n popolazionin popolazioni
Spostamento della distribuzione delle cellule relativamente al numero di Matching Bits
Una ulteriore verifica di questo riconoscimento è visibile dallo spostamento della distribuzione delle cellule da una aggregazione con molti bit di mismatch verso una aggregazione senza bit di mismatch. L’osservazione di questi spostamenti ha permesso di capire meglio l’operatore di
ipermutazione.
Una ulteriore verifica di questo riconoscimento è visibile dallo spostamento della distribuzione delle cellule da una aggregazione con molti bit di mismatch verso una aggregazione senza bit di mismatch. L’osservazione di questi spostamenti ha permesso di capire meglio l’operatore di
ipermutazione.
Single vs MultipleSingle vs Multiple
Multiple converge più velocementevelocemente ed èinsensibileinsensibile al numero di caratteri in input
0
50
100
150
200
250
300
350
1 2 3 4 5 6 7 8 9 10
Tim
e S
teps p
er
il R
iconoscim
ento
Numero pattern in input
Confronto di prestazioni
SequenzialeParallelo
Il confronto tra le due
implementazioni ha evidenziato
che il riconoscimento
parallelo
Il confronto tra le due
implementazioni ha evidenziato
che il riconoscimento
parallelo
IIII Applicazione Applicazione
Il Problema 3-SATIl Problema 3-SAT
Il problema 3-SATIl problema 3-SAT
Istanza:
Una collezione di clausole
Un insieme finito U di variabili tali che :
Problema:
Esiste un assegnamento di verità per U che soddisfa tutte le clausole in C
CNF
},...,,{ 21 lcccC
lici 1per 3||
)...()( 2311211 ZXZZXXF
In questo problema si ha
Noi abbiamo considerato formule
proposizionali in CNF
In questo problema si ha
Noi abbiamo considerato formule
proposizionali in CNF
Istanze difficili del problema Istanze difficili del problema 3-SAT (Mitchell 1992)3-SAT (Mitchell 1992)
Numero medio di chiamate ricorsive alla procedura DP in funzione del rapporto tra clausole e variabili.
Le istanze con rapporto clausole/variabili 4,3
Di queste abbiamo
considerato le istanze che
presentano un rapporto clausole / variabili uguale a
4.3. Mitchell ha dimostrato che queste sono le
istanze più difficili di tale problema, ovvero quelle per
le quali sono necessarie il
maggior numero di chiamate alla
procedura ricorsiva DP
Di queste abbiamo
considerato le istanze che
presentano un rapporto clausole / variabili uguale a
4.3. Mitchell ha dimostrato che queste sono le
istanze più difficili di tale problema, ovvero quelle per
le quali sono necessarie il
maggior numero di chiamate alla
procedura ricorsiva DP
SAW SAW
Lo Stepwise adaptation weight è uno dei meccanismi più usati per incrementare le prestazioni degli AE riguardo i (CSP) Constraint Satisfaction Problem, cioè i problemi dove esistono vincoli da soddisfare. Esso consiste nell’assegnare un peso ad ogni clausola ed incrementarlo se la clausola, dopo un certo numero di Time Steps, non è stata ancora verificata. Mediante tale metodo, quindi, abbiamo informazioni sulla semantica del problema.
Codifica per il problema 3SATCodifica per il problema 3SAT Ag = Formula proposizionale in cnf soddisfacibile,
codificata mediante un vettore di interi di dimensione l · 3, dove l è il numero di clausole.
Recettore della Cellula B = Assegnamento di verità codificato mediante un vettore di interi di dimensione n, numero di variabili.
Funzione di Fitness (penalità) è una somma pesata delle clausole insoddisfatte:
l
ii
ti ASatW
1
)(F(B)Dove Wi è il peso della clausola i al tempo t, Sati(A)=0 se essa non è soddisfatta dall’assegnamento A proposto dalla Cellula B
Confronto con altri algoritmi evolutivi
Il nostro algoritmo (AI) è stato confrontato con i migliori algoritmi - nell’ambito delle strategie evolutive e degli algoritmi genetici - per il problema del 3SAT :
• La strategia evolutiva (15,100)-SE• l’algoritmo genetico WGSAT[vedi 7th Annual Conference on Evolutionary Programming, LNCS, n.1477, pp. 125-136. Springer Berlin, 1998]
Il confronto è basato su due parametri:
• SR = success rate, percentuale degli esperimenti con successo
•AES = average number of evaluation to solution, numero di valutazioni necessarie per ottenere la soluzione.
EA vs. IA EA vs. IA Numero Numero VariabiliVariabili
(15,100)-SE (1+1)-Saw AI WGSat Opt. Fixed
Caso SR AES SR AES SR AES
l=3030
1 0.92 18725 1 2912 1 6063
2 0 - 0.92 40918 0.96 78985
3 0 - 1 1705 1 31526
l=4040
4 0.70 10145 1 13676 1 13328
5 0.66 11795 0.76 74374 1 2899
6 0 - 1 15036 0.94 82031
l=5050
7 0.80 22269 0.32 98644 1 28026
8 0.34 8183 0.98 46006 1 60160
9 0 - 0.18 149323 0.32 147718
l=100100 10 0 - 0.36 122218 0.06 192403
Numero medio di valutazioni
Percentuale di esperimenti con
successo
I risultati ottenuti sono stati
confrontati con quelli ottenuti da altri 2 AE una SE
ed un AG entrambi
selezionati come i migliori del loro
gruppo nella risoluzione del
problema in esame, l’AG
inoltre usa dei parametri
ottimizzati per le diverse istanze.l’ AI di contro usa
parametri minimali
ottenendo risultati soddisfacenti.
I risultati ottenuti sono stati
confrontati con quelli ottenuti da altri 2 AE una SE
ed un AG entrambi
selezionati come i migliori del loro
gruppo nella risoluzione del
problema in esame, l’AG
inoltre usa dei parametri
ottimizzati per le diverse istanze.l’ AI di contro usa
parametri minimali
ottenendo risultati soddisfacenti.
ConclusioniConclusioni
Nuovo algoritmo evolutivo: l’algoritmo immunologico.
Learning mediante algoritmo immunologico coevolutivo.
Soluzioni di istanze difficili del problema 3-SAT.
Abbiamo creato un nuovo...
Abbiamo dimostrato che questo è capace di apprendere e di risolvere
problemi difficili
Abbiamo creato un nuovo...
Abbiamo dimostrato che questo è capace di apprendere e di risolvere
problemi difficili