|
Use of evolutionary algorithms (EA) to create electronics. In artificial intelligence, an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. ...
Introduction
Software configurable hardware, such as Programmable Logic Arrays, are on the market which accept a bit string instruction which is used to configure or “wire up” a hardware circuit to give it a desired architecture. This can be done an indefinite number of times. By treating the bit string instruction as a Genetic Algorithm “chromosome”, one has the means to evolve hardware. [Higuchi, 1992] A programmable logic array (PLA) is a programmable device used to implement combinational logic circuits. ...
In genetic algorithms, a chromosome (also sometimes called a genome) is a set of parameters which define a proposed solution to the problem that the genetic algorithm is trying to solve. ...
Types of hardware EA Hardware Evolutionary Algorithms can be divided into two types: In artificial intelligence, an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. ...
- those using extrinsic evolution
- where the genetic algorithm is applied in software to a simulation of the artifact being evolved, and
- those using intrinsic evolution
- where the genetic algorithm is applied to the artifact itself.
They can also be considered as either constrained or unconstrained, terms that are best understood by reading the unconstrained section of this page.
Constrained hardware evolution Constrained hardware evolution is similar to most other types of EA, although usually much faster. Parameters such as coefficients in a digital filter, or weights in a neural network can be evolved. It is also possible to design complete circuits from the transistor or gate level. An FIR filter In electronics,nirali a digital filter is any electronic filter that works by performing digital mathematical operations on an intermediate form of a signal. ...
// See also Artificial neural network. ...
The ultimate aim is to create an intelligent piece of hardware which can be plugged in to any system and start to operate without any explicit programming. It only needs some feedback on how well it is doing the required job (a fitness function). Naturally this technique is limited to problems for which specifying a fitness function is easier than solving the problem at hand directly.
Unconstrained hardware evolution While the intrinsic/extrinsic distinction is irrelevant for evolving software, the differences in hardware are very apparent. With most engineering artifacts, evolution in simulation is quicker than building many prototypes of a device, but electronic hardware can be quicker to evolve intrinsically. This has the potential for producing remarkably different results: whereas in simulation, a design is naturally constrained to the programmer's model of the device, intrinsic evolution allows a design to exploit natural features of the device which may not even be understood by the programmer. This is also known as unconstrained evolution. The concept was pioneered by Adrian Thompson who in 1996 evolved a tone discriminator, using fewer than 40 programmable logic gates and no clock signal in a FPGA. This is a remarkably small design for such a device, and it is still not understood how it works. For example, one group of gates has no logical connection to the rest of the circuit, yet is crucial to its function. It is thought that this group somehow modulates the power supply or influences other connections by generating a Magnetic field. An Altera FPGA with 20,000 cells. ...
Current (I) flowing through a wire produces a magnetic field () around the wire. ...
Limitations However, the method comes with disadvantages. The circuits in Adrian Thompson's experiment were also tuned to the physical properties of the FPGA and the temperature at which it operated. After moving the final population to a different area on the same device the fittest individual had it's fitness reduced by about 7% and a further 100 generations were needed to return it to perfection. Moving it back to the original area impacted the fittest individual similarly, though in both cases there were individuals who were not so affected, and in the latter case there was an individual that behaved perfectly in both locations. This behaviour probably demonstrates that robust solutions can be fairly easily developed given the correct experimental conditions. The circuit also only worked within a range of about 10°C (the range at which it evolved). Presumably a similar solution to above (allowing evolution at different temperatures) would solve this problem also, though this is yet to be tested. Some consider it a limitation that the designs are not comprehensible, others view this as an important area of research with the potential to reveal futuristic designs or even as yet undiscovered physics. As with constrained evolution, it is only a useful engineering technique when specifying a fitness function is easier than directly solving the problem at hand. However, for the reasons mentioned above it is also the subject of scientific study, for which this is not a limitation.
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.
See also Programmable logic device A programmable logic device or PLD is an electronic component used to build digital circuits. ...
External links |