Abstract
In this contribution we describe a method for developing computer programs for chess endgames. Rules based on knowledge about chess and about α-β search are their main ingredients. But tables for some positions and their assumed evaluations may be added. The developer may influence the relative importance of the three components: knowledge, search and table look-up. Thus, using cleverer rules may reduce the amount of search and conversely; storing more positions in tables may stop the rules from being overburdened with exceptions.
Instead of using only the scalars win/draw/loss as values for positions we allow the rules to compute intervals guaranteed to contain the true values; very simple yet effective rules may be found by applying this method. Moreover, bounds for the intervals are not only win/draw/loss; the number of moves to reach mate or an irreversible move on a winning path is also taken into account; this feature avoids cycling.
The validation of each program, i.e., the complete proof of its correctness, is done by a run which checks consistency of the evaluations of all legal positions covered by the rules; validation and play do not require any database at all. We have applied our method to the endgames KPK, KQKP and KQKQ, but this does not exhaust its scope.
Get full access to this article
View all access options for this article.
