Endgame Tablebases

Home * Knowledge * Endgame Tablebases



Endgame Tablebases, (EGTBs or EGTs) precalculated endgame tables generated by an exhaustive retrograde analysis. During its game play and/or search, recognizing a specific material composition, a chess program can probe, or in principle compute these tables to determine the outcome of positions definitively and act as an oracle providing the optimal moves. The tables are usually divided into separate files for each material configuration and side to move. What all different formats of tablebases have in common is that every possible piece placement has its own, unique index number which represents the position where the information about the position is located in the file. Positions with non-null castling rights could be represented in an EGTB but typically are not.

The term Tablebase opposed to endgame database was coined by Steven Edwards by means of a data vector and a single file access for both sides to move, when he introduced his Edwards' Tablebases, addressing several shortcomings of Ken Thompson's earlier database of positions with the weaker and hence potentially losing side to move only.

=Purposes= When a playing game goes to the endgame period, it may complete soon by a draw or a win/loss. Both human/chess engines can finish the endgame by searching, applying some endgame rules. The game can finish in this way but it is not in a perfect way: it takes much time to make move, use more moves than necessary. Sometimes the winning side may lose the change since the rule 50 moves.

EGTB can help to solve this period. It is a kind of dictionary of all endgame positions which can answer directly or indirectly for a given position:
 * it is a draw or a win/loss
 * how far/how many move from matting/being mated
 * what is the best move

The main advantages of using EGTBs:
 * It does not search but retrieves data thus it can move instantly
 * The move is the perfect one, leading the shortest line to win

The main disadvantages of using EGTBs:
 * Data too large for downloading and storing
 * Require complicated code for probing

=Data= An EGTB is a set of endgames. Each endgame is a set of positions (they have the same material). Each position associates with an integer number which informs how far that position is from mating/being mated or converting (depends on the type of its metrics). All numbers of an endgame are simply organized as two arrays of integers (one array for one side). In other words, each item in those arrays is an integer and its index on an array is mapped to a unique position.

The array of an endgame can be stored in one or a few files, in none or compressed formats.

The size of an endgame depends on:
 * The number of involving pieces: more pieces, the bigger size
 * Type of pieces: for standard chess, more Pawns is the smaller size
 * Type of metric
 * The largest value: the integer number should be large enough to cover the largest value. Different endgames will have different largest values. Thus some endgames need only one byte per item but some need 2 bytes
 * Indexing: The algorithms to map between an array item and a position
 * Compress ratio

So far the size of an EGTB is the most important factor of success.

=Metrics=

DTM
Depth to Mate 'Mate' is the ultimate goal and ends the game. For each position that is represented, 'DTM' indicates the theoretical value, and the number of winner's moves to 'Mate' if won/lost - assuming that the winner is minimizing and the loser is maximizing DTM.

DTC
Depth to Conversion 'Conversion' is the changing of the force on the board, by capture and/or Pawn-conversion. For each position that is represented, 'DTC' indicates the theoretical value, and the number of winner's moves to the goal of 'Won Conversion' if won/lost - assuming that the winner is minimizing and the loser is maximizing DTC. DTC £ DTM.

DTZ
Depth to Zeroing (of the ply count) The ply-count is zeroed if and only if a Pawn is pushed or a capture is made. For each position that is represented, 'DTZ' indicates the theoretical value, and the number of winner's moves to the goal of 'Win and ply-count zeroed' if won/lost - assuming that the winner is minimizing and the loser is maximizing DTZ. DTZ £ DTC £ DTM.

DTZ50
Depth to Zeroing (of the ply count) in the context of the 50-Move Rule The DTC, DTM and DTZ metrics do not consider the current FIDE 50-move rule whereby a game in which no irreversible moves have been played for 100 plies can be claimed as a draw by the player 'on move'. In this metric, in addition to the DTC/DTM/DTZ draws, positions requiring more than 50 winner's moves to zero the ply-count are defined as draws. DTZ £ DTZ50 if DTZ50 ¹ draw. 'DTZ50' is one of a set of 'DTZk' rules: a k-move rule effectively applies if there are only k moves left before a draw-claim might be made. k1 £ k2 implies DTZk2 £ DTZk1 if DTZk1 ¹ draw.

Note that, because depth is measured in winner's moves rather than plies, this metric does not define as draw a position in which 50 winner's moves and 51 loser's moves are required to zero the ply-count, despite the fact that the loser would claim a draw after 100 plies had been played in that endgame.

DTR
Depth by the (k-move) Rule 'The Rule' referred to here is a notional set of k-move rules. For each position that is represented, 'DTR' indicates the theoretical value and, for won/lost positions, the least k for which DTZk is not draw - assuming that the winner is minimising and the loser is maximising DTR. DTZ £ DTR. No DTR EGTs have been created to date.

DTZR
Depth to Zeroing move, give that DTR is being minimaxed If DTR = draw, then DTZR = draw. Otherwise, Otherwise DTRZR indicates the theoretical value, and the number of winner's moves to the zeroing of the ply count, given that the two sides are minimaxing first DTR and then DTZR. DTZR would be used in conjunction with DTR to progress a deep win in the context of a k-move rule because DTR can remain unchanged over a sequence of moves. DTZR £ DTR but it is not always the case that DTZ £ DTZR as may seem intuitively obvious: the loser may zero the move-count to maximise DTR.

Summary
To summarize the different metrics of tablebases, each metric has its strengths and weaknesses. Nalimov's DTM EGTs are widely and commercially available, and used by many chess engines or chess GUIs. DTC EGTs are more easily computed and stored as they involve smaller depth-ranges and are more compressible. For endgames with less or equal than 5 pieces on the board, KNNKP comes closest to requiring more than one Byte per position to store DTM: maxDTM = 115 (1-0) and 73 (0-1) necessitating 190 values in the EGT. For KPPKP, maxDTM = 127 (1-0) but only 42 (0-1). But for certain 6 piece endgames, one Byte is not enough: maxDTM = 262 for a KRNKNN position. The DTC and DTZ metrics increasingly postpone the need for two Bytes per position in an uncompressed EGT, but KRBNKQN has maxDTC = maxDTZ = 517 (0-1), both wtm and btm.

