Smoothing evaluation phases
Posted: 01 Mar 2005, 23:21
I like the idea of a calm transition between different game phases.
It seems like it is something you would expect to happen naturally and
it's probably beneficial for the search stability as well.
Unfortunately I don't see a way to do it efficiently - in my case.
I've been looking over some of the programs that do this in their eval
and I get the impression they have rather simplistic evaluations.
They have one big eval with some terms for midgame and some for
the endgame, these are then interpolated by some game stage value.
I see some problems with that though, one problem is that
everything gets evaluated all the time, even if it contributes little or
nothing at all to the final score.
Another problem is how does one extend and build upon this basic design?
The way my program works right now is that there are a handful of
different specialized (mostly endgame) evaluations.
One eval for setting mate, one for king-rook-pawn endgames, one
for pure pawn endgames one for bishop-knight endgames etc..
It's easy to check which one to use and then jump straight into
an optimized eval for that special case.
I guess my question is, to those that do the interpolation thing,
how do you build a complex evaluator with this interpolation
mechanism in place?
-S.
It seems like it is something you would expect to happen naturally and
it's probably beneficial for the search stability as well.
Unfortunately I don't see a way to do it efficiently - in my case.
I've been looking over some of the programs that do this in their eval
and I get the impression they have rather simplistic evaluations.
They have one big eval with some terms for midgame and some for
the endgame, these are then interpolated by some game stage value.
I see some problems with that though, one problem is that
everything gets evaluated all the time, even if it contributes little or
nothing at all to the final score.
Another problem is how does one extend and build upon this basic design?
The way my program works right now is that there are a handful of
different specialized (mostly endgame) evaluations.
One eval for setting mate, one for king-rook-pawn endgames, one
for pure pawn endgames one for bishop-knight endgames etc..
It's easy to check which one to use and then jump straight into
an optimized eval for that special case.
I guess my question is, to those that do the interpolation thing,
how do you build a complex evaluator with this interpolation
mechanism in place?
-S.