computer go : a go player rohit gurjar cs365 project proposal, iit kanpur [email protected] guided...

10
Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur [email protected] Guided By – Prof. Amitabha Mukerjee

Upload: daniel-robinson

Post on 30-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Computer Go : A Go player

Rohit GurjarCS365 Project Proposal, IIT Kanpur

[email protected] By – Prof. Amitabha Mukerjee

Page 2: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Introduction to the game

• A two player board game• Around 3000 years old• Players have white and black

stones• A stone (or a group) is captured if

it is completely surrounded by enemy stones

• Goal is to surround territories (empty points or enemy stones) by with one’s own stones

Image ref : http://www.sente.ch/software/goban/BoardBig.jpg

Page 3: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Past work done• A lot of work has been done to develop a Computer Go

player• But the best Go programs are ranked only as 1-3 kyu

(equivalent to a intermediate amateur) • Go is an extremely difficult game for computers to play

well. Four main factor causes failure of standard AI techniques1) The state space of the game of go is intractably huge.2) The branching factor of go is intractably huge.3) It is difficult to construct a heuristic function to evaluate

board states.4) Proper go strategy requires an extremely deep look-ahead.

Ref : A machine learning approach to computer Go (2007) – Jeffrey Bagdis

Page 4: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Algorithms used for Move Generation

• Two components were necessary– Evaluation Function– A tree search

• Finding a good evaluation function is very hard• Solution- Generate goals • Choose a specific EF related to one goal and

associate a specific move generator with this goal. (Reduced complexity)

• What if more than one goal is relevant to winning the game?

Computer Go, an AI oriented survey- Bruno Bouzy, Tristan Cazenave (2000)

Page 5: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Tree search

• In classical games tree search uses the EF to find out the best possible move

• High branching factor is a problem (~200)• Local TS – Selecting moves localized on a part of the board– Problems• Defining locality criterion• Given the results of local TS , reconstruction of the

global result• Independence of local situations

Page 6: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Tree search

• Splitting the game into sub-games was proved to be useful in the endgame.*

• Problem – finding independent sub-games• Alpha-Beta pruning.– as the tree being searched, cut off some sections

of the tree from consideration, without at all reducing the optimality of accuracy of an exhaustive search.

* M.Müller, Decomposition search: A combinatorial games approach to game tree search, with applications to solving Go endgames (1999)

Page 7: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Machine Learning

• Previous algorithms are inadequate for developing a Go player.

• Machine learning through neural network technique

• A function(nonlinear) maps a vector(board state) to a scalar(0-1) which shows the probability of winning

• The perceptron - simplified computational model of the biological neurons

Ref : A machine learning approach to computer Go (2007) – Jeffrey Bagdis

Page 8: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Perceptron

• A single perceptron can be trained to produce a certain output for a corresponding input by adjusting its input weights appropriately.

• In order to achieve a more precise approximation, perceptrons can be connected together to form Multi-layer networks - perceptrons can be connected together to form multi-layer networks

Ref : A machine learning approach to computer Go (2007) – Jeffrey Bagdis

Page 9: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Multilayer Network

Ref : A machine learning approach to computer Go (2007) – Jeffrey Bagdis

Page 10: Computer Go : A Go player Rohit Gurjar CS365 Project Proposal, IIT Kanpur rgurjar@iitk.ac.in Guided By – Prof. Amitabha Mukerjee

Conclusion

• This approach seems effective at producing an approximation of a value function that can be used to play go.

• But this value function is not by itself sufficient for strong play

• Combination of this with some of the previously shown algorithms may give good results.