In western chess, retrograde analysis has been successfully applied to construct 6-piece endgame databases. This classical algorithm first determines all terminal win or loss positions, i.e., those that are either checkmate or stalemate, and then propagates the values back to their predecessors until no further propagation is possible. The un-propagated positions are then declared draws.
However,
... [Show full abstract] in Chinese chess, there are special rules other than checkmate and stalemate to end a game. Therefore, some terminal positions cannot be determined by the typical retrograde analysis algorithm. If these special rules are ignored in the construction of the endgame databases, the resulting databases may contain incorrect information.
In this paper, we not only describe our approach in abstracting the special rules of Chinese chess and its consequent problems when retrograde analysis is applied, but also give a solution to construct complete endgame databases complying with the most important special rules.