Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move Ordering and Transpostion Tables -- A Question

Author: Robert Hyatt

Date: 06:39:05 08/15/01

Go up one level in this thread


On August 15, 2001 at 01:20:41, Peter McKenzie wrote:

>On August 15, 2001 at 00:06:00, Robert Hyatt wrote:
>
>>On August 14, 2001 at 21:51:49, Dieter Buerssner wrote:
>>
>>>On August 14, 2001 at 00:37:15, Robert Hyatt wrote:
>>>
>>>>On August 13, 2001 at 14:07:43, Dieter Buerssner wrote:
>>>>
>>>>>On August 13, 2001 at 00:01:35, Robert Hyatt wrote:
>>>>>
>>>>>>On August 12, 2001 at 23:49:35, Pham Minh Tri wrote:
>>>>>>
>>>>>>>How about the UPPER? Should we choose the move has score nearest alpha (the
>>>>>>>highest score or the first of highest ones)? Perhaps store something is better
>>>>>>>than nothing.
>>>>>>>
>>>>>>
>>>>>>Nope.  Something is not better than nothing here.  In a LOWER position, every
>>>>>>move was refuted by the next ply.
>>>
>>>Much snipped, but I will come back to this later.
>>>
>>>>Note that I use fail-soft as well.
>>>
>>>Then, I must totally misread your source. You don't keep track of the best
>>>score, when it is lower alpha. You allways return alpha, in the case of an upper
>>>bound node. This will move earlier be beta. So, this looks essentially as fail
>>>hard to me.
>>>
>>
>>
>>If a call to search returns a value < alpha, I return that value to the
>>previous ply, not the original alpha.  But if you search each move at a ply,
>>and you get a score <= alpha for each, you can _not_ reasonably expect those
>>scores to reflect anything about which move is better.  It just doesn't
>>work like that.  At the next ply you fail high as soon as you find a score
>>>= beta.  Not necessarily on the _best_ move, just on _any_ move that will
>>produce a score >= beta.  And since you don't search all moves to find the
>>largest fail-high, how can you use tht result at the previous ply to find
>>the worst move?  Answer is, you can't, reliably.
>
>Hi Bob.  I think we all understand what you are saying in this paragraph.  But
>lets for a moment assume that when you fail high, your move ordering is so good
>that you fail high with the best move *most* of the time.  We will call this
>ratio the FHBest ratio, being the number of times you fail high with the best
>fail high move divided by the total number of fail highs.


Sure... but that is really a useless piece of information.  For alpha/beta to
work optimally, you don't necessarily have to search the _best_ move first,
except along the PV.  The rest of the time all you want is a move good enough
to cause a cutoff, regardless of whether there are better moves or not.  This
is why killers and history work so well.


>
>Now of course, we can't measure FHBest unless we do a true fullwidth search, but
>lets just assume that it is high.
>
>If FHBest is sufficiently high (don't ask me how high is sufficient :-), more
>often than not we could determine the best fail low move.  We aren't *certain*
>that it is the best fail low move but, if FHBest is high enough, we know that it
>*probably* is the best fail low move.
>
>So it would make sense to give the probable best fail low move a bump up the
>move list when re-searching this position at a later time.


Try it.  Ed used to do this in Rebel.  He reported a 10% _improvement_ by
removing it after listening to this exact same discussion a few years ago.
Trust me, it doesn't work.




>
>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.