28
Computer Go Research at the University of Alberta Martin Müller

Computer Go Research at the University of Alberta Martin Müller

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Computer Go Research at the University of Alberta

Martin Müller

Contents

Computer Go - the challengeOverview of my current researchOverview of the program ExplorerResearch topics

Computer Go

Simple rules,interesting strategy

Classical games approaches don't work well

A lot of effort, but...Computers still weak

(9k) 11

9

4

2

10

8 6

12

14

1

13

7

3

a

5

State of Go Programming

Many commercial and hobby programsMain focus: detail knowledge,

patterns, heuristicsMain goal: beat other programsA lot of ad-hoc methods,

hacking…It's fun, but…is it science?Challenge: develop sound methods

Current Go Research at UofA

Markus Enzenberger: NeuroGo, search parameter tuning

Akihiro Kishimoto: Life and Death solver (just started...)

Martin Müller: Explorer, search algorithms

Future talks

today

My Research

Search algorithmsGo-related work

Search Algorithms

Slogan:"Search using more than just numbers"

Decomposition searchPartial order boundingProof-set searchAI Planning

Partial Order Bounding

New way of evaluationExample: four valuesNo comparison

of Draw and UnknownPartial order of valuesPartial Order Bounding:

minimax search with partial orderMore flexible than "just numbers"

Win

Unknown

Loss

Draw

Decomposition Search

Usual method: global searchDivide-and-conquer approachIdea:

Divide game into sub-games

Do a local searchTo combine results:

combinatorial game theory

A

A

A

A

E

E

F F

B B

D

D

D

D

D

B

D

C

C

C

Search on DAG's

Many search algorithms developed for trees

But: many applications use directed acyclic graphs (DAG) or cyclic graphs (DCG)

Goal: develop algorithms that are better suited to DAG, DCG structure

IJGHKL

Search on DAG's (2)

Proof-Set SearchProblem: find quickest

proof of rootStandard method:

proof-number searchProblems in DAGIdea: use proof-sets

ABCDEFGpn=1pn=4pn=1pn=1pn=1pn=1pn=1

ABCDEFGpset={F}pset={G}pset={F}pset={F}pset={F}pset={F}pset={F}

AND nodeOR node

root

leaves

AI Planning

PhD student Adi BoteaAI planning approach to

solving Sokoban problems

Combine planning and search

AbstractionQuickTime™ and aGIF decompressor

are needed to see this picture.

Go-related Research

Games: Go, AmazonsSolve endgames exactly

Solved 5x5 Amazons Solve Go endgame problems using

combinatorial game theory

Capturing races (semeai)Prove safety of territories in GoExplorer program

Overview of Explorer

15 years old programMajor rewrites in 1990,

1995Focus

static position evaluation local goal-oriented search Test bed for research:

endgames, capturing races

Data Structures in Explorer

Collections of stonesBlocksConnections and ChainsGroupsSurrounding territoryDividersZones

Blocks

17

2

2

11

14

18

22

1

2

8

14

25

27

3

4

31

31

4

4

28

28

9

32

12

6

15

24

7

16

19

29

20

21

5

10

20

26

33

13

23

30

30

34 35

Connections

Chains

5

5

1

1

1

5

5

5

9

13

1

1

1

4

5

16

16

16

16

1

1

2

16

16

16

2

2

18

18 18

3

18

3

18

3

3

3

7

15

3 3 3

8

10

19

11

12

6

6

6

11

17

17

20

6

6

14

17

17

17

21

17

17

Groups

1

1

1

1

1

1

1

1

7

7

7

7

7

7

7

7

7

1

1

1

1

1

1

1

1

7

7

7

7

7

7

7

7

7

1

1

1

1

1

1

1

7

7

7

7

7

7

7

7

7

7

7

7

1

1

1

4

1

1

7

7

7

7

7

7

7

7

7

1

1

4

4

1

7

7

7

7

4

4

4

4

3

3

3

3

3

3

2

3

3

3

3

2

2

2

2

3

3

3

2

2

2

2

3

3

3

2

2

2

2

2

6

6

6

6

6

6

6

3

3

3

2

2

2

2

2

6

6

6

6

6

6

3

3

3

2

2

2

2

2

2

6

6

6

6

6

3

3

3

2

2

2

2

2

2

2

2

6

6

6

6

6

3

3

3

3

2

2

6

6

6

6

6

3

3

3

3

5

5

5

5

5

2

6

6

6

6

6

6

3

3

3

5

5

5

5

5

5

6

6

6

6

6

6

6

3

5

5

5

5

5

5

5

6

6

6

6

6

6

6

6

6

5

5

5

5

5

5

6

6

6

6

6

6

6

6

6

Dividers

Zones

Goal-oriented Searches

Tactical capture Single target Multi-target

Life and Death Make/take eyes

Capturing races (semeai)Local endgame search

Research Goals

Two goals: Develop a strong Go program Research and publications

How to proceed? Explorer as starting point Refine (debug, add patterns,…) Rewrite (change weak parts) Develop new modules

Research Projects (1)

Opening, early middle game Knowledge-based How to evaluate? How to use search? Use standard corner

opening books well

Research Projects (2)

More goal-oriented searches Connections Eyes Expand, defend, invade territory Open-area endgame search

Research Projects (3)

Capturing races Efficient open-area solver Use knowledge about move

types Conditional combinatorial

games (CCG)

Research Projects (4)

Endgame Heuristic search for real

endgames Compute approximate

move values (temperature)

Research Projects (5)

Global search?Machine learning in Go?Test environment,

consistency