Author: rasjid chan
Date: 04:30:21 04/06/04
Go up one level in this thread
On April 06, 2004 at 06:25:19, Vasik Rajlich wrote: >On April 05, 2004 at 12:54:30, rasjid chan wrote: > >> >>I think most chess programmers implement hash tables my way, ie >>by thinking it thru themselves. All the internet articles I found >>about hashing only mention the the bare idea of hashing. I am not sure >>whether any book on chess programming devote a full chapter on hashing >>and if they do, what details do they provide. >> >>I remember a certain professor (Marsland) who wrote something like... >>the bulk of chess programming bugs come from hash-tables.... >>alpha-beta interacts with hash-tables in strange ways... >> >>At least they interact strangely for me. Every a little while, it seems >>something new turn up and I just have to post one example, a recent >>observation,to this forum to be safe that I am not way wrong ! >> >>I do fail soft and fails / hash outside window bounds. >>If on a hash probe and the hash is EXACT and fails high, >>I return hash value ( > beta). The ply below fails low with >>this "exact score". >> >>If after seaching all moves of a node and it fails low with a best-score >>< alpha, the normal hash is hash as best-score as upper bound. >>But if this best-score happen to be "exact", I fail low but hash as >>EXACT. >> > >This is absolutely correct. Good fail soft has a lot of subtle points, and you >just discovered one of them. > >If you use PVS, then according to various stuff I've read here fail soft does >not offer any serious improvement over fail hard. > >In MTD (f), fail soft is extremely important. > >However, your idea, which I also have implemented, is even then still not >especially important. Usually, when you fail high, you are failing purely with >an open-ended bound. (Ie score to +infinity - or another way to say it is that >you can only set the lower bound.) There are some rare exceptions to this, >mainly from the q-search. > >So, when you fail low at the next iteration, you generally are failing low with >another open-ended bound. (Ie -infinity to score, or only upper bound.) The >exceptions to this are when you had failed high with a true bound in q-search, >or when you had previous bound information. > >Both are extremely rare. > >I would suggest you first decide whether you will use PVS or MTD (f). This will >determine how much work fail soft merits. > >Vas > >>Hope I am not missing something big ? >> >>Rasjid Thanks. You have at once cleared all my lingering doubts. This is my first post on fail soft and I have not read anything on it yet, I think thru them all myself. Your confirmation of ... Good fail soft has a lot of subtle points... now confirms what I suspect. The example I posted is just a test case to find out what fail soft is. There are more subtleties I found in QS, like consistency of the class of moves in QS. As an example, allowing checks some time and not other times may introduce theoretically incorrect bugs, but I won't know how serious it will affect performance if we gloss over them, say in MTDf which you mentioned need good fail-soft. I have tried simple MTDf but had yet to reach the stage where I need to choose between PVS / Mtdf - I have yet to clear many things in my basic evaluation. Obviously I will later think about what you say about benefitting from fail-soft. I currently don't have a reason for using fail soft, it is just simply to have the naturally best or optimum bounds. Best Regards Rasjid
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.