Computer Go Research
at the University of Alberta
Martin Müller
Contents
Computer Go - the challenge
Overview of my current research
Overview of the program Explorer
Research topics
Computer Go
Simple rules,
interesting strategy
Classical games
approaches don't work
well
A lot of effort, but...
Computers still weak
(9k)
14
a
12
4
1
13
5
9
7
11
2
8
10
6
3
State of Go Programming
Many commercial and hobby programs
Main focus: detail knowledge,
patterns, heuristics
Main goal: beat other programs
A 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 algorithms
Go-related work
Search Algorithms
Slogan:
"Search using more than just numbers"
Decomposition search
Partial order bounding
Proof-set search
AI Planning
Partial Order Bounding
Win
New way of evaluation
Example: four values
Draw
No comparison
Loss
of Draw and Unknown
Partial order of values
Partial Order Bounding:
minimax search with partial order
More flexible than "just numbers"
Unknown
Decomposition Search
Usual method: global search
Divide-and-conquer approach
Idea:
Divide game into sub-games
Do a local search
To combine results:
combinatorial game theory
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
Search on DAG's (2)
Proof-Set Search
Problem: find quickest
proof of root
Standard method:
proof-number search
Problems in DAG
Idea: use proof-sets
root
pn=4 A
pn=1 B
pn=1 C
pn=1 D
pn=1 F
pn=1 E
pn=1 G
leaves
pset={F}
A
pset={F} B pset={F} C pset={F} D pset={F} E
F
pset={F}
G
pset={G}
AI Planning
PhD student Adi Botea
AI planning approach to
solving Sokoban problems
Combine planning and
search
Abstraction
QuickTime™ and a
GIF decompressor
are needed to see this picture.
Go-related Research
Games: Go, Amazons
Solve endgames exactly
Solved 5x5 Amazons
Solve Go endgame problems using
combinatorial game theory
Capturing races (semeai)
Prove safety of territories in Go
Explorer program
Overview of Explorer
15 years old program
Major rewrites in 1990, 1995
Focus
static position evaluation
local goal-oriented search
Test bed for research:
endgames, capturing races
Data Structures in Explorer
Collections of stones
Blocks
Connections and Chains
Groups
Surrounding territory
Dividers
Zones
Blocks
1
2
2
2
3
4
4
4
8
5
6
7
9
10
11
12
13
14 14
15
16
17 18
19 20 20
21
22
23
24
25
26
27
28
31 28
31
29
32
30
33 30
34 35
Connections
Chains
1
1
1
1
1
1
2
1
1
2
2
4
6
3
3
3
5
3
3
3
6
3
6
3
6
5
5
5
5
9
6
5
7
8
10 11 11
12
13
14
15
16
16
17 17
16 16 18
16 16 18 18 18 18
16
19
17 17
20 17 17
21 17
Groups
1
1
1
1
1
4
2
1
1
1
1
1
4
1
1
1
1
4
4
1
1
1
4
4
4
1
1
1
1
1
1
1
1
1
1
1
6
1
1
7
7
6
6
7
6
6
6
7
6
6
6
6
6
6
2
2
2
2
2
2
5
5
5
5
2
2
2
2
5
5
5
5
2
2
2
2
2
2
5
5
5
5
2
2
2
2
2
2
5
5
5
5
2
2
2
2
2
2
5
5
5
5
2
2
5
5
5
1
2
5
2
2
6
2
2
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
7
7
7
7
6
6
6
6
6
6
6
6
6
7
7
7
7
6
6
6
6
6
6
7
7
7
7
6
6
6
6
7
7
7
7
7
3
3
3
6
6
6
7
7
7
7
7
3
3
3
3
3
3
3
7
7
7
7
7
3
3
3
3
3
7
7
7
7
7
3
3
3
3
3
3
3
3
3
3
3
6
6
6
3
3
3
3
3
3
6
6
3
3
3
3
3
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
© Copyright 2026 Paperzz