Skip to main content
Log in

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

  • Published:
Applied Intelligence Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. The latter paper won the Best Paper Award of the IEA/AIE conference in 2015.

  2. In this example, we identify the move by the starting and ending square, omitting the type of piece that was moved. This is equivalent to how the History Heuristic identifies moves by [from][to], described in Section 3.2. Depending on the game the History-ADS heuristic is applied to, how moves are best represented will necessarily vary, as is the situation with both Killer Moves and the History Heuristic.

References

  1. Akl S, Newborn M (1977) The principal continuation and the killer heuristic. In: Proceedings of ACM’77 the 1977 annual conference, pp 466–473

    Google Scholar 

  2. Albers S, Westbrook J (1998) Self-organizing data structures. In: Online algorithms, pp 13–51

    Chapter  Google Scholar 

  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–313

    Google Scholar 

  4. Coe R (2002) It’s the effect size, stupid: what effect size is and why it is important

  5. Corman TH, Leiserson CE, Rivest RL, Stein C (2009) Introduction to algorithms, 3rd edn. MIT Press, Upper Saddle River, pp 302–320

    Google Scholar 

  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–171

    Google Scholar 

  7. Hester JH, Hirschberg DS (1985) Self-organizing linear search. ACM Comput Surv 17:285–311

    Article  Google Scholar 

  8. Knuth DE, Moore RW (1975) An analysis of alpha-beta pruning. Artif Intell 6:293–326

    Article  MathSciNet  MATH  Google Scholar 

  9. Levene M, Bar-Ilan J (2006) Comparing typical opening move choices made by humans and chess engines. Computing Research Repository

  10. Luckhardt C, Irani K (1986) An algorithmic solution of n-person games. In: Proceedings of the AAAI’86, pp 158–162

    Google Scholar 

  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–70

    Chapter  Google Scholar 

  12. Pettie S (2008) Splay trees, davenport-schinzel sequences, and the deque conjecture. In: Proceedings of the nineteenth annual ACM-SIAM symposium on discrete algorithms

    Google Scholar 

  13. Polk S (2016) Enhancing AI-based game playing using Adaptive Data Structures. PhD thesis, Carleton University

  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– 138

    Google Scholar 

  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–169

    Chapter  Google Scholar 

  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–235

    Google Scholar 

  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–42

    Google Scholar 

  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–327

    Chapter  Google Scholar 

  19. Polk S, Oommen BJ (2016) Novel threat-based ai strategies for multi-player games. In: Submitted for publication

    Google Scholar 

  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–44

    Chapter  Google Scholar 

  21. Reinefeld A, Marsland TA (1994) Enhanced iterative-deepening search. IEEE Trans Pattern Anal Mach Intell 16:701–710

    Article  Google Scholar 

  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–772

    Chapter  Google Scholar 

  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 press

  24. Russell SJ, Norvig P (2009) Artificial intelligence: a modern approach, 3rd edn. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, pp 161–201

    MATH  Google Scholar 

  25. Sacksin S (1969) A gamut of games. Random house

  26. Schadd MPD, Winands MHM (2011) Best reply search for multiplayer games. IEEE Trans Comput Intell AI Games 3:57– 66

    Article  Google Scholar 

  27. Schaeffer J (1989) The history heuristic and alpha-beta search enhancements in practice. IEEE Trans Pattern Anal Mach Intell 11:1203–1212

    Article  Google Scholar 

  28. Schroder E (2007) Move ordering in rebel. Discussion of move ordering techniques used in REBEL a powerful chess engine

  29. Shannon CE (1950) Programming a computer for playing chess. Phil Mag 41:256–275

    Article  MathSciNet  MATH  Google Scholar 

  30. Sturtevant N, Games Multi-Player (2003) Algorithms and approaches. PhD thesis, University of California

  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–719

    Google Scholar 

  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–1063

    Google Scholar 

  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–651

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Spencer Polk.

Additional information

The second author is grateful for the partial support provided by NSERC, the Natural Sciences and Engineering Research Council of Canada. A preliminary version of this paper was presented at IEA/AIE’16, the 29th International Conference on Industrial, Engineering and Other Applications of Intelligent Systems.

Appendix: Game models

Appendix: Game models

