Author: Andrei Fortuna
Date: 13:01:18 04/09/01
So far I've been rewarding some positional terms like passed pawns, connected passed pawns and so forth, also I'm penalizing king unsafety - with pretty much big scores, so to some positions the positional score gets outside an interval [-X * PAWN_VALUE .. +X * PAWN_VALUE] where X is about 2 in my case. This hurts in two areas : futility pruning and when I try to bail out of qsearch based on material score + swap value + some constant value. What I want is to be keep the positional score inside that interval, that's easy if I reduce the positional scores and drop those big bonuses/penalties but I'm sure there are positions where the new small scores will make my program lose (for example by not sacrificing a bishop to make way for a passed pawn). Most occur in endgame (where futility is turned off) but there are quite a few middlegame cases (especially the BAD_TRADE penalty for trading N+K for R+P will add +/- 1 PAWN_VALUE to the material score) What is the most common approach used for this problem ? Just ignore the big bonuses and perhaps add some extensions in the idea that if the search doesn't see it improving the score in the next plies it might be a false bonus to start with ? I'm not very fond of this method. Keep the big bonuses and use futility anyway, even knowing that in some cases it might be bad ? I definetely don't like this approach, that's why I don't do futility right now. Any other ideas/tips ? P.S. : Is there a test suite that contains >= 90% positional tests ? I.e. not (quick) material gains, but moves that will improve the position for the current player (like making an isolated pawn for the adversary, weakening opponent's king safety, that kind of stuff) ? P.P.S. : Sorry for my rusty language, I've been out of chess programming for a number of months and now I find a little bit difficult to express my ideas.
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.