Sistema immunitario artificiale

Il metodo del sistema immunitario artificiale (in inglese artificial immune system da cui l'acronimo AIS) è un tipo di algoritmo di ottimizzazione ispirato ai principi e ai processi del sistema immunitario degli esseri viventi. In particolar modo gli algoritmi di questo genere sfruttano le caratteristiche di memoria ed esperienza per risolvere i problemi studiati. Sono accoppiati all'intelligenza artificiale e strettamente correlati con gli algoritmi genetici.

I processi evolutivi simulati con il metodo degli AIS includono il pattern recognition, la mutazione e la selezione degli elementi da clonare.

Descrizione dell'algoritmoModifica

Questo articolo illustra l'implementazione algoritmica di questi processi. Per i concetti di base di biologia fare riferimento ai sistemi immunitari naturali.

PseudocodiceModifica

Qui di seguito è mostrato quello che può essere uno pseudocodice che implementa il metodo dagli AIS.

Definiamo innanzitutto i seguenti parametri:

  •  =numero di genitori (e quindi il numero di famiglie);
  •  =numero di figli per ogni genitore;
  •  =numero di generazioni interne;
  •  =numero di generazioni esterne;
  •  =la percentuale di rinnovamento delle soluzioni.

Questo può essere lo pseudocodice:

generare   genitori
for i=1: 
  se i>1
    genero genitori mancanti
    for j=1: 
      clonare ogni genitore
      mutare ogni clone
      valutare la/e funzione/i obiettivo di ogni clone
      valutare la funzione fitness di ogni clone
      selezionare all'interno di ogni famiglia l'elemento migliore, ovvero con la funzione fitness più elevata. L'elemento_ 
          migliore diventa il nuovo genitore della famiglia
    termine ciclo j
    tra tutti i genitori si eliminano quelli troppo vicini e si eliminano le soluzioni con la funzione fitness peggiore_ 
        garantendo che ci sia rinnovamento di almeno  .
termine ciclo i

Commenti:

  • sia la generazione dei genitori che la mutazione dei figli devono essere preferibilmente casuali, facendo sì che vengano sempre rispettati i vincoli imposti dal problema studiato.
  • la funzione fitness è un valore che indica la bontà di una soluzione: maggiore è la funzione fitness migliore è la soluzione.

Riconoscimento di PatternModifica

La rappresentazione degli Anticorpi e degli antigeni è comunemente implementata con stringhe di attributi. Questi possono essere rappresentati come numeri binari, interi o reali, sebbene il modello originario prevedesse l'utilizzo di qualsiasi attributo numerico. La corrispondenza è ottenuta utilizzando la distanza euclidea, la distanza di Manhattan o la distanza di Hamming.

HypermutationModifica

Gli algoritmi di selezione clonale sono comunemente usati per l'ipermutazione (hypermutation in inglese) degli anticorpi. Questo permette alla stringa di attributi di migliorarsi (la qualità degli attributi è misurata mediante una funzione di fitness) usando esclusivamente la mutazione.

StoriaModifica

Il metodo degli AIS fu introdotto a metà degli anni '80 da Farmer, Packard and Perelson in un articolo riguardante le reti immuni (1986). Fu comunque solo dopo la metà degli anni '90 che gli AIS iniziarono ad avere una propria area di studio. Forrest et al (con la selezione negativa) iniziarono ad approfondire gli argomenti nel 1994; e Dasgupta condusse studi approfonditi sugli algoritmi facenti uso della selezione negativa. Hunt e Cooke iniziarono dei lavori sui modelli di reti immuni nel 1995; Timmis e Neal continuarono questo lavoro e ne migliorarono alcuni aspetti. I lavori di DeCastro & Von Zuben's e Nicosia & Cutello's (sulla selezione clonale artificiale) si diffusero e divennero prestigiosi nel 2002. Il primo libro trattante gli argomenti degli AIS fu edito scritto da Dasgupta nel 1999.

Nuovi ambiti di ricerca, come la danger theory e algoritmi ispirati al sistema immunitario innato, sono ora in fase di esplorazione. Sebbene la capacità di questi campi di apportare miglioramenti rispetto agli algoritmi AIS già esistenti è molto dibattuta, questa stessa sfida è uno dei principali stimoli per lo sviluppo di algoritmi AIS.

In origine AIS veniva utilizzato per trovare astrazioni efficienti dei processi esistenti nel sistema immunitario ma, recentemente, si è iniziato ad interessarsi alla modellistica di processi biologici mediante algoritmi immunologici.

BibliografiaModifica

  • J.D. Farmer, N. Packard and A. Perelson, (1986) "The immune system, adaptation and machine learning", Physica D, vol. 22, pp. 187–204
  • D. Dasgupta (Editor), Artificial Immune Systems and Their Applications, Springer-Verlag, Inc. Berlin, January 1999, ISBN 3-540-64390-7
  • L. DeCastro and J. Timmis (2001) "Artificial Immune Systems: A New Computational Intelligence Approach" ISBN 1-85233-594-7
  • J Timmis, M Neal and J Hunt, (2000) "An Artificial Immune System for Data Analysis" pp. 143–150, Biosystems, no. 1/3, vol. 55.
  • V. Cutello and G. Nicosia (2002) "An Immunological Approach to Combinatorial Optimization Problems" Lecture Notes in Computer Science, Springer vol. 2527, pp. 361–370.
  • L. N. de Castro and F. J. Von Zuben, (1999) "Artificial Immune Systems: Part I -Basic Theory and Applications", School of Computing and Electrical Engineering, State University of Campinas, Brazil, No. DCA-RT 01/99.
  • S. Garrett (2005) "How Do We Evaluate Artificial Immune Systems?" Evolutionary Computation, vol. 13, no. 2, pp. 145–178. https://web.archive.org/web/20110629063449/http://mitpress.mit.edu/journals/pdf/EVCO_13_2_145_0.pdf
  • V. Cutello, G. Nicosia, M. Pavone, J. Timmis (2007) An Immune Algorithm for Protein Structure Prediction on Lattice Models, IEEE Transactions on Evolutionary Computation, vol. 11, no. 1, pp. 101–117, 2007.

Collegamenti esterniModifica

Controllo di autoritàLCCN (ENsh2002000764 · J9U (ENHE987007530334005171
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica