Author: Robert Hyatt
Date: 20:25:22 09/11/99
Go up one level in this thread
On September 11, 1999 at 23:03:25, Bas Hamstra wrote: > >I'm working on it too, based on your advice... I understand the principle: it's >cheaper to prove a move is worse than the first move, than to determine it's >exact score. > >You say PVS gives you as least 10% over alphabeta%. Others have reported that >MTD(f) gives you at least 10% over PVS (someone mentioned 15%). > >ab 100.000 nodes >PVS 90.000 nodes >MDT(f) 81.000 nodes ??? > >What is your opinion on this? Is there any reason to not do MDT(f) right away? > mtd(f) has its own unique problems. (a) you need a stable evaluation, not one that varies widely in the scores it produces. (b) you have hashing issues to resolve, in that you really need to store two bounds, since every mtd(f) search fails high or low, and since you keep re-searching after shifting the root window... you need both bounds so that when you get a fail-low in a position, you can also remember the fail-high that happened when the window was different... (c) lazy eval is a killer because you need to use fail-soft to get the best bound back to the root, and lazy eval tears this up badly... so there are lots of problems to solve... I don't use mtd(f) and don't plan to do so. Whether you get that 10% depends on a _lot_ of things. When I tried this, the best I got was 1/2 the speed of my PVS code... because of my eval and lazy exits mainly... I'm not willing to reduce the size of my tree by maybe 10% with mtd(f) but make my program 2x slower by turning off lazy eval. >My intuition says this: if everyone *still* sets an aspiration window for PVS, >it must somehow be *non* optimal. Don't you agree? For you have seen it still >searches more than necessary (on average, in games), and try to restrict that by >setting an initial window. An optimal method wouldn't need that. Do you have any >interesting philosophies on that issue? > I obviously use aspiration search + PVS. And think that it is very good. Whether mtd(f) is better is an open question. IE it took me a long while to make bitboards really competitive. I suspect that mtd(f) is the same in that regard... you have to commit to it and make it work. And in doing so you may eventually get that 10%. But in doing so, note that you do have to totally abandon lazy eval if your eval can produce significantly wide scoring swings... >Regards, > >Bas Hamstra.
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.