Author: Robert Hyatt
Date: 15:38:04 01/14/06
Go up one level in this thread
On January 14, 2006 at 13:47:22, Branislav Bezak wrote: >On January 14, 2006 at 00:15:25, Robert Hyatt wrote: > >>On January 13, 2006 at 18:38:35, Branislav Bezak wrote: >> >>> >>>I struggle to prevent my opponent to draw by repetition when I’m using best move >>>stored in entry in transposition table. >>> >>>At the beginning of AB function, I check the table, find a nice fat score and >>>make the best move stored. My opponent makes his move and it's a draw by >>>repetition. So, I added a code to check all opponent’s possible responses to my >>>stored best move to see if they are not draw. In that case, I don't use the best >>>move from hash table but force the full search to pick some other move that will >>>not allow the opponent to draw. But there are cases where I still cannot prevent >>>the draw because it is already too late and no matter what I do, my opponent’s >>>next move is a draw. >>> >>>What's the best way how to deal with this situation? >>> >>>Thanks >> >> >>I don't understand the question. You just use the "best move" as the first move >>to search, but you _still_ search it. And you should pick up the repetition at >>the next ply easily enough... You don't just take the best move and say "i'll >>play that and not search any deeper"... > >Well this might be the reson of my problem. I thought that if I find a valid >entry in TT that was searched before to the required depth with the right >evaluation type I don't need to search and I can just make the stored best move. >Could you please let me know what are the issues here (except the draw >detection) ? > >I'm a beginner; started to work on my engine in Nov 05, it's in c#, I wrote it >all from scratch except the move generator (I converted Sune Fischer's excellent >C++ code). At this point my engine can win only with Delfi engine set to 1700 >ECO. > >Thanks. > >Branislav OK... let's back up a bit. When you store a hash entry, the traditional position types are "EXACT", "LOWER" and "UPPER". EXACT means this is an exact score, since it is inside the natural alpha/beta window being used, and the score is correct. If the draft of the entry (the depth left when the entry is stored) is at least as deep as the current remaining depth, then you just return this score and you do _not_ search any deeper. Is that what you are doing?
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.