Professional Documents
Culture Documents
1997 Artificial Evolution in The Physical World
1997 Artificial Evolution in The Physical World
1 Introduction
When articial evolution is used to automatically design a structure, that
structure usually exists in a software simulation, to make it easily manipula-
ble. When evolving control systems for autonomous mobile robots [1], even
when the real robot is used instead of a simulation, the actual structure un-
dergoing evolution | often an articial neural network (ANN) | is usually
simulated in software.
Recently, however, technology has become available which allows articial
evolution to manipulate the conguration of a silicon chip directly: electronic
circuits can be evolved without the use of simulation, with every tness mea-
surement being the evaluation of a physically real electronic circuit's perfor-
mance at the desired task. But why should one be interested in this? After
all, we can easily simulate ANNs on a standard desktop PC that are larger
than the current capabilities of articial evolution, so we do not need to re-
sort to hardware implementations because of software being too slow (pace
de Garis [2]). The answer is that evolution of recongurable hardware need
not be just a high speed implementation of what could easily be done in
software: evolution is crafting a physical object that exists in real time and
space, and behaves according to semiconductor physics. This raises a set of
opportunities for science and engineering that are not normally addressed by
simulation work:
1. Evolution can exploit real-world physics that is dicult to analyse or
model in simulation or theoretical studies. Once the simplifying con-
straints of conventional design methodologies have been dropped, this
can allow highly ecient circuits to be evolved, which exploit the natural
behaviour of the electronic medium.
2. The physical components have a size, shape and location, and these are
crucial in determining the interactions between them. This can make the
interactions richer, but in some ways more constrained, than the per-
fectly controllable point-to-point topological interconnections normally
used when evolving in simulation.
3. The characteristics of the components and their interactions are not
exactly predictable or constant over time. Evolution must nd ways of
coping with this.
The rst point above provides the engineering motivation: extremely ef-
cient (small, low-power) circuits can be produced. The penalty for the
engineer is that to do this, the second two points must also be considered.
For the scientist, all three are of great interest, as they apply as much to
evolution in nature | and attempts to draw inspiration from it | as to
electronics. As we shall see, they have implications for the organisation of
a physical `nervous system', whether it be natural or articial. This paper
summarises some results from the author's work on the evolutionary engi-
neering of electronics in general, with the intention of showing its relevance
to the Evolutionary Robotics (ER) enterprise.
In the next section, I describe the technology making the direct evolution
of electronics possible. The later sections then consider the three points above
in turn, showing experimental results. Only an overview is given | see the
references for full details. Finally, the implications for ER are summarised.
2 Technology: Evolvable Hardware
A Field-Programmable Gate Array (FPGA) is a Very Large Scale Integra-
tion (VLSI) silicon chip containing a large array of components and wires.
Switches distributed throughout the chip determine how each component be-
haves, and how they connect to the wires. By conguring these switches, an
FPGA's behaviour is determined by the user `in the Field' rather than at the
chip factory. In RAM-based FPGAs, the switches are electronic, and have
their settings determined by bits of memory onboard the chip. The Xilinx
XC6200 [21] is the rst such device ideally suited to evolutionary work [19],
and a simplied view of it is given in Figure 1. It can be interfaced to a host
computer so that its conguration memory can be written to by software
just like normal computer memory. An Evolutionary Algorithm (EA) run-
ning on the computer can write to the FPGA's conguration memory, setting
the electronic switches, and thus creating a physically real electronic circuit.
This circuit can be evaluated according to its real-world performance at a
task, and successively modied by the EA of choice (eg. a genetic algorithm
(GA) [7, 4, 5], evolutionary programming [3], evolution strategies [13] or ge-
netic programming [8, 9]) until satisfactory performance is achieved. Figure 2
depicts the operation of a simple GA applied in this way.
Note that in this evolutionary process of automatic circuit design, there
is no simulation, modelling, or analysis of the circuit. The FPGA is not
programmed to follow a sequence of instructions, it is congured and then
allowed to behave in real-time according to semiconductor physics: evolution
is manipulating a physical medium.
The electronic equipment needed is not necessarily bulky or complicated.
Figure 3 shows the tiny `Khepera' robot (a common tool in ER [11]) equipped
with an XC6216 FPGA onboard. With the FPGA controlling the real robot,
behaving in the real world, a simple wall-avoiding behaviour has been evolved.
Evolution was by a GA running on a PC connected to the robot by a serial
cable, but there was no simulation of the robot or the control circuits. This
simple demonstration shows that evolution of FPGA circuits is not necessarily
any more complicated or dicult than evolving a software structure such as
a simulated ANN.
S
N EW F
N
S N S EW
W W
F
N N
S S
E E
W W
N
F S
E
E
F
S EWF
Figure 1: A simplied view of the XC6216 FPGA. Only those features used later in the
experiments are shown. Top: A 10 10 corner of the 64 64 array of blocks; Below:
the internals of an individual cell, showing the function unit at its centre. The symbol
represents a multiplexer | which of its four inputs is connected to the output (via
an inversion) is controlled by the conguration memory. Similar multiplexers are used to
implement the user-congurable function F.
REPEAT UNTIL SATISFACTORY
Fitness
A population of Population Scores Next Generation
A new
(initially random) 0 1 1 1 0 0 0 1 1 4.851 population is
bit-string
1 0 1 0 0 0 1 0 0 9.001 formed, made
genotypes is
1 1 0 0 1 1 1 0 0 0.000 of the offspring
maintained,
of the fitter
each individual 0 1 1 0 1 0 0 1 1 3.942 (on average)
coding for a
0.030 members of the
possible FPGA
old one.
configuration.
0 1 0 0 0 0 1 1 1
Fitness Evaluation: 0 1 0 0 0 1 0 0 0
1 0 1 0 0 0 1 1 1
Each individual is
taken in turn and 1
used to configure 1 0 1 0 0 0 1 1 1
a real FPGA, which
is then scored at Higher scoring individuals are more likely
how well it performs to parent offspring (selection). Offspring are
the desired task. formed by stochastically combining segments
from each parent (crossover), and by
Sonar
Emulator
Evolvable
Hardware
Sonars
Wheels
Rotation
Sensors
MOTORS M M
LOGIC LOGIC
FUNCTION FUNCTION
LEFT RIGHT
SONARS
Figure 6: A representation of the evolvable Dynamic State Machine, as used in the experi-
ment. Each is a `Genetic Latch' (see text).
Figure 7: Room-centering in virtual reality and (bottom right) in the real world, after 35
generations. The top pictures are of 90 seconds of behaviour, the bottom ones of 60.
4 Components Interacting in Physical Space
For our next example, consider evolving the 10 10 array of FPGA cells
shown in Figure 1. Again, the task is to be a simple | but non-trivial |
one, formulated to explore fundamental issues. The circuit is to have a single
input, and a single output. The input will be a square-wave audio-tone of
either 1kHz or 10kHz, and circuit is to discriminate between them. Ideally,
the output should go to a steady +5V as soon as one of the frequencies is
present, and 0V for the other one. The task was intended as a rst step
into the domains of pattern recognition and signal processing, rather than
being an application in itself. One could imagine, however, such a circuit
being used to demodulate frequency-modulated binary data received over a
telephone line.
This FPGA is intended to perform digital logic, so would normally be
used with a synchronising clock, as discussed in the previous section. That
would make the frequency discrimination task quite straightforward: the
clock could be used to time the input period. In this experiment, however,
there will be no clock | can evolution exploit the rich natural unconstrained
dynamics of the silicon to achieve the task? This seems almost too much to
ask: all that is available is 100 FPGA cells, each intended to perform a single
Boolean logic function, and each having a delay from input to output of just
a few nanoseconds (billionths of a second). How could an arbitrary structure
(potentially having many recurrent | feedback | connections) of these 100
simple high-speed logic gates be evolved to discriminate perfectly between
input periods ve orders of magnitude longer than the delay through each
component? Success would be signicant: as well as vindicating the `un-
constrained' approach to hardware evolution, the resulting circuit (requiring
no external components or clock) would be incredibly ecient in its use of
silicon.
The experimental arrangement is shown in Figure 8. A genetic algorithm
runs on a standard PC, and congures the real FPGA for each tness eval-
uation. The XC6216 FPGA has 64 64 cells, so only a 10 10 corner was
used. For each individual circuit, a sequence of test tones (of 1kHz and
10kHz) were applied to the pin designated as the input, and the signal at
the pin chosen to be the output was monitored. The tness function was to
Output Analogue
(to oscilloscope) integrator
Desktop
configuration
PC
XC6216 FPGA
Tone
generator
Figure 8: The arrangement for the tone discriminator experiment. The 10 10 corner of
cells used is shown to scale with respect to the whole FPGA. The single input to the circuit
was applied as the east-going input to a particular cell on the west edge, as shown. The
single output was designated to be the north-going output of a particular cell on the north
edge.
maximise the dierence in the average output voltage between the case when
the 1kHz input was present, and the case when the 10kHz was present (see
[19, 17, 6] for full details). This average output voltage was measured by the
analogue integrator shown in the gure: the circuit must be evaluated as a
continuous-time analogue system, now we have abandoned all of the digital
design principles with which the FPGA was intended to be used. A photo-
graph of the circuit-board carrying the FPGA and the circuitry used as part
of the tness measurement is shown in Figure 9: it plugs directly into the
PC, and is simple and easily built.
Throughout the experiment, an oscilloscope was directly attached to the
output pin of the FPGA (see Figure 8), so that the behaviour of the evolving
circuits could be visually inspected. Figure 10 shows photographs of the
oscilloscope screen, illustrating the improving behaviour of the best individual
in the population at various times over the course of evolution.
The individual in the initial random population of 50 that happened to get
the highest score produced a constant +5V output at all times, irrespective
of the input. It received a tness of slightly above zero just because of noise.
Thus, there was no individual in the initial population that demonstrated
Figure 9: The circuitry to evolve the tone discriminator.
IN
0
220
320
3500 2800 2550 2100 1400 1100 650
Figure 10: Photographs of the oscilloscope screen. Top: the 1kHz and 10kHz input wave-
forms. Below: the corresponding output of the best individual in the population after the
number of generations marked down the side.
| corresponding to logic 0 and 1. Evolution does not `know' that this was
the intention of the designers of the FPGA, so just uses whatever behaviour
these high-gain groups of transistors happen to exhibit when connected in
arbitrary ways (many of which a digital designer must avoid in order to make
digital logic a valid model of the system's behaviour). This is not a digital
system, but a continuous-time, continuous valued dynamical system made
from a recurrent arrangement of high-gain groups of transistors | hence the
unusual waveforms.
By generation 2800, the only defect in the behaviour was rapid glitching
present on the output for the 10kHz input. Here, the output polarity has
changed over: it is now low for the 1kHz input and high for 10kHz. Fitnesses
were measured such that this swap would have no eect; in general it is a
good idea to allow evolution to solve the problem in as many ways as possible
| the more solutions there are, the easier they are to nd.
In the nal photograph at generation 3500, we see the perfect desired
behaviour. In fact, there were infrequent unwanted spikes in the output (not
visible in the photograph); these were nally eliminated at around generation
4100. The GA was run for a further 1000 generations without any observable
change in the behaviour of the best individual. The nal circuit (which I
will arbitrarily take to be the best individual of generation 5000) appears to
be perfect when observed by eye on the oscilloscope. If the input is changed
from 1kHz to 10kHz (or vice-versa), then the output changes cleanly between
a steady +5V and a steady 0V without any perceptible delay.
The nal circuit is shown in Figure 11; observe the many feedback paths.
No constraining preconceptions were imposed on the circuit, so evolution was
given the freedom to explore the full space of possible designs.
Out
In
Figure 11: The nal evolved circuit. The 10 10 array of cells is shown, along with all
connections that eventually connect an output to an input. Connections driven by a cell's
function output are represented by arrows originating from the cell boundary. Connections
into a cell which are selected as inputs to its function unit have a small square drawn on
them. The actual setting of each function unit is not indicated in this diagram.
Out
In
Figure 12: The functional part of the circuit. Cells not drawn here can be clamped to
constant values without aecting the circuit's behaviour.
By empirical testing, it was possible to determine which parts of the 1010
array were actually contributing to the behaviour. Figure 12 shows this
functional part of the circuit. Observe the cells shaded gray: they do in
uence
the system's behaviour (if an attempt is made to clamp and one of them to a
constant value, then the system malfunctions), but yet they are not connected
to the main part of the circuit, and there seems to be no route of connections
by which they could ever in
uence the output pin! These components must
be interacting with the others by some subtle unconventional means (such as
electromagnetic coupling or power-supply loading) which has been put to use
by evolution in composing the overall system behaviour.
By releasing the full repertoire of behaviours that the recongurable elec-
tronic medium can manifest, evolution has been able to craft a highly ecient
complex dynamical system. Conventional design would require 1{2 orders of
magnitude more silicon area to achieve the same performance with no exter-
nal components or clock, and even then it would be dicult. But we have
now stepped even further away from being able to understand the system in
terms of familiar models. Not only do we have the rich analogue continuous-
time dynamics seen in the previous section, but now the interactions between
the components cannot completely be described by merely listing the wires
connecting them. The functioning of the `gray cells' above shows that the
interactions of the components are not solely determined by the connecting
wires, but also by their positions in physical space. In particular, the spatial
proximity of the components is likely to be important.
In general, the size, shape, and location of the components will be impor-
tant, as well as the point-to-point connections (wires) between them. These
extra means of interaction are in some ways a resource to be used, but to
the extent that they are unavoidable, they could also be viewed as a con-
straint. These issues are crucial to understanding the evolution of physical
`nervous systems', whether biological or electronic, which must necessarily
exist in three-dimensional space. A particularly interesting class of spatial
interactions in biology is diuse neural messengers: although it is possible to
incorporate these into an ANN model [10], the very phrase `neural network'
betrays the extent to which it is often assumed that a topological network of
point-to-point interconnections (of perfectly controllable strength) captures
all of the important aspects of neural interaction.
I suggest that evolvable hardware, by providing a physical medium in
which articial `nervous systems' can be evolved, may provide a tool with
which the evolution of natural nervous systems | and the engineering inspi-
ration that can be drawn from them | may be investigated. Conversely, it
is denitely the case that neuroscience is relevant to hardware evolution.
Acknowledgements
Gratitude to the School of Cognitive & Computing Sciences, and to Xilinx,
Inc. for funding this work. Personal thanks to Phil Husbands, Dave Cli,
Inman Harvey, and John Gray.
References
[1] D. Cli, I. Harvey, and P. Husbands. Explorations in evolutionary
robotics. Adaptive Behaviour, 2(1):73{110, 1993.
[2] Hugo de Garis. CAM-BRAIN: The evolutionary engineering of a bil-
lion neuron articial brain by 2001 which grows/evolves at electronic
speeds inside a Cellular Automaton Machine (CAM). In E. Sanchez
and M. Tomassini, editors, Towards Evolvable Hardware: The evolution-
ary engineering approach, volume 1062 of LNCS, pages 76{98. Springer-
Verlag, 1996.
[3] L. J. Fogel, A. J. Owens, and M. J. Walsh. Articial Intelligence Through
Simulated Evolution. John Wiley & Sons, Inc., 1966.
[4] David E. Goldberg. Genetic Algorithms in Search, Optimisation & Ma-
chine Learning. Addison Wesley, 1989.
[5] Inman Harvey. Species Adaptation Genetic Algorithms: A basis for a
continuing SAGA. In F. J. Varela and P Bourgine, editors, Towards a
Practice of Autonomous Systems: Proc. 1st Eur. Conf. on Articial Life,
pages 346{354. MIT Press, 1992.
[6] Inman Harvey and Adrian Thompson. Through the labyrinth evolution
nds a way: A silicon ridge. In Tetsuya Higuchi and Masaya Iwata,
editors, Proc. 1st Int. Conf. on Evolvable Systems: From Biology to
Hardware (ICES`96), LNCS. Springer-Verlag, 1996. In press.
[7] J. H. Holland. Adaptation in Natural and Articial Systems. Ann Arbor:
University of Michigan Press, 1975.
[8] J R Koza. Genetic Programming: On the programming of computers by
means of natural selection. MIT Press, Cambridge, Mass., 1992.
[9] J. R. Koza. Genetic Programming II: Automatic Discovery of Reusable
Programs. MIT Press, 1994.
[10] Bart Krekelberg and John G. Taylor. Nitric oxide: what can it compute?
Network, 8(1):1{16, 1997.
[11] Francesco Mondada and Dario Floreano. Evolution and mobile au-
tonomous robotics. In E. Sanchez and M. Tomassini, editors, Towards
Evolvable Hardware: The evolutionary engineering approach, volume
1062 of LNCS, pages 221{249. Springer-Verlag, 1996.
[12] M. C. Moore-Ede, F. M. Sulzman, and C. A. Fuller. The Clocks That
Time Us: Physiology of the Circadian Timing System. Harvard Univer-
sity Press, 1982.
[13] Hans-Paul Schwefel and Gunter Rudolph. Contemporary evolution
strategies. In F. Moran et al., editors, Advances in Articial Life: Proc.
3rd Eur. Conf. on Articial Life, volume 929 of LNAI, pages 893{907.
Springer-Verlag, 1995.
[14] Adrian Thompson. Evolving electronic robot controllers that exploit
hardware resources. In F. Moran et al., editors, Advances in Articial
Life: Proc. 3rd Eur. Conf. on Articial Life (ECAL95), volume 929 of
LNAI, pages 640{656. Springer-Verlag, 1995.
[15] Adrian Thompson. Evolving fault tolerant systems. In Proc. 1st
IEE/IEEE Int. Conf. on Genetic Algorithms in Engineering Systems:
Innovations and Applications (GALESIA'95), pages 524{529. IEE Conf.
Publication No. 414, 1995.
[16] Adrian Thompson. Evolutionary techniques for fault tolerance. In Proc.
UKACC Int. Conf. on Control 1996 (CONTROL'96), pages 693{698.
IEE Conference Publication No. 427, 1996.
[17] Adrian Thompson. An evolved circuit, intrinsic in silicon, entwined with
physics. In Tetsuya Higuchi and Masaya Iwata, editors, Proc. 1st Int.
Conf. on Evolvable Systems (ICES'96), LNCS. Springer-Verlag, 1996. In
press.
[18] Adrian Thompson. Evolving inherently fault-tolerant systems. Proc.
of the Institute of Mechanical Engineers, Part I: Journal of Systems
and Control Engineering, 1996. Special issue on `Genetic Algorithms in
Engineering Systems.' In press.
[19] Adrian Thompson. Silicon evolution. In J. R. Koza et al., editors,
Genetic Programming 1996: Proc. 1st Annual Conf. (GP96), pages 444{
452. Cambridge, MA: MIT Press, 1996.
[20] Adrian Thompson, Inman Harvey, and Philip Husbands. Unconstrained
evolution and hard consequences. In E. Sanchez and M. Tomassini,
editors, Towards Evolvable Hardware: The evolutionary engineering ap-
proach, volume 1062 of LNCS, pages 136{165. Springer-Verlag, 1996.
[21] Xilinx, Inc. XC6200 Advanced product specication V1.0, June 1996. In
The Programmable Logic Data Book. 1996. See http://www.xilinx.com.