Immune network algorithm

Artificial immune network

The artificial immune network algorithm is inspired by the immune network theory of the acquired immune system. The theory of clonal selection of acquired immunity takes into account the adaptive behavior of the immune system, including the continuous selection and proliferation of cells that select for potentially harmful (and usually foreign) material in the body. A concern of clonal selection theory is that it assumes that the reactive cell repertoire remains inactive when there is no pathogen to respond to. Jerne proposed an immune network theory (idiotypic networks) where immune cells are not quiescent in the absence of a pathogen, but antibodies and immune cells recognize and respond to each other.

The immune network theory proposes that antibodies (freely floating and bound to the surface) have idiotopes (surface characteristics) to which receptors for other antibodies can bind. As a result of interactions with receptors, the repertoire becomes dynamic, where receptors are continuously inhibited and excited in complex regulatory networks (receptor chains). The theory suggests that the clonal selection process can be triggered by the idiotopes of other immune cells and molecules in addition to the surface characteristics of the pathogen, and that the maturation process applies to both the receptors themselves and to the receptors themselves. idiotopes they expose.

Immune network theory has interesting resource maintenance and signaling information processing properties. The classical paradigms of clonal selection and negative selection incorporate the cumulative and filtered learning of the acquired immune system, while the immune network theory proposes an order of complexity additional between cells and selected molecules. In addition to cells that interact directly with the pathogen, there are cells that interact with these reactive cells and with the pathogen indirectly, in successive layers such as activity networks for higher order structures such as the pathogen's internal images (promotion) and regulatory networks (called anti-idiotopes and anti-idiotopes).

The goal of the immune network process is to prepare a repertoire of discrete pattern detectors for a given problem area, where the best performing cells suppress low affinity (like) 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 an internal meta-dynamic of intra-population responses that stabilizes the population's responses to external stimuli.

The following algorithm provides a pseudocode of the Artificial Immune Network Optimization Algorithm (opt-aiNet) to minimize a cost function.

Artificial immune network

aiNet is designed for the clustering unsupervised, while the optaiNet extension was designed for pattern recognition and optimization, in particular the optimization of multimodal functions.

The amount of mutation of the clones is proportional to the affinity of the mother cell with the cost function (better fitness, lower mutation). Adding random cells to each iteration adds random restart capability to algorithms. Removal based on cell similarity provides a mechanism to reduce redundancy. The population size is dynamic, and if it continues to grow, this may be an indication of a problem with many local optima or that it may be necessary to increase the affinity threshold.

The proportional affinity mutation is performed using c '= c + A * N (1; 0) where A = 1 / B * exp (-f), where N is a Gaussian random number and f is the fitness of the parent, B controls the decay of the function and can be set to 100. The affinity threshold is specific to the problem and representation, for example an affinity threshold can 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 can represent 40% of the population size. The number of clones created for a cell can be small, like 10.