Clonal selection algorithm

Clonal selection algorithm

The clonal selection algorithm attributed to Burnet was proposed to take into account the behavior and capacities of antibodies in the acquired immune system. Drawing on the principles of the theory of evolution of Darwinian natural selection, the theory proposes that antigens select lymphocytes (both B cells and T cells).

When a lymphocyte is selected and binds to an antigenic determinant, the cell proliferates making several thousand more copies of itself and differentiates into different types of cells (plasma and memory cells). Plasma cells have a short lifespan and produce large amounts of antibody molecules, while memory cells live for an extended period of time in the host, anticipating future recognition of the same determinant. 

When a cell is selected and proliferated, it is subjected to small copying errors (changes in the genome called somatic hypermutation) that alter the shape of receptors and the recognition abilities of subsequent determinants of antibodies bound to the cell surface of lymphocytes. and antibodies that plasma cells produce.

The theory of clonal selection suggests that from an initial repertoire of general immune cells, the system is able to change itself (the compositions and densities of cells and their receptors) in response to the experience of the environment. Through a blind process of selection and accumulated variation on a large scale of several billion cells, the acquired immune system is able to acquire the information necessary to protect the host organism against specific pathogenic dangers of the environment. It also suggests that the system must anticipate (guess) the pathogen it will be exposed to and require exposure to a pathogen that can harm the host before it can acquire the information necessary to provide a defense.

The information processing principles of clonal selection theory describe a general learning strategy. This strategy involves a population of adaptive information units (each representing a problem-solution or component) subjected to competitive selection processes which, with the duplication and resulting variation, ultimately improve the adaptation of the units d. information to their environment.

The following algorithm provides a pseudocode of the clonal selection algorithm (CLONALG) to minimize a cost function. The general CLONALG model involves the selection of antibodies (candidate solutions) on the basis of affinity, either by comparing them to a model antigen or through the evaluation of a model by a cost function. The selected antibodies are subjected to cloning proportional to the affinity and hypermutation of the clones inversely proportional to the affinity of the clone. The resulting clonal selection pool competes with the existing antibody population for membership in the next generation. 

In addition, in clonal selection, members of the low affinity population are replaced by randomly generated antibodies. The pattern recognition variation of the algorithm includes the maintenance of a set of memory solutions that as a whole represent a solution to the problem. A binary encoding scheme is used for the binary pattern recognition and continuous function optimization examples, and an integer permutation scheme is used for the traveling salesperson problem (TSP).

clonal selection algorithm

The number of clones created for each selected member is calculated based on the size of the N_c = round (B * N) directory, where B is the Clone_rate user setting.

A rank-based affinity proportional function is used to determine the number of clones created for selected members of the population for pattern recognition problem instances. The number of random antibodies inserted at each iteration is generally very low (1-2). Point mutations (bit-flips) are used in the hypermutation operation.

The function exp (-p * f) is used to determine the probability of individual component mutation for a given candidate solution, where f is the candidate affinity (normalized maximized cost value), and p is the user parameter Mutation_rate.