100 likes | 220 Views
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
E N D
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
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 techniques • The state space of the game of go is intractably huge. • The branching factor of go is intractably huge. • It is difficult to construct a heuristic function to evaluate board states. • 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.