In extremis, he unmoderated use of DTM, DTC or DTZ EGTs will let slip a winnable position in the context of the 50-move rule ... hence the marginal need for the DTR and DTZR metrics, coupled with the ability to recompute DTR/DTZR EGTs in the context of a limited move-budget. =Bitbases= see main article Endgame Bitbases

Inside the search much denser tables with value {won, draw, loss, invalid} or boolean {win, not_win} information are sufficient with respect to bounds. Denser tables are more efficiently used, given that memory and cache are limited resources. Boolean Win/Not_Win Bitbases require only one bit per position (and if necessary, further enquiry if draw is to be distinguished from loss with respect to bounds). Value Bitbases require two bits per position.

=Indexing= Every position is assigned to a unique index to specify the location of the information stored about it. The main purpose of indexing is to locate and read information (from databases) such as distance to mate for a given position based on its index.

There are two main aims when generating the index number. The easier the algorithm to generate the index from any given position, the faster will be the probing of the tablebase as well as the generation of it. But the second aim is to get a relatively small range of index-numbers, to keep the size of the file as small as possible.

The most straight forward way would be to for every piece on the board use 6 bit (1-64 squares) index = position_white_King + position_black_King * 64

for each piece { index = index * 64 + position }

Almost all work on this field is to reduce index spaces and reduce data sizes (e.g., by compressing). The above indexing can be optimised in several ways.

Remove redundant symmetrical indexes: Remove illegal indexes:
 * A chess board can be rotated and mirrored (if pawns are on the board only a vertical reflection is possible).
 * For pieces of the same type, different arrangements can be left away.
 * Pieces may not stand on the same square.
 * The side to move may not give check.
 * The distance between the two Kings must be greater than one.

=Retrieving=

Probe
When a chess program (e.g., a chess engine or a chess GUI) works with an EGTB, it needs to retrieve data (integer numbers) for some given chess positions. The process named probe. It is not a search but retrieve data which below steps:
 * convert a given chess position into an index via indexing algorithms
 * access data (typically organized as an integer array) using the index to retrieve the integer of that chess position

If data of that endgame is not ready in memory, usually the probe process has to do some extra work:
 * From data index calculate to block index
 * Read data of that block from storage into memory
 * Uncompress the block (if it is compressed)
 * Convert the endgame index into block index and retrieve the right data

Search
After probing the chess engine may have the result as an integer number for the queried position. Depending on the metric, the number may be a distance to mate or distance to conversion, the position is a draw or a win or loss for the querying side. Sometimes that value (state of draw/win/loss) may be enough for searching. However, sometimes that state is not enough and it needs to know which is the best move to make. The solution is to generate all legal moves from that position, make one by one, probe that EGTB for values of each new position. After all, compare the values of all children's positions to find which one is the best to make.

Speed
Typically the probe process requires some computing and it may access storage which is usually so slow, compared with one stored in memory. All may make it be a slow one. An engine that probes EGTB when searching may make the search be slower. The good point is that the engine can stop searching on the branch probed the EGTB.

=Brief Info= of some popular Endgame tablebases: =Formats= =Generators= =7-man EGTBs=
 * Chenard's EGDB
 * Edwards' Tablebases
 * Gaviota Tablebases
 * Lomonosov Tablebases
 * Nalimov Tablebases
 * Scorpio Bitbases
 * Syzygy Bases
 * Thompson's Databases
 * FinalGen
 * Freezer
 * GAFS
 * Retro

2005
In 2005, Yakov Konoval started to collaborate with Marc Bourzutschky on constructing 7-man EGTBs. Yakov wrote the generator and Marc a verification program and some utilities for extracting the data. In October 2005, Yakov Konoval and Marc Bourzutschky announced that a position in the ending of a KRRNkrr requires 290 moves to convert to a simpler winning endgame. The old record was 243 moves from a position in a rook and knight versus two knights endgame, discovered by Lewis Stiller in 1991.

2006
In March 2006, the wizards of 7-men endgames, Marc Bourzutschky and Yakov Konoval found a 330 moves win in KQBNkqb and in May 2006 a 517 moves win in KQNkrbn.

2012
In July 2012, Vladimir Makhnychev and Victor Zakharov from Moscow State University completed 4+3 DTM-tablebases (525 endings including KPPPKPP). The next set of 5+2 DTM-tablebases was completed during August 2012. The tablebases are named Lomonosov Tablebases, using the Lomonosov Supercomputer.

2013
Convekta Ltd. announced the release of Lomonosov Tablebases. Until December 31, 2013, the tablebases will be available online through ChessOK products.

2018
Starting in March 2018, seven piece Syzygy Bases, originally created for up to six pieces by Ronald de Man in 2013, were generated by Bojun Guo, finished in August 2018.

=See also=
 * Retrograde Analysis
 * Endgame
 * Interior Node Recognizer
 * KPK
 * Oracle

=Selected Publications=

1965 ...

 * Richard E. Bellman (1965). On the application of dynamic programming to the determination of optimal play in chess and checkers. Proceedings of the National Academy of Sciences of the United States of America. pdf

1970 ...

 * Thomas Ströhlein (1970). Untersuchungen über kombinatorische Spiele. Ph.D. Thesis, Technical University of Munich (German)
 * Edward Komissarchik, Aaron L. Futer (1974). Ob Analize Ferzevogo Endshpilya pri Pomoshchi EVM. (Analysis of a queen endgame using an IBM computer) Problemy Kybernetiki, Vol. 29, pp. 211-220. English translation by C. Posthoff, revised in ICCA Journal, Vol. 9, No. 4 (1986)

