decomposition search - university of albertammueller/cgt/talks/... · decomposition search a...

28
Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames Martin Müller University of Alberta Edmonton, Canada

Upload: others

Post on 24-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Decomposition Search �A Combinatorial Games Approach �

to Game Tree Search, �with Applications to Solving Go

Endgames���

Martin Müller�University of Alberta�Edmonton, Canada �

Page 2: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Decomposition Search

•  What is decomposition search?•  Game decomposition•  Local combinatorial game search (LCGS)•  Application: solving Go endgame studies

Page 3: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Game Theory Solved games HeuristicPrograms

Classical minimaxgame theoryv. Neumann

αβ, PN-search:Gomoku, NineMen’s Morris,…

Chess,Checkers,Othello,…

Combinatorialgame theoryConway, Berlekamp

DS:Go endgamestudies

Go

today 2003?

Page 4: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Goal of Decomposition Search

•  Compute efficient minimax solutions of decomposable games

•  Develop game tree search method that can exploit the power of combinatorial games theory

•  Knowledge transfer from mathematical theory to applied AI

Page 5: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Game Decomposition•  Partition game state•  Independence of

subgames: �moves have no affect on other subgames

•  Example: Nim - each heap is one subgame

=�

+�+�

Page 6: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Decomposition Search•  Game decomposition: given game G, �

find equivalent sum of subgames G1 + ... + Gn

•  Local combinatorial game search (LCGS): �for each Gi, use search to find game graph

•  Evaluation: for each game graph, find combinatorial game evaluation C(Gi)

•  Sum game play: given C(Gi), select an optimal move in G = G1 + ... + Gn�

Page 7: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Combinatorial Game Theory•  Developed by Conway, Berlekamp,…

•  Abstract definition of two-player games

•  Game position defined by sets of follow-up positions for both players

•  Books: On Numbers and Games, Winning Ways

•  Main idea: represent game as �sum of independent subgames

Page 8: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Comparing Game TheoriesCombinatorial

•  Partition game into sum of subgames

•  Local analysis

•  Combination of local results:�Algebra of combinatorial games

•  Central question:�which sums of games are wins?

Classical•  Single, monolithic game

state•  Full board evaluation•  Single game tree,�

minimax backup•  Central question:�

what is the minimax score?

Page 9: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Example: Nim

•  Full game: high branching factor, �long game

•  Local game: low branching factor, �short game

•  Challenge: combine local analyses

=�

+�+�

Page 10: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Local Combinatorial Game Search

•  Search each subgame•  Main difference to

minimax search: �successive moves by same player

•  Local minimax search�not enough to find best global sequence �

Page 11: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Local Evaluation

•  Evaluate score in leaf nodes

•  Backup combinatorial game values

•  Value of root completely determines local move values0 -2

-3

0 | -2 || -3

0 | -2

Page 12: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Sum Game Play

•  Given: set of combinatorial game values

•  Goal: find best overall move•  Main (fast) method: find

dominating move incentive•  Backup (slow) method: use

summation of games

+1

*–4|00|+2

0|-2||-3

Page 13: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Reusing Partial Results �•  Advantage of decomposition search: �

generates useful partial results •  Store evaluated subgames in persistent

database•  Database hits speed up search

Page 14: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Complexity of Decomposition Search

Depends on many factors:•  Game-specific decomposition process•  Size and complexity of subgames•  Type and complexity of combinatorial game

expressions•  Existence of a move with dominating incentive•  Complexity of adding subgames

Page 15: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Application to Go Endgames

•  Decomposition: recognize safe stones and territories

•  Local Combinatorial Game Search (LCGS)

•  Full board move selection

Page 16: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Board Partition

Page 17: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Finding Safe Stones �and Territories

Page 18: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Result of Board Partition

AAA

A

EE

F F

B B

DDDDD

B

D

CCC

Page 19: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Simplified Endgame Problems

AAA

A

B B B

CCC

•  Simplified Problems: some endgames A..F replaced by constant value territories

•  Example: �only A, B and C

•  D, E, F replaced, played out

Page 20: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Comparison of Decomposition Search and Alpha-beta �

NodesEndgame Area SizeDS αβ

A 4 21 39A+B 7 26 526A+B+C 10 31 5905A+B+C+D 16 42 1097589A+B+C+D+E 18 45 10243613A+B+C+D+E+F 20 48 463941123

AAA

A

EE

F F

B B

DDDDD

B

D

CCC

Page 21: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Evaluation of the Experiment•  Compared decomposition search with full-board

alpha-beta•  Alpha-beta: Search time exponential �

in size of the full problem•  Decomposition search: Search time exponential �

in size of subproblems→  Big win for decomposition search!

Page 22: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

A 89 Point Problem�•  Problem C.11 of

Berlekamp/Wolfe•  19x19 board•  29 subgames �

Page 23: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

89 Point Problem: Partition �•  Problem C.11 of

Berlekamp/Wolfe•  19x19 board•  29 subgames �

III

VVVVVV

C

J

M

O

Q

WW

C

J

M

O

S

A

M

S

YY

b

A

DD

N

S

YY

b

A

NNN

Y

b

E

b

EEE

FFF

TTTT

T

H

KK

R

ZZ

BB

H

R

U

B

P

R

U

a

c

G

L

P

X

a

c

G

LL

P

X

a

c

G

X

GG

X

Page 24: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

89 Point Problem: Solution �

•  Optimal solution computed by DS

•  Solution length 62 moves

•  1.1 seconds total time, �0.4 seconds for LCGS

•  Generated 420 nodes total for LCGS �

39

19

8

48

51

54

18

47

52

23

35

2

37

43

4234

31

29

55

5960

62

91124

58

16

50

61

492812

2710

562153

57

46

41

30

25

22

14

36

7

20

33

32

1

44

4

40

13

3845

53

6

15

17

26

Page 25: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Endgame Studies: �are they Really Go?

No:•  All endgames fully

independent•  All territories completely

safe•  (almost) no Ko•  Real Go endgame mixes

endgame calculation and midgame complications

Yes:•  Realistic local game

situations•  Real endgame values•  Captures the essence

of Go endgame calculation

Page 26: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Approximation Algorithms

•  Approximation of combinatorial game value: compute thermographs, temperature

•  Berlekamp (1996), Spight (1998): theoretical algorithms for thermographs and temperature of games with local position repetition (Ko)

•  Müller, Berlekamp and Spight (1996): efficient algorithm for simple repetitions

•  No efficient algorithm for general case

Page 27: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

ContributionsDecomposition search contributes to a number of AI research topics:

•  Localized processing (multi-agent systems)•  Search methods that propagate more

information than just numbers•  Evaluation by partially ordered values

Page 28: Decomposition Search - University of Albertammueller/cgt/talks/... · Decomposition Search A Combinatorial Games Approach to Game Tree Search, with Applications to Solving Go Endgames

Summary of Decomposition Search �

•  Goal: solve combinatorial games•  Uses local combinatorial game search•  Globally optimal play•  Works much better than alpha-beta•  Application: solve Go endgame studies•  Future: full scale Go