Author: Robert Hyatt
Date: 21:37:15 08/13/01
Go up one level in this thread
On August 13, 2001 at 14:07:43, Dieter Buerssner wrote: >On August 13, 2001 at 00:01:35, Robert Hyatt wrote: > >>On August 12, 2001 at 23:49:35, Pham Minh Tri wrote: >> >>>How about the UPPER? Should we choose the move has score nearest alpha (the >>>highest score or the first of highest ones)? Perhaps store something is better >>>than nothing. >>> >> >>Nope. Something is not better than nothing here. In a LOWER position, every >>move was refuted by the next ply. > >I am not sure, if I understand LOWER here. Don't you mean an upper bound >position: One for which you have a score, that is an upper bound (so the score >is this or lower). Or in other words, the search failed low for this position. > >>You know nothing about which move is best, >>only that every move is bad. Better to let normal move ordering take over >>here rather than taking a guess. Note that even picking the move closest to >>alpha is worthless... because the scores are not produced so that this will >>work. You won't know how bad each move is, just that each one is bad... >> >>Store a zero, and try normal ordering ideas like good captures, etc... > >I have found a small reduction of tree sizes, when keeping track of and storing >upper bound moves in the hash table. I don't necessarily try them first in the >search, but just shuffle them a bit up in the move ordering. The difference to >Crafty might be, that I almost exclusively use fail soft alpha-beta. So, instead >of all moves having the same score, the scores can (and will) vary in the case >of fail low. For example, for any move, besides one there may be a mate score. > >Regards, >Dieter Note that I use fail-soft as well. But the bounds you get back, while they can be below alpha, are _still_ useless to choose which of the moves is the best one. They _might_ give you a better idea of what to do about changing the lower bound on the re-search, but not to choose the best of the worst... The terminology is a bit unclear, but I am using the words UPPER and LOWER the same way most others do. A position marked "UPPER" means that all moves failed low, and the bound we store is the _upper_ bound for that position, because we know all scores are <= that bound. We don't know how bad the score is however. Nor do we know which move was best as all are simply known to be <= some value. A position marked "LOWER" means that the move played there failed high, but all we know is that the score is >= some value. IE "some value" is the lower bound for this position but the real score could be much higher. Hence the name "lower". And here we _do_ have a best move, the one that failed high. It seems backward, but LOWER means a fail high node, while UPPER means a fail low node. If you use that terminology everybody will understand what you are saying. If you use the obvious terminology, you will be using the opposite of everybody else and that will cause some interesting miscues. :)
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.