- HAL's highly parallel model means that it executes extremely
inefficiently on conventional hardware. While this is an inevitable aspect
of its design it will significantly reduce the number of people in a
position to use it.
- HAL, by primarily targetting the domain of low-level cellular automata,
is a very low-level model.
It is possible to use HAL as a mere genetic substrate, using the
output from the first calculation layer as a single number which represents
a description of the phenotype of the resulting organism. If this approach
is taken, then HAL can code for any sort of phenotype - for example, it
could be used to provide architectural parameters for neural nets - or
almost any other system.
If such an approach were to be taken then a number of the issues associated
with dealing with such a low-level substrate disappear. However, such an
approach would appear to discard many of the dynamics arising from having
the entire system embedded in a single cellular substrate which make it
interesting in the first place.
Once a low-level approach has been taken it becomes very difficult to
provide problem-specific heuristics to narrow the search space from outside.
Of course, such heuristics can still be discovered by the program over a
period of time, during the course of evolution, but this can be a long
process.
Further, as the system does not know about simple things such as addition,
comparing two numbers and so on, these all have to be evolved from scratch.
This means there is a long period of 'teething problems' while the system
is incapble of performing any useful work.
Primitive operations have to be encoded from scratch, and in effect a whole
interpreter for a higher level language needs to be constructed by the
automata. This makes the resulting organisms larger than they would
otherwise be.
Larger organisms usually need to be exposed to a decreased
mutation rate in order to remain viable and avoid error catastrophes.
Such considerations will probably mean that HAL is not efficient as a
means of arriving at very simple systems, even once it
arrives at a high-level representation suitable for dealing with typical
problems it is fed.
- While HAL is a low level model, some will argue that it is not at a low
enough level. In particular, advocates of artifical chemistry
models may feel that by building the essence of the genetic inheritance
method into the we have placed too many constraints on our organisms and
forced them into a particular way of life, perhaps not the most
ideally suitable to sustaining evolutionary processes. It seems, for
example that there's no way for organisms to experience anything like an
RNA->DNA swap over, and that organisms have been forced to use the substrate
provided.
It is true that conducting a simulation at a lower level may produce better
dynamics and evolvability in the long run. For very complex systems these
improved dynamics may actually offset the additional computational costs
of running the simulation at a lower level. However, low level models
do have drawbacks in terms of the quantity of time it takes for
them to get off the ground and the minimum complexity of systems it is
efficient to evolve using them. Also at the moment, nobody appears to
have a very clear idea about what systems at a significantly lower level
might look like.
HAL is a model at about as high a level as it is possible to imagine while
retaining the desirable properties of a cellular automata. It occupies
this niche in the hope of becoming physically realisable and possible to
use in practical problems more rapidly than still lower-level models. If
lower-level models prove to have attractive, they can be developed at a
later date.
- Organisms within HAL typically cannot move around very much and it is
difficult to adjust their mobility or the number of potential offspring a
cell may have from outside the system. These restrictions are not
absolute, but provide a definite flavour to the model, a flavour
not entirely in harmony with one of the aims of the project, the evolution
of sex.
Some aspects of sex appear to be maintained, at least partly, by pressure
from parasites to maintain a high level of diversity within the population.
If the population is highly viscous, and your main candidates for
prospecitve mates are consequently your parents and your sisters then
diversity will only be able to spread slowly throughout the population,
and it may ghave difficulty in keeping up with any rapidly reproducing
parasites present.
Modelling will reveal what limitations these dynamics are likely to impose.
It is possible for organisms to get genetic information from more distant
cells, provided there exists a pathway of co-operating cells between the
donor and the recipient, but it is hard to imagine such gene-transfer
systems being both simple and robust.
Gene-repair mechanisms may be even more central in maintaining sex in
populations. Again, modelling is probably the easiest way to get a feel for
how strict cellularity would affect the dynamics of such a system in the
process of evolving sexual organisms.
- The fact that HAL is not a pure cellular automata may offend some
people's aesthetic sense. It has been argued that the best way to create
artificial life models is to embed the entire system in a substrate and
let it run. By this, I mean including the criteria for successful
reproduction within the automata - rather than imposing them from
the outside.
HAL is not like this. It uses an external computer to enter into a dialogue
with all individual cells establishes their fitness by evaluating their
performance on particular tasks and then rewards them as it sees fit.
This has the potential to introduce non local interactions and may
adversely affect the ability of the universe to scale to large sizes.
While closed universes do have a certian appeal, we're mainly interested
in creating a tool able to solve practical optimisation problems. For
these problems to be embedded in the fabric of a cellular automata, we
suspect a significantly more complex model would have to be used, and
embedding the problem in the model would be a serious problem of its own,
perhaps of comparable complexity to the problem whose solution we were
initially interested in.
The decision to provide an interface to a more conventional computer was a
pragmatic one, based partly on the nature of our target problems. If
strict cellularity proves desirable for some reason, this interface could,
in principle, eventually be replaced by links to another automata running
in parallel to the first one, and providing the same services as the
external computer.