When and how to return a draw evaluation?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: When and how to return a draw evaluation?

Post by bob »

hgm wrote:
Zach Wegner wrote:How exactly would you go about implementing this positive motivation?
What I do in Joker is increase the Pawn-push bonus (essentially switching to other piece-square tables for Pawns) after 50 reversible plies, especially for passers. The positive motivation then becomes to advance its Pawns. This allows me to be reluctant with Pawn moves in the normal evaluation. First it tries to make progress by moving pieces around, trying to win more material without doing something irreversible. Especially at short TC this has the advantage that it deepens the existing game tree in the hash table, as all nodes that are in there remain reachable, so that a way out of a stand-off that is beyond the horizon for a single search will eventually be discovered when the branch leading to the way out is search a number of times in succession, reached by a few different initial moves (as the root position is changing all the time). If that apparently does not work, it switches to 'plan B', which is to put emphasis on pushing Pawn in a responsible way. If neither of that works, it simply accepts that cannot make progres, and is happy with the draw.
Is that also not completely random? Suddenly you just want to push any pawn, which is identical to causing no pawn pushes to slowly lower the score. I'd prefer to get the push weights set properly and then discover "you need to move something to keep the score from dropping" while using what you consider to be the optimal evaluation to choose what to push, rather than deciding "push something, even if it is wrong, to avoid the draw..."