1 / 27

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 Nicosia Dipartimento di Matematica e Informatica Università di Catania. In questa presentazione descriverò il lavoro di tesi dal titolo.

melora
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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 Indice 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.

  3. Algoritmi Evolutivi Nascono dal “paradigma” della evoluzione biologica della specie Gli operatori principali: • Selezione • Ricombinazione • Mutazione Questi algoritmi vengono utilizzati in applicazioni quali riconoscimento di patterns ed ottimizzazioni di funzioni.

  4. Sistema 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.

  5. Il SI Naturale Il SI naturale riconosce ed elimina gli agenti patogeni esterni (Antigeni) con un sistema complesso, basato sul matching, anche non perfetto, tra i recettori dei linfociti B (Cellule B) e gli antigeni.

  6. 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 Affinity loop: Le cellule prodotte da clonazione vengono a loro volta sottoposte a selezione Meccanismo della Selezione Clonale, produzione di plasma cellule e cellule memoria

  7. Algoritmo Immunologico Basandoci su questi modelli del SI abbiamo costruito un algoritmo evolutivo che utilizza i seguenti operatori:

  8. Gli Operatori Immunologici • Selezione mediata dall’antigene: L’incontro tra recettore ed Antigene genera informazione che serve al processo evolutivo della Selezione Clonale. • Clonazione: La cellula viene duplicata un numero di volte prestabilito. • Ipermutazione: Inserisce diversità nella popolazione garantendo la copertura di spazi di ricerca molto ampi.

  9. L’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

  10. Dario: Forse è meglio: Osservando i comportamenti di due diverse implementazioni Applicazioni • 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-SAT • Mediante l’uso di un meccanismo chiamato SAW.

  11. I Applicazione Riconoscimento di Caratteri

  12. 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 Riconoscimento di Caratteri Definizione del problema: Ag Recettore codificati mediante un vettore di interi di dim. L = 120 Distanza di Hamming Funzione di Fitness 12 x 10

  13. 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 Evoluzione di una singola popolazione di cellule B 200 150 100 50 0 0 5 10 15 20 25 30 35 40 Spike Variazione sul numero di cellule B durante il riconoscimento di tutti i caratteri. Gli spike corrispondono ai riconoscimenti

  14. 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 Andamento della Fitness Function Valori medio e massimo della misura di affinità delle cellule B durante il riconoscimento degli Antigeni in Input.

  15. La seconda versione dell’algoritmo permette 1. Un’altra differenza consiste nella 2. Riconoscimento Parallelo • Coevoluzione di n popolazioni che contemporaneamente tendono agli n caratteri in input • 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).

  16. 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. Coevoluzione di più popolazioni di cellule B Totalità delle cellule B 100 80 Riconoscimento dei Caratteri 60 Numero cellule B 40 Specializzazione 20 0 0 10 20 30 40 50 60 70 Time Steps Grafico sulla dinamica del Numero di Cellule B durante il Riconoscimento Parallelo.

  17. L’andamento della fitness dei migliori elementi di ogni popolazione ci mostra la effettiva coevoluzione verso il riconoscimento completo di tutti i caratteri Andamento della Fitness Function Valori di Fitness degli Individui Migliori 1 0.95 0.9 0.85 0.8 patt 0 Fitness patt 1 0.75 patt 2 patt 3 0.7 patt 4 patt 5 0.65 patt 6 patt 7 0.6 patt 8 patt 9 0.55 0 10 20 30 40 50 60 Time Steps Visualizzazione del valore di affinità migliore per ogni sotto po- polazione relativa a tutti i patterns in input.

  18. Learning Cascaden popolazioni 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. Spostamento della distribuzione delle cellule relativamente al numero di Matching Bits

  19. Single vs Multiple Multiple converge più velocemente ed è insensibile al numero di caratteri in input Il confronto tra le due implementazioni ha evidenziato che il riconoscimento parallelo

  20. II Applicazione Il Problema 3-SAT

  21. Il 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 In questo problema si ha Noi abbiamo considerato formule proposizionali in CNF

  22. 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 Istanze difficili del problema 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

  23. 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.

  24. Codifica 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: Dove Wi è il peso della clausola i al tempo t, Sati(A)=0 se essa non è soddisfatta dall’assegnamento A proposto dalla Cellula B

  25. 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.

  26. 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. EA vs. IA

  27. Conclusioni • 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

More Related