scispace - formally typeset
Open AccessBook ChapterDOI

A generic framework for population-based algorithms, implemented on multiple FPGAs

Reads0
Chats0
TLDR
This work outlines a generic framework that captures a collection of population-based algorithms, allowing commonalities to be factored out, and properties previously thought particular to one class of algorithms to be applied uniformly across all the algorithms.
Abstract
Many bio-inspired algorithms (evolutionary algorithms, artificial immune systems, particle swarm optimisation, ant colony optimisation,...) are based on populations of agents. Stepney et al [2005] argue for the use of conceptual frameworks and meta-frameworks to capture the principles and commonalities underlying these, and other bio-inspired algorithms. Here we outline a generic framework that captures a collection of population-based algorithms, allowing commonalities to be factored out, and properties previously thought particular to one class of algorithms to be applied uniformly across all the algorithms. We then describe a prototype proof-of-concept implementation of this framework on a small grid of FPGA (field programmable gate array) chips, thus demonstrating a generic architecture for both parallelism (on a single chip) and distribution (across the grid of chips) of the algorithms.

read more

Content maybe subject to copyright    Report

A generic framework for population-based algorithms,
implemented on multiple FPGAs
John Newborough and Susan Stepney
Department of Computer Science, University of York, Heslington, York, YO10 5DD, UK
Abstract. Many bio-inspired algorithms (evolutionary algorithms, artificial immune
systems, particle swarm optimisation, ant colony optimisation, …) are based on
populations of agents. Stepney et al [2005] argue for the use of conceptual frameworks
and meta-frameworks to capture the principles and commonalities underlying these, and
other bio-inspired algorithms. Here we outline a generic framework that captures a
collection of population-based algorithms, allowing commonalities to be factored out, and
properties previously thought particular to one class of algorithms to be applied uniformly
across all the algorithms. We then describe a prototype proof-of-concept implementation
of this framework on a small grid of FPGA (field programmable gate array) chips, thus
demonstrating a generic architecture for both parallelism (on a single chip) and distribution
(across the grid of chips) of the algorithms.
1 Introduction
Many bio-inspired algorithms are based on populations of agents trained to solve some
problem such as optimising functions or recognising categories. For example,
Evolutionary Algorithms (EA) are based on analogy to populations of organisms
mutating, breeding and selecting to become “fitter” [Mitchell 1996]. The negative and
clonal selection algorithms of Artificial Immune Systems (AIS) use populations of agents
trained to recognise certain aspects of interest (see de Castro & Timmis [2002] for an
overview): negative selection involves essentially random generation of candidate
recognisers, whilst clonal selection uses reinforcement based on selection and mutation of
the best recognisers. Particle swarm optimisation (PSO) [Kennedy & Eberhart 2001] and
social insect algorithms [Bonabeau 1999] use populations of agents whose co-operations
(direct, or stigmergic) result in problem solving.
Stepney et al [2005] argue for the use of conceptual frameworks and meta-frameworks
to capture the principles and commonalities underlying various bio-inspired algorithms.
We take up this challenge, and, in section 2, outline a generic framework abstracted from
the individual population-based models of the following classes: genetic algorithms (GA),
AIS negative selection, AIS clonal selection, PSO, and ant colony optimisation (ACO).
The framework provides a basis for factoring out the commonalities, and applying various
properties uniformly across all the classes of algorithms, even where they were previously
thought particular to one class (section 3).
ICARIS 2005, Banff, Canada, August 2005
.
LNCS 3627:43-55. Springer, 2005

2
In section 4 we describe our proof-of-concept prototype implementation of the generic
framework on a platform of multiple field programmable gate array (FPGA) chips. Thus
the generic architecture naturally permits both parallelism (multiple individuals executing
on a single chip) and distribution (multiple individuals executing across the array of chips)
of the algorithms. In section 5 we outline what needs to be done next to take these
concepts into a fully rigorous framework architecture and implementation.
2 The generic framework for population algorithms
There are many specific algorithms and implementation variants of the different classes.
To take one case, AIS clonal selection, see, for example [Cutello et al 2004] [Garrett
2004] [Kim & Bentley 2002]. It is not our intention to capture every detail of all the
variants in the literature. Rather, we take a step back from the specifics, and abstract the
basic underlying concepts, particularly the more bio-inspired ones, of each class of
algorithm. So when we refer to “GA” or “AIS clonal selection”, for example, we are not
referring to any one specific algorithm or implementation, but rather of the general
properties of this class. We unify the similarities between these basics in order to develop
a generic framework. The intention is that such a framework provides a useful starting
point for the subsequent development of more sophisticated variants of the algorithms.
Basic underlying concepts
The generic algorithm is concerned with a population of individuals, each of which
captures a possible solution, or part of a solution. Each individual contains a set of
characteristics, which represent the solution. The characteristics define the (phase or
state) space that the population of individuals inhabit. The goal of the algorithm is to find
“good” regions of this space, based on some affinity (a measure that relates position in the
space to goodness of solution, so defining a landscape). The individuals and
characteristics of the specific classes of algorithm are as follows:
GA : the individuals are chromosomes; each characteristic is a gene.
AIS negative selection : the individuals are antibodies; each characteristic is a shape
receptor.
AIS clonal selection : there are two populations. In the main population the
individuals are antibodies; each characteristic is a shape receptor. There is also a
population of memory cells drawn from this main population.
Swarms : the individuals are boids; the characteristics are position, velocity and
neighbourhood group (the other visible individuals).
Ants: the individuals are the complete paths (not the ants, which are merely
mechanisms to construct the complete paths from path steps); the characteristics are the
sequence of path steps, where each step has an associated characteristic of length and
pheromone level.

