Next: , Previous: Introduction to evaluation settings, Up: Evaluation settings

10.1.2 The depth to search and plies

A ply is simply considered to be one turn by a player. Any position can be evaluated at 0-ply. That means that GNU Backgammon does not look ahead in the game to evaluate the position. When GNU Backgammon is evaluating a checker play decision, it looks at all resulting positions after all the legal moves with the given dice roll, and evaluates these position at the given ply. It's possible to set the search depth by specifying the plies lookahead in any evaluation settings dialog.

Snowie users: GNU Backgammon differs from some other software, notably Snowie in that GNU Backgammon zero ply is the same as Snowie 1 ply. In the same way what is called 2-ply in GNU Backgammon will therefore be similar to a Snowie 3-ply.

For GNU Backgammon, a 0-ply evaluation of a move would be done by:

Build a list of all legal moves. For each move, take the resulting board position and use the neural net to estimate the expected percentage of wins/gammons/backgammons/losses/gammon losses/backgammon losses. Rank the moves based on this evaluation.

For one ply, after doing the above step, GNU Backgammon chooses the best n moves (where n is set by the move filters). For each one, it takes the resulting position for that move and goes through all 21 possible dice rolls for the opponent. From these results, it works out the average expectation for the initial move and ranks them. This is the same as Snowie 2 ply. You can think of it as asking "what's my best move if I also consider every possible dice roll and move my opponent might make?"

For 2 ply (Snowie 3 ply), a similar process is done, but this time, not only are the opponents possible moves considered, but, for each of these, the player on roll's next move will be considered as well.

For a single move, on average there are about 20 legal moves to consider.

When doing a one ply analysis/evaluation, for the top n moves (from the move filter, GNU Backgammon needs to consider 21 rolls by the opponent, 20 and possible legal moves per roll) = 420 positions to evaluate.

Every additional ply will multiply the previous number of evaluations by about 400 odd, which explains the huge difference in playing speed/analysis speed between 0 ply and 2 ply settings. I don't think many people would enjoy playing against GNU Backgammon at 3 ply settings, where moves could take minutes to be selected. It's also not clear that using much deeper lookahead actually gains a lot in terms of playing strength - if you really need better answers than 2 ply, rollouts are probably a lot better.