domineering solving large combinatorial search spaces

Post on 19-Dec-2015

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

Example 2Horizontal’s turn, who wins?

Safe Area

• 2 x 1 unoccupied region of the board.

• Opponent unable to overlap with a tile.

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.

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.

Packing Example

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

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.

Unavailable Squares

• A 1 x 1 unoccupied region of the board.

• Not included in α’s board covering.

• Not available to α’s opponent.

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.

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.

Packing Example

Calculating Upper Bound

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

)(unplayable)unavail()22(

)moves(2resTotal_Squa)squares(

)(unplayable)0()22(

22)10(2)42(

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

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(

Packing Example

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.

Solving 8x8 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

Other Enhancements

• Improved move ordering.

• Proof that we can ignore safe moves.

• Improved transposition table replacement scheme.

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

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

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.

top related