![]() |
|
About This Page
I'm a former research student of the Centre for Computational Neuroscience and Robotics (CCNR) at the University of Sussex, UK, and am now a research engineer at Hewlett-Packard Laboratories, Bristol, UK. This page is devoted to my research and interest in evolutionary and adaptive systems, and in particular, Hardware Evolution (HE).
Hardware Evolution
Hardware Evolution concerns the use of artificial evolution applied to the design or optimisation of electronic circuitry. The basic process is to use an evolutionary algorithm (EA) to control a reconfigurable device such as a Field-Programmable Gate Array (FPGA). The performance of candidate configurations is measured and scored according to some 'fitness' function and the ones with higher scores on average are selected for manipulation by the EA's genetic operators. The cycle of fitness measurement, selection, and genetic manipulation is then repeated until the circuit performs the desired task, or the run is abandoned.
Of course there are many variants on this theme. What I have described above - where the circuit under evaluation is a physical device or system - has come to be known as intrinsic HE. In the corresponding extrinsic case, the physical device is replaced by a circuit simulator such as SPICE. Other variants are of a more philosophical nature. In unconstrained HE, the constraints used in conventional design to aid abstraction and to ensure robustness are relaxed. Note that constraints still exist in the evolutionary process, for example the limited choice of ciruit primitives available in FPGAs; the term 'unconstrained' refers only to the conventional constraints. In Function-Level HE, the basic electronic primitives - transistors, capacitors, AND gates etc. - are replaced by more complex functional subcircuits, like digital multipliers or signal processors.
There are several names for this field. Evolvable Hardware (EHW) is most commonly used, but there are also Evolutionary Electronics (EE), E-Hard, and Evolvable Systems (ES) as well as my own preference, HE. Historically there were distinct differences between in the meanings of these terms, but they've all come to mean the same thing.
Click here
for more information on Hardware Evolution, at Sussex and elsewhere.
Exploring the fundamentals of Hardware Evolution
Evolved circuits can be produced entirely in simulation, however my own
field is to use evolution to configure real, physical circuits, thereby allowing
the exploitation of all the physical properties inherent in the silicon medium.
I am not so much interested in developing applications as observing what kind of
circuits evolution can produce, how tolerant to faults and environmental changes
evolved circuits can be made to be, and determining the most appropriate factors
to ensure fast, reliable evolution. What is the ideal 'building block' for some
generic task - basic discrete components like transistors and logic gates, or
higher level functional devices such as operational amplifiers? What sort of
interconnection architecture best suits evolutionary techniques? What are the
relative influences of the configurable hardware and the type of evolutionary
algorithm employed? Can we analyse complex evolved circuits in some way to be
sure that they won't fail in critical applications?
Build your own Evolvable Motherboard
I've made available on the web all the schematics, software and other technical information required to build and use a motherboard for anyone interested. There's more information about it's use in my Publications page.
Entomologists studying social insects, for example ants, termites, and some wasps, have observed that the feats of organisation for which these insects are famous - building huge structures, making bridges with their own bodies, growing food etc. - actually result from the individuals following very simple rules. No single ant is in charge, and no single ant has any knowlegde of for example the structure it may be helping to build. The act of a colony performing such a task is an emergent computation. This has many advantages, one of the principle ones being that a few ants dying has a negligable effect on the execution of these tasks. The robustness of swarm intelligence is inspiring engineers and computer scientists. My own concern with this field stems from previous work at liasc, the department of artificial intelligence, ENST Bretagne in France, and I continue to have an active interest.
Click here for Marco Dorigos's page on Ant Colony Optimization
Please feel free to get in touch for further information.