Un Algoritmo Immunologico per il Riconoscimento di Caratteri

Slides:



Advertisements
Presentazioni simili
I meccanismi dell’evoluzione
Advertisements

Algoritmi e Strutture Dati
Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato D’Ambrosio
Democritos 2007 IL CAOS Ing. Marco Affinito.
Il problem-solving Gianpiero Cabodi e Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino.
Linguaggi di programmazione
Sistemi Immunitari Artificiali: Metafora ed Applicazioni Dr. Mario Pavone Dr. Mario Pavone
Dott. Mario Pavone Un Algoritmo Immunologico Ibrido con Information Gain per il Problema della Colorazione.
Applications of Evolutionary Algorithms Giuseppe Nicosia Dep. of Mathematics and Computer Science University of Catania.
A. Stefanel - M: Le leggi della dinamica
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Metodi Quantitativi per Economia, Finanza e Management Lezione n°5
Effetto dell’interazione tra
Apprendimento Non Supervisionato
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento: Selection e Insertion Sort Algoritmi e Strutture Dati.
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Distribuzioni di probabilità
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
CORSO DI MODELLI DI SISTEMI BIOLOGICI LAUREA IN INGEGNERIA CLINICA E BIOMEDICA.
Le cause del moto: la situazione prima di Galilei e di Newton
Algoritmi Genetici Prof. Salvatore Di Gregorio Dr. William Spataro Dr. Donato DAmbrosio Modelli Computazionali per Sistemi Complessi A.A. 2003/2004 Università
Modelli simulativi per le Scienze Cognitive
Studente Claudia Puzzo
Heap allocation e garbage collector di Oberon Algoritmo Quick Fit e garbage collector mark and sweep.
Analisi dei gruppi – Cluster Analisys
Intelligenza Artificiale Algoritmi Genetici
Intelligenza Artificiale
CALCOLO EVOLUZIONISTICO. In ogni popolazione si verificano delle mutazioni. Le mutazioni possono generare individui che meglio si adattano allambiente.
Apprendimento Automatico Calcolo Evoluzionistico Stefano Cagnoni.
Algoritmi Genetici Alessandro Bollini
Biologia Computazionale - Algoritmi
METODI E CONTROLLI STATISTICI DI PROCESSO
Strutture periodiche discrete: introduzione del vincolo di periodicità e studio della ricostruzione da due proiezioni. A. Del Lungo, A. Frosini, M.Nivat,
Radix-Sort(A,d) // A[i] = cd...c2c1
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
ANALISI FATTORIALE. Cosè lanalisi fattoriale? Statistica descrittiva Rappresentazione delle variabili in studio. Statistica confermativa vs Confermare,
Algoritmi e Strutture Dati
La ricerca delle relazioni tra fenomeni
Statistica Che cos’è?.
Algoritmi e Strutture Dati
Biologia.blu B - Le basi molecolari della vita e dell’evoluzione
Selezione naturale e Mutazioni
Errori casuali Si dicono casuali tutti quegli errori che possono avvenire, con la stessa probabilità, sia in difetto che in eccesso. Data questa caratteristica,
Rete di Hopfield applicata al problema del TSP Federica Bazzano
La ricorsione.
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Alessandro Bollini Dipartimento di Informatica e Sistemistica Università di Pavia Via Ferrata, Pavia Algoritmi Evolutivi.
Gli algoritmi genetici (GA)1 Si ispirano al meccanismo dell’evoluzione Viene creata una popolazione di individui che si riproduce ed evolve, di generazione.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
1/20 NP completezza. 2/20 Problemi astratti Un problema è un’entità astratta (es. il TSP). Una istanza del problema è un suo caso particolare in cui vengono.
Allineamento di sequenze
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Computazione Naturale AA
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Realizzazione di un algoritmo genetico distribuito per l’inversione di modelli di deformazione del suolo (rilevamenti GPS e immagini SAR) di un edificio.
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
TRATTAMENTO STATISTICO DEI DATI ANALITICI
La covarianza.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Ipotesi operative TeoriaEsperienza diretta e/o personale Quesito Piano esecutivo Scelta popolazione Scelta strumenti Scelta metodi statistici Discussione.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo La ricorsione 15 Approccio ricorsivo, esercizi sulla.
Transcript della presentazione:

Un Algoritmo Immunologico per il Riconoscimento di Caratteri 27/03/2017 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

Indice della presentazione 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.

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.

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.

Meccanismi Principali del SI Naturale Il SI naturale riconosce ed elimina gli agenti patogeni esterni (antigeni) con un sistema complesso, basato sul matching, anche non perfetto, tra le caratteristiche dei linfociti B (Cellule B) e gli antigeni. La cellula B che ha riconosciuto un antigene attiva un processo di clonazione e successiva ipermutazione dei cloni. Per alcune di queste cellule il tempo di vita media si allunga (cellule memoria). Le cellule che non riconoscono gli antigeni muoiono in pochi giorni; nuove cellule B vengono prodotte continuamente dal midollo spinale.

matching, anche non perfetto, 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.

Meccanismo della Selezione Clonale, produzione di plasma cellule e cellule memoria 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

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

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.

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

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.

I Applicazione Riconoscimento di Caratteri

Riconoscimento di Caratteri 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

Evoluzione di una singola popolazione di cellule B 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 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

Andamento della Fitness Function 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.

Learning Cascade 1 popolazione Spostamento della distribuzione delle cellule relativamente al numero di Matching Bits

Riconoscimento Parallelo 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).

Coevoluzione di più popolazioni di cellule B 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 10 20 30 40 50 60 70 Time Steps Grafico sulla dinamica del Numero di Cellule B durante il Riconoscimento Parallelo.

Andamento della Fitness Function 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 Fitness patt 0 0.75 patt 1 patt 2 patt 3 0.7 patt 4 patt 5 0.65 patt 6 patt 7 0.6 patt 8 patt 9 0.55 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.

Learning Cascade n 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

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

II Applicazione Il Problema 3-SAT

Il problema 3-SAT Istanza: Una collezione di clausole 27/03/2017 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

Istanze difficili del problema 3-SAT (Mitchell 1992) 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) Le istanze con rapporto clausole/variabili 4,3 Numero medio di chiamate ricorsive alla procedura DP in funzione del rapporto tra clausole e variabili.

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

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 (15,100)-SE (1+1)-Saw AI WGSat Opt. Fixed Caso SR AES l=30 1 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. Percentuale di esperimenti con successo 27/03/2017 Numero medio di valutazioni EA vs. IA Numero Variabili (15,100)-SE (1+1)-Saw AI WGSat Opt. Fixed Caso SR AES l=30 1 0.92 18725 2912 6063 2 - 40918 0.96 78985 3 1705 31526 l=40 4 0.70 10145 13676 13328 5 0.66 11795 0.76 74374 2899 6 15036 0.94 82031 l=50 7 0.80 22269 0.32 98644 28026 8 0.34 8183 0.98 46006 60160 9 0.18 149323 147718 l=100 10 0.36 122218 0.06 192403

Abbiamo creato un nuovo... 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