So, the mystery is not in the algorithm. The algorithm is only a sketchy physics.
But originally this formalism has been invented for computation.
It does pass very well standard computation steps, as well as nonstandard ones (from the point of view of biologists, who perhaps don’t hold enough sophisticated views as to differentiate between boring boolean logic gates and recursive but not primitive recursive functions like the Ackermann function).
In the following animation you see a few seconds screenshot of the computation of a factorial function.
Recall that the factorial is something a bit more sophisticated than a AND boolean gate, but it is primitively recursive, so is less sophisticated than the Ackermann function.
During these few seconds there are about 5-10 rewrites. The whole process has several hundreds of them.
How are they done? Who decides the order? How are criteria satisfied or checked, what is incremented, when does the computation stop?
That is why it is wonderful:
- the rewrites are random
- nobody decides the order, there’s no plan
- there are no criteria to check (like equality of values), there are no values to be incremented or otherwise to be passed
- the computation stops when there are no possible further rewrites (thus, according to the point of view used with the artificial life forms, the computation stops when the organism dies)
Then, how it works? Everything necessary is in the graphs and the rewrite patterns they show.
It is like in Nature, really. In Nature there is no programmer, no function, no input and output, no higher level. All these are in the eyes of the human observer, who then creates a story which has some predictive power if it is a scientific one.
All I am writing can be validated by anybody wishing to do it. Do not believe me, it is not at all necessary to appeal to authority here.
So I conclude: this is a system of a simplified world which manifest life like behaviours and universal computation power, in the presence of randomness. In this world there is no plan, there is no control and there are no externally imposed goals.
Very unlike the Industrial Revolution thinking!
This thread of posts can be seen at once in the chemlambda collection
If you want to validate this wordy post yourself then go to the github repository and read the instructions
The live computation of the factorial is here
Which means that if you want to produce another random computation of the factorial then you have to use the file
lisfact_2_mod.mol and to follow the instructions.