27
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

Un Algoritmo Immunologico per il Riconoscimento di Caratteri e per il Problema 3-SAT

  • 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

Page 1: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 2: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 3: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 4: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 5: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 6: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 7: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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:

Page 8: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 9: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 10: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 11: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

II Applicazione Applicazione

Riconoscimento di CaratteriRiconoscimento di Caratteri

Page 12: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 13: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 14: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 15: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 16: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 17: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 18: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 19: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 20: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

IIII Applicazione Applicazione

Il Problema 3-SATIl Problema 3-SAT

Page 21: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il 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

Page 22: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 23: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 24: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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

Page 25: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 26: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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.

Page 27: Un Algoritmo Immunologico per il Riconoscimento di Caratteri  e per il Problema 3-SAT

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