Title: Domineering
1Domineering
- Solving Large Combinatorial
- Search Spaces
2Rules
- 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.
3Previous 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.
4Why 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.
5Our Contributions
- A far superior evaluation function.
- Improved move ordering.
- Proof that we can ignore safe moves.
- Improved transposition table replacement scheme.
6Example 1Horizontals turn, who wins?
- Safe moves for vertical 3.
- Total moves for horizontal 3.
7Example 2Horizontals turn, who wins?
8Safe Area
- 2 x 1 unoccupied region of the board.
- Opponent unable to overlap with a tile.
9Protective Area
- 2 x 2 unoccupied region of the board.
- Placing a tile within creates another safe area.
- Two protective areas can not be adjacent.
10Vulnerable 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.
11Packing Example
12Calculating Lower Bound
13Opponents Moves
- Have good lower bound on number of moves for one
player (moves(a)). - Need upper bound on number of moves for other
player. - Count squares available for opponent to play on
divided by 2.
14Unoccupied Squares
- Count the number of unoccupied squares.
- Subtract 2 moves(a) squares.
- Gives us total number of unoccupied squares after
a has placed there tiles.
15Unavailable Squares
- A 1 x 1 unoccupied region of the board.
- Not included in as board covering.
- Not available to as opponent.
16Option 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.
17Vulnerable 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.
18Packing Example
19Calculating Upper Bound
20Unplayable Squares
21Calculating Upper Bound
22Packing Example
23Vertical Wins
- Vertical can play at least 10 more tiles.
- Horizontal can play at most 10 more tiles.
- Since it is horizontals turn, horizontal must
run out of moves before vertical.
24Solving 8x8 Domineering
25Solving 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
26Other Enhancements
- Improved move ordering.
- Proof that we can ignore safe moves.
- Improved transposition table replacement scheme.
27Comparisons 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
28New 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
29Conclusion
- 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.
30Future 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.