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.