1975 ...

 * Mike Clarke (1977). A quantitative study of KPK. Advances in Computer Chess 1, pp. 108-118
 * A. G. Alexandrov, A. M. Baraev, Ya. Yu. Gol'fand, Edward Komissarchik, Aaron L. Futer (1977). Computer analysis of rook end game. Avtomatika i Telemekhanika, No. 8, 113–117
 * A. G. Alexandrov, Vladimir Arlazarov, A. M. Baraev, Ya. Yu. Gol'fand, V. N. Deza, T. P. Il’ina, Edward Komissarchik, Anatoly Uskov, I. A. Faradzhev, Aaron L. Futer (1977). Processing of large files of information on the example of the analysis of the rook’s end game. Programming and Computer Software, No. 3
 * Thomas Ströhlein, Ludwig Zagler (1977). Analyzing games by Boolean matrix iteration. Discrete Mathematics, Vol. 19, No. 2
 * Thomas Ströhlein, Ludwig Zagler (1978). Ergebnisse einer vollstandigen Analyse von Schachendspielen: König und Turm gegen König, König und Turm gegen König und Laufer. Report, Institut für Informatik, Technical University of Munich (German)
 * Max Bramer (1978). Computer-Generated Databases for the Endgame in Chess. Technical Report. Milton Keynes, Open University Faculty of Mathematics.
 * Aaron L. Futer (1978). Programming endgames with few pieces. Soviet Physics. Doklady, No. 23
 * Vladimir Arlazarov, Aaron L. Futer (1979). Computer Analysis of a Rook End-Game. Machine Intelligence 9 (eds. Jean Hayes Michie, Donald Michie and L.I. Mikulich), pp. 361-371. Ellis Horwood, Chichester. Reprinted in Computer Chess Compendium
 * Max Bramer, Mike Clarke (1979). A Model for the Representation of Pattern-Knowledge for the Endgame in Chess. International Journal of Man-Machine Studies, Vol. 11, No.5

