Parallel alpha-beta algorithm on the GPU

In the paper we present the parallel implementation of the alpha-beta algorithm running on the graphics processing unit (GPU). We compare the speed of the parallel player with the standard serial one using the game of reversi with boards of different sizes. We show that for small boards the level of available parallelism is insufficient for efficient GPU utilization but for larger boards substantial speed-ups can be achieved on the GPU. The results indicate that the GPU-based alpha-beta implementation would be advantageous for similar games of higher computational complexity (e.g. hex and go) in their standard form.

[1]  Mark G. Brockington,et al.  A Taxonomy of Parallel Game-Tree Search Algorithms , 1996, J. Int. Comput. Games Assoc..

[2]  Valavan Manohararajah Parallel alpha-beta search on shared memory multiprocessors , 2001 .

[3]  Chien-Ping Paul. Lu,et al.  Parallel search of narrow game trees , 1993 .

[4]  Michael Buro,et al.  The evolution of strong othello programs , 2002, IWEC.

[5]  Bradley C. Kuszmaul,et al.  Synchronized MIMD computing , 1994 .

[6]  Jonathan Schaeffer,et al.  APHID: Asynchronous Parallel Game-Tree Search , 2000, J. Parallel Distributed Comput..

[7]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[8]  Feng-hsiung Hsu Large scale parallelization of alpha-beta search: an algorithmic and architectural study , 1989 .

[9]  T. Anthony Marsland,et al.  Parallel Search of Strongly Ordered Game Trees , 1982, CSUR.

[10]  Plamenka Borovska,et al.  Efficiency of parallel minimax algorithm for game tree search , 2007, CompSysTech '07.

[11]  Jean-Christophe Weill The ABDADA Distributed Minimax-Search Algorithm , 1996, J. Int. Comput. Games Assoc..

[12]  Donald E. Knuth,et al.  The Solution for the Branching Factor of the Alpha-Beta Pruning Algorithm , 1981, ICALP.

[13]  Wojciech Jaskowski,et al.  Coevolutionary Temporal Difference Learning for Othello , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[14]  Jie Cheng,et al.  CUDA by Example: An Introduction to General-Purpose GPU Programming , 2010, Scalable Comput. Pract. Exp..

[15]  Hubert Nguyen,et al.  GPU Gems 3 , 2007 .

[16]  Rainer Feldmann,et al.  Game Tree Search on Massively Parallel Systems , 1993 .

[17]  Kamil Rocki,et al.  Parallel Minimax Tree Searching on GPU , 2009, PPAM.

[18]  Jonathan Schaeffer,et al.  Distributed Game-Tree Searching , 1989, J. Parallel Distributed Comput..