bob wrote:First, infinity means infinity, which is simply the largest number possible. In 16 bit ints, +infinity becomes 32767 because no numbers are larger.
Well, it could mean that here. But, as I explained, that dos not mean that -INFINITY would be the most negative number possible. That would be -INFINITY-1...
But my point here is that the term itself, means a number such that there is no larger number as in infinity+1. If infinity+1 is possible, then "infinity" is being incorrectly used. In the case of a tree search +infinity (by definition in alpha/beta tree searching as defined by Newell, Shaw and Simon) is a value that bounds all possible scores, so that no score can ever be greater than or even equal to +infinity.
Same here. No score can ever be greater than infinity or smaller than -INFINITY. That is quite another definition that the one you gave in the sentence before, though. Which is just as well, as the first one seems to make little sense. On a computer there are always larger integers. If not in the current type, then in a longer type, or an unsigned one. Any mathematician knows that infinity is not a an element of the set of natural numbers, and a number with the propertyy you require simply does not exist.
And note that even equal to is critical else you would get fail highs you could not resolve.
I just want to use a term in its correct sense because if I were looking at something and saw a number represented to be larger than +infinity, I would have to scratch my head and wonder what on earth they are talking about.
Well, as INFINITY here is compatible with +32767 I have _no idea_ what you are fussing about. Starts to look more and more like simple stalking / harassment.
BTW, in the alpha/beta framework, going from +32767 to -32768 by adding +1 is not "quite ok". It will totally screw up searches that use that way wrong bound.
Totally _wrong_! If -INFINITY satisfies your second definition (any score is strictly larger) then -INFINITY-1 satisfies it too. Only if you would also pass your Search() arguments Alpha and Beta as short int, you would have to be careful not to push it to the limit, and make sure you don't pass an unrepresentable value for Beta. uMax would never do that, as it passes minus the maximum of Alpha and BestScore, and BestScore would nbnever be lower than -INFINITY. (I don't want to up Alpha there, as I need it for the next IID iteration.) And of course it passes Beta as in int, so everything upto 2G would be representable.