I understand that once endgame tablebases get checkmates, they do retrograde analysis and are able to calculate forced wins. However, how do they calculate the checkmate in the first place? Do they just use brute force?

  • My understanding is that they have to first do retrograde for given mate positions, for example. So, the question about how are those generated, and how complete are they, are they restricted to legal mate positions. I don't think we know to list all the mates that are legal continuation from any of the 960 setups, including the standard initial. So, I also wonder the same as op. Which might be putting 2 conflicting questions in one. The "forcing" paths to checmate class how is that found, but how are the very inputs to retrograde, generated/restricted among all EPDs. –
    – dbdb
    Commented Feb 23 at 0:26
  • I mean the second question of brute force might be confused with a forward logic computation, as it follows the notion of forces wins, as output. I might be not understanding.
    – dbdb
    Commented Feb 23 at 0:28

2 Answers 2


Yes, endgame tablebases are calculated by brute force. That's why we only have complete 7-men tablebases today (which were published in 2012).

When stockfish finds a mate with more pieces than stockfish has calculated until only 7 men are on the board and the tablebases give stockfish the solution for the rest.


Roughly, yes. To build a tablebase for a certain material combination you will want to have every legal configuration of those pieces in memory. (in practice one can optimize that a bit) Then you check which of the positions are already checkmate. And yes, then you work backwards and find longer and longer wins. (and then all remaining positions that aren't wins for either side are draws)

  • Which algorithm are they using to calculate all legal configurations for certain material?I could not think of any which would be computable in a reasonable amount of time
    – Shravan S
    Commented Jan 11, 2021 at 5:39
  • I see Stockfish getting to mates in 70 having many pieces on board. Obviously it cannot be brute force?
    – Yash Jain
    Commented Jan 11, 2021 at 22:55
  • @ShravanS what do you consider reasonable amount of time here? I mean, if you have for instance king + rook + rook + bishop vs king + rook + rook, you do have on the order of 64 * 63 * 62 * 61 * 60 * 59 * 58 positions. Yes, that is a lot, but there is a reason why we only have tablebases up to 7 pieces.
    – koedem
    Commented Jan 11, 2021 at 22:56
  • 1
    @edit_profile well, this question is about tablebases, not about engines. Engines do not work by retrogarde analysis.
    – koedem
    Commented Jan 11, 2021 at 22:57
  • @koedem: ...which can be further brought down by storing all legal wK-bK positions first, and surely both K in check can also be calculated fast. Commented Jan 14, 2021 at 16:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.