WARNING! This page is out-of-date. Go here for the latest versions.
The applet runs slowly when your mouse pointer is within the area, quickly when it is outside. This is so you can slow things down if you want to.
This applet is an approximate simulation of DNA replication. Each coloured square is a molecule, the black lines represent a chemical bond between two molecules. Each molecule moves around at random, with the restriction that bonds cannot extend more than a certain distance. Simple chemical rules determine when bonds are formed and when they are broken (reactions). The effect of these reactions is to cause the string of coloured squares to replicate itself repeatedly, as long as there are sufficient free molecules available.
This code grew out of earlier work on mobile cellular automata and through discussion with Daniel LaLiberte and others on the Primordial Life discussion group.
The aim is to create a chemistry that permits robust, adaptable self-replicators. If it can be shown that self-replicators with varying fitness can exist, then in the presence of mutations and under the pressures of natural selection, evolutionary processes should be observed.
Get involved! You can have the source code for this if you want. Some details about how Squirm3 works are below.
21st August 2001
This is Variant6
<< back to variant 5 --- on to variant 7 >>
Variant 6 is an extension of variant 5, where we'd reduced reactions so that they only occur between two cells (atoms).
The reactions are the same but now we have added the cosmic ray mutation we were thinking about. With a certain low probability, the state of an atom is changed at random. The world starts off with everything unconnected and in state zero, a primordial soup of non-living molecules.
The different states trigger reactions to happen. For example, if an 'e' atom has its state changed to e1 then immediately it can bond with any passing e0 to form an e4-e10 pair. Similarly, other combining and breaking reactions can be triggered, depending on the state of the atoms involved.
What we are looking for is the spontaneous emergence of a self-replicating molecule. We know that they are possible in this chemistry because we designed the chemistry to allow them. Do you see one yet? No? While writing this I still haven't.
The simplest possible replicator is an e1-f1 pair (red-green). Is there a sequence of reactions triggered by cosmic ray state-changes that would create this pair?
Yes! There is! It involves five (5) lucky cosmic strikes which is very unlikely but not impossible. Here it is: (C means cosmic-ray state-change)
C R1 C R4 e0 e0 => e1 e0 => e4-e10 => e4-e10 f0 => e4-e10 f6 => e4-e3-f10 C*3 R3 => e10-e2-f5 => e10-e2-f5 f0 => e10-e2-f7-f6 e10 - e2 R4 e3 - e2 R5 e3 - e2 R6 e3 - e2 R7,8,9 e8 e8 => | => | | => | | => | | => | | f6 - f7 f10 - f7 f10 - f4 f8 f8 f1 f1 R10*2 e1 e1 => | | f1 f1Now, of course that is pretty unlikely but if it happens once then very soon the world will be full of e1-f1 pairs since they replicate exponentially. This is the origin of life, the change from a non-living set of chemicals to a living set of chemicals.
Has it happened yet in your simulation run? It hasn't yet in mine, I'm up to 200000 time steps now. I've got lots of ugly blobs of chemicals stuck together but no replication is going on. Looks like this is one that needs to be left overnight...
4th September 2001
The next morning...
OK, I realised I had a small bug, when the state of an atom was being randomised it was being assigned a number in the range 0-9 rather than 0-10. When I changed the code and re-ran I only had to wait 35000 time steps before our e1-f1 pair showed up! That was with a P_cosmic of 0.0001 which is quite high given that it is tested for each of the 1000 atoms every time step. This tells us that self-replication spontaneously emerged after (on average) 3.5 strikes per atom.
I put P_cosmic down to 0.00001 and re-ran but got bored, so bumped it back up to 0.00005. If P_cosmic is too high then the normal replication sequences of the strings will be interfered with, for more complex creatures with longer strings this would be worse.
Replicators have just appeared again. This time it took 55000 time steps (or 2.75 strikes per atom). Leaving the simulation running, the replicators are still around after 100000 time steps (10 floods), so they are clearly well-equipped to survive in the world we've set up.
Good, we've shown that the chemistry supports the spontaneous emergence of self-replicators. Also, we have shown that the simple step of allowing occasional state changes is sufficient to construct new forms, by triggering reactions. It may be that this cosmic ray effect is sufficient for causing mutations to self-replicators.
The difficulty now is to demonstrate that the evolution is open-ended and creative. We know that *any* string such as e1-a1-b1-b1-c1-f1 will self-replicate, so in principle the evolution is open-ended but in practice anything longer than the e1-f1 pair will take longer to replicate and will be selected against. This seems to be backed-up by the simulation runs, which after extended periods still have e1-f1 as the dominant replicator. If your run shows anything different then let me know.
The situation is mirrored in the real world, where bacteria are the quickest at replicating and dominate the microscopic world. However bacteria can only replicate by passively taking in nutrients that are present around them, more sophisticated creatures like amoeba can actively seek out nutrients, as well as absorbing other creatures as food. ref
This hints at a way that we can extend our artificial world to permit the existence of something better adapted to survival than the already infamous e1-f1 pair. If reactions permitted e1-f1's to be broken down into their constituent parts then surely in the conditions of drought (lack of replicative raw materials) that exists before each flood any string that has the capability to deconstruct others into raw components will be able to continue replicating. This is what we will look for next.
Such an occurance will require two things:
Note that we are suggesting that the gene-string itself is being used a weapon, by triggering reactions in the gene-strings of other creatures. This is contrary to the world we see around us, where gene-strings construct phenotypes that do battle on their behalf. In an early world of auto-catalytic molecules, the distinction between genotype and phenotype has not yet happened.
5th September 2001