In a neural network for chess (or checkers), the output is a piece or square on the board and an end position.

How would one encode this?

As far as I can see choosing a starting square is 8x8=64 outputs and an ending square is 8x8=64 outputs. So the total number of possible moves is 64x64 4096 outputs. Giving a probability for every possible move.

Is this correct? This seems like an awful lot of outputs!


1 Answer 1


The number is 4672 from Google.


A move in chess may be described in two parts: selecting the piece to move, and then
selecting among the legal moves for that piece. We represent the policy π(a|s) by a 8 × 8 × 73
stack of planes encoding a probability distribution over 4,672 possible moves. Each of the 8×8
positions identifies the square from which to “pick up” a piece.

4672 might sound a big number but it's nothing to what Google (and many other competitors) has been doing to deep learning for image analysis.

  • $\begingroup$ The paper explains the 4672 number: 8 * 8 * (56 + 8 + 9). Can someone help me understand why there are 9 planes for promotion, instead of 12? I understand there are 3 pawn moves: straight, diagonal left, diagonal right. But pawn can be promoted to 4 kinds: knight, rook, bishop, and queen. So that would have been 12. Why queen was not considered in the paper? $\endgroup$
    – bizi
    Jul 21, 2023 at 15:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .