Ever since the discovery of DNA and our growing understanding on what is going on in every cell of our body, how genes are activated or deactivated, we’ve been trying to find the Plan. A blueprint on how to build a human.
There’s been a lot of discussion about it being a part of so-called noncoding DNA (or “junk” DNA).
I (honestly admiting I am not a geneticist or biologist, just a pure computer science guy) think, that it may as well be there’s no plan at all. Not an explicit one.
First, it is very unlikely that it evolved in first organisms. For this to happen, the machinery would need to be very simple. But if you don’t need any special machinery at all - only laws of physics and chemistry, i is much easier. All code is in the data. Of course you still need replicating nano-machines on molecular level, but no fancy algorithmic decision-making.
Let’s see if this could work. In computer science, there’s a (these days pretty hidden) field of rule-based production systems. I will explain shortly, but when you read this, keep in mind how simple the algorithm implementing this could be.
It’s rule based, because a “program” consists of a set of rules (IF this happens, DO that).
Production system means, that the algorith is “produced” by the rules and data (which are stored in so-called “working memory”). There is no step by step algorithm of any kind.
Note, that machinery can be totally parallel, for example one “worker” per rule.
When some rule matches the conditional part, the action is performed. We call this firing or activation.
This computational model is turing-complete, that means you could write any possible algorithm as rules working over some data set.
How could this work on molecular level? Well, there are gene activators and inhibitors. When activator is present and all (molecular physics&chemistry) conditions (the IF part) are met, a gene is expressed and manufactured as a protein (the DO part). This could in turn activate or deactivate other genes.
If this really worked as I describe, it would look like a firework, a chain reaction.
Remember: any algorithm can be written as rules. You basically end up with a plan, but it is not written as steps.
It is parallel, so almost (compared to sequential computing) waiting.
The system would work from the beginning, the rules are written as data in DNA and can evolve pretty well, gradually, as we understand evolution.
The genetic language would remain the same among organisms. The contents and meaning of DNA would differ, but the language stays the same. You don’t need to do any incompatible changes to the “plan-realizing-machinery”.
What do you think?