computer go : a go player rohit gurjar cs365 project proposal, iit kanpur [email protected] guided...
TRANSCRIPT
Computer Go : A Go player
Rohit GurjarCS365 Project Proposal, IIT Kanpur
[email protected] 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
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
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)
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
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)
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
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
Multilayer Network
Ref : A machine learning approach to computer Go (2007) – Jeffrey Bagdis
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.