In this appendix, we will briefly detail the games we employ in our experiments, with the goal of providing the reader with an understanding of how they are played, and how they differ from each other. These are the same games as were employed in our previous work, involving the Threat-ADS and History-ADS heuristics [19, 20].

Checkers

Checkers, also commonly called Draughts, is a very well-known, widespread board game, designed to be played on an 8 × 8 checkerboard, with pieces initially arranged as in Fig. 7. During a player’s turn, he may move any of his pieces one space forward, towards the opponent’s side of the board, and diagonally, either to the left or the right. If an otherwise valid square is occupied by an opponent’s piece, and the square across from it is unoccupied, the player may “jump” the opponent’s piece, capturing it and removing it from play. If other subsequent jumps are possible, the player continues to chain these jumps together. When a piece reaches the opponent’s side of the board, it is promoted, and is no longer restricted to advancing forward. A player loses when all his pieces are captured, or he is unable to make a valid move. Under normal rules, jumps are mandatory, and forcing an opponent to take disadvantageous jumps is a strategic feature of the game. However, this feature greatly decreases the game’s search space, and thus we have relaxed this rule, to generate a more challenging search problem. We refer to our variant as Relaxed Checkers.

Fig. 7
figure 7

The starting position for checkers

Othello

Othello is another two-player board game played on an 8 × 8 board, although with very different mechanics from Checkers. Initially, each player has two pieces on the board, arranged as in Fig. 8. During his turn, a player may place an additional piece on the board, so long as it is placed in a position that “flanks” one, or more, opponent pieces, in a line between the new piece, and one the player already controls. If this cannot be done, the player’s turn is passed. All “flanked” pieces are captured, and are replaced by pieces under the capturing player’s control. Play continues until neither player can make a capturing move, at which point the player who controls the most pieces on the board is declared the Winner.

Fig. 8
figure 8

The starting position for Othello

Focus

Focus is a another board game played on an 8x8 board based on piece capturing, developed by Sackson in 1969 and released since under many different names [25]. Focus can be played by between two and four players. Unlike most games of this type, Focus allows pieces to be “stacked” on top of each other, with the top piece of the stack indicating which player controls it. During his turn, a player may move any stack he controls, vertically or horizontally, by a number of squares equal to the height of the stack. When a stack is placed atop another stack, any pieces below the first five are captured and are removed from play. If a player captures his own piece, he may place it back on the board in any position on top of a stack, rather than making a normal move. The starting positions for Focus are pre-determined to insure a fair initial state, and are shown in Fig. 9

Fig. 9
figure 9

The two, three, and four player starting positions for Focus

Virus Game

The Virus Game is a multi-player board game of our own creation, modeled after similar experimental games based on a biological metaphor [22]. The Virus Game is played on board of configurable size (in this work, we use a 5 × 5 board), and is designed as a highly-configurable test environment, rather than an attempt to create a “fun” board game, although it shares elements in common with more complex games. Players begin with three pieces randomly placed on the board, and during his turn, a player may “infect” a square adjacent to one he controls, at which point he claims that square, and each square adjacent to it. A possible starting position, and an intermediate board state, of the Virus Game under our current configuration is shown in Fig. 10.

Fig. 10
figure 10

The Virus Game at its initial state, and ten turns into the game. Observe that two players have been eliminated, and the pieces are more closely grouped together

Chinese Checkers

Chinese Checkers is a very well-known multi-player board game, designed to be played by between two and six players. The game is played on a unique, star-shaped board, where each player starts with pieces filling one “corner” of the star, and each player’s objective is to move all of his pieces to the corner opposite of his starting position. On his turn, a player may move one of his pieces to any of the adjacent positions, or “jump” an adjacent piece (including his own), to move a greater distance. As in Checkers, jumps may be chained together, allowing for great distances to be covered in a single move. The possible starting positions for Chinese Checkers are shown in Fig. 11.

Fig. 11
figure 11

The two, three, four, and six player starting positions for Chinese Checkers

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Polk, S., Oommen, B. Challenging state-of-the-art move ordering with Adaptive Data Structures. Appl Intell 48, 1128–1147 (2018). https://doi.org/10.1007/s10489-017-1006-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-017-1006-0

Keywords

Navigation