Computer Chess Club Archives




Subject: Re: A move to search 2nd... Keep in the trans table?

Author: Pham Hong Nguyen

Date: 21:08:01 07/21/04

Go up one level in this thread

On July 21, 2004 at 23:02:10, Eric Oldre wrote:

>On July 21, 2004 at 21:26:20, Pham Hong Nguyen wrote:
>>There are two cases:
>>1) Second best move of the root. Dr. Hyatt has a very interesting mechanism for
>>this case. After each iteration, he sorts root moves by seached nodes. Thus, the
>>second move will have the second searched nodes and have more chance than the
>>rest to become the best move.
>That seems like a really interesting idea, one that i'll admit i wouldn't have
>come up with for a LONG time, it ever.
>Let me see if i understand it correctly.
>at the root node, store the number of nodes that were searched in each child
>node. The idea being that the more nodes the engine takes to decide that it
>isn't the best move, then the more likely that that node could become a "best
>node" at the next iteration.
>So when the next iteration starts, use the node counts from the previous
>iteration to order the moves.

You got it :)

Another way is to search every root move with full width at shallow depths and
use scores for sorting them. But in my experiments the result is not better than
Hyatt's method.

>>2) Second best move of any node.

Sorry, I made a mistake here. This is about the pv but not the second best move
of each node. However, I think you could implement the same way even though I
don't think you can gain much.

>>Someone has developed already an idea to store
>>not only the best move but the pv of this node to the hash table. However, the
>>hash size will become so large but the gain is still little. This also depends
>>on the engine. You may try.
>>On July 21, 2004 at 16:55:07, Eric Oldre wrote:
>>>lets say you are searching a position with iterative deepening.
>>>at depths 3,4,5 it finds a best move of Qd3. then at depth 6
>>>the best move changes to c4.
>>>When you start searching to depth 7, you clearly would want the
>>>first move you search to be c4, and this shouldn't be a problem
>>>if your transposition tables are working right. Since the best
>>>move should be stored in it.
>>>however, a good move to try 2nd would be Qd3, but your transposition
>>>tables aren't going to let you know that, at least not in the implementations
>>>that I have normally heard about.
>>>I was thinking that one way to overcome this would be to keep 2 "best" moves
>>>in the trans table. one to try first, and one that was a best move, before
>>>being replaced by a deeper search.
>>>Are other people doing this? or have you discovered that the cost is greater
>>>than the benefit?

This page took 0.01 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.