A program for Progressive chess

In Progressive chess, rather than just making one move per turn, players play progressively longer series of moves. Combinatorial complexity generated by many sequential moves represents a difficult challenge for classic search algorithms. In this article, we present the design of a state-of-the-art program for Progressive chess. The program follows the generally recommended strategy for this game, which consists of three phases: looking for possibilities to checkmate the opponent, playing sequences of generally good moves when checkmate is not available, and preventing checkmates from the opponent. For efficient and effective checkmate search we considered two versions of the A* algorithm, and developed five different heuristics for guiding the search. For finding promising sequences of moves we developed another set of heuristics, and combined the A* algorithm with minimax search, in order to fight the combinatorial complexity. We constructed an opening book, and designed specialized heuristics for playing Progressive chess endgames. An application with a graphical user interface was implemented in order to enable human players to play Progressive chess against the computer, and to use the computer to analyze their games. The program performed excellently in experiments with checkmate search, and won both mini-matches against a human chess master. We also present the findings of self-play experiments between different versions of the program.

[1]  Jonathan Schaeffer,et al.  Search Versus Knowledge in Game-Playing Programs Revisited , 1997, IJCAI.

[2]  Shirish Chinchalkar,et al.  An Upper Bound for the Number of Reachable Positions , 1996, J. Int. Comput. Games Assoc..

[3]  Ulf Lorenz,et al.  Innovative Opening-Book Handling , 2006, ACG.

[4]  Simon M. Lucas,et al.  A Survey of Monte Carlo Tree Search Methods , 2012, IEEE Transactions on Computational Intelligence and AI in Games.

[5]  Csaba Szepesvári,et al.  Bandit Based Monte-Carlo Planning , 2006, ECML.

[6]  Cameron Browne Bitboard Methods for Games , 2014, J. Int. Comput. Games Assoc..

[7]  Ivan Bratko,et al.  Is real-valued minimax pathological? , 2006, Artif. Intell..

[8]  Tristan Cazenave,et al.  Nested Monte-Carlo Search , 2009, IJCAI.

[9]  Johannes Fürnkranz,et al.  Learning the Piece Values for Three Chess Variants , 2008, J. Int. Comput. Games Assoc..

[10]  David J. Wu Designing a Winning Arimaa Program , 2015, J. Int. Comput. Games Assoc..

[11]  Matej Guid,et al.  Development of a Program for Playing Progressive Chess , 2015, ACG.

[12]  Rémi Coulom,et al.  Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search , 2006, Computers and Games.

[13]  Eric van Reem SHREDDER WINS SECOND CHESS960 COMPUTER-CHESS WORLD CHAMPIONSHIP , 2006 .