Skip to main content

Scalable Parallel DFPN Search

  • Conference paper
  • First Online:
Computers and Games (CG 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8427))

Included in the following conference series:

Abstract

We present Scalable Parallel Depth-First Proof Number Search, a new shared-memory parallel version of depth-first proof number search. Based on the serial DFPN \(1+\varepsilon \) method of Pawlewicz and Lew, SPDFPN searches effectively even as the transposition table becomes almost full, and so can solve large problems. To assign jobs to threads, SPDFPN uses proof and disproof numbers and two parameters. SPDFPN uses no domain-specific knowledge or heuristics, so it can be used in any domain. Our experiments show that SPDFPN scales well and performs well on hard problems.

We tested SPDFPN on problems from the game of Hex. On a 24-core machine and a 4.2-hour single-thread task, parallel efficiency ranges from 0.8 on 4 threads to 0.74 on 16 threads. SPDFPN solved all previously intractable 9 \(\times \) 9 Hex opening moves; the hardest opening took 111 days. Also, in 63 days, it solved one 10 \(\times \) 10 Hex opening move. This is the first time a computer or human has solved a 10 \(\times \) 10 Hex opening move.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Notes

  1. 1.

    Do not confuse Kaneko’s augmented proof/disproof values with our definition of virtual pn.

  2. 2.

    Private communication with Broderick Arneson.

  3. 3.

    As usual when measuring a ratio (here, speedup), we use geometric mean for averaging.

References

  1. Schaeffer, J., Burch, N., Björnsson, Y., Kishimoto, A., Müller, M., Lake, R., Lu, P., Sutphen, S.: Checkers is solved. Science 317, 1518–1522 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  2. Kaneko, T.: Parallel depth first proof number search. In: Proceedings of the AAAI-10, pp. 95–100 (2010)

    Google Scholar 

  3. Kishimoto, A.: Dealing with infinite loops, underestimation, and overestimation of depth-first proof-number search. In: Proceedings of the AAAI-10, pp. 108–113 (2010)

    Google Scholar 

  4. Kishimoto, A., Müller, M.: A solution to the ghi problem for depth-first proof-number search. Inf. Sci. 175, 296–314 (2005)

    Article  Google Scholar 

  5. Kishimoto, A., Müller, M.: About the completeness of depth-first proof-number search. In: van den Herik, H.J., Xu, X., Ma, Z., Winands, M.H.M. (eds.) CG 2008. LNCS, vol. 5131, pp. 146–156. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  6. Yoshizoe, K., Kishimoto, A., Müller, M.: Lambda depth-first proof number search and its appplication to go. In: Proceedings of the IJCAI-07, pp. 2404–2409 (2007)

    Google Scholar 

  7. Henderson, P., Arneson, B., Hayward, R.: Solving 8 \(\times \) 8 Hex. In: Proceedings of the IJCAI-09, pp. 505–510 (2009)

    Google Scholar 

  8. Arneson, B., Hayward, R.B., Henderson, P.: Solving hex: beyond humans. In: van den Herik, H.J., Iida, H., Plaat, A. (eds.) CG 2010. LNCS, vol. 6515, pp. 1–10. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  9. Pawlewicz, J., Lew, Ł.: Improving depth-first PN-search: \(1 + \epsilon \) trick. In: van den Herik, H.J., Ciancarini, P., Donkers, H.H.L.M.J. (eds.) CG 2006. LNCS, vol. 4630, pp. 160–171. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  10. Nagai, A.: A new AND/OR tree search algorithm using proof number and disproof number. In: Proceeding of Complex Games Lab Workshop, Tsukuba, ETL, pp. 40–45 (1998)

    Google Scholar 

  11. Kishimoto, A.: Parallel AND/OR tree search based on proof and disproof numbers. In: 5th Games Programming Workshop. IPSJ Symposium Series, vol. 99, pp. 24–30 (1999)

    Google Scholar 

  12. Saffidine, A., Jouandeau, N., Cazenave, T.: Solving breakthrough with race patterns and job-level proof number search. In: van den Herik, H.J., Plaat, A. (eds.) ACG 2011. LNCS, vol. 7168, pp. 196–207. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  13. Saito, J.-T., Winands, M.H.M., van den Herik, H.J.: Randomized parallel proof-number search. In: van den Herik, H.J., Spronck, P. (eds.) ACG 2009. LNCS, vol. 6048, pp. 75–87. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  14. Wu, I.-C., Lin, H.-H., Lin, P.-H., Sun, D.-J., Chan, Y.-C., Chen, B.-T.: Job-level proof-number search for connect6. In: van den Herik, H.J., Iida, H., Plaat, A. (eds.) CG 2010. LNCS, vol. 6515, pp. 11–22. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  15. Nagai, A.: Df-pn Algorithm for Searching AND/OR Trees and its Applications. Ph.D. thesis, University of Tokyo, Japan (2002)

    Google Scholar 

  16. Kishimoto, A., Winands, M., Müller, M., Saito, J.T.: Game-tree search using proof numbers: the first twenty years. ICGA 35, 131–156 (2012)

    Google Scholar 

  17. Letouzey, F.: Fruit (2004–2013). http://www.fruitchess.com/

  18. Romstad, T.: Stockfish (2008–2013). http://stockfishchess.org/

  19. Breuker, D., Uiterwijk, J., den Herik, H.: Replacement schemes and two-level tables. ICGA 19, 175–180 (1996)

    Google Scholar 

  20. Nagai, A.: A new depth-first-search algorithm for and/or tree. Master’s thesis, University of Tokyo, Japan (1999)

    Google Scholar 

  21. Chaslot, G.M.J.-B., 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)

    Chapter  Google Scholar 

  22. Arneson, B., Henderson, P., Hayward, R.B.: Benzene (2009–2012). http://benzene.sourceforge.net/

  23. Enzenberger, M., Müller, M., Arneson, B., Segal, R., Xie, F., Huang, A.: Fuego (2007–2012). http://fuego.sourceforge.net/

  24. Henderson, P.: Playing and solving Hex. Ph.D. thesis, University of Alberta (2010). http://webdocs.cs.ualberta.ca/~hayward/theses/ph.pdf

  25. Hayward, R.B.: 2011 ICGA Computer Games Olympiad Hex Competition Report (2011). http://webdocs.cs.ualberta.ca/~hayward/papers/rptTilburg.pdf

Download references

Acknowledgements

We thank Broderick Arneson, Yngvi Björnsson, Phil Henderson, Aja Huang, Timo Ewalds, Martin Müller, and the referees for their feedback. We thank Martin for generously loaning the use of his computing cluster for our experiments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ryan B. Hayward .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Pawlewicz, J., Hayward, R.B. (2014). Scalable Parallel DFPN Search. In: van den Herik, H., Iida, H., Plaat, A. (eds) Computers and Games. CG 2013. Lecture Notes in Computer Science(), vol 8427. Springer, Cham. https://doi.org/10.1007/978-3-319-09165-5_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09165-5_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-09164-8

  • Online ISBN: 978-3-319-09165-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics