domineering solving large combinatorial search spaces

30
Domineering Solving Large Combinatorial Search Spaces

Post on 19-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Domineering Solving Large Combinatorial Search Spaces

Domineering

Solving Large Combinatorial

Search Spaces

Page 2: 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.

Page 3: Domineering Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

Example 1Horizontal’s turn, who wins?

• Safe moves for vertical = 3.

• Total moves for horizontal = 3.

• Vertical wins.

Page 7: Domineering Solving Large Combinatorial Search Spaces

Example 2Horizontal’s turn, who wins?

Page 8: Domineering Solving Large Combinatorial Search Spaces

Safe Area

• 2 x 1 unoccupied region of the board.

• Opponent unable to overlap with a tile.

Page 9: Domineering Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

Packing Example

Page 12: Domineering Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

Packing Example

Page 19: Domineering Solving Large Combinatorial Search Spaces

Calculating Upper Bound

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

)(unplayable)unavail()22(

)moves(2resTotal_Squa)squares(

)(unplayable)0()22(

22)10(2)42(

Page 20: Domineering Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

Packing Example

Page 23: Domineering Solving Large Combinatorial Search Spaces

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 Large Combinatorial Search Spaces

Solving 8x8 Domineering

Page 25: Domineering Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

Other Enhancements

• Improved move ordering.

• Proof that we can ignore safe moves.

• Improved transposition table replacement scheme.

Page 27: Domineering Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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 Solving Large Combinatorial Search Spaces

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.