I'm currently thinking if I should implement endgame knowledge in my engine or if it is sufficient to support tablebases.
I found only a short discussion on it and that is very old:
http://wbforum.vpittlik.org/viewtopic.php?t=3125
Reasons to implement endgame knowledge:
- Access to 5 (or even 6) men tablebases is slow. Endgame knowledge is faster.
- People might use the engine without tablebases.
Reasons not to implement endgame knowledge:
- Implemetation takes a lot of time, most likely more time then implementing a tablebases access. Implementation time is the scarcest ressource that limits an engine's playing strength. I might better invest my time in something else.
- Wait a few years and 5 men tablebases will fit into the RAM. On expensive machines they might fit today.
- Looking at the Fruit sources, there aren't many endgame positions that are covered by endgame knowledge but not by 5 men tablebases. Some recognisers respond to positions with 6 and more men, but I doubt those positions often occur in practical games.
- Implementation of endgame knowledge is error prone. For example, Fruit's recognizers seems to have many shortcomings.
Did anybody make tests how many elo internal endgame knowedge is worth when tablebases are present?