A generic framework for population-based algorithms, implemented on multiple FPGAs 3
Algorithm stages
The different specific algorithms each exhibit six clearly distinct stages, comprising a
generation. These are generalised as:
1. Create : make novel members of the population
2. Evaluate : evaluate each individual for its affinity to the solution
3. Test : test if some termination condition has been met
4. Select : select certain individuals from the current generation, based on their affinity, to
be used in the creation of the next generation
5. Spawn : create new individuals for the next generation
6. Mutate : change selected individuals
We describe each of these stages, covering the generic properties, and how they are
instantiated for each specific class of algorithm. Using this framework results in
descriptions that sometimes differ from, but are equivalent to, the traditional descriptions
of the algorithms. For example, rather than saying that some individuals survive from
generation to generation, for uniformity we consistently consider each generation to be a
completely fresh set of individuals, with some possibly being copies of previous
generation individuals. As another example, the pheromone changes in the Ant algorithm
is mapped to the generic mutate step.
Create
Creation makes novel members of the populations. In the first generation, the whole
population is set up, and the members have their characteristics initialised. On subsequent
generations, creation “tops up” the population with fresh individuals, as necessary.
GA: an individual chromosome is created usually with random characteristics, giving a
broad coverage of the search space
AIS negative selection : an individual antibody is created usually with random shape
receptors
AIS clonal selection : an individual antibody in the main population is created usually
with random shape receptors; memory cells are not created, rather they are spawned from
the main population
Swarms : an individual boid is created usually with random position and velocity
characteristics, giving a broad coverage of the search space; the neighbourhood
characteristic is usually set to implement a ring, grid or star connection topology
Ants : each path step is initially set up usually with a fixed pheromone level, and with
the relevant (fixed) path length; the population of paths is created by the ants from these
steps each generation

4
Evaluate
The affinity measures how well each individual solves (part of) the problem. It is a user-
defined function of (some of) an individual’s characteristics. This function should ideally
(but does not always) have the structure of a metric over the space defined by the
characteristics.
GA : the affinity is the fitness function, a function of the values of the genes
AIS : the affinity is a measure of how closely the shape receptors complement the
target of recognition, inspired by the “lock and key” metaphor
Swarms : the affinity, or fitness function, is a function of the current position
Ants : the affinity is the (inverse of the) path length
Test
The test for termination is either (a) a sufficiently good solution is found, or (b) enough
generations have been run without finding a sufficiently good solution. On termination,
the solution is:
GA, Swarms, Ants : the highest affinity (fittest) individual
AIS negative selection : the set of individuals with above-threshold affinities
AIS clonal selection : the population of memory cells
Select
High affinity individuals are selected to contribute somehow to the next generation’s
population. There are several selection algorithms commonly used. n best selects the n
highest affinity individuals from the current population. Threshold selects all the
individuals with an affinity greater than some given threshold value. Roulette wheel
selection randomly chooses a given number of individuals, with probability of selection
proportional to their affinity, or to their ranking. Tournament randomly selects teams of
individuals, and then selects a subset of individuals from each team.
GA : different variants use any of the above methods of selection, to find the parents
that will produce the next generation
AIS negative selection : threshold selection is used to find the next generation
AIS clonal selection : a combination of n best and threshold selection is used to find
the next generation of the main population; all individuals of the memory cell population
are selected to become the basis of its next generation
Swarms : all individuals are selected to become the basis of the next generation
Ants : no individuals are specifically selected to become the next generation: each
generation is created afresh from the path steps (whose characteristics are changed by the
mutate step)

