More on better estimates
I pointed out the problem with using the straightforward difference, which I shall call D0, to estimate the follower of a sente, and suggested an improvement based upon the temperature estimate of the previous play. But as I was going to sleep, that a better estimate comes from looking forward, not back.
Assuming best play:
Let D0 be the difference for the current position.
Let D1 be the difference for the next position.
Let T be the temperature estimate for the current position.
Code: Select all
Set T = D0;
If D1 < D0
Set T = (D0 + D1)/2;
If the current position is sente or ambiguous, then D0 is the best estimate. If the current position is gote, then it is the average of D0 and D1. To see why, consider the last play for Black. If it is a sente, {2*s | 0 || -r}, s > r, then the temperature is
r, and D0 = r. If it is a gote, {2*s | 0} then the temperature is
s, but D0 = 2*s. Since it is the last play, D1 = 0, and (D0 + D1)/2 = s, which is the correct temperature.
(OC, we could do more reading and calculation and come up with better estimates, but that's more work, and ballpark estimates are better than what we have now.

)
So I would suggest this way to make the initial temperature estimates, and to keep track of the game temperature estimate, which is the lowest temperature estimate to date, and graph it, as well. Higher temperatures are in theory temporary, and the drop below the game temperature can be significant information.
Edit: What if Black's last play is a gote with a follower? {2*s | 0 || -r}, s < r. The temperature is (r + s)/2. D1 = 2*s, and I suppose that D0 = r. In this case the formula I gave will overestimate the temperature. When 2*s ≥ r, then T = r, and the overestimate is (r - s)/2. When 2*s < r, then T = (r + 2*s)/2, and the overestimate is s/2. Earlier in the game I suppose that D0 will be closer to the actual temperature and this problem will tend to disappear. That's the theory, anyway.

And since the temperature is typically low near the end of play, this systematic overestimate will be small, and we may not care.
I have thought about working backwards, but that assumes correct play to the end, which we cannot do.