machine learning applied to go

58
Introduction My Work Future Work and Questions Machine Learning applied to Go Dmitry Kamenetsky Supervisor: Nic Schraudolph September 2006 Dmitry Kamenetsky Machine Learning applied to Go

Upload: butest

Post on 03-Jul-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Machine Learning applied to Go

Dmitry Kamenetsky

Supervisor: Nic Schraudolph

September 2006

Dmitry Kamenetsky Machine Learning applied to Go

Page 2: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

1 Introduction

2 My Work

3 Future Work and Questions

Dmitry Kamenetsky Machine Learning applied to Go

Page 3: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Aim

Create a clean and accessible database of Go games

Use Machine Learning to learn from expert games

Use the learned knowledge to build a powerful Goprogram

Dmitry Kamenetsky Machine Learning applied to Go

Page 4: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Aim

Create a clean and accessible database of Go games

Use Machine Learning to learn from expert games

Use the learned knowledge to build a powerful Goprogram

Dmitry Kamenetsky Machine Learning applied to Go

Page 5: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Aim

Create a clean and accessible database of Go games

Use Machine Learning to learn from expert games

Use the learned knowledge to build a powerful Goprogram

Dmitry Kamenetsky Machine Learning applied to Go

Page 6: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

What is Go?

Two-player zero-sum board game

Originated in ancient China. Today very popular in China,Japan and Korea

19x19 grid

Simple rules, but very complex strategy

Dmitry Kamenetsky Machine Learning applied to Go

Page 7: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Go example

Dmitry Kamenetsky Machine Learning applied to Go

Page 8: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Go example

Dmitry Kamenetsky Machine Learning applied to Go

Page 9: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Go example

Dmitry Kamenetsky Machine Learning applied to Go

Page 10: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Go example

Dmitry Kamenetsky Machine Learning applied to Go

Page 11: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Go example

Dmitry Kamenetsky Machine Learning applied to Go

Page 12: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Go example

Dmitry Kamenetsky Machine Learning applied to Go

Page 13: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Go example

Dmitry Kamenetsky Machine Learning applied to Go

Page 14: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Go example

Dmitry Kamenetsky Machine Learning applied to Go

Page 15: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 16: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 17: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 18: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 19: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 20: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 21: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 22: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 23: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 24: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Why is Go interesting for Computer Research?

Large state spaceBranching factor of about 200

10172 legal board positions

10360 game tree nodes

Position evaluation is difficultHard to judge strength of groups statically

Requires visual pattern recognition

Stones have local as well as long-distance effects

Best programs are much weaker than humans

Dmitry Kamenetsky Machine Learning applied to Go

Page 25: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

My Work

Influence Function

Database

Game scorer

Dmitry Kamenetsky Machine Learning applied to Go

Page 26: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Influence Function

Stones radiate influence to neighboring intersections

Crude measure of group’s strength - useful if can becomputed quickly

Resistor Grid ideaClamp stones: Black = +1V, White = -1V

Current (influence) spreads to neighbors via resistors (gridlines)

Fast and accurate

Dmitry Kamenetsky Machine Learning applied to Go

Page 27: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Influence Function

Stones radiate influence to neighboring intersections

Crude measure of group’s strength - useful if can becomputed quickly

Resistor Grid ideaClamp stones: Black = +1V, White = -1V

Current (influence) spreads to neighbors via resistors (gridlines)

Fast and accurate

Dmitry Kamenetsky Machine Learning applied to Go

Page 28: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Influence Function

Stones radiate influence to neighboring intersections

Crude measure of group’s strength - useful if can becomputed quickly

Resistor Grid ideaClamp stones: Black = +1V, White = -1V

Current (influence) spreads to neighbors via resistors (gridlines)

Fast and accurate

Dmitry Kamenetsky Machine Learning applied to Go

Page 29: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Influence Function

Stones radiate influence to neighboring intersections

Crude measure of group’s strength - useful if can becomputed quickly

Resistor Grid ideaClamp stones: Black = +1V, White = -1V

Current (influence) spreads to neighbors via resistors (gridlines)

Fast and accurate

Dmitry Kamenetsky Machine Learning applied to Go

Page 30: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Influence Function

Stones radiate influence to neighboring intersections

Crude measure of group’s strength - useful if can becomputed quickly

Resistor Grid ideaClamp stones: Black = +1V, White = -1V

Current (influence) spreads to neighbors via resistors (gridlines)

Fast and accurate

Dmitry Kamenetsky Machine Learning applied to Go

Page 31: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Influence Function

