Computer Chess Club Archives


Search

Terms

Messages

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

Author: Robert Hyatt

Date: 07:42:05 07/22/04

Go up one level in this thread


On July 22, 2004 at 00:16:36, Eric Oldre wrote:

>On July 21, 2004 at 23:13:26, Robert Hyatt wrote:
>
>>On July 21, 2004 at 23:03:59, Eric Oldre wrote:
>>
>>>On July 21, 2004 at 22:09:58, Robert Hyatt wrote:
>>>
>>>>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?
>>>>>
>>>>>Eric
>>>>
>>>>
>>>>Nobody uses the transposition table to order the moves at ply=1.
>>>
>>>Well not quite, I do!
>>
>>You only have _one_ position at the root of the search.  How many moves can you
>>store in one position?  :)
>>
>>More than one is a huge waste since "best" is all that counts in alpha/beta...
>
>
>i think that you might have misunderstood what i was trying to say, or i
>misunderstood you...
>
>I meant i get the first move to search from the trans table. and then use SEE
>after that.
>
>


OK.  That was not what it sounded like.  First move from hash is fine.  But
sorting the remainder of the moves with SEE/etc is not as good as other ideas,
such as when you find a new best move at the root, keep the previous best move
as #2 as in many positions the two moves flip-flop each iteration...




>
>
>
>
>
>
>>>Of course i hope to get that replaced in the future with something better. :)
>>>
>>>
>>>> Much easier is
>>>>to just generate the ply=1 move list before you start the search, and as you
>>>>find a new best move, move it to the top of the list, pushing others down 1
>>>>slot.  This makes you search the best move from the previous iteration first,
>>>>then the next-best move from the previous iteration second, etc...



This page took 0.35 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.