Preprint

Comparative study of performance of parallel Alpha Beta Pruning for different architectures

Authors:
Preprints and early-stage research may not have been peer reviewed yet.
To read the file of this research, you can request a copy directly from the authors.

Abstract

Optimization of searching the best possible action depending on various states like state of environment, system goal etc. has been a major area of study in computer systems. In any search algorithm, searching best possible solution from the pool of every possibility known can lead to the construction of the whole state search space popularly called as minimax algorithm. This may lead to a impractical time complexities which may not be suitable for real time searching operations. One of the practical solution for the reduction in computational time is Alpha Beta pruning. Instead of searching for the whole state space, we prune the unnecessary branches, which helps reduce the time by significant amount. This paper focuses on the various possible implementations of the Alpha Beta pruning algorithms and gives an insight of what algorithm can be used for parallelism. Various studies have been conducted on how to make Alpha Beta pruning faster. Parallelizing Alpha Beta pruning for the GPUs specific architectures like mesh(CUDA) etc. or shared memory model(OpenMP) helps in the reduction of the computational time. This paper studies the comparison between sequential and different parallel forms of Alpha Beta pruning and their respective efficiency for the chess game as an application.

No file available

Request Full-text Paper PDF

To read the file of this research,
you can request a copy directly from the authors.

ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
Game tree search is a classical problem in the field of game theory and artificial intelligence. Fast game tree search algorithm is critical for computer games asking for real-time responses. In this paper, we focus on how to leverage massive parallelism capabilities of GPU to accelerate the speed of game tree search algorithms and propose a concise and general parallel game tree search algorithm on GPU. The performance model of our algorithm is presented and analyzed theoretically.We implement the algorithm for two real computer games called Connect6 and Chess. We also use these two games to verify the effectiveness and efficiency of our algorithm. Experiments support our theoretical results and show good performance of our approach. Compared to classical CPU based game tree search algorithms, our algorithm can achieve speedups of 89.95x for Connect6 and 11.43x for Chess, in case of no pruning. When pruning is considered, which means the practical performance of our algorithm, the speedup can reach about 10.58x for Connect6 and 7.26x for Chess. The insight of our work is that using GPU is a feasible way to improve the performance of game tree search algorithms.
Article
Full-text available
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.
Conference Paper
Full-text available
The paper describes results of minimax tree searching algorithm implemented within CUDA platform. The problem regards move choice strategy in the game of Reversi. The parallelization scheme and performance aspects are discussed, focusing mainly on warp divergence problem and data transfer size. Moreover, a method of minimizing warp divergence and performance degradation is described. The paper contains both the results of test performed on multiple CPUs and GPUs. Additionally, it discusses αβ parallel pruning implementation.
Article
Abstract Parallel Alpha-Beta Search on Shared Memory Multiprocessors Valavan Manohararajah Master of Applied Science Graduate Department of Electrical and Computer Engineering University of Toronto 2001 The alpha-beta algorithm is a well known method for the sequential search of game trees. Two
Introduction to minimax algorithm
  • Baeldung
Baeldung, "Introduction to minimax algorithm," November 3, 2018. [Online]. Available: https://www.baeldung.com/java-minimax-algorithm
Techniques to parallelize chess
  • C M Guidry
C. M. M Guidry, "Techniques to parallelize chess." [Online]. Available: https://pdfs.semanticscholar.org/8e1c/9f70aa4849475199e26ccd3e21c66 2e2d801.pdf
Parallelization of alpha beta pruning algorithm for enhancing the two player games
  • S D G V Akansha Kumari
  • Shreya Singh
S. D. G. V. Akansha Kumari, Shreya Singh, "Parallelization of alpha beta pruning algorithm for enhancing the two player games," vol. 4, pp. 74-81, Feb 2017.
A parallel alpha/beta tree searching algorithm
  • H L N Robert
  • Hyatt
  • W Bruce
  • Suter
H. L. N. Robert M Hyatt, Bruce W Suter, "A parallel alpha/beta tree searching algorithm," IEEE Transaction on Parallel and Distributed Systems, vol. 10, pp. 299-308, May 1989, dOI : 10.1016/0167-8191(89)90102-6.
Shared memory programming openmp
  • Y J Wong
Y. J. Wong., "Shared memory programming openmp," February 2010. [Online].