Randomized Parallel Proof-Number Search

  • Jahn-Takeshi Saito
  • Mark H. M. Winands
  • H. Jaap van den Herik
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6048)


Proof-Number Search (PNS) is a powerful method for solving games and game positions. Over the years, the research on PNS has steadily produced new insights and techniques. With multi-core processors becoming established in the recent past, the question of parallelizing PNS has gained new urgency. This article presents a new technique called Randomized Parallel Proof-Number Search (RPPNS) for parallelizing PNS on multi-core systems with shared memory. The parallelization is based on randomizing the move selection of multiple threads, which operate on the same search tree. RPPNS is tested on a set of complex Lines-of-Action endgame positions. Experiments show that RPPNS scales well. Four directions for future research are given.


Shared Memory Servant Process Multiple Thread Total Node Synchronization Overhead 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allis, L.V., van der Meulen, M., van den Herik, H.J.: Proof-Number Search. Artificial Intelligence 66(1), 91–124 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Allis, L.V.: Searching for Solutions in Games and Artificial Intelligence. PhD thesis, Rijksuniversiteit Limburg, Maastricht, The Netherlands (1994)Google Scholar
  3. 3.
    Nagai, A.: A new depth-first search algorithm for AND/OR trees. In: Matsubara, H., Kotani, Y., Takizawa, T., Yoshikawa, A. (eds.) Proceedings of the Complex Games Lab Workhshop, ETL, Tsuruoka, Japan, pp. 40–45 (1998)Google Scholar
  4. 4.
    Nagai, A.: Df-pn algorithm for searching AND/OR trees and its applications. PhD thesis, University of Tokyo, Japan (2002)Google Scholar
  5. 5.
    Seo, M., Iida, H., Uiterwijk, J.W.H.M.: The \(\mbox{PN}^{\ast}\)-Search algorithm: application to tsume shogi. Artificial Intelligence 129(1-2), 253–277 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  6. 6.
    Kishimoto, A., Müller, M.: DF-PN in Go: Application to the one-eye problem. In: van den Herik, H.J., Iida, H., Heinz, E. (eds.) Proceedings of the 10th Advances in Computer Games Conference (ACG 2003), Norwell, MA, USA, vol. 10, pp. 125–141. Kluwer Academic, Dordrecht (2003)Google Scholar
  7. 7.
    Schaeffer, J., Burch, N., Björnsson, Y., Kishimoto, A., Müller, M., Lake, R., Lu, P., Sutphen, S.: Checkers is solved. Science 317(5844), 1518–1522 (2007)CrossRefMathSciNetGoogle Scholar
  8. 8.
    Winands, M.H.M., Uiterwijk, J.W.H.M., van den Herik, H.J.: PDS-PN: A new proof-number search algorithm: application to Lines of Action. In: Schaeffer, J., Müller, M., Björnsson, Y. (eds.) CG 2002. LNCS, vol. 2883, pp. 170–185. Springer, Heidelberg (2003)Google Scholar
  9. 9.
    Brockington, M.: A taxonomy of parallel game-tree search algorithms. ICCA Journal 19(3), 162–174 (1996)Google Scholar
  10. 10.
    Kishimoto, A., Kotani, Y.: Parallel AND/OR tree search based on proof and disproof numbers. In: Proceedings of the 5th Game Programming Workshop, Hakone, Japan. IPSJ Symposium Series, vol. 99(14), pp. 24–30 (1999)Google Scholar
  11. 11.
    Breuker, D.: Memory versus search. PhD thesis, Maastricht University, The Netherlands (1998)Google Scholar
  12. 12.
    Brockington, M., Schaeffer, J.: APHID Game-Tree Search. In: van den Herik, H., Uiterwijk, J. (eds.) Advances in Computer Chess, Univeriseit Maastricht, vol. 8, pp. 69–92 (1997)Google Scholar
  13. 13.
    McAllester, D.: Conspiracy numbers for min-max search. Artificial Intelligence 35(3), 287–310 (1988)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Lorenz, U.: Parallel controlled conspiracy number search. In: Monien, M., Feldmann, R. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 420–430. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Shoham, Y., Toledo, S.: Parallel randomized best-first minimax search. Artificial Intelligence 137(1-2), 165–196 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Buro, M.: Toward opening book learning. ICCA Journal 22, 98–102 (1999)Google Scholar
  17. 17.
    Chaslot, G., Winands, M.H.M., van den Herik, H.J.: Parallel Monte-Carlo Tree Search. In: van den Herik, H.J., Xu, X., Ma, Z., Winands, M.H.M. (eds.) CG 2008. LNCS, vol. 5131, pp. 60–71. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  18. 18.
    Cazenave, T., Jouandeau, N.: On the Parallelization of UCT. In: van den Herik, H.J., Uiterwijk, J.W.H.M., Winands, M.H.M., Schadd, M. (eds.) Computer Games Workshop (CGW 2007). MICC Technical Report Series, vol. 07-06, pp. 93–101. Maastricht University, Maastricht (2007)Google Scholar
  19. 19.
    Pawlewicz, J., Lew, L.: Improving depth-first pn-search: 1+ε trick. In: van den Herik, H.J., Ciancarini, P., Donkers, H.H.L.M(J.) (eds.) CG 2006. LNCS, vol. 4630, pp. 160–170. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  20. 20.
    van den Herik, H.J., Winands, M.H.M.: Proof-Number search and its variants. In: Tizhoosh, H., Ventresca, M. (eds.) Oppositional Concepts in Computational Intelligence. Studies in Computational Intelligence, vol. 155, pp. 91–118. Springer, Heidelberg (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Jahn-Takeshi Saito
    • 1
  • Mark H. M. Winands
    • 1
  • H. Jaap van den Herik
    • 2
  1. 1.Department of Knowledge Engineering, Faculty of Humanities and SciencesMaastricht University 
  2. 2.Tilburg centre for Creative Computing (TiCC), Faculty of HumanitiesTilburg University 

Personalised recommendations