Evolvable Hardware Systems towards Real-World Applications: From Dream to Reality
In early 90s the idea of self-designed hardware was considered as an unrealistic dream. Nowadays, evolvable hardware is associated with the system that can design the circuits based on the given specifications without human interaction. This breakthrough was possible due to attempt to involve actively the evolutionary algorithms in the design process. Thus, this was one of the first attempts to exploit the creative features of evolutionary algorithms. Since then the evolvable hardware area has been rapidly growth demonstrating its capability in various application areas such as analogue and digital logic circuit design, antenna design, network design, etc. Although the current evolvable hardware systems cannot yet complete fully with conventionally design systems, the significant achievements have been made in reducing this gap by attempting to solve evolvability, scalability and fault tolerance problems. Furthermore it has been exploited the potential benefits of evolvable hardware by using it in the changing and adaptive environments. During its existence the evolvable hardware idea has been evolved from automatic design of simple system components to complex system and network evolution.
This tutorial will explain the basic principles of evolvable hardware, discuss the previous work that has been done and highlights the possible future directions of its development.
Overcoming Premature Convergence with the Age-Layered Population Structure (ALPS)
A common problem experienced in running an evolutionary algorithm (EA)
is that after some number of evaluations the population
converges prematurely to a local optima and no further improvements
are made no matter how much longer the EA is run.
Many attempts at creating a more robust EA have been tried but so
far none has successfully resulted in an improved EA with which
naive users can expect to reliably find near-optimal solutions.
This tutorial will provide a review of existing methods for
combating premature convergence and give an introduction to
the Age-Layered Population Structure (ALPS) EA.
An ALPS EA differs from the canonical one in that the population
is segregated into different age layers using a novel measure
of age. In addition, new individuals are continually introduced
into the population to provide a constant source of fresh
genetic material. By segregating competition and breeding to
adjacent layers this, results in a representation independent
EA that is both robust and fairly simple to implement.
Evolution in Materio
[pdf][video files] (48 MB)
In conventional design we make many assumptions about the parts and rules that we use to construct things. We tend to adopt the view that human expertise and insight is sufficient to construct novel artifacts. Such a notion is beginning to be severely challenged by systems that have been designed by evolutionary algorithms. This kind of thinking is particularly evident in our notions of physical computation, where the dominant view is that computation is the manipulation of symbols largely through implementations of Boolean logic.
Natural evolution provides an extraordinary counterexample of this, since it has built 'computational' devices of immense power by connecting together unreliable and slow devices (i.e. neurons) by a bottom-up strategy. Indeed human consciousness, itself, is a by-product of this process.
In the future, evolutionary computation scientists will increasingly turn their attention to 'evolution in materio' in which physical systems are directly manipulated using computer controlled evolution of physical variables. This is because the 'generate-and-test' methodology that underlies evolution can exploit physical effects in ways that human designers have not envisaged.
This is new and exciting area of research has begun and already researchers have manipulated and exploited the physical properties of systems to solve a variety of problems. Examples include: evolving designs of robots using rapid prototyping machines; manipulating the physical properties of silicon in Field Programmable Gate Arrays, or liquid crystal displays; and controlling the flow of electric currents in conducting polymer foam.
This tutorial will give an introduction to this field, describes what has been done, so far, and make suggestions for possible systems that might be exploitable using these techiques.