Stones radiate influence to neighboring intersections

Crude measure of group’s strength - useful if can becomputed quickly

Resistor Grid ideaClamp stones: Black = +1V, White = -1V

Current (influence) spreads to neighbors via resistors (gridlines)

Fast and accurate

Dmitry Kamenetsky Machine Learning applied to Go

Page 32: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Influence example

Dmitry Kamenetsky Machine Learning applied to Go

Page 33: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Database

9 million Go games from various sources

MySQL

Problems70GB of raw text

Illegal and duplicate games

Inconsistent game properties

MySQL not installed

Dmitry Kamenetsky Machine Learning applied to Go

Page 34: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Database

9 million Go games from various sources

MySQL

Problems70GB of raw text

Illegal and duplicate games

Inconsistent game properties

MySQL not installed

Dmitry Kamenetsky Machine Learning applied to Go

Page 35: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Database

9 million Go games from various sources

MySQL

Problems70GB of raw text

Illegal and duplicate games

Inconsistent game properties

MySQL not installed

Dmitry Kamenetsky Machine Learning applied to Go

Page 36: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Database

9 million Go games from various sources

MySQL

Problems70GB of raw text

Illegal and duplicate games

Inconsistent game properties

MySQL not installed

Dmitry Kamenetsky Machine Learning applied to Go

Page 37: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Database

9 million Go games from various sources

MySQL

Problems70GB of raw text

Illegal and duplicate games

Inconsistent game properties

MySQL not installed

Dmitry Kamenetsky Machine Learning applied to Go

Page 38: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Database

9 million Go games from various sources

MySQL

Problems70GB of raw text

Illegal and duplicate games

Inconsistent game properties

MySQL not installed

Dmitry Kamenetsky Machine Learning applied to Go

Page 39: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Database

9 million Go games from various sources

MySQL

Problems70GB of raw text

Illegal and duplicate games

Inconsistent game properties

MySQL not installed

Dmitry Kamenetsky Machine Learning applied to Go

Page 40: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Cooperative Scorer

Important to determine final territory

Key ideas:Sufficient to know the list of dead stones

Players cooperate. Make moves that do not affect score

Use simple heuristics - fast!

Result voted from 11 simulations. Compare to GnuGo’slist and original Game Record

Dmitry Kamenetsky Machine Learning applied to Go

Page 41: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Cooperative Scorer

Important to determine final territory

Key ideas:Sufficient to know the list of dead stones

Players cooperate. Make moves that do not affect score

Use simple heuristics - fast!

Result voted from 11 simulations. Compare to GnuGo’slist and original Game Record

Dmitry Kamenetsky Machine Learning applied to Go

Page 42: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Cooperative Scorer

Important to determine final territory

Key ideas:Sufficient to know the list of dead stones

Players cooperate. Make moves that do not affect score

Use simple heuristics - fast!

Result voted from 11 simulations. Compare to GnuGo’slist and original Game Record

Dmitry Kamenetsky Machine Learning applied to Go

Page 43: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Cooperative Scorer

Important to determine final territory

Key ideas:Sufficient to know the list of dead stones

Players cooperate. Make moves that do not affect score

Use simple heuristics - fast!

Result voted from 11 simulations. Compare to GnuGo’slist and original Game Record

Dmitry Kamenetsky Machine Learning applied to Go

Page 44: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Cooperative Scorer

Important to determine final territory

Key ideas:Sufficient to know the list of dead stones

Players cooperate. Make moves that do not affect score

Use simple heuristics - fast!

Result voted from 11 simulations. Compare to GnuGo’slist and original Game Record

Dmitry Kamenetsky Machine Learning applied to Go

Page 45: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Cooperative Scorer

Important to determine final territory

Key ideas:Sufficient to know the list of dead stones

Players cooperate. Make moves that do not affect score

Use simple heuristics - fast!

Result voted from 11 simulations. Compare to GnuGo’slist and original Game Record

Dmitry Kamenetsky Machine Learning applied to Go

Page 46: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Scorer Results

Verified on Martin Mueller’s 19x19 collection of 31 games

Tested on Erik van der Werf’s 9x9 collection of 18K games96.23% agreement. Comparable to the best classifiers

Our collection of games3,500,000 games with territory. Varying board sizes andlevel of completeness

All GnuGo Game Record Coop. NoneError 3.15% 4.12% 5.66% 10.84% 76.24%

Cooperative: median time = 0.30 s, worst time = 5.12 s

GnuGo: median time = 1.70 s, worst time = 446.69 s

