25
Background image by Juha Nieminen A Complex Systems Introduction to Go Eric Jankowski CSAAW 10-22-2007

A Complex Systems Introduction to GoHistory Rules Emergence Computers Future Background image by Wikpedia user Donar Resikoffer Wei Chi, Go, Baduk... • Oldest board game in the world

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Background image by Juha Nieminen

A Complex Systems Introduction to Go

Eric JankowskiCSAAW

10-22-2007

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Wei Chi, Go, Baduk...

• Oldest board game in the world (maybe)

• Developed by Chinese monks

• Spread to Japan by monks

• Popularized in Japan

• Spread back to China and Korea

History

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Recent History

• Go spreads West ~ last 200 years

• First Western pro (1978) - Manfred Wimmer

• First American pro (1981) - Michael Redmond

• First computer go tournament - 1984

• Hikaru No Go bringing new young players

History

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Go is simple

No Suicide

No Infinite loops

Whoever has more, wins

Rules

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Definitions

• Group: 1 or more touching stones of the same color

• Touching: When two stones share an edge

• Liberty: An empty node adjacent to a group

Rules

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

How’s it played?

• Players alternate turns

• You can play a stone or pass

• Restrictions on stone placement:

• After removing enemy stones, can’t have any groups with zero liberties

• Can’t repeat the same board position twice

• Score = Prisoners + Territory (Japanese)

• Score = Stones + Territory (Chinese)

Rules

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Wait... that’s it?

• Yes.

• Add stones to the board

• Try and make territory

• Can’t kill yourself or repeat a position

• And this is the greatest game in the history of the world.

Emergence

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

You have got to be kidding

• No. Seriously.

• It’s totally sweet.

• From those simple rules emerges incredible complexity

Emergence

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Eyes and Life

• Invincible groups: Two eyes guarantees life!

• Seki: Life for groups without two eyes?!

Emergence

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Ko Fights

• Arise from the “no repeats” rule

• Can make non-local positions matter

• Are pretty common

Emergence

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Ladders

Emergence

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Strategy

• “Good shape” and “bad shape”

• Balance between:

• Greed and safety

• Attack and defense

• Correctness and complexity

Emergence

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Go is complex

• From 3 simple rules, way more possible games than particles in the universe

• Lots of different patterns emerge:

• live/dead groups

• ways of capturing stones

• ko’s create nonlocal interactions

Emergence

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

in siligo

• 1997 - Kasparov loses to Deeper Blue. People freak out as they slowly realize this means they will be inevitably enslaved by superintelligent robot overlords.

• Skeptics of robot uprising point to Go: “Computers will never beat people at Go, stop investing in EMP devices and get back to work.”

Computers

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Challenges of Go AI

• Huge branching factor

• Game has about 200 moves- so you average about 200 move choices per turn

• Difficult move evaluation

• Very abstract for non-endgame positions

• Non-trivial for endgame positions

Computers

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Current methods

• alpha-beta algorithm

• Upper confidence bounds applied to trees (UCT)

• Null-move pruning

• Expert information for common positions

Computers

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

alpha-beta

• Reduces branching factor out to some depth

• alpha = best result after opponent moves

• beta = worst case scenario for opponent

• Assume opponent makes best response

• Toss out any moves < alpha

• Toss out any moves > beta

• Efficiency depends on order of search

Computers

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

UCT

• UCT math is kinda complicated

• Builds lookahead tree with biased Monte Carlo sampling

• Ensures only “interesting” moves looked at

• Each state is a multi-armed bandit, each move is an arm to the bandit

• Does better than alpha-beta, requires lots of memory

Computers

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

UCT

• Given state s, depth d, and some position evaluation function...

• Initialize: Randomly generate some moves, evaluate them, d--;

• Values of arms = X(j)’s

• Loop: play move that maximizes X(ave) + sqrt( (2log n)/T(j,n) )

Computers

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Null-move pruning

• What’s the worst possible situation if I pass?

• If I’m ok after a shallow search, sweet!

• Means that this is a really good move

• Null move pruning + alpha-beta reduces branching by ~ square root

Computers

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

MoGo

• Current world champion program

• UCT + expert knowledge to build lookahead trees

• Monte Carlo move evaluation

• Currently about 4k (30k-1k, 1d-9d)

Computers

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Computer go to come...

• Improve and combine currently used methods

• UCT to build search trees

• Null-move pruning

• Newer and more specialized hardware

• “re-use” information from tree branches, transposing them to other locations

• F.S. Hsu thinks 100 trillion searches per second will be able to beat pros

Future

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Robot overlords?

• Perhaps some serial brute-forcing can get eventually get close to human strength

• No immediate danger of robots enslaving us

• Human brains do a really good job (pattern recognition) with really hard stuff (go)

• Play go: it makes robots cry (if they had feelings)

Future

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Advertisements

• www.umich.edu/~goclub

• www.usgo.org

• AADL; 2:00pm-3:00pm on Sunday!

• Michigan League: Dec 1: Tournament!

History Rules Emergence Computers FutureBackground image by Wikpedia user Donar Resikoffer

Some references

• http://www.lri.fr/~gelly/MoGo.htm - MOGO

• http://videolectures.net/otee06_gelly_umc/ - some nice talks on UCT and MOGO

• http://www.spectrum.ieee.org/print/5552 - article by Hsu on computer go