domineering
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/1.jpg)
Domineering
Solving Large Combinatorial
Search Spaces
![Page 2: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/2.jpg)
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.
![Page 3: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/3.jpg)
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.
![Page 4: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/4.jpg)
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.
![Page 5: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/5.jpg)
Our Contributions
• A far superior evaluation function.
• Improved move ordering.
• Proof that we can ignore safe moves.
• Improved transposition table replacement scheme.
![Page 6: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/6.jpg)
Example 1Horizontal’s turn, who wins?
• Safe moves for vertical = 3.
• Total moves for horizontal = 3.
• Vertical wins.
![Page 7: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/7.jpg)
Example 2Horizontal’s turn, who wins?
![Page 8: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/8.jpg)
Safe Area
• 2 x 1 unoccupied region of the board.
• Opponent unable to overlap with a tile.
![Page 9: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/9.jpg)
Protective Area
• 2 x 2 unoccupied region of the board.
• Placing a tile within creates another safe area.
• Two protective areas can not be adjacent.
![Page 10: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/10.jpg)
Vulnerable 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.
![Page 11: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/11.jpg)
Packing Example
![Page 12: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/12.jpg)
Calculating Lower Bound
otherwise. 0
02mod)(1vuln and 03mod)(2vuln if 1)(
)()safe(2
)(1vuln
3
)(2vuln
2
)prot(2)moves(
f
f
10052
2
3
6
2
22)moves(
V
![Page 13: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/13.jpg)
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.
![Page 14: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/14.jpg)
Unoccupied Squares
• Count the number of unoccupied squares.
• Subtract 2 • moves(α) squares.
• Gives us total number of unoccupied squares after α has placed there tiles.
![Page 15: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/15.jpg)
Unavailable Squares
• A 1 x 1 unoccupied region of the board.
• Not included in α’s board covering.
• Not available to α’s opponent.
![Page 16: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/16.jpg)
Option Area
• 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.
![Page 17: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/17.jpg)
Vulnerable Area With A Protected Square
• Vulnerable area.• Contains a square
which is unavailable for the opponent.
• By not playing creates one more unavailable square for opponent.
![Page 18: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/18.jpg)
Packing Example
![Page 19: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/19.jpg)
Calculating Upper Bound
)(unplayable)unavail()squares()avail(
)(unplayable)unavail()22(
)moves(2resTotal_Squa)squares(
)(unplayable)0()22(
22)10(2)42(
![Page 20: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/20.jpg)
Unplayable Squares
)()(2
)(1op
2
)(2op2
2
)(3op3
2
)_p(1vuln)(1vuln
2
)(1vuln)_p(1vuln
3
)_p(2vuln)(2vuln
3
)(2vuln)_p(2vuln)(unplayable
gf
)0()0(2
)2(
2
)0(2
2
)0(3
2
)1()2(
2
)2()1(
3
)0()6(
3
)6()0(
1
![Page 21: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/21.jpg)
Calculating Upper Bound
)(unplayable)unavail()squares()avail(
)(unplayable)unavail()22(
)moves(2resTotal_Squa)squares(
21)1()0()22(
)(unplayable)0()22(
22)10(2)42(
![Page 22: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/22.jpg)
Packing Example
![Page 23: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/23.jpg)
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.
![Page 24: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/24.jpg)
Solving 8x8 Domineering
![Page 25: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/25.jpg)
Solving 8x8 Domineering
Enhancements Nodes
All Enhancements. 2,023,031
All – protective areas. 6,610,775
All – unavailable squares. 2,566,004
All – vulnerable areas with protected squares. 4,045,384
All – vulnerable areas type 1. 2,972,216
All – option areas. 4,525,704
No enhancements to evaluation. 84,034,856
![Page 26: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/26.jpg)
Other Enhancements
• Improved move ordering.
• Proof that we can ignore safe moves.
• Improved transposition table replacement scheme.
![Page 27: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/27.jpg)
Comparisons to DOMI
Board Size DOMI Obsequi
5x5 604 259
5x9 177,324 11,669
6x6 17,232 908
7x7 408,260 31,440
8x8 441,990,070 2,023,301
8x9 70 trillion 259 million
![Page 28: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/28.jpg)
New Results
Board Size Result Nodes
4x19 H 314,148,901
4x21 H 3,390,074,758
6x14 H 1,864,870,370
8x10 H 4,125,516,739
10x10 1 3,541,685,253,370
![Page 29: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/29.jpg)
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.
![Page 30: Domineering](https://reader035.vdocument.in/reader035/viewer/2022062519/56814e78550346895dbc1178/html5/thumbnails/30.jpg)
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.