Computer Games A Research Perspective

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