I have a crackpot theory related to this that I don't take too seriously, but I think about it sometimes anyway. Much of developmental biology depends on gene regulation networks and chemical gradients. Encoding complicated information into the brain would therefore require a large number of regulatory switches. If each of these switches needs its own protein, then not much complexity can fit in the genome. So the crackpot theory is that some of the non-coding DNA is actually what contains most of the information. RNA can control gene expression, so it's not totally crazy. Of course, we somehow have to make this consistent with the amount of sequence conservation in non-coding DNA.
EDIT: Just to explain further, the crazy part of the theory is not that the non-coding DNA is doing stuff, it's that there is a fairly general and modular system for specifying patterns of neuron connections, where adding a new circuit or drastically modifying an existing one can be done only by modifying non-coding DNA, without needing to touch coding DNA at all.
I think "gene expression is significantly affected in systematic ways by non-coding DNA, and RNA is a vector by which this happens" is completely mainstream in genomics, and has been for a pretty long time?
Yeah, there's a spectrum there from things that are reasonable to things that are unreasonable, and I think I didn't include the most unreasonable parts. I will edit.
My standard analogy for this is the "busy beaver" problem (https://en.wikipedia.org/wiki/Busy_beaver) in computer science: given a Turing machine of a given size/shape, what's the starting configuration which produces the longest output that reaches a termination state?
It turns out that even small Turing machines that could be described in a handful of bytes can have colossal output runs (which terminate). As examples:
4-state, 2-symbol busy beaver: Result: 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 (107 steps, thirteen "1"s total)
5-state, 2-symbol busy beaver: Result: 4098 "1"s with 8191 "0"s interspersed in 47,176,870 steps.
Current 6-state, 2-symbol best contender: Result: more than 2↑↑↑5 "1"s in more than 2↑↑↑5 steps, where 2↑↑↑5 = 2↑↑2↑↑2↑↑2↑↑2 and ↑↑ represents tetration.
The TL/DR is that small computational systems can produce gloriously huge structured output; and what is biology but a computational system?
@olehif @Dennis Towne I find it unlikely that a huge structured output like the brain can be used without a period of being taught. Suppose that, instead of the brain, the DNA encoded an LLM's initial weights. Then I don't expect the LLM to be usable without a long period of pretraining, RLHF singling out the Assistant Persona and RLVR which made the LLMs far more capable.
Agree! I just think "being taught" might be a wrong frame. As a though excercise, imagine evolution "hardcoded" the concept of "bear" directly in DNA like this:
If parents reliably show pictures of bears to kids, then this concept will be created in everyone, even though true description of "bear" might be orders of magnitude more complex.
People would normally call this thing "learning", but I think you might also call this compressed encoding (or compilation), because you could not have learned anything else.
Many people have observed that the human brain is extremely complex and that a complete description can't possibly fit inside the DNA. For example, from Dwarkesh Patel:
I think this is only true in a very narrow sense and is not a big constraint for evolution.
With compression algorithms, there is always a trade-off between the compression ratio and the length of the algorithm. The more mutual information there is between the compressor and the data, the better the compression.
Per the Kolmogorov-Levin theorem, mutual information in about is:
Relatedly, while the brain is very complex, the world outside is much more so. And evolution doesn't have to figure out how to build the brain, only how to transform information in the environment into one.
A useful reframing is to imagine evolution programming in an extremely high-level language, with everything in the environment being part of its (unimaginably large) standard library. This might allow even extremely detailed brain design to fit in DNA, even though it doesn't help much with the compression of, e.g., a random string.