An External-Memory Retrograde Analysis Algorithm

  • Ping-hsun Wu
  • Ping-Yi Liu
  • Tsan-sheng Hsu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3846)


This paper gives a new sequential retrograde analysis algorithm for the construction of large endgame databases that are too large to be loaded entirely into the physical memory. The algorithm makes use of disk I/O patterns and saves disk I/O time. Using our algorithm we construct a set of Chinese-chess endgame databases with one side having attacking pieces. The performance result shows that our algorithm works well even when the number of positions in the constructed endgame is larger than the number of bits in the main memory of our computer. We built the 12-men database KCPGGMMKGGMM, the largest database reported in Chinese chess, which has 8,785,969,200 positions after removing symmetrical positions on a 2.2GHz P4 machine with 1 GB main memory. This process took 79 hours. We have also found positions with the largest DTM and DTC values in Chinese chess so far. They are in the 11-men database KCPGGMKGGMM; the values are 116 and 96, respectively.


Main Memory Terminal Position Physical Memory Disk Access Disk Block 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allis, L.V., van der Meulen, M., van den Herik, H.J.: Databases in awari. In: Levy, D.N.L., Beal, D.F. (eds.) Heuristic Programming in Artificial Intelligence 2: The Second Computer Olympiad, vol. 2, pp. 73–86. Ellis Horwood, Chichester (1991)Google Scholar
  2. 2.
    Bal, H., Allis, L.V.: Parallel retrograde analysis on a distributed system. In: Proceedings of the 1995 ACM/IEEE Supercomputing Conference (1995),
  3. 3.
    Fang, H.-r., Hsu, T.-s., Hsu, S.-c.: Construction of Chinese chess endgame databases by retrograde analysis. In: Marsland, T., Frank, I. (eds.) CG 2001. LNCS, vol. 2063, pp. 96–114. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    Fang, H.-r., Hsu, T.-s., Hsu, S.-c.: Indefinite sequence of moves in chinese chess endgames. In: Schaeffer, J., Müller, M., Björnsson, Y. (eds.) CG 2002. LNCS, vol. 2883, pp. 264–279. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Gasser, R.: Solving nine men’s morris. In: Nowakowski, R. (ed.) Games of No Chance. MSRI, vol. 29, pp. 101–113. Cambridge University Press, Cambridge (1996) ISBN: 0-521-57411-0Google Scholar
  6. 6.
    Hsu, T.-s., Liu, P.-Y.: Verification of endgame databases. ICGA Journal 25(3), 132–144 (2002)Google Scholar
  7. 7.
    Karrer, P.: KQQKQP and KQPKQP≈. ICCA Journal 23(2), 75–84 (2000)Google Scholar
  8. 8.
    Korf, R.E.: Delayed duplicate detection: Extended abstract. In: Proceedings of the 18th International Joint Conference on Artificial Intelligence, pp. 1539–1541 (2003)Google Scholar
  9. 9.
    Lake, R., Schaeffer, J., Lu, P.: Solving large retrograde-analysis problems using a network of workstations. In: van den Herik, H.J., Herschberg, I.S., Uiterwijk, J.W.H.M. (eds.) Advances in Computer Chess, vol. 7, pp. 135–162. University of Limburg, Maastricht (1994) ISBN: 9-0621-6101-4Google Scholar
  10. 10.
    Lincke, T.R., Marzetta, A.: Large endgame databases with limited memory space. ICCA Journal 22(4), 131–138 (1999)Google Scholar
  11. 11.
    Nalimov, E.V., Wirth, C., Haworth, G.M.: KQQKQQ and the Kasparov-world game. ICCA Journal 22(4), 195–212 (1999)Google Scholar
  12. 12.
    Romein, J.W., Bal, H.E.: Awari is solved. ICGA Journal 25(3), 162–165 (2002)Google Scholar
  13. 13.
    Schaeffer, J., Björnsson, Y., Burch, N., Lake, R., Lu, P., Sutphen, S.: Building the checkers 10-piece endgame databases. In: van den Herik, H.J., Iida, H., Heinz, E.A. (eds.) Advances in Computer Games: Many Games, Many Challenges, vol. 10, pp. 193–210. Kluwer Academic Publishers, Dordrecht (2003) ISBN: 1-4020- 7709-2Google Scholar
  14. 14.
    Stiller, L.: Parallel analysis of certain endgames. ICCA Journal 12(2), 55–64 (1989)Google Scholar
  15. 15.
    Thompson, K.: Retrograde analysis of certain endgames. ICCA Journal 9(3), 131–139 (1986)Google Scholar
  16. 16.
    Thompson, K.: 6-piece endgames. ICCA Journal 19(4), 215–226 (1996)Google Scholar
  17. 17.
    van den Herik, H.J., Uiterwijk, J.W.H.M., van Rijswijck, J.: Games solved: Now and in the future. Artificial Intelligence 134, 277–311 (2002)zbMATHCrossRefGoogle Scholar
  18. 18.
    Vitter, J.S.: External memory algorithms and data structures: Dealing with MASSIVE DATA. ACM Computing Surveys 33(2), 209–271 (2001)CrossRefGoogle Scholar
  19. 19.
    Wu, R., Beal, D.F.: Fast, memory-efficient retrograde algorithms. ICCA Journal 24(3), 147–159 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Ping-hsun Wu
    • 1
  • Ping-Yi Liu
    • 2
  • Tsan-sheng Hsu
    • 1
  1. 1.Institute of Information ScienceAcademia SinicaTaipeiTaiwan
  2. 2.Department of Computer SciencesUniversity of TexasAustinUSA

Personalised recommendations