Each creature

The life of each creature is operated through a state machine which works on a Lisp structure, creature. Everything needed in the life of the creature is in, or reachable from, that structure, including references to the realm containing the creature and thence to the other creatures in the same realm.

The genome format

The genome is an array of chromosomes, the number of chromosomes being fixed for each taxon. The multiple chromosomes are occurrences of the same chromosome, in terms of analytic biology; so an organism with 2 chromosomes in the array is diploid.

Each chromosome is a sequence of loci, each of which contains a promoter and an action. As the evaulator steps, it works its way along the genome of each being, evaluating promoters until it find one that returns true, whereon it evaluates the action associated with that promoter.

When the evaluator steps off the end of a chromosme, it moves onto the next one. Thus, for any event occurring at a random point in the lifecycle of the creature, the relevant locus on any of the chromosomes is equally likely to be triggered, allowing dominant / recessive characteristics including partial dominance.

The state

The state of each creature includes its position, energy resources and current communications, along with the remembered state that it has accumulated during its lifetime (and perhaps including some inherited memories -- ``instincts'').

This memory is simply a table of arbitrary lisp values, indexed by symbols, and so there are few constraints on how it may be used in any particular taxon.

Auditing information

Some information is kept in each creature to allow the programmer to pick apart what has happened in a run. Each creature has an ancestry field (being a cons of its parents' creature structures) and a biography, which is a list of the loci it has activated, most recent at the front.

The creatures system
[Creatures index] [alife index]
John C. G. Sturdy
[research index] [John's home] Last modified: Sun Sep 25 21:59:54 GMT Daylight Time 2005