Last time I got stuck trying to remove the need for uncertainty. I have done it now! In the process I have also removed the need for absolute time.
The Setup
First we need to consider the universe as a causal network. This can be done without any notion of absolute time:
We can imagine dividing the world W into two parts, A and B. We can represent the states of each of these parts with vectors wA and wB. We might want this division to be somewhat "natural" in the sense of John Wentworth's work on natural abstractions and natural divisions of a causal network. But it's not particularly necessary.
Now consider what happens if we make a small alteration to one of the variables in wB. Let's choose one which doesn't depend on any other variables. Everything which is "downstream" of it will be affected, so let's highlight those in red. Let's call this universe X.
Now let's imagine that we take everything in A, and replace it with the version from W. So all of the influence coming out of A will be the same as it is in W. Consider what happens to B. We'll call this universe Y, and label everything which is different from X in green:
Now if any part of the universe is doing a decent job of optimizing, we would expect the influence of changing that node in X to be eliminated over time. Crucially, if A is optimizing B, then that difference should be eliminated in X, but not eliminated as much in Y, since wA has no information about the fact that yB is different to wB.
Example
Imagine our state-continuous thermostat. The causal network looks like this:
The world is divided into the thermostat T and room R. The dynamics of the system are described by the following equations, in which d is the "desired" temperature, and k represents the strength of the thermostat's ability to change the temperature of the room.
wTt=wRt−1−d
wRt=wRt−1−k×wTt−1
Choosing wT0=10, wR0=35, k=0.01, d=25 and with 1000 timesteps, we can plot the course of W like this:
As expected, wR approaches 25, and wR approaches 25. If we choose to alter wR0 by δ=0.001, we can calculate xRt, xTt, and yRt values. There's not much point plotting these since they're pretty much identical.
What we can plot are the relative values of xRt−wRt and yRt−wRt:
As we can see, xR converges to the same value as wR, while yR remains the same distance away. We can take one final measure, log(xR−wRyR−wR) and plot this:
Now this plot has an interesting property in the system we are studying: it doesn't depend on our choice of δ.
This metric can be thought of as a sort of "compressing ability" of T with respect to a change in wR0. This optimization is measured with respect to a particular axis of variation.
The compressing ability actually doesn't change if we add some noise to the system in the form of a sinusoidal temperature variation. Even if the sinusoidal temperature variation is comically large:
Yes, that is actually the new compressing ability being plotted, I didn't accidentally re-use the same graph! This is almost certainly a result of the fact that our "thermostat" is very mathematically pure.
What it does depend on is k. With a k of 0.02, we get the following:
It's twice as big! This is almost too good to be true! Looks like we might actually be onto something here.
Further Thoughts
The next step is obvious. We have to measure this in systems which aren't optimizers, or are less good optimizers. If it still holds up, we can try and compare the strengths of various optimizers. Then I'd like to explore whether or not this metric is able to find optimization basins. Ideally this would involve trying to interpret some neural nets modelling some simple dynamic system.
Last time I got stuck trying to remove the need for uncertainty. I have done it now! In the process I have also removed the need for absolute time.
The Setup
First we need to consider the universe as a causal network. This can be done without any notion of absolute time:
We can imagine dividing the world W into two parts, A and B. We can represent the states of each of these parts with vectors wA and wB. We might want this division to be somewhat "natural" in the sense of John Wentworth's work on natural abstractions and natural divisions of a causal network. But it's not particularly necessary.
Now consider what happens if we make a small alteration to one of the variables in wB. Let's choose one which doesn't depend on any other variables. Everything which is "downstream" of it will be affected, so let's highlight those in red. Let's call this universe X.
Now let's imagine that we take everything in A, and replace it with the version from W. So all of the influence coming out of A will be the same as it is in W. Consider what happens to B. We'll call this universe Y, and label everything which is different from X in green:
Now if any part of the universe is doing a decent job of optimizing, we would expect the influence of changing that node in X to be eliminated over time. Crucially, if A is optimizing B, then that difference should be eliminated in X, but not eliminated as much in Y, since wA has no information about the fact that yB is different to wB.
Example
Imagine our state-continuous thermostat. The causal network looks like this:
The world is divided into the thermostat T and room R. The dynamics of the system are described by the following equations, in which d is the "desired" temperature, and k represents the strength of the thermostat's ability to change the temperature of the room.
wTt=wRt−1−d
wRt=wRt−1−k×wTt−1
Choosing wT0=10, wR0=35, k=0.01, d=25 and with 1000 timesteps, we can plot the course of W like this:
As expected, wR approaches 25, and wR approaches 25. If we choose to alter wR0 by δ=0.001, we can calculate xRt, xTt, and yRt values. There's not much point plotting these since they're pretty much identical.
What we can plot are the relative values of xRt−wRt and yRt−wRt:
As we can see, xR converges to the same value as wR, while yR remains the same distance away. We can take one final measure, log(xR−wRyR−wR) and plot this:
Now this plot has an interesting property in the system we are studying: it doesn't depend on our choice of δ.
This metric can be thought of as a sort of "compressing ability" of T with respect to a change in wR0. This optimization is measured with respect to a particular axis of variation.
The compressing ability actually doesn't change if we add some noise to the system in the form of a sinusoidal temperature variation. Even if the sinusoidal temperature variation is comically large:
Yes, that is actually the new compressing ability being plotted, I didn't accidentally re-use the same graph! This is almost certainly a result of the fact that our "thermostat" is very mathematically pure.
What it does depend on is k. With a k of 0.02, we get the following:
It's twice as big! This is almost too good to be true! Looks like we might actually be onto something here.
Further Thoughts
The next step is obvious. We have to measure this in systems which aren't optimizers, or are less good optimizers. If it still holds up, we can try and compare the strengths of various optimizers. Then I'd like to explore whether or not this metric is able to find optimization basins. Ideally this would involve trying to interpret some neural nets modelling some simple dynamic system.