Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Move Ordering at the Root

Author: Andrew Dados

Date: 09:54:10 09/16/99

Go up one level in this thread


On September 16, 1999 at 12:32:12, Andrew Dados wrote:

>On September 16, 1999 at 04:49:15, Bas Hamstra wrote:
>
>>On September 15, 1999 at 19:42:34, Andrew Williams wrote:
>>
>>>On September 15, 1999 at 17:12:16, Dan Homan wrote:
>>>
>>>>I was reading the crafty source again the other day and noticed that
>>>>Bob has a special function to improve the move ordering at the root
>>>>of the search.
>>>>
>>>>I really didn't feel like writing such a function last night, but I
>>>>thought instead to use the values returned by the search itself to
>>>>improve the move ordering at the root.  I know that I only get an
>>>>accurate value for the best move, but I thought that my fail-soft
>>>>search might return useful numbers for the other moves as well....
>>>>
>>>>Implementing this was pretty quick and easy: there were a couple
>>>>of pit falls, but the total changes were about 5 lines of code.
>>>>Previously I simply used the same move ordering at the root that I
>>>>use at all other nodes.
>>>>
>>>>The improvement was amazing!  I got a full ply in many positions and
>>>>about a half-ply in many more.   It improved my solution times on WAC
>>>>noticably and seems even better in quiet positions.
>>>>
>>>>I know that my solution was a quick kludge, so I am wondering what
>>>>other people do for move ordering at the root of the search.
>>>>
>>>> - Dan
>>>
>>>Hi Dan,
>>>
>>>This is what I used to do. (I'm also using fail-soft). It's one of those
>>>things that shouldn't really work, but seems to do very well. However,
>>>I later changed it to use the number of nodes in the sub-tree to order
>>>root moves. If I recall, this made very little difference to my program's
>>>performance; I just prefer this, because I know why it should work.
>>
>>Interesting. Isn't this in fact the same discussion as a few days ago?  Using
>>values < Alpha for movesorting? In this case on the root.
>>
>>Well, if it shouldn't work, why does it, if it does, if you know what I mean?
>>And if it works, I would very much like to hear Bob's reaction.
>>
>>Anyway I will try this too.
>>
>>
>>Regards,
>>Bas Hamstra.
>
>   Explanation why fail-soft scores work is actually easy. Imagine 2 moves with
>*true* scores for that ply of (alpha-10) and (alpha-100), respectively. Your
>fail-soft will more likely return score for second move lower then for first
>move (there is that <alpha-100,alpha-10> score space which *can not* be returned
>from search of first move, but can return from search of second move). Second
>move will also more likely require less nodes to refute. So those 2 methods are
>comparable, and ordering by fail-soft scores works just because probability of
>scores is non-random (higher chance that worse move will return worse score,
>cause it has more 'score space' for that)... I wonder why Bob neglects that...
>
>-Andrew-

 To be exact: why first move can return values from range (alpha-10,alpha) and
second can return from range (alpha-100,0), both 'random' in their ranges, you
can calculate that chance of wrong order  by 'failsoft sort' here is exactly
1:20... so 95% times they will be ordered right. Not bad at all...




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.