Domineering

30
Domineering Solving Large Combinatorial Search Spaces

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 Presentation

Transcript of Domineering

Page 1: Domineering

Domineering

Solving Large Combinatorial

Search Spaces

Page 2: Domineering

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

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

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

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

Example 1Horizontal’s turn, who wins?

• Safe moves for vertical = 3.

• Total moves for horizontal = 3.

• Vertical wins.

Page 7: Domineering

Example 2Horizontal’s turn, who wins?

Page 8: Domineering

Safe Area

• 2 x 1 unoccupied region of the board.

• Opponent unable to overlap with a tile.

Page 9: Domineering

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

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

Packing Example

Page 12: Domineering

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

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

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

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

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

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

Packing Example

Page 19: Domineering

Calculating Upper Bound

)(unplayable)unavail()squares()avail(

)(unplayable)unavail()22(

)moves(2resTotal_Squa)squares(

)(unplayable)0()22(

22)10(2)42(

Page 20: Domineering

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

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

Packing Example

Page 23: Domineering

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

Solving 8x8 Domineering

Page 25: Domineering

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

Other Enhancements

• Improved move ordering.

• Proof that we can ignore safe moves.

• Improved transposition table replacement scheme.

Page 27: Domineering

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

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

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

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.