Evert wrote:Daniel Shawul wrote: not some completely unnecessary mg&eg score combination. Say I decided to have three game states
I agree.
On some level, it doesn't make sense to me that the current evaluation should be some linear interpolation between a "middle game" evaluation and an "end game" evaluation. What
does make sense to me is that the evaluation of any piece should have two components: how much it's worth in the current position and its future potential. As the future potential of some evaluation terms decreases (knights in the end game, king safety when there are fewer pieces on the board) their evaluation is scaled down while other terms (like passed pawns) become more important.
The idea of interpolating between 2 evaluation functions makes developing an evaluation function far easier, but I'm with you on this, I don't think it's ideal.
Each position has different considerations and the "stage" of the game is only one of many of those considerations. It turns out that it is one of the more relevant things and so it is an easy way to proceed.
A simple test case to focus on is where to put the king? There is an awkward stage between opening an middle game where we are not completely satisfied with Komodo. The interpolation of the two tables does not make that much sense to us.
What to do with the king is a precarious balance between how safe it is and how useful it can be as a fighting piece and it highly correlated to how many pieces are on the board and what they are.
Modelling that as some interpolation between middle game and end-game evaluation is clearly the simplest way to do it, but it's not at all clear that it's the best way. For instance, not all evaluation terms need to scale in the same way. Some might not scale with the value of pieces still on the board, but rather some other metric.
Of course if they don't scale you can simply give them the same or close to the same values. But the problem is that they don't phase from one to the other exactly the same, it's not necessarily linear. You can have significantly different values for a single opening and middle-game term but the middle-game value may be dominant until we are almost in a king and pawn ending for example and then the transition should be sudden.
A way to deal with that (which adds a lot of complexity) is to pick a center point for the interpolation, one for each eval term. If your stages range from 0 to 100 for the middlegame the center point does not have to 50, it could be some other value. But that is only one kind of curve and may not be the most appropriate one for every evaluation feature.
I fear at this point in time the knowledge engineering aspect of chess is complicated and we have such a long way to go that even though the interpolation idea is probably not ideal, it's not our biggest problem. .
It would be far more interesting if people experimented with this rather than all doing the same type of middle-end game interpolation. Of course the number of parameters that can be tuned would explode...