An optimizing system is a system that has a tendency to evolve towards one of a set of configurations that we will call the target configuration set, when started from any configuration within a larger set of configurations, which we call the basin of attraction, and continues to exhibit this tendency with respect to the same target configuration set despite perturbations.
First, I want to say that I think your definition says something important.
That said, I’m concerned that the above definition would have some potentially problematic false negatives. I’m a little unclear what counts as a perturbation, though, but I haven’t been able to find a way to clarify it that doesn’t result in false negatives.
Specifically, consider a computer program that performs hill-climbing. This would normally be considered an optimizing system. When doing hill-climbing, it doesn’t seem like there is anything that would count as a perturbation unless some external system modified the program’s state. I mean, during a normal, undisturbed execution, the hill-climbing algorithm would just go right to the top of its nearest hill and then stop; that doesn’t seem to include any perturbations.
But suppose the program checked for any external perturbations, that is, modifications, of its code or program memory and would immediately halt execution if it found any. For example, suppose the program would simultaneously run thousands of identical instances of a hill-climbing algorithm and would immediately halt execution if any of the instances of the optimization algorithm failed to exactly match any other one. That way, if some external force modified one of the instances, for example, by modifying one of the candidate solutions, it would fail to match with all the other instances and the entire program would halt.
Now, there are some external perturbations of the system that would make it still reach its target state, for example by making the exact same external modification to every instance of the optimization procedure. But still almost all perturbations would result in the program failing to reach its target configuration of having found the local maximum or minimum. So it doesn’t really seem to tend to reach its target configuration despite perturbations. So it doesn’t seem it would be classified as an optimizer according to the given definition.
This could be problematic if the definition is used to prevent mesaoptimization. If the above would indeed not be considered an optimizer by your definition, then it could potentially allow for powerful mesaoptimizers to be created without matching the given definition of “optimizer”.
First, I want to say that I think your definition says something important.
That said, I’m concerned that the above definition would have some potentially problematic false negatives. I’m a little unclear what counts as a perturbation, though, but I haven’t been able to find a way to clarify it that doesn’t result in false negatives.
Specifically, consider a computer program that performs hill-climbing. This would normally be considered an optimizing system. When doing hill-climbing, it doesn’t seem like there is anything that would count as a perturbation unless some external system modified the program’s state. I mean, during a normal, undisturbed execution, the hill-climbing algorithm would just go right to the top of its nearest hill and then stop; that doesn’t seem to include any perturbations.
But suppose the program checked for any external perturbations, that is, modifications, of its code or program memory and would immediately halt execution if it found any. For example, suppose the program would simultaneously run thousands of identical instances of a hill-climbing algorithm and would immediately halt execution if any of the instances of the optimization algorithm failed to exactly match any other one. That way, if some external force modified one of the instances, for example, by modifying one of the candidate solutions, it would fail to match with all the other instances and the entire program would halt.
Now, there are some external perturbations of the system that would make it still reach its target state, for example by making the exact same external modification to every instance of the optimization procedure. But still almost all perturbations would result in the program failing to reach its target configuration of having found the local maximum or minimum. So it doesn’t really seem to tend to reach its target configuration despite perturbations. So it doesn’t seem it would be classified as an optimizer according to the given definition.
This could be problematic if the definition is used to prevent mesaoptimization. If the above would indeed not be considered an optimizer by your definition, then it could potentially allow for powerful mesaoptimizers to be created without matching the given definition of “optimizer”.