Dual Lambda Search and Shogi Endgames

  • Shunsuke Soeda
  • Tomoyuki Kaneko
  • Tetsuro Tanaka
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4250)


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.


Search Algorithm Search Tree Attack Move Game Tree Proof Tree 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arioka, M.: Search in Shogi program KFEnd. In: Advances in Computer Shogi 4, Kyoritsu, pp. 18–40 (2003)Google Scholar
  2. 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. 3.
    Cazenave, T.: Iterative Widening. In: IJCAI 2001 Proceedings, vol. 1, pp. 523–528 (2001)Google Scholar
  4. 4.
    Conway, J.H.: On Numbers and Games. Academic Press, London (1976)MATHGoogle Scholar
  5. 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. 6.
    Iida, H., Abe, F.: Brinkmate Search. In: Game Programming Workshop in Japan 1996, Kanagawa, Japan, pp. 160–169 (1996)Google Scholar
  7. 7.
    Iida, H., Sakuta, M., Rollason, J.: Computer Shogi. Artificial Intelligence 134(1-2), 121–144 (2002)MATHCrossRefGoogle Scholar
  8. 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. 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. 10.
    Müller, M.: Computer Go. Artificial Intelligence 134(1-2), 145–179 (2002)MATHCrossRefGoogle Scholar
  11. 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. 12.
    Tanase, Y.: Algorithm of IS Shogi, Kyouristu, pp. 1–14 (2000) (in Japanese)Google Scholar
  13. 13.
    Thompson, K.: Retrograde Analysis of Certain Endgames. ICCA Journal 9(3), 131–139 (1986)Google Scholar
  14. 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. 15.
    Yamashita, H.: YSS - Data Structure and Algorithm. In: Advances in Computer Shogi 2, Kyoritsu, pp. 112–142 (1998) (in Japanese) Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Shunsuke Soeda
    • 1
  • Tomoyuki Kaneko
    • 1
  • Tetsuro Tanaka
    • 2
  1. 1.Computing System Research GroupThe University of TokyoTokyoJapan
  2. 2.Information Technology CenterThe University of TokyoTokyoJapan

Personalised recommendations