A generic framework for population-based algorithms, implemented on multiple FPGAs 5
Spawn
Production of new individuals for the next generation usually involves combining the
characteristics of parent individuals from the selected population (ants are a special case).
GA : the characteristics of pairs of selected parents are combined by using a crossover
mask (predefined or randomly generated) to generate two new individuals. If the
crossover mask is set to the identity, then the two new individuals are clones of the two
parents.
AIS negative selection : the selected parents become the basis of the new generation
(which is topped up to the population size by creating sufficient new individuals). If the
threshold is a constant value throughout the run, this has the effect that an individual, once
selected, continues from generation to generation, and only the newly created individuals
need be evaluated.
AIS clonal selection : in the main population new individuals are spawned as clones of
each parent, with the number of clones being produced proportional to the parent’s
affinity; in the memory cell population, the selected parents become the basis of the new
generation, and a new individual is spawned, as (a copy of) the best individual of the main
population.
Swarms : a new individual is spawned from the sole parent and the highest affinity
individual in that parent’s neighbourhood group, with the intention of making the new
individual “move towards” the best neighbour. The new position is derived from the
parent’s position and velocity, the velocity is modified to point towards the best
neighbour, and the neighbourhood group is copied from the parent.
Ants : no individuals are specifically spawned for the next generation: each generation
is created afresh from the path steps (whose characteristics are changed by the mutate
step)
Mutate
Mutation involves altering the characteristics of single individuals in the population. It
would be possible to unify spawning and mutation into a single generate stage, but since
most algorithms consider these to be separate processes, we have followed that view,
rather than strive for total generality at this stage. The mutation rate might be globally
random, or based on the value of a characteristic or the affinity of each individual. How a
characteristic is mutated depends on its type: a boolean might be flipped, a numerical
value might be increased or decreased by an additive or multiplicative factor, etc.
GA, Swarms : individuals are mutated, usually randomly, in order to reintroduce lost
values of characteristics; evolutionary strategy algorithms encode mutation rates as
characteristics
AIS negative selection : no mutation occurs. (That is, the next generation consists of
copies of the selected above threshold individuals, topped up with newly created
individuals. An alternative, but equivalent, formulation in terms of this framework would

Citations
More filters
Journal ArticleDOI

Application areas of AIS: The past, the present and the future

TL;DR: This paper attempts to suggest a set of problem features that it believes will allow the true potential of the immunological system to be exploited in computational systems, and define a unique niche for AIS.

Application areas of AIS: the past, present and future.

Emma Hart, +1 more
TL;DR: In this paper, the authors take a step back and reflect on the contributions that the Artificial Immune Systems (AIS) has brought to the application areas to which it has been applied, and suggest a set of problem features that they believe will allow the true potential of the immunological system to be exploited in computational systems.
Journal ArticleDOI

Artificial immune systems---today and tomorrow

TL;DR: It is argued that the field of artificial immune systems (AIS) has reached an impasse, and a number of challenges to the AIS community can be undertaken to help move the area forward.
Journal ArticleDOI

An interdisciplinary perspective on artificial immune systems

TL;DR: It is argued that AIS are much more than engineered systems inspired by the immune system and that there is a great deal for both immunology and engineering to learn from each other through working in an interdisciplinary manner.
Book ChapterDOI

Application areas of AIS: the past, the present and the future

TL;DR: This paper attempts to take stock of the application areas that have been tackled in the past, and ask the difficult question “was it worth it ?”, and suggests a set of problem features that it is believed will allow the true potential of the immunological system to be exploited in computational systems, and define a unique niche for AIS.
References
More filters
Journal ArticleDOI

Swarm Intelligence: From Natural to Artificial Systems

Barbara Webb
- 01 Jun 2002 - 
TL;DR: This book provides fairly comprehensive coverage of recent research developments and constitutes an excellent resource for researchers in the swarm intelligence area or for those wishing to familiarize themselves with current approaches e.g. it would be an ideal introduction for a doctoral student wanting to enter this area.
Book

Artificial Immune Systems: A New Computational Intelligence Approach

TL;DR: The AIS in Context with Other Computational Intelligence Paradigms and Case Studies shows how the immune system in context with other biological systems and other paradigms has changed since the 1970s.
Book

Communicating sequential processes

TL;DR: It is suggested that input and output are basic primitives of programming and that parallel composition of communicating sequential processes is a fundamental program structuring method.
Book

Artificial Immune Systems: A New Computational Intelligence Paradigm

TL;DR: The best ebooks about Artificial Immune Systems A New Computational Intelligence Paradigm that you can get for free here by download this artificial immune systems A new computational intelligence Paradigm and save to your desktop.
Journal ArticleDOI

FPGA and CPLD architectures: a tutorial

TL;DR: This tutorial surveys commercially available, high-capacity field-programmable devices and describes the three main categories of FPDs: simple and complex programmable logic devices, and field- programmable gate arrays.