Crystal 1D - template-based self replication |
A version of this applet using Sun's Java plug-in is available here.IntroductionThis applet displays a cellular automata substrate displaying a novel type of self-reproducing automaton.
HistoryMost modern self-reproducing automata are based either on loops (descended from Langton's loop) or worms - which are very similar structures to loops, but which feed developmental information back along their spines, rather than touching their heads to their tails.Both these structures have something in common, namely they rely on passing each segment through a "splitter" to accomplish self replication. This automaton works on a rather different principle. It reproduces by synchronous template reproduction. Reproduction alternates with a stage of motion which separates mother and daughter, so subsequent reproductions have space to happen in.
DesignThe design was inspired by the theories of A. G. Cairns-Smith.Cairns-Smith envisages that the first organisms used the processes of crystal growth to maintain high-fidelity information transfer across generations. For example, some crystals grow in one direction, while preserving information (in the form of cross-sectional area, and fault structures) between layers as the crystal grows. The result is a long crystal, somewhat like a stick of rock with "Brighton" written down the middle. Then the crystal breaks in two, and the process continues. Initially, I planned to write a relatively sophisticated simulation of crystal growth on the level of atoms and atomic forces. However, it was not long before I was thinking about abstracting the essential features into a cellular automaton. The resulting deign is relatively simple. It has five states per cell, plus a counter, which is used to attain synchrony when reproducing. The automaton uses the Von-Neumann neighbourhood. Like HexHAL random configurations are likely to spontaneously lead to self-reproducing entities, in a manner reminiscent of abiogenesis.
On the error rateThe automaton displays replication with sufficiently high fidelity to preserve genetic information across many generations.However, like practically all such models there is a "natural" preference for small organisms - since these are less likely to interfere with the reproduction of their own offspring. If the automaton is allowed to run, smaller organisms will come to dominate. Normally, one would apply selection in a manner which counteracts this.
CommentsThis is my first attempt at an automaton based on the principles described - and there may be room for improvemnets.Because of considerations relating to embedding universal automata on the back of self-reproducing automata, the fact that a two-dimensional automaton results in organisms that are fundamentally one-dimensional is a significant problem.
If one has an
PlansThe basic idea of attaining synchrony - and then reproducing in a synchronous manner - can be used to produce a substrate in which genuinely two-dimensional organisms reproduce. Such a model probably more closely represents crystalline growth processes. It's disadvantage over the mechanism illustrated here is that it is not so simple.It's intended that the next self-reproducing automaton we create will be along these lines.
Interactive controlsThe applet is interactive, allowing you to apply selection based on organisms visual characteristics using a variety of implements.
DownloadsThis applet can also be run as an application. Download this jar file (using shift-click) and double-click on it.Source code is available - with a "no-restrictions" license. Download this zip file. |