Dmitry Kamenetsky Machine Learning applied to Go

Page 47: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Scorer Results

Verified on Martin Mueller’s 19x19 collection of 31 games

Tested on Erik van der Werf’s 9x9 collection of 18K games96.23% agreement. Comparable to the best classifiers

Our collection of games3,500,000 games with territory. Varying board sizes andlevel of completeness

All GnuGo Game Record Coop. NoneError 3.15% 4.12% 5.66% 10.84% 76.24%

Cooperative: median time = 0.30 s, worst time = 5.12 s

GnuGo: median time = 1.70 s, worst time = 446.69 s

Dmitry Kamenetsky Machine Learning applied to Go

Page 48: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Scorer Results

Verified on Martin Mueller’s 19x19 collection of 31 games

Tested on Erik van der Werf’s 9x9 collection of 18K games96.23% agreement. Comparable to the best classifiers

Our collection of games3,500,000 games with territory. Varying board sizes andlevel of completeness

All GnuGo Game Record Coop. NoneError 3.15% 4.12% 5.66% 10.84% 76.24%

Cooperative: median time = 0.30 s, worst time = 5.12 s

GnuGo: median time = 1.70 s, worst time = 446.69 s

Dmitry Kamenetsky Machine Learning applied to Go

Page 49: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Influence FunctionDatabaseGame Scorer

Scorer Results

Verified on Martin Mueller’s 19x19 collection of 31 games

Tested on Erik van der Werf’s 9x9 collection of 18K games96.23% agreement. Comparable to the best classifiers

Our collection of games3,500,000 games with territory. Varying board sizes andlevel of completeness

All GnuGo Game Record Coop. NoneError 3.15% 4.12% 5.66% 10.84% 76.24%

Cooperative: median time = 0.30 s, worst time = 5.12 s

GnuGo: median time = 1.70 s, worst time = 446.69 s

Dmitry Kamenetsky Machine Learning applied to Go

Page 50: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Future Work

Conditional Random Fields (CRF)Grid based model. General graph model

Predict: final territory, next move

Cooperative ScorerImprove accuracy

Compare to other methods

Incorporate into a Monte Carlo program

Complete MySQL Database

Dmitry Kamenetsky Machine Learning applied to Go

Page 51: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Future Work

Conditional Random Fields (CRF)Grid based model. General graph model

Predict: final territory, next move

Cooperative ScorerImprove accuracy

Compare to other methods

Incorporate into a Monte Carlo program

Complete MySQL Database

Dmitry Kamenetsky Machine Learning applied to Go

Page 52: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Future Work

Conditional Random Fields (CRF)Grid based model. General graph model

Predict: final territory, next move

Cooperative ScorerImprove accuracy

Compare to other methods

Incorporate into a Monte Carlo program

Complete MySQL Database

Dmitry Kamenetsky Machine Learning applied to Go

Page 53: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Future Work

Conditional Random Fields (CRF)Grid based model. General graph model

Predict: final territory, next move

Cooperative ScorerImprove accuracy

Compare to other methods

Incorporate into a Monte Carlo program

Complete MySQL Database

Dmitry Kamenetsky Machine Learning applied to Go

Page 54: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Future Work

Conditional Random Fields (CRF)Grid based model. General graph model

Predict: final territory, next move

Cooperative ScorerImprove accuracy

Compare to other methods

Incorporate into a Monte Carlo program

Complete MySQL Database

Dmitry Kamenetsky Machine Learning applied to Go

Page 55: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Future Work

Conditional Random Fields (CRF)Grid based model. General graph model

Predict: final territory, next move

Cooperative ScorerImprove accuracy

Compare to other methods

Incorporate into a Monte Carlo program

Complete MySQL Database

Dmitry Kamenetsky Machine Learning applied to Go

Page 56: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Future Work

Conditional Random Fields (CRF)Grid based model. General graph model

Predict: final territory, next move

Cooperative ScorerImprove accuracy

Compare to other methods

Incorporate into a Monte Carlo program

Complete MySQL Database

Dmitry Kamenetsky Machine Learning applied to Go

Page 57: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Future Work

Conditional Random Fields (CRF)Grid based model. General graph model

Predict: final territory, next move

Cooperative ScorerImprove accuracy

Compare to other methods

Incorporate into a Monte Carlo program

Complete MySQL Database

Dmitry Kamenetsky Machine Learning applied to Go

Page 58: Machine Learning applied to Go

IntroductionMy Work

Future Work and Questions

Questions?

Its time for me to GO!

Dmitry Kamenetsky Machine Learning applied to Go