300 likes | 427 Vues
This study focuses on improving strategies within the 2-player Domineering game played on an n x m board. Players take turns placing 2x1 tiles, and the first unable to make a move loses. Previous research in combinatorial game theory has laid the foundation, but significant advancements are made with a superior evaluation function, better move ordering, and an innovative transposition table replacement scheme. Our contributions greatly reduce search space and improve efficiency. We also establish mathematical properties that open avenues for further research and refinement in computation.
E N D
Domineering Solving Large Combinatorial Search Spaces
Rules • 2 player game (horizontal and vertical). • n x m game board (or subset of). • Players take turns placing 2 x 1 tiles (of their specified orientation) onto the board. • First player unable to play, loses.
Previous Work • Mathematicians have examined domineering using combinatorial game theory. • AI research has focused on general alpha-beta techniques such as transposition tables and move ordering.
Why Study Domineering? • Large amount of room for improvement over previous work. • Nice mathematical properties. • Simple rule set. • Large search space. • Interest has been shown from both math and computer science researchers.
Our Contributions • A far superior evaluation function. • Improved move ordering. • Proof that we can ignore safe moves. • Improved transposition table replacement scheme.
Example 1Horizontal’s turn, who wins? • Safe moves for vertical = 3. • Total moves for horizontal = 3. • Vertical wins.
2 x 1 unoccupied region of the board. Opponent unable to overlap with a tile. Safe Area
2 x 2 unoccupied region of the board. Placing a tile within creates another safe area. Two protective areas can not be adjacent. Protective Area
2 x 1 unoccupied region of the board. Type 1 vulnerable areas are not adjacent to any other area. Type 2 can be adjacent to any other areas. Vulnerable Area
Opponent’s Moves • Have good lower bound on number of moves for one player (moves(α)). • Need upper bound on number of moves for other player. • Count squares available for opponent to play on divided by 2.
Unoccupied Squares • Count the number of unoccupied squares. • Subtract 2 • moves(α) squares. • Gives us total number of unoccupied squares after α has placed there tiles.
A 1 x 1 unoccupied region of the board. Not included in α’s board covering. Not available to α’s opponent. Unavailable Squares
1 x 1 unoccupied region of the board attached to a safe area. Can not be adjacent to any other area. By playing creates unavailable squares for opponent. Option Area
Vulnerable area. Contains a square which is unavailable for the opponent. By not playing creates one more unavailable square for opponent. Vulnerable Area With A Protected Square
Vertical Wins • Vertical can play at least 10 more tiles. • Horizontal can play at most 10 more tiles. • Since it is horizontal’s turn, horizontal must run out of moves before vertical.
Other Enhancements • Improved move ordering. • Proof that we can ignore safe moves. • Improved transposition table replacement scheme.
Conclusion • Enhanced evaluation function reduced the tree size by a factor of 80 (best case). • All other improvements together created another 3 to 4 times reduction in nodes.
Future Work • Further refinements to evaluation function. • Prove certain moves are always inferior. • Better board packing algorithm. • Directing the search to already examined board positions. • Combining the benefits of the two transposition table replacement schemes.