Dual Lambda Search and Shogi Endgames
Abstract
We propose a new threat-base search algorithm which takes into account threats by both players. In full-board Semeais in Go or Shogi endgames, making naive attack moves often result in losing the game. The reason is that a player must first make a defense move if the opponent has a better attack move than his own. Some attack moves weaken the defense of the player who made the move. Thus, players must be aware of the threats by both players to avoid such naive attack moves. However, existing threat-based search algorithms are only aware of threats by one player, and cannot detect such naive attacks efficiently. We propose a solution to this problem, by applying λ-search mutually recursively so that it searches the best move by taking into account threats by both players. We call this search algorithm dual λ -search. Dual λ-search can handle inversions efficiently compared to previous algorithms by making passes for both players. We implemented dual λ-search with Df-pn as the driver, and made experiments with difficult Shogi-endgame problems. We showed the effectiveness of our algorithm by solving 32 problems out of 97. It includes solving problems that even one of the strongest Shogi program had not yet been able to solve correctly.
Keywords
Search Algorithm Search Tree Attack Move Game Tree Proof TreePreview
Unable to display preview. Download preview PDF.
References
- 1.Arioka, M.: Search in Shogi program KFEnd. In: Advances in Computer Shogi 4, Kyoritsu, pp. 18–40 (2003)Google Scholar
- 2.Cazenave, T.: A Generalized Threats Search Algorithm. In: Schaeffer, J., Müller, M., Björnsson, Y. (eds.) CG 2002. LNCS, vol. 2883, pp. 75–87. Springer, Heidelberg (2003)CrossRefGoogle Scholar
- 3.Cazenave, T.: Iterative Widening. In: IJCAI 2001 Proceedings, vol. 1, pp. 523–528 (2001)Google Scholar
- 4.Conway, J.H.: On Numbers and Games. Academic Press, London (1976)MATHGoogle Scholar
- 5.Grimbergen, R., Muraoka, T.: What Shogi Programs Still Cannot Do - a New Test Set For Shogi. In: The 9th Game Programming Workshop in Japan, pp. 40–47 (2004)Google Scholar
- 6.Iida, H., Abe, F.: Brinkmate Search. In: Game Programming Workshop in Japan 1996, Kanagawa, Japan, pp. 160–169 (1996)Google Scholar
- 7.Iida, H., Sakuta, M., Rollason, J.: Computer Shogi. Artificial Intelligence 134(1-2), 121–144 (2002)MATHCrossRefGoogle Scholar
- 8.Kawano, Y.: Using Similar Positions to Search Game Trees. In: Games of No Chance, pp. 193–202. Cambridge University Press, Cambridge (1996)Google Scholar
- 9.Kishimoto, A., Müller, M.: DF-PN in Go: An Application to the One-Eye Problem. In: van den Herik, H.J., Iida, H., Heinz, E.A. (eds.) 10th Advances in Computer Games (ACG10), Many Games, Many Challenges, pp. 125–141. Kluwer Academic Publishers, Boston (2004)Google Scholar
- 10.Müller, M.: Computer Go. Artificial Intelligence 134(1-2), 145–179 (2002)MATHCrossRefGoogle Scholar
- 11.Nagai, A., Imai, H.: Application of DF-PN Algorithm to a Program to Solve Tsume-Shogi Problems. IPSJ Journal 43, 1769–1777 (2002)MathSciNetGoogle Scholar
- 12.Tanase, Y.: Algorithm of IS Shogi, Kyouristu, pp. 1–14 (2000) (in Japanese)Google Scholar
- 13.Thompson, K.: Retrograde Analysis of Certain Endgames. ICCA Journal 9(3), 131–139 (1986)Google Scholar
- 14.Thomsen, T.: Lambda-Search in Game Trees — With Application to Go. In: Marsland, T., Frank, I. (eds.) CG 2001. LNCS, vol. 2063, pp. 19–38. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- 15.Yamashita, H.: YSS - Data Structure and Algorithm. In: Advances in Computer Shogi 2, Kyoritsu, pp. 112–142 (1998) (in Japanese) Google Scholar