How do you optimize a system while preserving an unknown function? (Optimization, Machine Learning, Evolutionary Computation, Control Theory, etc.)
I'm trying to abstract a biological problem into a more general computational problem, as I'm interested in the underlying methodology used in this fields, to ideally translate back to biology.
The core challenge is that I want to modify a system while preserving a desired behaviour in one context, but allowing that behaviour to change in other contexts. The difficulty is that I don't know which internal parts of the system are responsible for preserving the desired behaviour.
A simplified example:
- We have a system (algorithm, function, circuit, program, etc.).
- The system operates within different contexts/environments.
- In Context A, it must produce a desired output.
- In Contexts B, C, D..., it should not produce that output.
- The context may interact with or modify any part of the system.
- We are free to modify the system itself.
- The system can be enormous in complexity, but ideally is optimized for minimimum required complexity that might scale with the number of contexts.
- The contexts can also be enormous in complexity and interact with the system in many ways.
- Some internal components are essential for producing the desired output in Context A.
- Other components are free to change.
- The problem is that we do not know which components are essential and which are not.
- We can only evaluate the system by observing its behaviour in each context.
Are there existing computational methods that tackle this type of problem?