Abstract
Retrograde analysis has been widely used to solve many problems. In Western chess, it has been successfully applied to construct 6-piece endgame databases (Thompson, 1996). The classical algorithm first determines all terminal positions, e.g., checkmate or stalemate in Western chess, and then iteratively propagates the values back to their predecessors until no propagation is possible. In the final phase the remaining unknown positions are then declared draws.
However, in Chinese chess, there are special rules other than checkmate and stalemate to end a game. In real games, some positions are adjudicated as wins or losses because of these special rules, but in the final phase of a typical retrograde-analysis algorithm the positions are mistakenly marked as draws. The most influential special rule is checking indefinitely. In this article, we thoroughly investigate and abstract this special rule. Finally, we give a practical solution to construct endgame databases that adequately deal with the special rule.
Get full access to this article
View all access options for this article.
