1.4 Thesis Contributions
2.3.3 Common Immune-Inspired Algorithms
As the primary focus of this thesis is a theoretical analysis of the DCA, it is important to look to other attempts to theoretically analyse artificial immune algorithms. However, such a discussion would be nonsensical without first describing the form and function of those algorithms. Here we will explore the three types of algorithm that have dominated the field of artificial immune systems for many years. These are: the nega- tive selection algorithm, based on the phenomena that removes T cells that react to the host from the population; the clonal selection algorithm, based on the hypermutation and affinity selection that activated B cells go through; and idiotypic networks, based on the Jerne’s co-stimulating B cell hypothesis [64]. Here the ‘vanilla’ implementations of these algo- rithms are outlined. The interested reader will find [57, 138, 142] provide wide ranging literature reviews on all of these algorithms.
lection algorithm is a supervised learning algorithm, requiring a period of training. During this period ‘detectors’ are generated at random. In the work by Forrest et al. these detectors were simply bit strings. Training data aimed at encapsulating the ‘normal’ operation of a computer was created by encoding function calls by active processes. This data was presented to the detector sets and detectors with a high affinity for the normal activity of the machine were deleted. Affinity was measured using a metric called ‘r-contiguous bits’. This process compares two bit strings and states that they match iff. r or more contiguous bits in one string match r bits in the other. Once a large population of detectors has been produced that does not match the normal operation of the computer, the algorithm enters its second phase. In this phase the function calls of the current computer use are encoded into bit strings in a similar manner and matched with the generated detector set. By process of elimination, if a match is found, it is assumed to be ‘abnormal’ behaviour and the user is informed.
The work of Newborough and Stepney attempts to find a common framework for expressing population based algorithms, including the neg- ative selection algorithm [104]. This framework is outlined in Figure 2.2. In order to clarify the algorithmic properties of the negative selection algorithm, the description of the negative selection algorithm from [104] is provided in Figure 2.4. However, in order to provide the reader with some context, the Newborough and Stepney’s description of the more commonly used genetic algorithm is also provided, in Figure 2.3 [104]. Clonal Selection
Clonal selection algorithms are a family of optimisation techniques based on the proliferation and selection of B cells. Several implementations ex- ist including, (in chronological order) opt-AINET [2], Clonalg [22], the
Figure 2.2: A Generic Population Algorithm [104] Individuals: An individual is a set of ‘characteristics’ which define a solution
Characteristics: Characteristics define the space that the individuals inhabit
Create: This phase introduces novel members into the population
Evaluate: Evaluates each individual to find its fitness or affinity to the solution
Test: A test to identify if a termination condition has been met
Select: Selection criteria to identify individuals from the current generation to be used in the creation of the next Spawn: The creation of new individuals for use in the next generation
Figure 2.3: The Genetic Algorithm, as expressed in [104] Individuals: Chromosomes
Characteristics: Genes
Create: Individuals assigned random characteristics, giving broad coverage of the search space
Evaluate: A ‘fitness function’ evaluates the chromosomes based on their genes
Test: On termination the the solution is the individual with the highest fitness
Select: Different variants use different techniques. Typically the fittest members of the population become parents to the next generation
Spawn: Characteristics of pairs of selected parents combined using a crossover mask to generate two new individuals
Mutate: Genes subject to random perturbation to reintroduce lost characteristic values
Figure 2.4: The Negative Selection Algorithm, as expressed in [104] Individuals: Antibody
Characteristics: Shape receptor
Create: Individuals assigned random characteristics Evaluate: The shape receptors are compared to the target region using a ‘lock and key’ metaphor, (typically some distance metric measuring the difference between the target and the receptor)
Test: On termination the the solution is a set of individuals with affinities above a user-specified threshold
Select: A threshold is applied to the members of the current population, those above that threshold are continued to the next generation
Spawn: Individuals identified by Select are passed to the next generation. Population level maintained by using the Create policy to introduce new members
B cell algorithm [140] and opt-IA [26]. The core functionality of clonal selection algorithms is similar to the functionality of a genetic algorithm (GA). Each cell represents a possible solution for the optimisation prob- lem, in a similar way to a member of the population in a GA. An affinity function, (analogous to a GA fitness function) evaluates the quality of each solution. Successful solutions are able to proliferate, using a hyper- mutation operator to allow the algorithm to traverse the search space. Unsuccessful solutions are removed from the population. The key differ- ence between a GA and a clonal selection algorithm is that at no point do the cells in a clonal selection algorithm perform a cross-over operation. These algorithms have been applied to several optimisation problems, though of note is the work of Ciccazzo et al. who not only apply a clonal selection algorithm to a real-world problem, but also perform a com- parison with a standard genetic algorithm [23]. The problem domain is automated analogue circuit design and in this case the clonal selection algorithm used (eIP), outperforms the GA approach. It is hypothesised that this may be due to the absence of cross-over, resulting in a less rapid convergence of the population, which would be a benefit in certain search spaces.
As with the negative selection algorithm, the algorithmic description of the clonal selection algorithm presented in [104] is provided in Figure 2.5.