Guiding Monte Carlo tree searches with neural networks in the game of go


Autoria(s): Ferreira, Gonçalo Antunes Mendes
Contribuinte(s)

Pita, Hélder Jorge Pinheiro

Data(s)

25/10/2016

25/10/2016

01/05/2016

Resumo

A dissertation submitted in fulfillment of the requirements to the degree of Master in Computer Science and Computer Engineering

O jogo de tabuleiro Go é um dos poucos jogos determinísticos em que os computadores ainda não conseguem vencer jogadores humanos profissionais consistentemente. Neste trabalho dois métodos de aprendizagem – por um algoritmo genético e por treino por propagação do erro – são utilizados para criar redes neuronais capazes de assistir um algoritmo de pesquisa em árvore de Monte Carlo. Este último algoritmo tem sido o mais bem sucedido na última década de investigação sobre Go. A utilização de uma rede neuronal é uma abordagem que está a sofrer uma revitalização, com os recentes sucessos de redes neuronais profundas de convolução. Estas necessitam, contudo, de recursos que ainda são muitas vezes proibitivos. Este trabalho explora o impacto de redes neuronais mais simples e a produção de um software representativo do estado da arte. Para isto é complementado com técnicas para pesquisas em árvore de Monte Carlo, aquisição automática de conhecimento, paralelismo em árvore, otimização e outros problemas presentes na computação aplicada ao jogo de Go. O software produzido – Matilda – é por isso o culminar de um conjunto de experiências nesta área.

Abstract: The game of Go remains one of the few deterministic perfect information games where computer players still struggle against professional human players. In this work two methods of derivation of artificial neural networks – by genetic evolution of symbiotic populations, and by training of multilayer perceptron networks with backpropagation – are analyzed for the production of a neural network suitable for guiding a Monte Carlo tree search algorithm. This last family of algorithms has been the most successful in computer Go software in the last decade. Using a neural network to reduce the branching complexity of the search is an approach to the problema that is currently being revitalized, with the advent of the application of deep convolution neural networks. DCNN however require computational facilities that many computers still don’t have. This work explores the impact of simpler neural networks for the purpose of guiding Monte Carlo tree searches, and the production of a state-of-the-art computer Go program. For this several improvements to Monte Carlo tree searches are also explored. The work is further built upon with considerations related to the parallelization of the search, and the addition of other componentes necessary for competitive programs such as time control mechanisms and opening books. Time considerations for playing against humans are also proposed for na extra psychological advantage. The final software – named Matilda– is not only the sum of a series of experimental parts surrounding Monte Carlo Tree Search applied to Go, but also an attempt at the strongest possible solution for shared memory systems.

Identificador

FERREIRA, Gonçalo Antunes Mendes - Guiding Monte Carlo tree searches with neural networks in the game of go. Lisboa: Instituto Superior de Engenharia de Lisboa, 2016. Dissertação de mestrado.

http://hdl.handle.net/10400.21/6536

201267012

Idioma(s)

eng

Direitos

openAccess

Palavras-Chave #Pesquisa em árvore de Monte Carlo #Transposições #Árvore de Jogo #Aprendizagem automática #Redes neuronais #Go #Monte Carlo tree search #Transpositions #Game tree #Machine learning #Neural networks
Tipo

masterThesis

Publicador

Instituto Superior de Engenharia de Lisboa