A New Proof-Number Calculation Technique for Proof-Number Search
We propose a new simple calculation technique for proof numbers in Proof-Number Search. Search algorithms based on (dis)proof numbers are known to be effective for solving problems such as tsumego, tsume-shogi, and checkers. Usually, the Proof-Number Search expands child nodes with the smallest (dis)proof number because such nodes are expected to be the easiest to (dis)prove the node. However, when many unpromising child nodes exist, (dis)proof numbers are not always a suitable measure for move ordering because unpromising nodes temporarily increase the (dis)proof numbers. For such cases, we propose the use of only some child nodes (instead of all child nodes) for calculating (dis)proof numbers. We call this technique Dynamic Widening.
We combined Dynamic Widening with the Depth-first Proof-Number Search (df-pn) algorithm and tested its performance on capturing problems of Go on 19×19 boards. Our results show that the approach is more than 30 times faster than normal df-pn when we generate almost all legal moves (about 300 moves on average). The required time for processing remained approximately four times as long as that of df-pn using heuristic pruning (about 20 moves on average), but the correctness of the search result is guaranteed.
KeywordsLeaf Node Child Node Legal Move Sorting Method Number Search
Unable to display preview. Download preview PDF.
- 2.Cazenave, T.: Generalized widening. In: Proceedings of the 16th Eureopean Conference on Artificial Intelligence (ECAI 2004), pp. 156–160 (2004)Google Scholar
- 3.Kishimoto, A.: Correct and Efficient Search Algorithms in the Presence of Repetitions. PhD thesis, University of Alberta (March 2005)Google Scholar
- 4.Kishimoto, A., Müller, M.: Search versus knowledge for solving life and death problems in Go. In: Proc. of Twentieth National Conference on Artificial Intelligence (AAAI 2005), pp. 1374–1379. AAAI Press, Menlo Park (2005)Google Scholar
- 6.Nagai, A.: Df-pn Algorithm for Searching AND/OR Trees and Its Applications. PhD thesis, University of Tokyo, Tokyo (2002)Google Scholar
- 8.Schaeffer, J., Björnsson, Y., Burch, N., Kishimoto, A., Müller, M., Lake, R., Lu, P., Sutphen, S.: Solving checkers. In: Proc. of 19th International Joint Conference on Artificial Intelligence (IJCAI 2005), pp. 292–297 (2005)Google Scholar
- 10.Thomsen, T.: Madlab website, http://www.t-t.dk/madlab/problems/index.html
- 11.Thomsen, T.: Lambda-search in game trees - with application to Go. ICGA Journal 23(4), 203–217 (2000)Google Scholar
- 12.Wolf, T.: Forward pruning and other heuristic search techniques in tsume go. Special issue of Information Sciences 122(1), 59–76 (2000)Google Scholar
- 13.Yoshizoe, K., Kishimoto, A., Müller, M.: Lambda depth-first proof number search and its application to go. In: Proc. of the 20th International Joint Conference on Artificial Intelligence (IJCAI 2007), pp. 2404–2409 (2007)Google Scholar