Author: Roberto Waldteufel
Date: 19:26:31 05/24/00
Go up one level in this thread
On May 24, 2000 at 20:00:53, Robert Hyatt wrote: >On May 24, 2000 at 19:51:35, Roberto Waldteufel wrote: > >>I have noticed a weakness in my program in situations where there are advanced >>passed pawns, but often the promotion is not seen before it is already too late >>to stop, or else can only be stopped by sacrifice of material. Usually the >>program has missed a chance to stop the pawn much more cheaply, being distracted >>by some small material gain on the other side of the board, or else pushing the >>promotion beyond the search horizon by means of a series of checks from which >>the oponent can ultimately escape safely. Does anyone extend their searches for >>passed pawn pushes? If so, how is the extension triggered - does it depend on >>the rank of the pawn, the king position, and/or the currant remaining search >>depth? At present I consider pawn promotions in the qsearch (depth<=0) and I >>extend 1 ply for pawn pushes to the seventh rank at frontier nodes (depth=1), >>so the oponent cannot stand pat without giving the pawn a chance to promote, but >>I do no other pawn-triggered extensions at all. I think that pushes to the >>sixth rank probably should be extended as well, but to ensure that promotion >>occurs before standing pat this would need a lot of extra full-width plies. Any >>suggestions? >> >>Best wishes, >> >>Roberto > > >Make the value of a passed pawn larger. And make this value proportional to >the number of squares it has advanced. Then you will try to restrain/blockade >the pawn based on positional grounds. I already apply a bonus in the evaluation for passed pawns which increases as the pawns advance, and is smaller if the pawn is blockaded. Most of the time this works quite satisfactorily; the trouble arises when this bonus is exceeded by a material gain, say of a pawn or two, which causes the program to gobble the pawns and then push the promotion beyond the horizon with forcing moves, typically checks or long swap sequences. I could make the passed pawn bonus bigger, but this would cause problems with lazy evaluations, as my total positional score is never worth more than 2 pawns, so I make use of lazy evaluation to speed things up when the material score is more than 2 pawns below alpha or above beta. This means that if the program reaches the qsearch and is 2 pawns or more outside the search window on material it does not even bother to test for passed pawns - maybe it should test anyway, but that increases the qsearch workload quite a lot. How big is your passed pawn bonus relative to to material value? I might have to increase my tolerance to 3 pawns instead of two and increase my bonus, but it would be nice to catch the "dangerous" cases in the main search and extend the pawn push moves if only I could find a way to identify dangerous from silly pawn pushes. Best wishes Roberto
This page took 0 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.