Author: Stuart Cracraft
Date: 09:08:17 07/28/04
Go up one level in this thread
On July 28, 2004 at 09:04:16, Peter Alloysius wrote: > >>>>I visited Aske Plaat's site and slapped MTD(f) into my >>>>program, keeping the existing PVS/NEGASCOUNT in lieu of implementing >>>>his AlphaBetaWithMemory(). This is perfectly okay according to Aske. >>>> >>> >>>you should implement his AlphaBetaWithMemory(), or your program will take >>>9999999 iterations to find mate value. If value found by alphabeta is above beta >>>or below alpha, return that real value, not the alpha/beta. >> >>Exactly. And things do look somewhat better with the return alpha/beta >>vs. return value under conditional compilation. >> >>As the other author has pointed out, instabilities still abound with >>the current implementation and it is no where near PVSNEGASCOUT in >>performance nor reliability in its early form, obviously. >> >>But good call and a good laugh. > >I think that Plaat's AlphaBetaWithMemory() is somewhat what we called fail-soft >ab, right? (if i don't mistaken it, i'm still confused with those terms) > >with that, my mtd(f) engine *always* need only two iterations to find mate >value, one to get upperbound and another to get lowerbound. > >So, if you need hundred iteration to find mate value, then your search() surely >return alpha/beta instead of true value (in this case is mate value). Return >that true value and no need to worry about accelerator or instability in your >case. CMIIW Yes -- that was the first change I made, made PVS/NEGASCOUT conditionally compile in exact value returns if MTD(f) search is being used as caller of PVS/NEGASCOUT, otherwise return the alpha's and betas. That plus the 1,2,4,8,16... 16,8,4,2,1 for changes to the beta window. After the above two changes plus a limit on the number of iterations without convegence and the MTD(f) implementation is at parity with the PVS/NEGASCOUT on a short 30-problem test. Both solve 90%. Note: this implementation of MTD(f) calls the existing well-debugged PVS/NEGASCOUT and I believe all my hashing is mostly bug-free. Still looking for other things and will try ETC in MTD(f) next. It didn't help me with PVS/NEGASCOUT. There's another thread about that recently started with a question about ETC before I go in and grab the old ETC code. Stuart
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.