View
215
Download
0
Tags:
Embed Size (px)
Citation preview
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
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
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
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)