Skip to main content

CUDA Implementation of Computer Go Game Tree Search

  • Conference paper
  • First Online:
Information Technology: New Generations

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 448))

Abstract

Go is a fascinating game that has yet to be played well by a computer program due to its large board size and exponential time complexity. This paper presents a GPU implementation of PV-Split, a parallel implementation of a widely used game tree search algorithm for two-player zero-sum games. With many game trees, it often takes too much time to traverse the entire tree, but theoretically, the deeper the tree is traversed, the more accurate the best move found will be. By parallelizing the Go game tree search, we have successfully reduced the computation time, enabling deeper levels of the tree to be reached in smaller amounts of time. Results for the sequential and GPU implementations were compared, and the highest speedup achieved with the parallel algorithm was approximately 72x at 6 levels deep in the game tree. Although there has been related work with respect to game tree searches on the GPU, no exact best move search algorithms have been presented for Go, which uses significantly more memory due to its large board size. This paper also presents a technique for reducing the amount of required memory from previous game tree traversal methods while still allowing each processing element to play out games independently.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Comparision between chess and go. http://users.eniinternet.com/bradleym/Compare.html

  2. Cuda toolkit documentation. https://docs.nvidia.com/cuda/index.html

  3. The mystery of go, the ancient game that computers still can’t win. http://www.wired.com/2014/05/the-world-of-computer-go/

  4. Campbell, M., Hoane, A.J., Hsu, F.H.: Deep blue. Artificial Intelligence 134(1), 57–83 (2002)

    Article  MATH  Google Scholar 

  5. Chou, C.W., Chou, P.C., Doghmen, H., Lee, C.S., Su, T.C., Teytaud, F., Teytaud, O., Wang, H.M., Wang, M.H., Wu, L.W., et al.: Towards a solution of 7x7 go with meta-MCTS. In: Advances in Computer Games, pp. 84–95. Springer (2012)

    Google Scholar 

  6. Elnaggar, A., Gadallah, M., Aziem, M.A., Aldeeb, H., et al.: Autonomous checkers robot using enhanced massive parallel game tree search. In: 2014 9th International Conference on Informatics and Systems (INFOS), pp. PDC–35. IEEE (2014)

    Google Scholar 

  7. Elnaggar, A.A., Aziem, M.A., Gadallah, M., El-Deeb, H.: A comparative study of game tree searching methods. International Journal of Advanced Computer Science and Applications (IJACSA) 5(5) (2014)

    Google Scholar 

  8. Li, L., Liu, H., Wang, H., Liu, T., Li, W.: A parallel algorithm for game tree search using GPGPU (2014)

    Google Scholar 

  9. Marsland, T.A., Campbell, M.: Parallel search of strongly ordered game trees. ACM Computing Surveys (CSUR) 14(4), 533–551 (1982)

    Article  Google Scholar 

  10. Sanders, J., Kandrot, E.: CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley Professional (2010)

    Google Scholar 

  11. Sipser, M.: Introduction to the Theory of Computation. Cengage Learning (2012)

    Google Scholar 

  12. Strnad, D., Guid, N.: Parallel alpha-beta algorithm on the GPU. In: 2011 33rd International Conference on Information Technology Interfaces (ITI), Proceedings of the ITI, pp. 571–576. IEEE (2011)

    Google Scholar 

  13. van der Werf, E.C., Van Den Herik, H.J., Uiterwijk, J.W.: Solving go on small boards. ICGA Journal 26(2), 92–107 (2003)

    Google Scholar 

  14. van der Werf, E.C.D.: AI techniques for the game of Go. UPM, Universitaire Pers Maastricht (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Frederick C. Harris Jr. .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Johnson, C., Barford, L., Dascalu, S.M., Harris, F.C. (2016). CUDA Implementation of Computer Go Game Tree Search. In: Latifi, S. (eds) Information Technology: New Generations. Advances in Intelligent Systems and Computing, vol 448. Springer, Cham. https://doi.org/10.1007/978-3-319-32467-8_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-32467-8_31

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-32466-1

  • Online ISBN: 978-3-319-32467-8

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics