Yes, designing proteins or RNAzymes or whatever is hard. Immense solution space and difficult physics. Trial and error or physically implemented genetic algorithms work well and may be optimal. (EG:provide fitness incentive to bacteria that succeed (EG:can you metabolize lactose?))
Major flaw in evolution:
nature does not assign credit for instrumental value
assume an enzymatic pathway is needed to perform N steps
all steps must be performed for benefit to occur
difficulty of solving each step is “C” constant
evolution has to do O(C^N) work to solve problem
with additional small constant factor improvement for horizontal genetic transfer and cooperative solution finding (EG: bacterial symbiosis)
intelligent agent can solve for each step individually for O(C*N) (linear) work
this applies also to any combination of structural and biochemical changes.
Also, nature’s design language may not be optimal for expressing useful design changes concisely. Biological state machines are hard to change in ways that carry through neatly to the final organism. This shows in various small ways in organism design. Larger changes don’t happen even though they’re very favorable (EG:retina flip would substantially improve low light eye capabilities (it very much did in image sensors)) and less valuable changes not happening and not varying almost at all over evolutionary time implies there’s something in the way there. If nature could easily make plumbing changes, organisms wouldn’t all have similar topology (IE:not just be warped copies of something else). New part introduction and old part elimination can happen but it’s not quick or clean.
Nature has no mechanisms for making changes at higher levels of abstraction. It can change one part of the DNA string but not “all the start codons at once and the ribosome start codon recognition domain”. Each individual genetic change is an independent discovery.
Working in these domains of abstraction reduces the dimensionality of the problem immensely and other such abstractions can be used to further constrain solution space cheaply.
Yes, designing proteins or RNAzymes or whatever is hard. Immense solution space and difficult physics. Trial and error or physically implemented genetic algorithms work well and may be optimal. (EG:provide fitness incentive to bacteria that succeed (EG:can you metabolize lactose?))
Major flaw in evolution:
nature does not assign credit for instrumental value
assume an enzymatic pathway is needed to perform N steps
all steps must be performed for benefit to occur
difficulty of solving each step is “C” constant
evolution has to do O(C^N) work to solve problem
with additional small constant factor improvement for horizontal genetic transfer and cooperative solution finding (EG: bacterial symbiosis)
intelligent agent can solve for each step individually for O(C*N) (linear) work
this applies also to any combination of structural and biochemical changes.
Also, nature’s design language may not be optimal for expressing useful design changes concisely. Biological state machines are hard to change in ways that carry through neatly to the final organism. This shows in various small ways in organism design. Larger changes don’t happen even though they’re very favorable (EG:retina flip would substantially improve low light eye capabilities (it very much did in image sensors)) and less valuable changes not happening and not varying almost at all over evolutionary time implies there’s something in the way there. If nature could easily make plumbing changes, organisms wouldn’t all have similar topology (IE:not just be warped copies of something else). New part introduction and old part elimination can happen but it’s not quick or clean.
Nature has no mechanisms for making changes at higher levels of abstraction. It can change one part of the DNA string but not “all the start codons at once and the ribosome start codon recognition domain”. Each individual genetic change is an independent discovery.
Working in these domains of abstraction reduces the dimensionality of the problem immensely and other such abstractions can be used to further constrain solution space cheaply.