Evolvable hardware (EHW) refers to one particular type of hardware whose architecture/structure and functions change dynamically and autonomously in order to improve its performance in performing certain tasks. The emergence of this new field in recent years has been influenced profoundly by the progresses in reconfigurable hardware and evolutionary computation. Traditional hardware is notorious for its inflexibility. It is impossible to change the hardware structure and its functions once it is made. However, most real world problems are not fixed. They change with time. In order to deal with these problems efficiently and effectively, different hardware structures are necessary. EHW provides an ideal approach to make hardware "soft" by adapting the hardware structure to a problem dynamically.
This project aims to study three major issues in EHW:
Evolutionary Algorithms are good at global exploration. They can explore a much larger design space than could be explored by a human designer. Most researchers simply use an EA to evolve a circuit with certain specifications. Little work has been done on the analysis of the evolved circuit in order to extract useful 'rules' used by evolution in deriving the circuit and useful components that may be used in other circuits. EA is regarded not only as a problem solving tool, but an automated discovery engine. the discovered design knowledge can be transferred to human designers and applied to other design problems. This project will develop an evolutionary system for evolving hardware designs, and identify the advantages and limitations of the evolutionary approach in discovering novel hardware designs. As much as possible, problems identified by Marconi collaborators will be used as test problems to compare evolved circuits and manually designed circuits.
In EAs, a population of candidate circuits is maintained. While some of these circuits may not be fit according to a fitness function, they may contain useful genes (sub-circuits) for constructing fit circuits. This project will investigate the techniques for identifying such genes and creating new genes. Some related machine learning and statistical test techniques will be evaluated for this purpose. In relation to gene identification, useful design knowledge can be extracted from a population of individual circuits. Furthermore, this project will explore how this approach can be used to build large cuircuits, i.e. identifying sub-circuits to build larger and larger circuits. Representation of circuits will be an important research issue here.
Diversity can be lost quickly in an EA. Although EAs use populations, individuals (i.e. circuits) in a population can be very similar to each other as a result of selection pressure and recombination. Low diversity prevents an EA from exploring the design space further. This project will introduce fitness sharing techniques into EHW. Fitness sharing encourages exploration of different parts of the design space. It encourages discovery of different circuits which all achieve high fitness. Such results enable a human designer to examine different high quality designs and apply discovered design knowledge to other similar problems.