Solving Kalah

Using full-game databases and optimized tree-search algorithms, the game of Kalah is solved for several starting configurations up to 6 holes and 5 counters per hole. The main search algorithm used was iterative-deepening MTD (f). Major search enhancements were move ordering, transposition tables, futility pruning, enhanced transposition cut-off, and endgame databases.

[1]  Matteo Frigo,et al.  The implementation of the Cilk-5 multithreaded language , 1998, PLDI.

[2]  Jos W. H. M. Uiterwijk,et al.  Investigating Probabilistic Opponent-Model Search , 2000 .

[3]  Vipin Kumar,et al.  Parallel Algorithms for Machine Intelligence and Vision , 2011, Symbolic Computation.

[4]  Jonathan Schaeffer,et al.  Experiments in Search and Knowledge , 1986, J. Int. Comput. Games Assoc..

[5]  H. J. van den Herik,et al.  Databases in Awari , 1991 .

[6]  Harold James Ruthren Murray,et al.  A History of Board-Games Other Than Chess , 1969 .

[7]  Ernst A. Heinz Extended Futility Pruning , 1998, J. Int. Comput. Games Assoc..

[8]  Jonathan Schaeffer,et al.  Exploiting Graph Properties of Game Trees , 1996, AAAI/IAAI, Vol. 1.

[9]  Jos W. H. M. Uiterwijk,et al.  Human versus Machine Problem Solving: Winning Openings in Dakon , 2000 .

[10]  L. V. Allis,et al.  Searching for solutions in games and artificial intelligence , 1994 .

[11]  James R. Slagle,et al.  Experiments with the M & N tree-searching program , 1970, CACM.

[12]  Albert L. Zobrist,et al.  A New Hashing Method with Application for Game Playing , 1990 .

[13]  Ralph Gasser,et al.  All the Needles in a Haystack: Can Exhaustive Search Overcome Combinatorial Chaos? , 1995, Computer Science Today.

[14]  Jonathan Schaeffer The History Heuristic , 1983, J. Int. Comput. Games Assoc..

[15]  Jonathan Schaeffer,et al.  Best-First Fixed-Depth Minimax Algorithms , 1996, J. Int. Comput. Games Assoc..