Hardware Artificial Life


Layer contents

Layer connections

Layer contents

The cellular automata on which HAL is based is made up of a number of largely independent layers with different functions. Two layers support universal computation and three layers are used for the transmission of heritable information from mother to daughter.
  • Calculation layers.
    These may be composed of any rectangular cellular automata capable of universality.
    In practice, we mainly target two automata:
    • A modified variant of the Margolus implementation of Fredkin's Billiard Ball Machine is our reversible automata of choice;
    • A 16-state, 1-bit model is used when modelling boolean networks.
    The calculation layers are as follows:
    • The first calculation layer is the layer on which the design of the target circuit is to be constructed.
    • The second calculation layer is used by organisms internally when processing heritable information. It is the layer on which the map between genotype and phenotype is specified, and where any recombination, Lamarckian inheritance or genetic engineering would take place.
  • Genetic layers.
    These are responsible for the transmission of heritable information between generations of cells. There are three such layers in the model, and information in these layers circulates around the organisms in an anti-clockwise direction.
    • Old DNA is the raw copy of the genetic material obtained directly from the parent organism.
    • New DNA is the genome which will be passed on to any offspring. This does not necessarily have to correspond exactly to the organism's old DNA. A parent's new DNA becomes its offspring's old DNA.
    • Development information is what actually directly controls the form of the offspring. It exactly specifies the offspring's shape, and the information on its two calculation layers.
There are other layers containing such things as status information for each site, and a unique ID, shared between all the sites of each cell. The layers described above are the fundamental ones necessary to gain an understanding of the dynamics of the system.

Layer connections

While the layers in the model operate largely independently of one another (which is what allows their description as separate layers) they are also connected to one another in a variety of ways.

Firstly, the developmental layer is responsible for the creation of the two calculation layers. It determined the shape and form of the cells by controlling the type and orientation of individual sites.

The second calculation layer takes inputs from the old DNA layer and from the first calculation layer. It processes the information it receives from these sources and as its outputs feeds the information into the developmental layer and the new DNA layer.

The first calculation layer is the main layer in the model which takes external connections. It receives information about target problems from outside the automata, processes this information, and then replies with proposed solutions. If these solutions are acceptable then the cell is allowed to continue to live.

This layer has only one way of communicating with the other layers of the automaton - it can transfer information to the second calculation layer.

Deliberately it receives no input at all from the rest of the automata once it has been created - indeed for all intents and purposes the rest of the automata might as well not exist. This has been done because under some circumstances, the rest of the automata will not, in fact, exist. In other words, the first calculation layer has been designed in such a way that it may be 'scraped off' the rest of the model and used independently of it. Evolved circuitry etched on this layer of a cell, or population of cells, can be largely divorced from all the reproductive machinery responsible for its creation, resulting in a much reduced component count.

Index | HAL | HALcell | Parallel | Hardware | Future | Problem | Limits | Automata | Questions | Links
tim@tt1.org | http://www.alife.co.uk/