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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Do not confuse Kaneko’s augmented proof/disproof values with our definition of virtual pn.
- 2.
Private communication with Broderick Arneson.
- 3.
As usual when measuring a ratio (here, speedup), we use geometric mean for averaging.
References
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)
Kaneko, T.: Parallel depth first proof number search. In: Proceedings of the AAAI-10, pp. 95–100 (2010)
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)
Kishimoto, A., Müller, M.: A solution to the ghi problem for depth-first proof-number search. Inf. Sci. 175, 296–314 (2005)
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)
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)
Henderson, P., Arneson, B., Hayward, R.: Solving 8 \(\times \) 8 Hex. In: Proceedings of the IJCAI-09, pp. 505–510 (2009)
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)
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)
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)
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)
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)
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)
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)
Nagai, A.: Df-pn Algorithm for Searching AND/OR Trees and its Applications. Ph.D. thesis, University of Tokyo, Japan (2002)
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)
Letouzey, F.: Fruit (2004–2013). http://www.fruitchess.com/
Romstad, T.: Stockfish (2008–2013). http://stockfishchess.org/
Breuker, D., Uiterwijk, J., den Herik, H.: Replacement schemes and two-level tables. ICGA 19, 175–180 (1996)
Nagai, A.: A new depth-first-search algorithm for and/or tree. Master’s thesis, University of Tokyo, Japan (1999)
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)
Arneson, B., Henderson, P., Hayward, R.B.: Benzene (2009–2012). http://benzene.sourceforge.net/
Enzenberger, M., Müller, M., Arneson, B., Segal, R., Xie, F., Huang, A.: Fuego (2007–2012). http://fuego.sourceforge.net/
Henderson, P.: Playing and solving Hex. Ph.D. thesis, University of Alberta (2010). http://webdocs.cs.ualberta.ca/~hayward/theses/ph.pdf
Hayward, R.B.: 2011 ICGA Computer Games Olympiad Hex Competition Report (2011). http://webdocs.cs.ualberta.ca/~hayward/papers/rptTilburg.pdf
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)