Applied Intelligence

, Volume 48, Issue 5, pp 1128–1147 | Cite as

Challenging state-of-the-art move ordering with Adaptive Data Structures

  • Spencer Polk
  • B. John Oommen


The field of game playing is a particularly well-studied area within the context of AI, leading to the development of powerful techniques, such as the alpha-beta search, capable of achieving competitive game play against an intelligent opponent. It is well-known that tree pruning strategies, such as alpha-beta, benefit strongly from proper move ordering, i.e., by searching the best element first. A wide range of techniques have been developed over the years to achieve good move ordering, and improved tree pruning, in the field, in general and in particular, in the alpha-beta search, have been extensively studied. Inspired by the formerly unrelated field of Adaptive Data Structures (ADSs), we had previously introduced the History-ADS technique, which employs an adaptive list to achieve effective and dynamic move ordering, in a domain independent fashion. Our previous results confirmed that it performs well in a very wide range of cases, and in varied types of board games. However, our previous work did not compare the performance of the History-ADS heuristic to any established move ordering strategy. In an attempt to address this problem, we present here a comparison to two well-known, acclaimed strategies, which operate on a similar philosophy to the History-ADS, namely, the History Heuristic, and the Killer Moves technique. We also introduce, in this work, a mechanism by which these established move ordering strategies can be approximated, or directly implemented, in terms of ADSs. We confirm that, in a wide range of two-player and multi-player games, at various points in the game’s progression, the History-ADS performs at least as well as these strategies, and, in fact, outperforms them in the majority of cases.


