The Artificial Immune Network algorithm is inspired by the Immune Network theory of the acquired immune system. The clonal selection theory of acquired immunity accounts for the adaptive behavior of the immune system including the ongoing selection and proliferation of cells that select-for potentially harmful (and typically foreign) material in the body. A concern of the clonal selection theory is that it presumes that the repertoire of reactive cells remains idle when there are no pathogen to which to respond. Jerne proposed an Immune Network Theory (Idiotypic Networks) where immune cells are not at rest in the absence of pathogen, instead antibody and immune cells recognize and respond to each other.
The Immune Network theory proposes that antibody (both free floating and surface bound) possess idiotopes (surface features) to which the receptors of other antibody can bind. As a result of receptor interactions, the repertoire becomes dynamic, where receptors continually both inhibit and excite each other in complex regulatory networks (chains of receptors). The theory suggests that the clonal selection process may be triggered by the idiotopes of other immune cells and molecules in addition to the surface characteristics of pathogen, and that the maturation process applies both to the receptors themselves and the idiotopes which they expose.
The immune network theory has interesting resource maintenance and signaling information processing properties. The classical clonal selection and negative selection paradigms integrate the accumulative and filtered learning of the acquired immune system, whereas the immune network theory proposes an additional order of complexity between the cells and molecules under selection. In addition to cells that interact directly with pathogen, there are cells that interact with those reactive cells and with pathogen indirectly, in successive layers such that networks of activity for higher-order structures such as internal images of pathogen (promotion), and regulatory networks (so-called anti-idiotopes and antianti-idiotopes).
The objective of the immune network process is to prepare a repertoire of discrete pattern detectors for a given problem domain, where better performing cells suppress low-affinity (similar) cells in the network. This principle is achieved through an interactive process of exposing the population to external information to which it responds with both a clonal selection response and internal meta-dynamics of intra-population responses that stabilizes the responses of the population to the external stimuli.
The following algorithm provides a pseudocode listing of the Optimization Artificial Immune Network algorithm (opt-aiNet) for minimizing a cost function.
aiNet is designed for unsupervised clustering, where as the optaiNet extension was designed for pattern recognition and optimization, specifically multi-modal function optimization.
The amount of mutation of clones is proportionate to the affinity of the parent cell with the cost function (better fitness, lower mutation). The addition of random cells each iteration adds a random-restart like capability to the algorithms. Suppression based on cell similarity provides a mechanism for reducing redundancy. The population size is dynamic, and if it continues to grow it may be an indication of a problem with many local optima or that the affinity threshold may needs to be increased.
Affinity proportionate mutation is performed using c’=c+A*N(1; 0) where A=1/B*exp(-f), N is a Gaussian random number, and f is the fitness of the parent cell, B controls the decay of the function and can be set to 100. The affinity threshold is problem and representation specific, for example a AffinityThreshold may be set to an arbitrary value such as 0.1 on a continuous function domain, or calculated as a percentage of the size of the problem space. The number of random cells inserted may be 40% of the population size. The number of clones created for a cell may be small, such as 10.