Think of it like this:
Given the behavior of a bot's germline over the last, say, 100K cycles, there is an optimal muscle distribution which would have minimized the energy cost of those actions. That's true regardless of how we approach specialization. Assuming that future behavior is going to be similar to past behavior, we can use that past behavior to predict future behavior. And from that, a muscle distribution which should minimize costs in the future.
We can cheaply keep track of past behavior, weighted more heavily for more recent behavior, by using a
exponential moving average. Even if specialization is controlled in the DNA I think we'd still want to keep a record of how a bot has spent energy in the past so that a bot's DNA can at least make informed decisions. And again, assuming that past behavior will be an indicator of future behavior, that moving average represents the idealized muscle distribution. Which means bots which deviate from that are less fit almost by definition, so it's not necessarily an interesting problem to solve.
That said, to play devil's advocate, there are some problems:
1. This does not work well for somatic cells. Eg: organs in a specialized multibot. A multibot might easily want specialized shooting cells, for instance.
2. This does not work well for something like a caterpillar/moth lifecycle, since there are very different metabolic needs for a moth compared to a caterpillar.
For both cases, I think what we need is something like a "muscle profile" that can be saved/loaded/modified. But I don't want to have magic ID numbers that bots have to use to load up the correct profile. And I also don't want to have dozens of sliders that bots have to tweak or, worse, remember dozens of configurations of the dozens of sliders.