Author: Peter Fendrich
Date: 15:43:19 06/16/03
Go up one level in this thread
On June 16, 2003 at 16:34:09, Andrea Griffini wrote: >I'm writing a chess program (iigchess on FICS) and I implemented >something I've seen described and to which I didn't think myself >before, that is doing a scan on all moves when entering a node >in the alpha-beta search to see if any of the reachable positions >is already in the hash table and its value can justify a beta cut. >Doing this after the hash table probe for this node but before >doing the move sorting and before starting evaluating the moves >seemed to me a possibility to save something, but after implementing >it I saw that I was actually getting an *increased* number of >visited nodes to reach the same search depth. > >Does this means there's a bug in my code or that can indeed happen ? > >My hash table is just a single-probe always-update one, but I >suppose that shouldn't be the problem. Also a position in the hash >table is considered usable only if the search depth that generated >the stored result is not lower than current search depth or if we >are in capture search (search depth is expressed in units of one >tenth of a ply, depth<0 means capture search). > >Andrea One thing. You have to be careful here with the sign and who is to move... I suppose that you are using minimax and probes the moves without actally making them. First, the scores you get is one level down and the sign should be reversed before used. Second, You have changed side without making the move on board. The side to move has to be reflected in some way when you're probing. If you are XOR-ing some value in order to separate between black and white to move you mustn't forget to do that here even if the board position itself doesn't say so. /Peter
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.