Author: Andrew Williams
Date: 05:32:13 05/14/99
Go up one level in this thread
On May 13, 1999 at 23:12:41, Dan Homan wrote: > >I've tried the mtdf algorithm a few times with no luck. It was >always noticably slower than pure PVS. (For reference: mtdf is >an algorithm which uses a series of null-window searches from the >root to narrow in and find the true score of a position.) > >Today I tried mtdf again, but this time with more determination. >It is an easy change to my program because all I need to modify >is the loop that calls my PVS function from the root. Again, I found >that it was much slower than normal PVS at first. However, >by modifying the algorithm to use an adaptive step-size (meaning that >I don't try neighboring (+/- 1 point) windows for re-searches but >rather try to bound the score more efficently) and by >reducing my score resolution from 1/100 th of a pawn to 1/25 th of >a pawn, I got better results from mtdf than from pure PVS. > >I went from 277 correct solution on the WAC test set (5 sec limit on a >Cel 400) to 281 correct solutions with mtdf. My rms solution time for >both runs (with and without mtdf) were nearly the same. Of course, >these tests are not really conclusive... For example I don't know how >pure PVS will do with 1/25 th of a pawn scoring rather than 1/100 th. >What this does indicate to me is that mtdf is a viable solution. Previously, >I had assumed it would be very difficult to implement effectively. > >If I decide to commit to mtdf, there are (presumably) more optimizations >I could take advantage of. What kind of experience do other programmers >have with mtdf? > > - Dan PostModernist uses mtd(f). I've actually never used PVS, so I can't really compare. But one worry I always have with mine is having to depend on the transposition table to build my Principal Variation. I'm always worried that I've got cabbage in there, although when I look closely, it's normally pretty sensible. How did you get your PV when you tried mtdf? I'm interested in whether you made any change to your TT when you tried mtd(f). Mine has separate lower and upper scores for each position and a separate draft for each. Did you do this? This is better in my program, although it makes insertions and probes somewhat slower. I think the upper and lower bounds must be required, although the separate drafts are optional. I don't have the facility to change the granularity of my eval, although this is one of the major tasks I have for the Summer, if I can find time. I'll see what effect this has on my program. I've replied to Dave Gomboc's post on this subject further down the thread as well. Thanks a lot for the post - I'll send some more stuff if I can think of anything else that might be interesting. Andrew
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.