Nature-inspired computing technology and applications
P Marrow
Increasing demands upon current computer systems, along with technological changes, create a need for more flexible and
adaptable systems. Natural systems provide many examples of the type of versatile system required. This paper reviews
examples of nature-inspired computing, drawing inspiration from many different areas of living systems including evolution,
ecology, development and behaviour. The implications for the future development of computing technology and applications
are also discussed.
1.
Introduction
urrent computer systems are used in diverse and complex ways, and are interconnected to a higher degree
than ever before. The rise of eCommerce applications based
upon the Internet makes such interconnection even more
significant. Distributed computer systems of this sort
depend upon effective communications, and modern
telecommunications themselves could not function without
the use of powerful computing devices.
include social insect colonies, mammalian nervous systems,
and temperate woodland communities [3].
Such distributed systems need to be highly flexible and
adaptable, to cope with the changing demands placed upon
them over time. However, the way in which they have
typically been constructed is often very inflexible and
centralised. This arises for a number of reasons:
•
C
•
•
•
the need for clear control of the operation of the
system,
the requirement for an exact specification of what
needs to be built in the first place,
because this has been in the past the way that
traditional systems were built.
However, centralised, top-down control of this form has
resulted in a number of technical problems, sometimes with
substantial consequences, due to the failure to adapt to
changing circumstances [1, 2].
Such centralised control contrasts strongly with the
situation in the natural world. Natural systems are typically
characterised by a great degree of complexity, at various
levels of description. This complexity means that the
behaviour of natural systems may appear unpredictable and
imprecise, but at the same time living organisms, and the
ecosystems in which they are found, show a substantial
degree of resilience. Examples of such resilient systems
This resilience arises from several sources:
•
•
•
firstly, because of the large number of elements in each
system (which may be individual animals, cells or even
macromolecules within a cell), each of which may be
interchangeable for another,
secondly, because of the loose but flexible
interconnections between elements, allowing transfer
of tasks between entities, and communication
throughout the system,
thirdly, because of the differences between elements in
the system, allowing a diversity of responses to a
changing environment,
finally, because of the resulting complex environment
that all the interacting parts produce, which stimulates
diverse responses from living organisms.
The ideal situation would be if these characteristics
were able to contribute positively to the improvement of
computer systems.
The desire to achieve this has led many computing
researchers to look to natural systems for inspiration in the
design of computer software and hardware [4—6]. Their
sources of inspiration come from many aspects of natural
systems — evolution [7], ecology [8], development [9], cell
and molecular phenomena [10], behaviour [11], cognition
and neurosystems [12], and other areas. Rather than
resulting in esoteric academic research, these natureinspired techniques have led to applications in many
different areas including networks [13], data mining [14],
and many others. This paper will give an overview of the
BT Technol J Vol 18 No 4 October 2000
13
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
field of nature-inspired computing by considering the
different sources of inspiration in turn. On the way, some of
the applications that have arisen will be discussed.
Particular aspects of the nature-inspired computing field
will be addressed in more detail in companion papers; still
other papers will focus on particular application areas.
2.
initialise population
evaluate fitness
of individuals
Evolutionary systems
select individuals
for reproduction
according to fitness
O
ne of the primary sources of inspiration from nature has
been evolution. Evolution has been clearly identified
as the source of many diverse and creative solutions to
problems in nature [15, 16]. However, it can also be useful
as a problem-solving tool in artificial systems [17]. There is
also the possibility of simulating living systems, and
particularly their evolution, in computer software.
Computer scientists and other theoreticians realised that the
selection and mutation mechanisms that appear so effective
in biological evolution could be abstracted so as to be
implemented in a computational algorithm.
There are two main strands to evolutionary systems in
computing. On the one hand, there are the systems where
the interest is in the algorithm which implements evolution,
and the use of this algorithm for problem solving — this is
the field of evolutionary computation. On the other hand,
there is a community of researchers who are fascinated by
the complexity of living systems, and seek to recreate these,
or at least the major features of these, by simulation on
computers — this is the field of artificial life [4].
2.1
14
Evolutionary computation
Evolutionary algorithms are based upon a number of
fundamental principles (Fig 1). The algorithm operates on a
set of individuals, called a population. In the natural world
an ‘individual’ is an organism with an associated fitness. In
evolutionary algorithms an ‘individual’ is a candidate
solution to a defined problem. The number of individuals
varies between different implementations and may vary
through time during the implementation of the algorithm.
Each individual possesses some characteristics that are
defined through its genotype, its genetic composition. These
characteristics may be passed on to descendants of that
individual. Processes of mutation (small random changes)
or crossover (generation of a new genotype by the
combination of components from two individuals) may
occur, resulting in new individuals with different genotypes
that are descendants of the original individuals. New
individuals may modify or completely replace the original
ones. These processes repeat iteratively, resulting in the
modification of the characteristics of the population. Which
members of the population are kept, or are used as parents
for offspring, will often depend upon some external
characteristic — this is the fitness function of the population
and it is this which enables improvement to occur. This
corresponds to the fitness of an organism in the natural
BT Technol J Vol 18 No 4 October 2000
combine parent
genotypes to produce
offspring
replace parents
with offspring
no
yes
output
results
terminate?
Fig 1
Structure of an evolutionary algorithm.
world. The whole process has a stochastic component that
allows exploration of different solutions.
There are three main strands of what has come to be
called evolutionary computation research. The first follows
Holland [18] — this is the area of genetic algorithms. A
second strand was initiated by several German engineers
[19] — this area, evolution strategies, focuses strongly on
engineering applications. A third strand, evolutionary
programming [20], originally developed from machine
intelligence motivations, and is related to the other two.
Genetic algorithms (GAs) implement a population of
individuals, each of which possesses a genotype that
encodes a candidate solution to a problem. Typically
genotypes were encoded as bit-strings, but other encodings
have been used in later developments of GAs. Mutation and
crossover, along with selection, are used to choose a
solution to a problem. Genetic algorithms probably
represent the most active and populated division of
evolutionary computation research — as well as a number
of books [21, 22], they have stimulated several major
conferences in the area [7, 23]. Also, as will be discussed
below, they have resulted in many applications in widely
differing domains.
Evolutionary strategies (ES) arose out of an attempt by
several German civil engineers to understand a problem in
hydrodynamics [24]. Evolutionary strategies differ from
GAs in operating on real-valued parameters, and
historically they have tended not to use crossover as a
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
variational operator, only mutation. However, mutation
rates have themselves been allowed to adapt in ES, which is
not often the case with GAs. Evolution strategies have also
been used for many applications.
Evolutionary programming (EP) arose distinctly from
the other two strands of evolutionary computation, out of an
attempt to understand machine intelligence through the
evolution of finite state machines. EP emphasises the
evolution of the phenotype (instance of a solution) rather
than the genotype (genetic material) of individuals, and the
relation between the phenotype of parents and offspring.
Crossover is not used. Thus EP has some differences in
approach from the other major strands of evolutionary
computation research. However, there have been many
overlaps between the different fields and it too has been
applied in many areas.
Apart from the three main strands of evolutionary
computation research there are several other types of
algorithm worth considering. Genetic programming (GP)
[25] can be considered as a variant of genetic algorithms
where individual genotypes are represented by executable
programs. Specifically, solutions are represented as trees of
expressions in an appropriate programming language. The
function of a genetic programming algorithm then is to
evolve the most effective program for solving a particular
problem. Learning classifier systems (LCSs) [26] are
another variant of genetic algorithms where the emphasis is
on rule-based machine learning. Here the issue is improving
a control problem by iteratively learning about errors of the
control rules already used. For more information, see
Kinnear et al [26]. In addition, so-called hybrid genetic
algorithms are often used, which are based upon a particular
variant of evolutionary algorithm, but are modified by the
inclusion of other heuristics usually not based upon nature,
and often domain specific. The paper by He and Mort [27]
uses such hybrid techniques.
2.2
applications to telecommunications problems, e.g. network
design, network routeing, network restoration, wavelength
allocation, frequency assignment. For references to
particular examples, see Smith [30] and Sinclair [31].
Researchers at, or collaborating with, BT have been
working on a number of different applications described
elsewhere in this issue.
Firstly, evolutionary algorithms have been used to
design new networks. Poon et al [13] describe a networkplanning tool that successfully uses a genetic algorithm to
design cost-effective networks. A related issue is how to
develop or extend existing networks. Shipman et al [32]
present an algorithm which uses a genetic algorithm to
modify rules that describe the growth of a network. This
algorithm predicts the manner in which the dial-up IP
access network should be expanded to cope with rapidly
increasing customer demand.
Given an existing network, there is the question of how
to route traffic across the network so as to efficiently use the
resources available without causing congestion, and in spite
of changing customer demand. This type of complex,
unpredictable problem is most appropriate for an
evolutionary algorithm solution. He and Mort [27] apply a
hybrid genetic algorithm to the construction of back-up
routes for a telecommunications network. Knowles et al
[33] investigate off-line routeing using a multi-objective
evolutionary algorithm.
Problems in computing which relate to telecommunications applications are also discussed in companion
papers — Oates [34] considers allocation across distributed
databases using genetic algorithms, and Bonsma [35]
studies the role of evolutionary algorithms in effective
information filtering. These papers give an overview of the
type of problems for which evolutionary algorithms can be
useful, and highlight some recent successes of using these
techniques.
Applications of evolutionary computation
2.3
The application domains of evolutionary computation
have been, and remain, wide. One strand of evolutionary
computation research was begun specifically in order to
solve particular engineering applications (evolution
strategies). General surveys of the range of applications of
evolutionary computation are available in several places —
the Handbook of Evolutionary Computation [28], the
EvoNet Web site [29], books [21, 22], survey papers [30,
31], conferences [7, 23].
This paper is concerned in particular with applications
relevant both to telecommunications, and to those areas of
computational technology which are related to
telecommunications. Several reviews of telecommunications applications of evolutionary algorithms are available
[30, 31]. These papers identify several major categories of
Evolutionary computation research
Many important questions remain to be answered in
understanding the performance of evolutionary algorithms.
A substantial part of the academic research effort in the
field focuses on understanding the general principles by
which they operate, indeed the Foundations of Genetic
Algorithms conference series [36] focuses on this issue in
particular. There is insufficient space here to discuss the
issues in detail; however, the concept of evolvability is
worth mentioning [37] — the capacity of evolutionary
systems to evolve. Natural systems (i.e. living things) seem
to be rather good at evolving — evolutionary algorithms
less so, in terms of the complexity of the solutions they
produce. Improved understanding of evolvability promises
to shed more light on how to ensure evolutionary algorithms
solve a more diverse range of real-world problems.
BT Technol J Vol 18 No 4 October 2000
15
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
Several papers in this issue focus on some of the
research questions surrounding the application of
evolutionary algorithms [38—43]. One of the perennial
problems of using evolutionary algorithms is the need to
write tailor-made computer code for each problem that is
tackled. Bonsma et al [38] describe the Eos evolutionary
and ecosystem platform, a set of Java classes designed to
overcome this problem by offering a flexible framework for
the implementation of a wide range of evolutionary
algorithms, including the three major different strands
described above (GA, ES, EP). The Eos platform also
includes the capability to model ecological interactions, a
theme of nature-inspired computation that will be described
in more detail below. The Eos platform is expected to
provide a useful basis both for research into more effective
evolutionary algorithms, and for implementation of specific
problem-solving applications.
Other authors focus on specific research topics relating
to evolutionary methods. Shipman et al [39] investigate the
influence that redundancy in genotype-to-phenotype
mappings can have on artificial evolution; Tateson [40]
discusses computational systems inspired by development,
which can interact effectively with evolutionary change (see
also section 5, below). Kearney et al [41] consider the
application of evolutionary algorithms to adaptation in
multi-agent software systems where economic phenomena
also affect the system. This can lead to very different
evolutionary algorithms than in conventional evolutionary
computation. The above papers give a range of perspectives
on the frontier of evolutionary computation research, and
indicate some of the directions in which future applications
of evolutionary algorithms may arise.
3.
Artificial life
O
ther evolutionary systems have been developed which
do not fit easily into the evolutionary computation
framework. The field of artificial life developed as an
attempt to construct life in the computational realm. It does
not appear to have succeeded in this yet, in part because of
the extreme difficulty of defining what is meant by life. But
artificial life has been successful in exploring some aspects
of ‘life-as-it-could-be’ as opposed to ‘life-as-we-know-it’
[42]. In doing so it has tended to a synthetic approach rather
than the analytic approach taken in biology and most other
sciences, and one important phenomenon is that of
emergence — where overall properties of a system arise
from the interaction of many sub-units [43]. As computer
systems have increased in capability to deal with
complicated systems in realistic time-scales, artificial life
systems have allowed advances in evolutionary
computation, the modelling of complex systems, and the
simulation of ecological and behavioural systems.
16
Artificial life has drawn upon evolutionary computation,
ecology, neural modelling and many other features of
BT Technol J Vol 18 No 4 October 2000
biological systems, and in doing so it has resulted in a
diversity of simulations, showing some aspects of living
things [4, 42, 44].
Because of the diverse sources of inspiration upon
which artificial life systems draw, it is difficult to point to a
set of characteristics which all artificial life systems will
have, unlike the major evolutionary computational systems
discussed above. Maybe for this reason, artificial life has
been a less strong source of applications than evolutionary
systems per se. However, it is possible to identify several
applications inspired by artificial life ideas — the system
discussed by Hoile and Tateson [45] draws upon both
evolutionary and morphogenetic ideas in simulating a
developing multi-cellular structure; the Eos evolutionary
and ecological research platform [38] allows the simulation
of complex environments and ecosystems as well as
evolutionary algorithms; Shipman et al [32] use both
development and evolution combined to grow telecommunications networks. Many of the other innovations
mentioned in the following sections can be argued as falling
within the field of artificial life, as well as nature-inspired
computing, whether or not they include any evolutionary
component.
4.
Ecological systems
L
iving organisms exist in a web, or network, of
interactions with other organisms. The form of these
interactions is very familiar from everyday life; they include
feeding, co-operation and competition. Similarly,
computing and telecommunications technology is typically
organised into networks, with different types of interaction
between devices in the network; it is therefore not
surprising that comparisons have been drawn between
nature and technology.
Ecology is the scientific discipline concerned with the
study of living organisms in their environment, including
the interactions between them [46]. Living creatures are
organised into hierarchical structures of similar entities, of
which the biosphere is the largest unit, within which are
placed successively, ecosystems, communities, populations
and individuals. The ecosystem represents a collection of
populations and their non-living environment, and thus is an
appropriate unit with which to compare many computational networks.
Analogies between computational systems and natural
ecosystems have led to the concept of ‘computational
ecology’ [8] where the dynamics of interacting networks of
computers and associated devices are considered as an
entity, rather than focusing on the performance of individual
machines. This approach seems appropriate, given the great
interdependence of computing devices and the
communications systems that link them. The related
concept of ‘information ecosystem’ [47] emphasises the
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
information that is being transmitted between networked
devices, rather than the devices themselves, but reinforces
the dynamic nature of information flow. In sociology and
economics this area has become known as ‘artificial
societies’ [48] and in biology there is a parallel field of
‘individual-based modelling’ [49]. All these areas rely on
the simulation of many individuals in a web of interactions
akin to those in ecology, something which has only become
easily possible as the power of computers has increased. At
the same time it has become much more relevant as the
interconnection of computers themselves becomes ever
more complex.
Ecology has inspired computer systems in other ways.
One of the directions of the field of artificial life has been in
the development of computer systems inspired by ecology.
An early example was the ‘Echo’ system developed by
Holland [50]. This system models a 2-D space in which
agents move around. There are sources of food in the space
that agents must find, and the agents also have the capability
of interacting with each other in several ways (mating,
trading or fighting). Although not specifically oriented
towards applications, this type of architecture provides a
basis for thinking about ways of making diverse and
flexible computer systems that may lead to applications in
the future.
For this reason functionality of this ecological type has
been included in the Eos evolutionary and ecosystem
platform developed by BT. The Eos platform is described
more fully elsewhere [38]. It was not thought appropriate to
include evolutionary functionality without some capability
for ecological interaction as well. Several other papers
report on the use of inspiration from ecological systems;
Marrow and Ghanea-Hercock compare mobile agents with
social insects [51], drawing upon the role of social insects as
producers and consumers in natural ecosystems, while
Marshall and Roadknight [52] report on a model of an
active network which draws upon the ecology of bacteria.
5.
Developmental and cellular systems
C
omplex living organisms such as humans develop from
very simple single-cell origins into complicated
multicellular creatures [53]. This process of development is
analogous to the process of evolutionary change that has
produced current life on earth; hence it is not surprising that
biological development has also inspired computer systems.
Development is in many ways a very appropriate source of
computational algorithms, because it incorporates substantial flexibility along with robustness that means that it is
relatively stable to perturbation, while providing the means
to generate complex structures.
Development has been used in a variety of
computational applications; these will not be reviewed in
detail here as they are covered in a companion paper [40].
Instead here are a few examples. The first [9] uses a process
found in the development of the abdominal bristles of the
fruit fly Drosophila to allocate channels for a cellular
telecommunications network. The arrangement of bristles
on the abdomen of Drosophila is such that not every cell on
the back of the fly can generate a bristle; there is not enough
space. Instead cells that develop bristles inhibit the further
development of neighbouring cells, and out of these local
interactions the appropriate pattern of bristles is generated.
This pattern of inhibition of neighbouring cells is
appropriate to the prevention of interference in mobile
telephone networks, and is currently being developed for
application to real-world mobile networks.
Biological development has inspired other computing
and telecommunications applications, for example
evolutionary optimisation techniques which draw upon
aspects of the developmental process, as used by Shipman
et al [32] to assist in the planning of the growth of the dialup IP network.
The ability of a cellular organisation to act as a
generalised template for recognition of entities enables the
immune system of higher organisms such as humans to
recognise and deal with external invaders, with usually
positive effects on health and survival. In the networked
computer environment, where systems may face a multitude
of external inputs, possibly malicious, it is not surprising
that analogies from the immune system have been used in
the context of security [54]. There is much more to do in
this area considering the complexity of natural immune and
developmental systems, where more is being discovered
almost continually.
6.
Molecular systems
B
eneath the developmental and cellular level in living
organisms there is a great deal of complexity within
cells, at the level of organelles (parts of cells) and
molecules. This type of diversity can and has been exploited
in computational systems, with no fear of contradiction in
combining it with metaphors derived from organisation on a
larger scale.
One area of inspiration from molecular systems has
been in the development of computing based upon
substrates other than silicon, as at present. In particular,
molecular computing [10] seeks to use molecular substrates
for computing, because of the potential advantages of gains
in miniaturisation and speed from information processing
down at the molecular level. While a substantial amount of
theory and simulation of molecular computing systems has
been done, it has proved more difficult to implement
molecular computing systems in the laboratory.
A possible exception is provided by DNA computing
[55—57]; as the name suggests, this is a branch of
BT Technol J Vol 18 No 4 October 2000
17
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
molecular computing in which the substrate for information
storage and retrieval is DNA. A ready-made set of tools
exists for the manipulation of information in DNA in the
form of the restriction enzymes used in genetic
manipulation. The procedures used can be adapted to carry
out optimisation tasks, such as the directed Hamiltonian
path problem [55]; while current laboratory techniques
mean that solving this problem currently takes much longer
than conventional computing, improvements can be
expected in the future.
Other studies have looked at ways of implementing
molecular-like phenomena in software, in order to gain the
potential advantages of molecular computing without
having to put up with the difficult substrates. An example is
the Information Chemistry system [58]. This comprises an
environment in which information, in the form of simulated
strings of molecules of different length, and enzymes which
can break or join these molecules, are found. The molecules
represent numbers, and by interaction with the enzymes
moving randomly throughout the space, they can be sorted.
This demonstrator shows the basic principles of the system;
it would be possible to include many other types of
information in the molecules, and thus adapt the algorithm
to other uses.
Molecular biology has inspired other areas of
computational research, such as artificial metabolisms and
algorithmic chemistries [59, 60]. These mainly theoretical
areas of research have not to date led to many real-world
applications, but may in the longer term give us more
insight into how to use systems inspired by molecular
interactions for practical problem-solving.
7.
Behaviour-inspired systems
B
ehaviour is a feature of living systems that makes them
instantly distinguishable from most inanimate objects
[61]. In nature-inspired computing research and associated
applications, this distinction is blurred — software systems
can appear to carry out behaviour, and robots can show
behaviour in the external world. This is not surprising since
the nature-inspired computing field has to a large extent
developed out of the much older field of artificial
intelligence, itself inspired by the ideal of reproducing
human intelligence by artificial means. One component of
research in behaviour-inspired systems has been to go to the
neural basis of behaviour and work on neural networks and
related algorithms intended to mimic aspects of the
cognitive basis of behaviour. This will be discussed below.
Another strand has focused more on implementing the
behaviour without making assumptions about the cognitive
architectures that underlie it — this aspect is considered
here.
18
Behaviour-based systems can be considered on several
levels. Excluding systems based on neural or other
BT Technol J Vol 18 No 4 October 2000
cognitively inspired models, there are at least three types.
Firstly, there are the software systems that replicate aspects
of human behaviour without considering any aspects of the
internal states of the entities visualised as carrying out the
behaviour. Here the behaviour-based aspects are only seen
through the execution of the software; the instantiation of
the software is largely independent of the implementation.
Secondly, there are software systems that simulate
behavioural entities where the behaviour is affected by the
internal state of the entity. These can be described as
‘software agents’, although this phrase has many definitions
associated with it. Finally, there are systems where the
behaviour is implemented in the physical world based on
motors and sensors, and it arises from some internal state
encoded in software on board the entity; this is the realm of
mobile robotics. Next software-based systems without
internal state are considered before moving on to software
agents and mobile robots.
The implementation of behaviour in software has been
one of the aims of biologically inspired computing since its
origin, but especially since the development of the field of
artificial life. One of the features of living systems that
artificial life seeks to reproduce is the movement and
dynamic interaction of many entities. In pursuit of these
aims researchers developed such systems as ‘Boids’, a selforganising software system which simulates the flocking
behaviour of birds. These ideas have applications beyond
the merely visual; Proctor and Winter [11] developed an
algorithm they called ‘information flocking’ which uses
similar ideas, but links individual entities to information in a
database. From the aggregation of groups of individuals
representing clusters of information, users of the system can
get a rapid and intuitive view of associations among the
data. This system is a useful addition to the data mining
tools that are required to understand the mass of data that
arises in current telecommunications and computing
systems.
Other researchers have focused more on the behaviour
of individual animals. Sims [62] used a powerful computer
to simulate the physical forces arising from the movement
of simulated creatures made of blocks. He then used an
evolutionary algorithm to evolve movement behaviours in
these creatures. It was possible in relatively few generations
to evolve recognisable swimming motions, even though the
anatomy of these creatures did not permit swimming in the
manner seen in conventional aquatic organisms.
Terzopoulos and colleagues [63] have adopted a related
approach, but based on sophisticated computer graphics
simulating living organisms. They are able to evolve
movement in simulation that is similar to that seen in the
natural world.
For many business applications of computing, the
interaction of a human being with the application is crucial.
For this reason much attention has been paid to the
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
simulation of human beings, and particularly human faces,
in order to provide a human-like interface with which
people can feel more at home. Related developments
include software ‘avatars’ which visualise entire people
within virtual environments. In the longer term these
graphical technologies may provide a means for very
general interaction between customers and computer
systems working on behalf of businesses, complementing
face-to-face or telephone interaction.
Software avatars and other visualisations of human
actors in software may be indistinguishable from
computational entities — at least to the superficial external
observers. In such a case the software entities involved may
behave according to their internal state, which may be
modified as they interact with other entities in the system.
These computational entities can be described as software
agents, a rapidly growing class of biologically inspired
software which is considered next.
7.1
Software agents
Software agents are software entities that carry out
activities to some degree autonomously from human
management. However, they are more than this [64, 65] —
they have some social ability, so they can interact with other
agents; they can react to external events; they have some
degree of proactivity, so they can modify their behaviour in
anticipation of external events. This comprises what has
been called a weak definition of a software agent [64]; other
definitions exist which are more or less restrictive. Other
authors consider software agents as a sub-class of
autonomous agents, a category that includes robots [66].
The ability of software agents to act somewhat
autonomously links them with living animals and humans,
so they seem appropriate for discussion under natureinspired computing.
Within the class of software agents there are a number
of categories of entity which are often considered.
Intelligent agent is often used as a synonym for software
agent, although some definitions of the latter would allow
agents without intelligence. Reactive agents emphasise
action in response to stimuli at the expense of other agent
properties. Mobile agents are software agents that can move
between machines across a network. In many cases the
emphasis is on the interaction between a number of similar,
but typically heterogeneous, agents, in a multi-agent system
(see, for example, Ferber [67]). In this paper there is
insufficient space to discuss the software agent field in any
detail; for more information and detailed overviews of the
state of software agent technology and research, a number
of books and papers are available [64, 65].
Two previous issues of this journal have considered
software agents; that edited by Azarmi et al [68] surveys
work done in BT’s Intelligent Systems group on agent
systems for computing and telecommunications
applications; that edited by O’Brien and Kearney [69]
reviews the application of multi-agent systems to
organisational and business management issues. These
publications give a thorough overview of recent work on
agents technology carried out by BT researchers and their
academic collaborators. The current issue is intended to
complement them by covering a wide range of additional
computational techniques inspired by nature — hence only
two papers address aspects of agent technology. Marrow
and Ghanea-Hercock [51] consider how the capabilities of
mobile agent systems can be enhanced by drawing
inspiration from the behaviour of social insects; and
Kearney et al [41] present a multi-agent system in which
both economic and genetic mechanisms are used to evolve
interactions between the agents. These two papers are
intended to give some indication of the potential for fruitful
interaction between the software agents and nature-inspired
computing fields, and it is expected that such interaction
will become more widespread in the future, as both
computer technology improves, and networked applications
become more widespread.
7.2
Robotics
The term robot has referred to an autonomous, often
human-like machine in fiction for longer than computer and
hardware technology has allowed real robots to be
constructed. However, computer hardware, and electrical
and electronic engineering technology is now at a stage
where mobile robots can be constructed relatively easily,
and can be used to test many issues in nature-inspired
computing. Although many other types of robots now exist,
for instance those used in manufacturing or in leisure
applications, the discussion here emphasises autonomous
robots, for it is these which are being used to address the
fundamental issues of robotics research, and where there is
the strongest link to nature-inspired computing. In some
cases such autonomous robots use evolutionary techniques
to adapt their behaviour to a changing environment; this is
the field of evolutionary robotics [70].
Modern robots are typically not humanoid (Fig 2), since
this configuration is not efficient for the type of hardware
used in these machines. Although the external structure of a
robot often does not give any indication of being natureinspired (Sony’s AiboTM [71] pet robot is an exception),
robots are important platforms for testing many hypotheses
in nature-inspired computing. This is because robots are
situated in the physical world, unlike software agents.
Typically, they have actuators which enable them to move
about (the qualifier mobile is often unnecessary), and
sensors which enable them to perceive something about
their environment. An analogy can be drawn between these
capabilities and muscles/limbs (equivalent to actuators) and
sense organs (equivalent to robot sensors). Exploration of
robot behaviour is therefore a way to learn about how computational entities can interact with the real physical world,
drawing upon the study of animals in the natural world.
BT Technol J Vol 18 No 4 October 2000
19
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
Fig 2
A mobile robot (reproduced by permission of Dr L Bull, University of the West of England).
However, current robots face considerable problems. To
robots, the physical world, even in extremely humanmodified form, such as an office, is very complicated.
Robots must learn to distinguish fixed obstacles, such as
desks, from mobile ones, such as humans, and must learn to
manoeuvre on different surfaces such as carpet and
concrete. This must be done in an environment where the
sensory input, such as light, sound and temperature varies
substantially over time and space. It is therefore not
surprising that many robots are restricted to arenas with
carefully controlled conditions, e.g. with uniform lighting.
It should not be assumed from this that research into
mobile robots has made no progress. Mobile robots have
been constructed which can carry out remarkable
behavioural feats under realistic conditions; for example,
Möller et al [72] describe a robot which uses a navigational
system based upon that of the desert ant Cataglyphis fortis
which can navigate effectively under similar conditions to
that of the living animal. Other adaptive robot systems have
been developed for such functions as sewer inspection [73],
and other applications that require autonomous behaviour in
difficult or hazardous environments.
20
There still remain substantial problems to be
surmounted. In pursuit of this, academic researchers in
collaboration with BT have been working on the issues
surrounding control systems for mobile robots. In this issue,
Smith and Philippides [12] introduce the additional
flexibility that can be supplied to neural network
architectures through the modelling of diffusion of nitrous
oxide as a regulator of neural function. This gas is known to
BT Technol J Vol 18 No 4 October 2000
be involved in the function of biological neurones, but only
recently has it been included as an additional feature in the
simulation of artificial neural networks. Such a flexible
mechanism may be very useful for the control of mobile
robots in complicated environments.
Robotics is a large field in itself, its intersection with
nature-inspired computing is only part of the subject, and
for that reason the treatment of the topic here must be brief.
Robotics may seem to be a long way from many of the
research and application areas discussed in this paper,
because it is concerned with implementation in the physical
world. Most of the other nature-inspired systems discussed
here or applied in telecommunications and/or computing are
implemented in software. However, addressing the
problems facing robots in the physical world may give
many insights into how to make intelligent and adaptive
behaviour-based systems with which people can easily
interact.
7.3
Cognitive and neural systems
A consideration of behaviour-based nature-inspired
systems such as software agents and robots leads logically
to the examination of the systems which lie behind
behaviour, that is to say neural systems and cognitive
architectures. Neural networks have been a vibrant field of
study for many years. Originally inspired by the
consideration of natural neurones, artificial neural networks
adopt models of neurones in software which are simpler
than real ones, but which turn out to be very useful for many
types of applications. Smith and Philippides [12] consider
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
neural networks in the context of control of mobile robots.
There are many other possible applications of neural
network technology — Mehrotra et al [74] provide an
introductory text that gives more details.
8.
Acknowledgements
I
thank the other members of BT’s Future Technologies
group for many fruitful discussions and comments on the
topics covered here. I would also like to thank Larry Bull
for suggesting the image used for Fig 2.
The future
I
t is always easy to write something about the future but
difficult to write something that will stand the test of
time. The telecommunications industry is currently in a
state of dramatic change — the increasing importance of
mobile, data, broadband and other telecommunications
technologies indicates the relevance of novel and radical
techniques to tackle the problems that arise in these areas.
At the same time, the convergence of telecommunications
and computing makes methods developed in computing
research important for telecommunications applications.
This paper has shown that nature-inspired computing can
provide a range of inspiration and approaches to problem
solving for real problems in industry. In many cases natureinspired techniques have already gone from being marginal
research tools to components of realistic applications. At the
same time it must be conceded that many of the areas
discussed here require further investigation before they can
be widely used in applications, e.g. mobile robotics. In
consequence, nature-inspired computing remains an active
area of research, and will continue to be so for some time.
If any conclusion can be drawn about future
developments, it is that computing and telecommunications
systems will tend to become more complicated, while at the
same time user requirements will force them to become
more adaptable and versatile.
References
1
Lin H: ‘The development of software for ballistic-missile defense’,
Scientific American, 253, No 6, pp 32—39 (1985).
2
European Space Agency Board of Inquiry Report (1996) — http://
www.esrin.esa.it/htdocs/tidc/Press/Press96/ariane5rep.html
3
Begon M, Harper J L and Townsend C R: ‘Ecology: individuals,
populations and communities’, Blackwell Scientific, Oxford (1990).
4
Langton C G (Ed): ‘Artificial Life’, Addison Wesley, Redwood City
(1987).
5
Floreano D, Nicoud J-D and Mondada F (Eds): ‘Advances in Artificial
Life: Proceedings of the 5th European Conference on Artificial Life
(ECAL’99)’, Springer, Berlin (1999).
6
Eiben A E, Bäck T, Schoenauer M and Schwefel H-P (Eds): ‘Parallel
problem solving from nature — PPSN V’, Springer, Berlin (1998).
7
Banzhaf W, Daida J, Eiben A E, Garzon M H, Honavar V, Jakiela M
and Smith R E (Eds): ‘GECCO-99: Proceedings of the Genetic and
Evolutionary Computation Conference’, Morgan Kauffman, San
Francisco (1999).
8
Huberman B (Ed): ‘The Ecology of Computation’, North-Holland,
Amsterdam.
9
Tateson R: ‘Self-organising pattern formation: fruit flies and cell
phones’, in Eiben A E, Bäck T, Schoenauer M and Schwefel H-P (Eds):
‘Parallel problem solving from nature — PPSN V’, pp 732—741,
Springer, Berlin (1998).
10 Conrad M: ‘Molecular computing’, Advances in Computers, 30, pp
235—324 (1990).
A possible example of this trend is in the increasing
sophistication of mobile phones and other handheld devices,
a trend likely to be accelerated by the forthcoming third
generation of mobile devices using the UMTS standard. As
systems change in this way, they will become more like the
complex systems already seen in nature, and the need to
hide most of this complexity from the user will increase. In
such circumstances the use of nature-inspired techniques
promises substantial benefits.
9.
T
Conclusions
his paper has shown that nature-inspired computing,
although often considered a marginal area of current
computing research, is active in a number of different areas
inspired by different aspects of biological systems.
Although many of these areas represent the cutting edge of
computing research, at the same time they have led to a
number of significant applications to telecommunications
and related computing technologies. These applications
demonstrate the importance of the continuing research
effort in this area, which points the way towards further
useful applications in the future.
11 Proctor G and Winter C: ‘Information flocking: data visualisation in
virtual worlds using emergent behaviours’, Proceedings of Virtual
Worlds 1998, (1998).
12 Smith T and Philippides A: ‘Nitric oxide signalling in real and artificial
neural networks’, BT Technol J, 18, No 4, pp 140—149 (October
2000).
13 Poon K F, Conway A, Wardrop G and Mellis J: ‘Successful application
of genetic algorithms to network design and planning’, BT Technol J,
18, No 4, pp 32—41 (October 2000).
14 Coker P and Tateson R: ‘Data chromatography’, in: ‘Practical
Application of Knowledge Discovery and Data Mining Conference’,
PADD99, pp 71—78 (1999).
15 Darwin C R: ‘The Origin of Species by Means of Natural Selection’,
Penguin, Harmondsworth (1859/1969).
16 Futuyma D: ‘Evolutionary Biology’, Sinauer, Sunderland (1986).
17 Bäck T, Fogel D and Michalewicz Z: ‘The Handbook of Evolutionary
Computation’, Institute of Physics, Bristol (1997).
18 Holland J: ‘Adaptation in Natural and Artificial Systems’, MIT Press,
Cambridge (1976).
19 Schwefel H-P: ‘Evolution and Optimum Seeking’, John Wiley, New
York (1995).
BT Technol J Vol 18 No 4 October 2000
21
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
20 Porto V W: ‘Evolutionary programming’, in Bäck T, Fogel D and
Michalewicz Z (Eds): ‘Handbook of Evolutionary Computation’,
Institute of Physics, Bristol (1997).
21 Goldberg D: ‘Genetic Algorithms in Search, Optimization and
Machine Learning’, Addison-Wesley (1989).
41 Kearney P, Smith R E, Bonacina C and Eymann T: ‘Integration of
computational models inspired by economics and genetics’, BT
Technol J, 18, No 4, pp 150—161 (October 2000).
22 Mitchell M: ‘An Introduction to Genetic Algorithms’, MIT Press,
Cambridge (1991).
42 Langton C G (Ed): ‘Artificial life: an overview’, MIT Press,
Cambridge (1995).
23 Porto V W (Ed): ‘Proceedings of the 1999 Conference on Evolutionary
Computation CEC99’, IEEE, Piscataway (1999).
24 De Jong K, Fogel D B and Schwefel H-P: ‘A history of evolutionary
computation’, in Bäck T, Fogel D and Michalewicz Z (Eds):
‘Handbook of Evolutionary Computation’, Institute of Physics, Bristol
(1997).
25 Koza J: ‘Genetic Programming: the programming of computers by
means of natural selection’, MIT Press, Cambridge (1992).
26 Kinnear K E Jr, Smith R E and Michalewicz Z: ‘Derivative methods’,
in Bäck T, Fogel D and Michalewicz Z (Eds): ‘Handbook of
Evolutionary Computation’, Institute of Physics, Bristol (1997).
27 He L and Mort N: ‘Hybrid genetic algorithms for telecommunications
network back-up routeing’, BT Technol J, 18, No 4, pp 42—50
(October 2000).
28 Beasley D: ‘Possible applications of evolutionary computation’, in
Bäck T, Fogel D and Michalewicz Z (Eds): ‘Handbook of Evolutionary
Computation’, Institute of Physics, Bristol (1997).
29 EvoNet Web page — http://www.dcs.napier.ac.uk/evonet/Coordinator/
evonet.html
30 Smith G D (Ed): ‘ECTELNET — Application of evolutionary
algorithms in the telecommunications domain: a preliminary report’,
ECTELNET Working Group report (1999).
31 Sinclair M C: ‘Evolutionary telecommunications: a survey’,
Proceedings of the GECCO-99 Workshop Program, Workshop on
Evolutionary Telecommunications: Past, Present and Future, Orlando,
USA, pp 209—212 (1999).
32 Shipman R, Botham P and Coker P: ‘Coupling developmental rules and
evolution to aid in planning network growth’, BT Technol J, 18, No 4,
pp 95—102 (October 2000).
33 Knowles J, Oates M J and Corne D W: ‘Advanced multi-objective
evolutionary
algorithms
applied
to
two
problems
in
telecommunications’, BT Technol J, 18, No 4, pp 78—84 (October
2000).
34 Oates M J: ‘Evolutionary algorithm performance profiles on the
adaptive distributed database management problem’, BT Technol J, 18,
No 4, pp 66—77 (October 2000).
35 Bonsma E: ‘A non-discrete approach to the evolution of information
filtering trees’, BT Technol J, 18, No 4, pp 122—128 (October 2000).
36 Foundations of Genetic Algorithms Conference 2000 (FOGA2000) —
http://www.aic.nrl.navy.mil/foga/
37 Marrow P: ‘Evolvability: evolution, computation, biology’,
Proceedings of the GECCO-99 Workshop Program, Workshop on
Evolvability, Orlando, USA, pp 30—33 (1999).
22
40 Tateson R: ‘The role of development in computational systems’, BT
Technol J, 18, No 4, pp 85—94 (October 2000).
43 Holland J H: ‘Emergence: from chaos to order’, Oxford University
Press, Oxford (1998).
44 Langton C G, Taylor C, Farmer J D and Rasmussen S (Eds): ‘Artificial
life II’, Addison Wesley, Redwood City (1992).
45 Hoile C and Tateson R: ‘Design by morphogenesis’, BT Technol J, 18,
No 4, pp 112—121 (October 2000).
46 Cherret M (Ed): ‘Ecological Concepts’, Blackwell Scientific, Oxford
(1989).
47 EU Future and Emerging Technologies proactive initiative on Universal Information Ecosystems — http://www.cordis.lu/ist/fetuie.htm
48 Epstein J M and Axtell R: ‘Growing Artificial Societies: social science
from the bottom up’, MIT Press, Cambridge (1996).
49 DeAngelis D L and Gross L J: ‘Individual-based Models and
Approaches in Ecology: populations, communities and ecosystems’,
Chapman and Hall, London (1992).
50 Holland J H: ‘Hidden Order: how adaptation builds complexity’,
Perseus Books, Reading (1995).
51 Marrow P and Ghanea-Hercock R: ‘Mobile software agents: insectinspired systems’, BT Technol J, 18, No 4, pp 129—139 (October
2000).
52 Marshall I W and Roadknight C: ‘Adaptive management of an active
service network’, BT Technol J, 18, No 4, pp 78—84 (October 2000).
53 Gerhart J and Kirschner M: ‘Cells, Embryos and Evolution’, Blackwell
Science, Oxford (1997).
54 Kephart J O, Sorkin G B, Swimmer M and White S R: ‘Blueprint for a
computer immune system’, in Dasgupta D (Ed): ‘Artificial immune
systems and their applications’, pp 242—261, Springer, Berlin (1998).
55 Adelman L M: ‘Molecular computation of solutions to combinatorial
problems’, Science, 266, pp 1021—1027 (1994).
56 Adelman L M: ‘On constructing a molecular computer’, in Baum E B
and Lipton R J (Eds): ‘DNA based computers’, pp 27—46, American
Mathematical Society (1995).
57 Amos M: ‘Theoretical and experimental DNA computation’, Bulletin
of the EATCS, 67, pp 125—138 (1999).
58 Shackleton M and Winter C: ‘A computational architecture based on
cellular processing’, in Holcombe M and Paton R J (Eds): ‘Information
processing in cells and tissues’, IPCAT98, pp 261—271 (1998).
38 Bonsma E, Shackleton M and Shipman R: ‘Eos: an evolutionary and
ecosystem research platform’, BT Technol J, 18, No 4, pp 24—31
(October 2000).
59 Bagley R J and Farmer J D: ‘Spontaneous emergence of a metabolism’,
in Langton C G, Taylor C, Farmer J D and Rasmussen S (Eds):
‘Artificial Life II’, pp 93—140, Addison Wesley, Redwood City
(1991).
39 Shipman R, Shackleton M and Harvey I: ‘The use of neutral genotypephenotype mappings for improved evolutionary search’, BT Technol J,
18, No 4, pp 103—111 (October 2000).
60 Fontana W: ‘Algorithmic chemistry’, in Langton C G, Taylor C,
Farmer J D and Rasmussen S (Eds): ‘Artificial Life II’, pp 159—210,
Addison Wesley, Redwood City (1991).
BT Technol J Vol 18 No 4 October 2000
NATURE-INSPIRED COMPUTING TECHNOLOGY AND APPLICATIONS
61 MacFarland D: ‘Animal Behaviour’, 3rd Edition, Longman, Harlow
(1999).
62 Sims K: ‘Evolving 3D morphology and behavior by competition’, in
Brooks R and Maes P (Eds), ‘Artificial Life IV’, pp 28—39, MIT
Press, Cambridge (1994).
63 Terzopoulus D, Tu X and Grzeszczuk R: ‘Artificial fishes: autonomous
locomotion, perception, behaviour and learning in a simulated physical
world’, Artificial Life, 1, pp 327—351 (1994).
64 Wooldridge M and Jennings N R: ‘Intelligent agents: theory and
practice’, Knowledge Engineering Review, 10, pp 115—152 (1995).
65 Nwana H S and Ndumu D T: ‘A perspective on software agents
research’, Knowledge Engineering Review, 14, pp 125—142 (1999).
66 Maes P: ‘Modelling adaptive autonomous agents’, in Langton C G
(Ed): ‘Artificial Life: an overview’, pp 135—162, MIT Press,
Cambridge (1995).
67 Ferber J: ‘Multi-Agent Systems: an introduction to distributed artificial
intelligence’, Addison Wesley, Harlow (1999).
68 Azarmi N, Azvine B, Ndumu D T and Lesaint D (Eds): ‘Towards
engineering intelligent systems’, BT Technol J, 16, No 3 (July 1998).
69 O’Brien P and Kearney P (Eds): ‘The emerging enterprise’, BT
Technol J, 17, No 4 (October 1999).
70 Floreano D: ‘Evolutionary mobile robotics’, in Quagliarelli D, Periaux
J, Poloni C and Winter G (Eds): ‘Genetic Algorithms in Engineering
and Computer Science’, John Wiley, Chichester (1997).
71 Sony AiboTM Web site — http://www.world.sony.com/Electronics/
aibo/top.html
72 Möller R, Lambrinos D, Pfeifer R, Labhart T and Wehner R:
‘Modelling ant navigation with an autonomous agent’, in Pfeifer R,
Blumberg B, Meyer J-A and Wilson SW (Eds): ‘From animals to
animats 5’, Proceedings of the fifth international conference on
simulation of adaptive behavior, pp 185—194, MIT Press, Cambridge
(1998).
73 Hertzberg J, Christaller T, Kirchner F, Licht U and Rome E: ‘Sewer
robotics’, in Pfeifer R, Blumberg B, Meyer J-A and Wilson S W (Eds):
‘From animals to animats 5’, Proceedings of the fifth international
conference on simulation of adaptive behavior, pp 427—436, MIT
Press, Cambridge (1998).
74 Mehrotra K, Mohan C K and Ranka S: ‘Elements of Artificial Neural
Networks’, MIT Press, Cambridge (1997).
Paul Marrow began his career as a biologist,
gaining an MA in Pure and Applied Biology
from Oxford University and DPhil in
Mathematical Biology from York University.
He held a Royal Society research fellowship
at Leiden University, before moving to
Cambridge University, where his research
focused on evolutionary dynamics, coevolutionary theory and the evolution of
reproductive strategies. He moved to BT’s
Future Technologies group at Adastral Park
in April 1997, where he works on biologically
motivated solutions to computing and
telecommunications problems. His recent
work has addressed the evolvability of artificial and natural evolutionary
systems, as well as applications of evolutionary theory to resource
allocation and strategic modelling. Recently he has been involved in setting
up the DIET (Decentralised Information Ecosystems Technologies) project,
a major European collaboration under the Framework V programme.
23
BT Technol J Vol 18 No 4 October 2000