A hypothetical question about draws

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Sven
Posts: 4052
Joined: Thu May 15, 2008 9:57 pm
Location: Berlin, Germany
Full name: Sven Schüle

Re: A hypothetical question about draws

Post by Sven »

What about this:

In each iteration > 1 (or > some minimum), start with a zero window around the value 0 (i.e., alpha=-1, beta=0 at the root node) to check whether the best move of the previous iteration returns at least a draw or not (search only that best move here).
- If it does, try to go for a win with a window of [0, +INF].
- If it doesn't then research with [-INF, 0], hopefully finding a different move that returns a draw score; if this fails high (v >= 0), try to go for a win from here with [v, +INF].

I cannot say if this would indeed have a chance to play stronger. At least I think that the "avoid to lose" part that lets the engine be happy with a draw by limiting beta to 0 would allow for a deeper search. However, the researches required by the algorithm above might compensate for that, so I am not sure.

The contempt factor should be set to 0 in this case. I would leave the evaluation function untouched since I think that the idea "be happy with a draw" is only a search topic. If you change the evaluation then you change the engine's view of what is a good position and what a bad one, which might also affect the decision between a bad position and a draw.

Sven
vb4
Posts: 165
Joined: Sat Mar 11, 2006 5:45 am
Location: NY

Re: A hypothetical question about draws

Post by vb4 »

Hi Dann,

I think that intuitively it may be easier to have an engine that plays for a draw vs a win. Engines are always designed to develop a plan for winning and thusly try to avoid positions that may in fact lead to a draw. Obviously a draw is better then a loss but here is my 2 cents. If it isn't a major change in the code of an engine I would love to see someone give it a try. With the way the ratings system works any player playing against a machine like this may have a tougher time trying for a win and should the engine be able to force a draw would stand to gain in its ratings since playing against a higher rating and getting a draw would insure points added to their rating. Now this does nothing for a better understanding of the game but for those interested in having their engine rated higher then others is an intersting thought atleast to me. Curious to hear the forums thoughts on this.

BTW I love this game and am still interested in seeing breakthroughs in our understanding of the game but alwasy wished someone can give this thought a try.

Les