Evolvable hardware

From Wikipedia, the free encyclopedia

Use of evolutionary algorithms (EA) to create electronics.

Contents

[edit] Introduction

Evolvable hardware (EH) is a new field that brings together reconfigurable hardware, artificial intelligence, fault tolerance and autonomous systems. Evolvable hardware refers to hardware that can change its architecture and behavior dynamically and autonomously by interacting with its environment.

In its most fundamental form an Evolutionary Algorithm manipulates a population of individuals where each individual describes how to construct a candidate circuit. Each circuit is assigned a fitness, which indicates how well a candidate circuit satisfies the design specification. The evolutionary algorithm uses stochastic operators to evolve new circuit configurations from existing ones. Done properly, over time the evolutionary algorithm will evolve a circuit configuration that exhibits desirable behavior.

Each candidate circuit can either be simulated or physically implemented in a reconfigurable device. Typical reconfigurable devices are field-programmable gate arrays (for digital designs) or field-programmable analog arrays (for analog designs). At a lower level of abstraction are the field-programmable transistor arrays that can implement either digital or analog designs.

[edit] Why Evolve Circuits?

In many cases conventional design methods (formulas, etc.) can be used to design a circuit. But in other cases the design specification doesn't provide sufficient information to permit using conventional design methods. For example, the specification may only state desired behavior of the target hardware.

In other cases an existing circuit must adapt---i.e., modify its configuration---to compensate for faults or perhaps a changing operational environment. For instance, deep-space probes may encounter sudden high radiation environments, which alter a circuit's performance; the circuit must self-adapt to restore as much of the original behavior as possible.

[edit] Finding the Fitness of an Evolved Circuit

The fitness of an evolved circuit is a measure of how well the circuit matches the design specification. Fitness in evolvable hardware problems is determined via two methods::

extrinsic evolution
all circuits are simulated to see how they perform
intrinsic evolution 
physical tests are run on actual hardware.


In extrinsic evolution only the final best solution in the final population of the evolutionary algorithm is physically implemented, whereas with intrinsic evolution every individual in every generation of the EA's population is physically realized and tested.



[edit] Future research directions

Evolvable hardware problems fall into two categories: original design and adaptive systems. Original design uses evolutionary algorithms to design a system that meets a predefined specification. Adaptive systems reconfigure an existing design to counter-act faults or a changed operational environment.

Original design of digital systems is no longer of any interest because industry already can synthesize enormously complex circuitry. For example, one can buy IP to synthesize USB port circuitry, ethernet microcontrollers and even entire RISC processors. Original design of analog circuitry is still a wide-open research area. Indeed, the analog design industry is no where near as mature as is the digital design area. Adaptive systems has been and remains an area of intense interest.

[edit] See also

Programmable logic device

[edit] External links