Quote:
Originally Posted by Pocket Trips
I have evaluation set on 3 ply grandmaster level evaluation but this move just doesn't seem right to me. I would rather stay as far away as I can with with the checker on the 13 point while still leaving a builder on 6 for when gnu runs
This all makes me wonder a little on how the search is implemented in GNU. What I'm shooting at is the so called "horizon effect" of a Minimax search. It basically says that in order to evaluate a leaf node of the game tree, the position represented by the node must be "quiet".
In chess programming, this means that the evaluation is only ever applied to positions in which no captures are possible. So if a chess engine is doing a n-ply search, and at move n captures a pawn with a queen, the search must be extended until no recaptures are possible. Otherwise the search states that this line ends in the win of a pawn after n plies, while ply n+1 would see the queen taken because the pawn was protected. This is the horizon effect, as the capture of the queen was beyond the search horizon of the n-ply search.
Well GNU and Snowie as well use variants of the Minimax for the searches, too. I'm almost certain, that they don't extend the search until a position is really quiet (i.e. no captures possible) because in backgammon this could blow up the search tree considerably.
From the source code of GNU it seems to me, that no obvious quiescence search is done. Instead after n-plies, it is left to the neural network to evaluate blots that can be hit (please note, that this is just an educated guess, as I have only taken a superficial look at the evaluation module of GNU).
OK so we could expect the neural network to be able to evaluate blots in a way, but as Bill Robertie pointed out, a hit will result in a rather huge equity swing. If the network could deal with these swings on its own, there would be no point for a plied search at all. So we must acknowledge, that the neural network evaluation probably doesn't grasp the full extent of these swings.
Now in the OP position, we might have some kind of blot hitting contest, which is not a "quiet" position. A 2-ply search might thus underestimate a swing created by a hit at ply 3. The evaluation could therefore be biased towards the side that moved last in the search (at ply n). Odd number searches are biased towards the player to move in the initial position, even number searches are biased towards the opponent.
Now this would be the basic problem if there was no quiescence search at all. I don't really believe that GNU doesn't do some kind of quiescence search, but from my experience with chess programming, it is as sure as hell not as good as Snowie's.
There is a fine line between an effective quiescence search and making the search tree explode. Finding a good balance between those two is an area of engine programming where the professional engine programmers are usually best at.
To cut a long story short, if someone would care to conduct a GNU rollout instead of an n-ply search of the OP position, I would dare to predict that the result will be closer to Snowie's suggestion. If not, the evaluation neural network of GNU must be way, way worse than Snowie's.