Evolution could encode the brain in DNA

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:

The difference is that evolution has to be titrated in the case of humans through three gigabytes of DNA. That’s very unlike the weights of a model. Literally, the weights of the model are a brain, which obviously does not exist in the sperm and the egg. So it has to be grown. Also, the information for every single synapse in the brain simply cannot exist in the three gigabytes that exist in the DNA.

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.