1985 ...
1986 1987 1988 1989
 * Jaap van den Herik, Bob Herschberg (1985). The Construction of an Omniscient Endgame Data Base. ICCA Journal, Vol. 8, No. 2
 * John Roycroft (1985). Chess-Endgame Data-Base`Oracles': Necessary and Desirable Features. ICCA Journal, Vol. 8, No. 2
 * Harry Nefkens (1985). Constructing Data Bases to Fit a Microcomputer. ICCA Journal, Vol. 8, No. 4
 * Jaap van den Herik, Bob Herschberg (1986). A Data Base on Data Bases. ICCA Journal, Vol. 9, No. 1
 * John Roycroft, Ken Thompson (1986). Queen and Pawn on a2 against Queen. Chess Endgame Consultants and Publishers, London
 * John Roycroft, Ken Thompson (1986). Queen and Pawn on a6 against Queen. Chess Endgame Consultants and Publishers, London
 * John Roycroft, Ken Thompson (1986). Queen and Pawn on b7 against Queen. Chess Endgame Consultants and Publishers, London
 * Jaap van den Herik (1986). Roycroft's 5-Man Chess Endgame Series. ICCA Journal, Vol. 9, No. 3
 * Ken Thompson (1986). Retrograde Analysis of Certain Endgames. ICCA Journal, Vol. 9, No. 3, pdf
 * Edward Komissarchik, Aaron L. Futer (1986). Computer Analysis of a Queen Endgame. ICCA Journal, Vol. 9, No. 4
 * Ken Thompson (1986). An Example of QPvQ. ICCA Journal, Vol. 9, No. 4
 * Hans Zellner (1986). Compressing Databases Down to Micro Size. ICCA Journal, Vol. 9, No. 4
 * Hans Zellner (1987). KBBK Squeezed into a Micro. ICCA Journal, Vol. 10, No. 1
 * Jaap van den Herik, Bob Herschberg (1987). The KBBKN Statistics: New Data from Ken Thompson. ICCA Journal, Vol. 10, No. 1
 * Bob Herschberg, Jaap van den Herik (1987). More Truth on KBBK Database Results. ICCA Journal, Vol. 10, No. 2
 * Hans Zellner, Jaap van den Herik, Bob Herschberg (1987). Corrections and Substantiations to KBNK. ICCA Journal, Vol. 10, No. 3
 * Sito Dekker, Jaap van den Herik, Bob Herschberg (1987). Complexity Starts at Five. ICCA Journal, Vol. 10, No. 3
 * Lars Rasmussen (1987). Correcting grandmasters' Analyses in Elementary Endgames. ICCA Journal, Vol. 10, No. 4
 * Jaap van den Herik, Bob Herschberg, Najib Nakad (1987). A Six-Men-Endgame Database: KRP(a2)KbBP(a3). ICCA Journal, Vol. 10, No. 4, pdf
 * Sito Dekker, Jaap van den Herik, Bob Herschberg (1987). Perfect Knowledge and Beyond. Report 37-87, Delft University of Technology, Delft.
 * John Roycroft (1987). Expert Against Oracle. Machine Intelligence 11
 * Jaap van den Herik, Bob Herschberg (1988). Computer Checks on Human Analyses of the KRKB Endgame. ICCA Journal, Vol. 11, No. 1
 * Lars Rasmussen (1988). Ultimates in KQKR and KRKN. ICCA Journal, Vol. 11, No. 1
 * Lewis Stiller (1988). Massively Parallel Retrograde Endgame Analysis. BUCS Tech. Report #88-014, Boston University, Computer Science Department.
 * Jaap van den Herik, Bob Herschberg, Najib Nakad (1988). A Reply to R. Sattler's Remarks on the KRP(a2)KbBP(a3) Database. ICCA Journal, Vol. 11, No. 2/3, pdf
 * Lars Rasmussen (1988). A Database for KRKP. ICCA Journal, Vol. 11, No. 4
 * Christopher A. Marris (1989). Compressing a Chess-Endgame Database. ICCA Journal, Vol. 12, No. 1
 * David Forthoffer, Lars Rasmussen, Sito Dekker (1989). A Correction to some KRKB-Database Results. ICCA Journal, Vol. 12, No. 1
 * Edmar Mednis (1989). Rook and Bishop versus Rook: The Controversial Endgame. ICCA Journal, Vol. 12, No. 1
 * Lewis Stiller (1989). Parallel Analysis of Certain Endgames. ICCA Journal, Vol. 12, No. 2
 * Hans Zellner (1989). The KPK Database Revisited. ICCA Journal, Vol. 12, No. 2
 * Sito Dekker, Jaap van den Herik, Bob Herschberg (1989). Perfect Knowledge and Beyond. Advances in Computer Chess 5
 * Bob Herschberg, Jaap van den Herik, Patrick Schoo (1989). Verifying and Codifying Strategies in the KNNKP(h) Endgame. ICCA Journal, Vol. 12, No. 3, pdf
 * Hans Zellner (1989). KBBKN on a Micro. ICCA Journal, Vol. 12, No. 3
 * John Roycroft (1989). The Computer is at it again - Interfering with the Endgame! Britisch Chess Magazine, Vol. 109, No. 10

1990 ...
1991 1992 1993 1994
 * Bob Herschberg, Jaap van den Herik, Patrick Schoo (1990). Verifying and Codifying Strategies in a Chess Endgame. Computers, Chess, and Cognition, pp. 183-196
 * John Roycroft (1990). How to Treat Endgame Databases. ICCA Journal, Vol. 13, No. 2
 * Ken Thompson (1990). KQPKQ and KRPKR Endings. ICCA Journal, Vol. 13, No. 4
 * John Roycroft (1990). Identifying Three Types of Zugzwang. ICCA Journal, Vol. 13, No. 4 » Zugzwang
 * Ken Thompson (1991). Chess Endgames Vol. 1. ICCA Journal, Vol. 14, No. 1
 * Ken Thompson (1991). New Results for KNPKB and KNPKN Endgames. ICCA Journal, Vol. 14, No. 1
 * Edmar Mednis (1991). Database Results for KQKRN and KQKRB annotated. ICCA Journal, Vol. 14, No. 2
 * John Roycroft (1991). A Postscript to the Computer's Involvement. Britisch Chess Magazine, Vol. 111, No. 2
 * Lewis Stiller (1991). Some Results from a Massively Parallel Retrograde Analysis. ICCA Journal, Vol. 14, No. 3
 * John Roycroft (1991). A Side-Effect of new Database Knowledge. ICCA Journal, Vol. 14, No. 3
 * John Roycroft (1991). A Use for Endgame Databases? ICCA Journal, Vol. 14, No. 4
 * John Roycroft, Don Beal (1991). To Make Dumb Endgame Databases Speak. Advances in Computer Chess 6
 * Lewis Stiller (1992). KQNKRR. ICCA Journal, Vol. 15, No. 1
 * John Nunn (1992). Perfect Prose. ICCA Journal, Vol. 15, No. 2
 * Lars Rasmussen (1992). Queen versus Rook and Pawn. ICCA Journal, Vol. 15, No. 2
 * Burton Wendroff, Tony Warnock, Lewis Stiller, Dean Mayer, Ralph Brickner (1993). Bits and pieces: constructing chess endgame databases on parallel and vector architectures. Appl. Num. Math. 12, pp. 285-295, zipped ps
 * Christian Posthoff, Michael Schlosser, Jens Zeidler (1993). Search vs. Knowledge? - Search and Knowledge! In: Proc. 3rd KADS Meeting, Munich, March 8-9 1993, Siemens AG, Corporate Research and Development, 305-326, 1993.
 * John Nunn (1993). Extracting Information from Endgame Databases. ICCA Journal, Vol. 16, No. 4
 * Ingo Althöfer, Bernhard Walter (1994). Weak Zugzwang: Statistics on some Chess Endgames. ICCA Journal, Vol. 17, No. 2
 * John Nunn (1994). More, and More Perfect Prose. ICCA Journal, Vol. 17, No. 2
 * John Nunn (1994). Extracting Information from Endgame Databases. Advances in Computer Chess 7
 * Christian Posthoff, Michael Schlosser, Rainer Staudte, Jens Zeidler (1994). Transformations of Knowledge. Advances in Computer Chess 7
 * Grit Lachmann (1994). Verarbeitung von Wissen aus Endspieldatenbanken. Master's thesis, Chemnitz University of Technology (German)

1995 ...
1996 1997 1999
 * Steven Edwards and the Editorial Board (1995). An Examination of the Endgame KBNKN. ICCA Journal, Vol. 18, No. 3
 * Henri Bal, Victor Allis (1995). Parallel Retrograde Analysis on a Distributed System. Supercomputing ’95, San Diego, CA.
 * Dietmar Lippold (1996). Legality of Positions of Simple Chess Endgames. zipped pdf
 * Ken Thompson (1996). 6-Piece Endgames. ICCA Journal, Vol. 19, No. 4
 * Lewis Stiller (1996). Multilinear Algebra and Chess Endgames. Games of No Chance edited by Richard J. Nowakowski, pdf
 * Dietmar Lippold (1997). The Legitimacy of Positions in Endgame Databases. ICCA Journal, Vol. 20, No. 1
 * Ken Thompson (1997). 6-Piece Endgames. Advances in Computer Chess 8
 * Johannes Fürnkranz (1997). Knowledge Discovery in Chess Databases: A Research Proposal. Technical Report OEFAI-TR-97-33, Austrian Research Institute for Artificial Intelligence, zipped ps, pdf
 * Ernst A. Heinz (1999). Endgame Databases and Efficient Index Schemes for Chess. ICCA Journal, Vol. 22, No. 1, ps
 * Ernst A. Heinz (1999). Knowledgeable Encoding and Querying of Endgame Databases. ICCA Journal, Vol. 22, No. 2, ps
 * Christoph Wirth, Jürg Nievergelt (1999). Exhaustive and Heuristic Retrograde Analysis of the KPPKP Endgame. ICCA Journal, Vol. 22, No. 2
 * Eugene Nalimov, Christoph Wirth, Guy Haworth (1999). KQQKQQ and the Kasparov-World Game. ICCA Journal, Vol. 22, No. 4
 * Ulrich Thiemonds (1999). Ein regelbasiertes Spielprogramm für Schachendspiele. University of Bonn, Diploma thesis, zipped ps (German)
 * Chrilly Donninger (1999). Der Fortschritt ist nicht aufzuhalten - Chrilly Donninger über Endspieldatenbanken. CSS 6/99, pdf (German)

2000 ...
2001
 * Haw-ren Fang, Tsan-sheng Hsu, Shun-Chin Hsu (2000). Construction of Chinese Chess Endgame Databases by Retrograde Analysis. CG 2000
 * Ken Thompson (2000). The Longest: KRNKNN in 262. ICGA Journal, Vol. 23, No. 1
 * Peter Karrer (2000). KQQKQP and KQPKQP≈.ICGA Journal, Vol. 23, No. 2
 * Guy Haworth (2000). The Kasparov-World Game. EG, Vol. 9, pp. 107-111
 * Guy Haworth (2000). Six-Man Oracle Survey. EG, Vol. 9, pp. 111-112
 * Guy Haworth (2000). Tablebases and tables. EG, Vol. 9, pp. 151
 * Guy Haworth (2000). Qualified Statistics. EG, Vol. 9, pp. 239
 * Guy Haworth (2000). Chess Endgames: Currents and Futures. 5th Computer Olympiad Workshop
 * Thomas Lincke, Ambros Marzetta (2000). Large Endgame Databases with Limited Memory Space. 5th Computer Olympiad Workshop
 * Thomas Lincke, Ambros Marzetta (2000). Large Endgame Databases with Limited Memory Space. ICGA Journal, Vol. 23, No. 3
 * Eugene Nalimov, Guy Haworth, Ernst A. Heinz (2000). Space-Efficient Indexing of Chess Endgame Tables. ICGA Journal, Vol. 23, No. 3, postscript
 * John Tamplin, Guy Haworth (2001). Ken Thompson's 6-man Tables. ICGA Journal, Vol. 24, No. 2
 * Harold van der Heijden (2001). Endgame Tables and Endgame Study Composition. ICGA Journal, Vol. 24, No. 2
 * Noam Elkies (2001). Endgame Tables and Chess Composition. ICGA Journal, Vol. 24, No. 2
 * Ren Wu, Don Beal (2001). Fast, Memory-efficient Retrograde Algorithms. ICGA Journal, Vol. 24, No. 3
 * Ren Wu, Don Beal (2001). Parallel Retrograde Analysis on Different Architectures. IEEE 10th Conference in High Performance Distributed Computing pp. 356-362, August 2001
 * Eugene Nalimov, Guy Haworth, Ernst A. Heinz (2001). Space-efficient Indexing of Endgame Tables for Chess. Advances in Computer Games 9
 * Guy Haworth (2001). Four Notes on Chess Endgames. 6th Computer Olympiad Workshop, ppt
 * Guy Haworth (2001). Discarding Like Pieces. 6th Computer Olympiad Workshop
 * Guy Haworth (2001). Depth by The Rule. 6th Computer Olympiad Workshop
 * Guy Haworth (2001). 3-5-Man Chess Data. 6th Computer Olympiad Workshop
 * Guy Haworth (2001). 3-5-Man Mutual Zugzwangs in Chess. 6th Computer Olympiad Workshop

2002 2003 2004
 * Guy Haworth (2001). Discarding Like Pieces. ICGA Journal, Vol. 24, No. 3
 * Guy Haworth (2001). Depth by The Rule. ICGA Journal, Vol. 24, No. 3
 * Guy Haworth, Peter Karrer, John Tamplin, Christoph Wirth (2001). 3-5-man chess: Maximals and mzugs. ICGA Journal, Vol. 24, No. 4
 * Guy Haworth (2002). Secrets of Pawnless Endings. ICGA Journal, Vol. 25, No. 2
 * Eugène Nalimov (2002). Chess Endgame Tablebases. Invited Lecture, 7th Computer Olympiad Workshop
 * Guy Haworth (2002). Reference Fallible Endgame Play. 7th Computer Olympiad Workshop, pdf
 * Ren Wu, Don Beal (2002). A memory efficient retrograde algorithm and its application to solve Chinese Chess endgames. More Games of No Chance edited by Richard J. Nowakowski
 * John Tamplin, Guy Haworth (2003). Chess Endgames: Data and Strategy. Advances in Computer Games 10
 * Guy Haworth, Rafael B. Andrist (2003). Model Endgame Analysis. Advances in Computer Games 10
 * Jonathan Schaeffer, Yngvi Björnsson, Neil Burch, Rob Lake, Paul Lu, Steve Sutphen (2003). Building the Checkers 10-Piece Endgame Databases. Advances in Computer Games 10. pdf » Checkers
 * Guy Haworth (2003). Reference Fallible Endgame Play. ICGA Journal, Vol. 26, No. 2
 * Ed Trice, Gil Dodgen (2003). The Perfect 7-Piece Checkers Database. ICGA Journal, Vol. 26, No. 4 » Checkers
 * Haw-ren Fang (2004). Rule-Tolerant Verification Algorithms for Completeness of Chinese-Chess Endgame Databases. CG 2004
 * Eiko Bleicher (2004). Building Chess Endgame Databases for Positions with many Pieces using A-priori Information. Lehrstuhl Mathematische Optimierung, Fakultät für Mathematik und Informatik, Friedrich-Schiller-Universität, Jena, Germany, as pdf

2005 ...
2006 2008 2009
 * Joe Hurd (2005). Formal Verification of Chess Endgame Databases. in Joe Hurd, Edward Smith, Ashish Darbari Theorem proving in higher order logics: Emerging trends proceedings. Technical Report PRG-RR-05-02, Oxford University Computing Laboratory, pdf
 * Jesper Torp Kristensen (2005). Generation and compression of endgame tables in chess with fast random access using OBDDs. Master thesis, supervisor Peter Bro Miltersen, Aarhus University
 * Guy Haworth (2005). 6-Man Chess Solved. ICGA Journal, Vol. 28, No. 3
 * Marc Bourzutschky, John Tamplin, Guy Haworth (2005). Chess endgames: 6-man data and strategy. Theoretical Computer Science, Vol. 349, No. 2
 * Rafael B. Andrist, Guy Haworth (2005). Deeper model endgame analysis. Theoretical Computer Science, Vol. 349, No. 2
 * Guy Haworth (2005). Chess Endgame News. ICGA Journal, Vol. 28, No. 4
 * Yngvi Björnsson, Jonathan Schaeffer, Nathan Sturtevant (2005). Partial Information Endgame Databases. Advances in Computer Games 11, pdf, pdf
 * Guy Haworth (2006). Chess Endgame News. ICGA Journal, Vol. 29, No. 1
 * Guy Haworth (2006). Chess Endgame News. ICGA Journal, Vol. 29, No. 2
 * Guy Haworth (2006). Chess Endgame News. ICGA Journal, Vol. 29, No. 3
 * Bo-Nian Chen, Pangfeng Liu, Shun-Chin Hsu, Tsan-sheng Hsu (2008). Knowledge Inferencing on Chinese Chess Endgames. CG 2008
 * Guy Haworth (2009). Chess Endgame Update. ICGA Journal, Vol. 32, No. 4

2010 ...
2011 2013 2014
 * Bo-Nian Chen, Pangfeng Liu, Shun-Chin Hsu, Tsan-sheng Hsu (2010). Conflict Resolution of Chinese Chess Endgame Knowledge Base. Advances in Computer Games 12, pdf
 * Joe Hurd, Guy Haworth (2010). Data Assurance in Opaque Computations. Advances in Computer Games 12, pdf
 * Matej Guid, Martin Možina, Aleksander Sadikov, Ivan Bratko (2010). Deriving Concepts and Strategies from Chess Tablebases. Advances in Computer Games 12, pdf
 * Eiko Bleicher, Guy Haworth (2010). 6-Man Chess and Zugzwangs. Advances in Computer Games 12
 * Bo-Nian Chen, Pangfeng Liu, Shun-Chin Hsu, Tsan-sheng Hsu (2010). Knowledge Abstraction in Chinese Chess Endgame Databases. CG 2010
 * Ping-hsun Wu, Ping-yi Liu, Tsan-sheng Hsu (2010). An External-memory Retrograde Analysis Algorithm, slides as pdf
 * Eiko Bleicher, Guy Haworth, Harold van der Heijden (2010). Data-Mining Chess Databases. ICGA Journal, Vol. 33, No. 4
 * Guy Haworth (2011). Chess Endgame News. ICGA Journal, Vol. 34, No. 2
 * Guy Haworth (2013). Chess Endgame News. ICGA Journal, Vol. 36, No. 1
 * Guy Haworth (2013). Chess Endgame News. ICGA Journal, Vol. 36, No. 2
 * Abdallah Saffidine, Nicolas Jouandeau, Cédric Buron, Tristan Cazenave (2013). Material Symmetry to Partition Endgame Tables. CG 2013
 * John Nunn (2013). Discoveries in R+2P vs. R+P Endings. ICGA Journal, Vol. 36, No. 3
 * Guy Haworth (2013). Chess Endgame News. ICGA Journal, Vol. 36, No. 3
 * Karsten Müller, Guy Haworth (2013). Rook vs. Bishop. ICGA Journal, Vol. 36, No. 4
 * Bo-Nian Chen, Hung-Jui Chang, Shun-Chin Hsu, Jr-Chang Chen, Tsan-sheng Hsu (2013). Multilevel Inference in Chinese Chess Endgame Knowledge Bases. ICGA Journal, Vol. 36, No. 4 » Chinese Chess
 * Guy Haworth (2013). Chess Endgame News. ICGA Journal, Vol. 36, No. 4
 * Guy Haworth (2013). Haworth’s Law. ICGA Journal, Vol. 36, No. 4
 * Victor Zakharov, Vladimir Makhnychev (2013). Creating tables of chess 7-piece endgames on the Lomonosov supercomputer. Superkomp’yutery, No. 15
 * Bo-Nian Chen, Hung-Jui Chang, Shun-Chin Hsu, Jr-Chang Chen, Tsan-sheng Hsu (2014). Advanced Meta-knowledge for Chinese Chess Endgame Knowledge Bases. ICGA Journal, Vol 37, No. 1 » Chinese Chess
 * Guy Haworth (2014). Chess Endgame News. ICGA Journal, Vol. 37, No. 1 » Syzygy Bases
 * Guy Haworth (2014). Chess Endgame News. ICGA Journal, Vol. 37, No. 2 » Syzygy Bases
 * Guy Haworth (2014). Chess Endgame News. ICGA Journal, Vol. 37, No. 3 » Syzygy Bases
 * Guy Haworth (2014). Chess Endgame Records (dataset).

2015 ...
2016 2017 2018 2019
 * Nikolaos Papahristou, Ioannis Refanidis (2015). Constructing Pin Endgame Databases for the Backgammon Variant Plakoto. Advances in Computer Games 14
 * Guy Haworth (2015). Chess Endgame News. ICGA Journal, Vol. 38, No. 1 » Crafty, FinalGen
 * Galen Huntington, Guy Haworth (2015). Depth to Mate and the 50-Move Rule. ICGA Journal, Vol. 38, No. 2 » Fifty-Move Rule
 * Michael Hartisch, Ingo Althöfer (2015). Optimal Robot Play in Certain Chess Endgame Situations. ICGA Journal, Vol. 38, No. 3
 * Victor Zakharov, Michael G. Malkovsky, Vladislav Y. Shchukin (2016). Compression of underdetermined data in a 7-piece chess table. Moscow University Computational Mathematics and Cybernetics, Vol. 40, No. 1
 * Karsten Müller (2017). Tablebases, Fermat, Knights and Knightmares. ICGA Journal, Vol. 39, No. 2
 * Guy Haworth (2017). Chess Endgame News. ICGA Journal, Vol. 39, No. 2
 * Hung-Jui Chang, Gang-Yu Fan, Jr-Chang Chen, Chih-Wen Hsueh, Tsan-sheng Hsu (2017). Validating and Fine-Tuning of Game Evaluation Functions Using Endgame Databases. CGW@IJCAI 2017
 * Hung-Jui Chang, Jr-Chang Chen, Gang-Yu Fan, Chih-Wen Hsueh, Tsan-sheng Hsu (2018). Using Chinese dark chess endgame databases to validate and fine-tune game evaluation functions. ICGA Journal, Vol. 40, No. 2 » Chinese Dark Chess
 * Karsten Müller, Guy Haworth (2019). FinalGen revisited: new discoveries. ICGA Journal, Vol. 41, No. 1 » FinalGen
 * Karsten Müller, Guy Haworth (2019). Stalemate and ‘DTS’ depth to stalemate endgame tables. ICGA Journal, Vol. 41, No. 4 » Stalemate

=Forum Posts=

1995 ...

 * endgame databases and Kasparov by Feng-hsiung Hsu, rgc, April 25, 1995
 * Tablebases and castling? by Ronald de Man, rgcc, May 12, 1997
 * Steve Edward's Endgame Tablebase generator is now available for WIN95 by Mike Byrne, CCC, November 01, 1997
 * Questions about Endgame tablebases by Alexander Nitschke, rgcc, March 19, 1998
 * Tablebases by Eugene Nalimov, CCC, August 28, 1998 » Nalimov Tablebases
 * Ideas to reduce size of tablebases by Rémi Coulom, CCC, August 31, 1998
 * endgame databases by Robert Hyatt, rgcc, October 13, 1998
 * Interesting endgame database probe problem by Robert Hyatt, CCC, February 04, 1999
 * overlapping tablebase lookup by Jay Scott, CCC, February 09, 1999

2000 ...

 * Tablebase Access Code by Roberto Waldteufel, CCC, April 26, 2000 » Rabbit
 * EGTB: Better algorithm by Urban Koistinen, CCC, April 07, 2001
 * Re: How endgame tablebases work by Bruce Moreland, rgcc, July 19, 2001
 * PONDER=ON and TableBases on 1 PC by Matthias Gemuh, CCC, July 27, 2001 » Pondering
 * Nalimov's EGTBs (long post with code) by Heiner Marxen, CCC, October 13, 2001
 * Incomplete egtbs can be harmful by Leen Ammeraal, CCC, November 06, 2001
 * Generating egtbs ICGAJ by Tony Werten, CCC, December 04, 2001
 * Wu/Beal predates Koistinen by Guy Haworth, CCC, December 04, 2001


 * 3-3 tablebase (with pawns) suggestion by Shane Hudson, CCC, December 23, 2001
 * Interesting EGTB bug by Tom Likens, CCC, April 16, 2002
 * Question to Dieter Buerssner by Alvaro Cardoso, CCC, April 21, 2002
 * How to handle EGTB stalemates by Tom Likens, CCC, March 02, 2003 » Stalemate
 * EGTB generation with 1 bit per position? by Martin Fierz, CCC, March 25, 2003
 * Frank Phillips' KNNKP position revisited ... by Guy Haworth, CCC, September 18, 2003

2005 ...

 * EGTB question by Stef Luijten, Winboard Forum, January 09, 2006
 * EGTB compression by Stef Luijten, Winboard Forum, February 10, 2006
 * utility for testing tablebases integrity by Victor Zakharov, CCRL Discussion Board, October 24, 2007
 * EGTB compression (H. G. Muller tablebase...) by Dann Corbit, CCC, January 25, 2008
 * Endgame Metrics by Joshua Shriver, CCRL Discussion Board, March 04, 2008
 * Re: Endgame Metrics by John Kominek, CCRL Discussion Board, March 12, 2008


 * DTR is no good! by Harm Geert Muller, CCRL Discussion Board, September 24, 2008
 * Gaviota's Endgame Tablebases by Miguel A. Ballicora, CCC, December 07, 2008 » Gaviota Tablebases
 * Creating EGTBs by Carey, CCC, December 21, 2008
 * Other endgame tablebase generators by Denis P. Mendoza, CCC, January 23, 2009

2010 ...
2011 2012 2013 2014
 * KK partitioning+very cheap compression fit in 8 GB (7-man) by Urban Koistinen, CCRL Discussion Board, May 30, 2010
 * Some tablebase formats by BB+, OpenChess Forum, November 25, 2010
 * Retrograde tablebase methods by BB+, OpenChess Forum, November 26, 2010
 * Gaviota tablebases, probing code v4 (UPDATE) by Miguel A. Ballicora, CCC, March 11, 2011
 * Large tablebases by BB+, OpenChess Forum, April 21, 2011
 * Mapping the 7-men computation by Astokes, CCRL Discussion Board, September 21, 2011
 * Poor Man Table Base by Ed Schroder, CCC, December 13, 2011
 * Number sequence puzzle by Steven Edwards, CCC, December 16, 2011
 * Tablebase class name list available by Steven Edwards, CCC, December 19, 2011 » CookieCat
 * Compression of chess databases by Edmund Moshammer, CCC, July 09, 2012
 * pawn enumeration by Daniel Shawul, CCC, July 24, 2012
 * New 6-piece tablebases by Ronald de Man, CCC, April 01, 2013
 * New 6-piece tablebase generator by syzygy, CCRL Discussion Board, April 01, 2013 » Syzygy Bases
 * Complete 7-piece tablebases are out! by Albert Silver, CCC, April 12, 2013
 * Multithreaded LRU by Alvaro Cardoso, CCC, October 06, 2013 » Memory
 * What happens using egbb by Kai Laskos, CCC, October 12, 2013 » Scorpio Bitbases
 * tablebase caching / mmap / page cache by Ronald de Man, CCC, October 13, 2013 » Memory, Syzygy Bases
 * How to encode endgame tablebases by Mr. beo, Rybka Forum, October 18, 2013
 * Could EGTB make an Engine "weaker"? by Bill Henry, CCC, October 23, 2013
 * evaluating tablebases draws by Uri Blass, CCC, November 23, 2013 » Draw Evaluation
 * Table Base Cache Size question by Rob Nicholas, CCC, December 05, 2013 » Memory
 * Scorpio 6men EGBB Now available by Joshua Shriver, CCC, January 14, 2014 » Scorpio Bitbases
 * On-demand tablebase generation by Evert Glebbeek, CCC, January 19, 2014
 * Endgame tablebase generation for newbies by Alberto Sanjuan, CCC, April 04, 2014
 * Reducing tablebase size with search by Russell Reagan, CCC, April 07, 2014
 * A different tablebase encoding format by Steven Edwards, CCC, August 10, 2014
 * Tablebase access using a Solid State Disk by Steven Edwards, CCC, October 16, 2014 » Memory

2015 ...
2016
 * how to probe egtb from console? by Marco Belli, CCC, May 15, 2015 » CLI
 * Yet another KPK endgame table generator: pfkpk by Marcel van Kervinck, CCC, September 05, 2015 » KPK Bitbase
 * Is there tools to get the longest DTM/DTC for elementary EG? by Vincent Lejeune, CCC, September 07, 2015
 * 7 men Rook endgames H4 vs SF in recent TCEC stage 1b by Nay Lin Tun, CCC, September 07, 2015 » Rook Endgame, TCEC Season 8
 * Nalimov EGTB problem related to DTM? by Kai Laskos, CCC, February 14, 2016 » Nalimov Tablebases, DTM
 * Re: Nalimov EGTB problem related to DTM? by Ronald de Man, CCC, February 14, 2016


 * 6-men tablebase wanted by Harm Geert Muller, CCC, March 03, 2016
 * Good testsets for tablebases testing by Sergei S. Markoff, CCC, May 15, 2016 » Test-Positions
 * EPD to test EGTB probe code by Sergei S. Markoff, CCC, May 24, 2016

2017 2018 2019
 * 11-men tablebases (XQ) by Harm Geert Muller, CCC, May 23, 2016 » Xiangqi
 * Natural TB by Marco Costalba, CCC, May 29, 2016 » Syzygy Bases, Stockfish
 * How texel probes endgame tablebases by Peter Österlund, CCC, July 16, 2016 » Gaviota Tablebases, Syzygy Bases, Texel
 * Getting engines to use TBs in Arena by Brendan J. Norman, CCC, July 19, 2016 » Arena
 * Syzygy and draw by repetition by Jon Dart, CCC, July 22, 2016 » Draw, Repetitions, Syzygy Bases
 * Verifiability of endgame tablebases by Joan Charmant, CCC, July 23, 2016
 * Checkers Is Strongly-Solved for 8-pieces by Ed Trice, CCC, February 12, 2017 » Checkers
 * Search Halting Criteria When Probing Tablebases by Ed Trice, CCC, March 02, 2017
 * Probe EGT in quiescence? by Nguyen Pham, CCC, May 20, 2017 » Quiescence Search, Xiangqi
 * Incorporating Endgame tablebases by Pranav Deshpande, CCC, May 24, 2017
 * EGTB probe in search by Erin Dame, CCC, July 30, 2017
 * Natural TB (take 2) by Marco Costalba, CCC, August 22, 2017 » Syzygy Bases, Stockfish
 * understanding DTZ by Alexandru Mosoi, CCC, October 06, 2017 » DTZ, Syzygy Bases, Fathom
 * A new design for Xianqgi (Chinese chess) Endgame Tablebase by Nguyen Pham, CCC, January 16, 2018 » Chinese Chess
 * Question about EGT formats by Harm Geert Muller, CCC, January 26, 2018
 * The history of Syzygy tablebases by Isaac Haïk Dunn, CCC, March 06, 2018 » Syzygy Bases
 * DTM50 by Ronald de Man, CCC, May 22, 2018
 * Generate EGTB with graphics cards? by Nguyen Pham, CCC, January 01, 2019 » GPU
 * longest 6-man EGTB win by Zenmastur, CCC, October 24, 2019

2020 ...

 * Retrograde analysis - TBs move sequences to checkmate by Hedinn Steingrimsson, CCC, March 12, 2020
 * Using Freeware AI and Dynamically Generated Endgame Tablebases by Steve Schooler, CCC, March 27, 2020
 * Almost perfect DTM tablebase by Dann Corbit, CCC, April 08, 2020

=External Links=
 * Chess Endgames, ICGA site compiled by Guy Haworth and colleagues
 * Endgame tablebase from Wikipedia
 * Endgame Tablebases and Bitbases List from Computer-Chess Wiki by Ron Murawski
 * QUEEN vs. ROOK by Warren Stenberg and Edware J. Conway, reprinted from the January, 1979 issue of the Minnesota Chess Journal, The Usenet Oldnews Archive, Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman » ACM 1978, Belle, Walter Browne
 * Gilith - Chess Endgames by Joe Leslie-Hurd
 * Endgame Tablebases - gaviota chess engine by Miguel A. Ballicora
 * Compression Schemes for Gaviota Tablebases


 * Computing endgames with few men by Urban Koistinen
 * Koistinen/Endgame · GitHub
 * End-Game Table Bases by Harm Geert Muller
 * The Leapfrog Tablebase Generator by Harm Geert Muller
 * Hoffman by Brent Baccala
 * Endgame databases by Emil Vlasák
 * CCRL Discussion Board - Endgame Tablebases
 * Guide to the use of Computer Chess Endgame Tablebases from FAQ on Winboard and Chess Engines by Aaron Tay
 * Can use of endgame tablebases weaken play? from FAQ on Winboard and Chess Engines by Aaron Tay
 * Can We Solve Chess One Day? | Gödel's Lost Letter and P=NP by Dick Lipton, May 12, 2010
 * Build Your Own Chess Endgame Monster - Level Up Coding by Don Cross, February 17, 2020

GitHub

 * syzygy1/tb · GitHub by Ronald de Man
 * dshawul/Scorpio · GitHub includes Six men egbb code » Scorpio Bitbases
 * kervinck/pfkpk · GitHub » KPK Bitbase by Marcel van Kervinck
 * GitHub - cosinekitty/endgame: Chess endgame database generator by Don Cross

ChessBase

 * Engines and endgame tablebases by Albert Silver, ChessBase News, December 12, 2013
 * Perfect endgame play – with tablebases, ChessBase News, April 21, 2015
 * Just one of 17,823,400,766 positions by Frederic Friedel, ChessBase News, April 23, 2015
 * Endgame tablebases: A short history Albert Silver, ChessBase News, March 16, 2018

ChessOK

 * Lomonosov Endgame Tablebases

Online Lookup

 * Chess Cloud Database Query Interface by noobpwnftw Syzygy DTZ50 probing
 * Lomonosov - online 7-man tablebases
 * Endgame Nalimov Tablebases Online by ChessOK
 * Nalimov EGTB from GMchess.com
 * Nalimov Tablebase server (DTM) by Lokasoft
 * Web Query for Nalimov Endgame Tablebases (DTM) from Knowledge4IT by Eiko Bleicher
 * Chess Archives - Endgames (DTC, DTM, DTZ, DTZ-50) hosted by John Tamplin
 * Schach Endspiele (DTM) (German) by Joachim Rack

Download

 * Endgame Tablebases Online - 6-men endgame analysis free for everyone by Kirill Kryukov (3,4,5,6 pieces - via emule)
 * Index of /tablebases by kingliveson
 * tablebase.sesse.net by Sesse

Statistics

 * Theoretical statistics for chess endgames with up to five pieces by Ulrich Thiel

=References=

Up one level