Alpha-Beta search Adaptive Data Structures Move ordering History Heuristic Killer Moves 


  1. 1.
    Akl S, Newborn M (1977) The principal continuation and the killer heuristic. In: Proceedings of ACM’77 the 1977 annual conference, pp 466–473Google Scholar
  2. 2.
    Albers S, Westbrook J (1998) Self-organizing data structures. In: Online algorithms, pp 13–51CrossRefGoogle Scholar
  3. 3.
    Baudet GM (1978) An analysis of the full alpha-beta pruning algorithm. In: Proceedings of the tenth annual ACM symposium on theory of computing, pp 296–313Google Scholar
  4. 4.
    Coe R (2002) It’s the effect size, stupid: what effect size is and why it is importantGoogle Scholar
  5. 5.
    Corman TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to algorithms, 3rd edn. MIT Press, Upper Saddle River, pp 302–320Google Scholar
  6. 6.
    Gonnet GH, Munro JI, Suwanda H (1979) Towards self-organizing linear search. In: Proceedings of FOCS’79, the 1979 annual symposium on foundations of computer science, pp 169–171Google Scholar
  7. 7.
    Hester JH, Hirschberg DS (1985) Self-organizing linear search. ACM Comput Surv 17:285–311CrossRefGoogle Scholar
  8. 8.
    Knuth DE, Moore RW (1975) An analysis of alpha-beta pruning. Artif Intell 6:293–326MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Levene M, Bar-Ilan J (2006) Comparing typical opening move choices made by humans and chess engines. Computing Research RepositoryGoogle Scholar
  10. 10.
    Luckhardt C, Irani K (1986) An algorithmic solution of n-person games. In: Proceedings of the AAAI’86, pp 158–162Google Scholar
  11. 11.
    Papadoupoulus A (2012) Exploring optimization strategies in board game abalone for alpha-beta search. In: In proceedings of CIG’2012, the 2012 IEEE conference on computational intelligence and games, pp 63–70CrossRefGoogle Scholar
  12. 12.
    Pettie S (2008) Splay trees, davenport-schinzel sequences, and the deque conjecture. In: Proceedings of the nineteenth annual ACM-SIAM symposium on discrete algorithmsGoogle Scholar
  13. 13.
    Polk S (2016) Enhancing AI-based game playing using Adaptive Data Structures. PhD thesis, Carleton UniversityGoogle Scholar
  14. 14.
    Polk S, Oommen BJ (2013) On applying adaptive data structures to multi-player game playing. In: Proceedings of AI’2013, the thirty-third SGAI conference on artificial intelligence, pp 125– 138Google Scholar
  15. 15.
    Polk S, Oommen BJ (2013) On enhancing recent multi-player game playing strategies using a spectrum of adaptive data structures. In: Proceedings of TAAI’2013, the 2013 conference on technologies and applications of artificial intelligence, pp 164–169CrossRefGoogle Scholar
  16. 16.
    Polk S, Oommen BJ (2015) Enhancing history-based move ordering in game playing using adaptive data structures. In: Proceedings of ICCCI’2015, the 7th international conference on computational collective intelligence technologies and applications, pp 225–235Google Scholar
  17. 17.
    Polk S, Oommen BJ (2015) Novel AI strategies for multi-player games at intermediate board states. In: Proceedings of IEA/AIE’2015, the twenty-eighth international conference on industrial, engineering, and other applications of applied intelligent systems, pp 33–42Google Scholar
  18. 18.
    Polk S, Oommen BJ (2015) Space and depth-related enhancements of the history-ads strategy in game playing. In: Proceedings of CIG’2015, the 2015 IEEE conference on computational intelligence and games, pp 322–327CrossRefGoogle Scholar
  19. 19.
    Polk S, Oommen BJ (2016) Novel threat-based ai strategies for multi-player games. In: Submitted for publicationGoogle Scholar
  20. 20.
    Polk S, Oommen BJ (2016) On achieving history-based move ordering in adversarial board games using adaptive data structures. In: Transactions on computational collective intelligence XXII, pp 10–44CrossRefGoogle Scholar
  21. 21.
    Reinefeld A, Marsland TA (1994) Enhanced iterative-deepening search. IEEE Trans Pattern Anal Mach Intell 16:701–710CrossRefGoogle Scholar
  22. 22.
    Rendell P (2011) A universal turing machine in Conway’s game of life. In: Proceedings of HPCS’11, the 2011 international conference on high performance computing and simulation, pp 764–772CrossRefGoogle Scholar
  23. 23.
    Rimmel A, Teytaud O, Lee C, Yen S, Wang M, Tsai S (2010) Current frontiers in computer go. IEEE Transactions on Computational Intelligence and Artificial Intelligence in Games, page in pressGoogle Scholar
  24. 24.
    Russell SJ, Norvig P (2009) Artificial intelligence: a modern approach, 3rd edn. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, pp 161–201zbMATHGoogle Scholar
  25. 25.
    Sacksin S (1969) A gamut of games. Random houseGoogle Scholar
  26. 26.
    Schadd MPD, Winands MHM (2011) Best reply search for multiplayer games. IEEE Trans Comput Intell AI Games 3:57– 66CrossRefGoogle Scholar
  27. 27.
    Schaeffer J (1989) The history heuristic and alpha-beta search enhancements in practice. IEEE Trans Pattern Anal Mach Intell 11:1203–1212CrossRefGoogle Scholar
  28. 28.
    Schroder E (2007) Move ordering in rebel. Discussion of move ordering techniques used in REBEL a powerful chess engineGoogle Scholar
  29. 29.
    Shannon CE (1950) Programming a computer for playing chess. Phil Mag 41:256–275MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Sturtevant N, Games Multi-Player (2003) Algorithms and approaches. PhD thesis, University of CaliforniaGoogle Scholar
  31. 31.
    Sturtevant N, Bowling M (2006) Robust game play against unknown opponents. In: Proceedings of AAMAS’06, the 2006 international joint conference on autonomous agents and multiagent systems, pp 713–719Google Scholar
  32. 32.
    Sturtevant N, Zinkevich M, Bowling M (2006) Prob-maxn: playing n-player games with opponent models. In: Proceedings of AAAI’06, the 2006 national conference on artificial intelligence, pp 1057–1063Google Scholar
  33. 33.
    Zuckerman I, Felner A, Kraus S (2009) Mixing search strategies for multi-player games. In: Proceedings of IJCAI’09, the twenty-first international joint conferences on artificial intelligence, pp 646–651Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2017

Authors and Affiliations

  1. 1.School of Computer ScienceCarleton UniversityOttawaCanada
  2. 2.University of AgderGrimstadNorway

Personalised recommendations