burz / gobot

Learning to score the game of Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gobot

A machine learning algorithm for learning to score the final board in the game of Go

Background

I wrote this for my machine learning final project during my senior of college. Here's the final paper I wrote. This paper reflects the state of gobot at the finalProject branch. It reads in .sgf files, and due to the linear nature of the .sgf file format, it must play through an entire game to reach the final board position. Note that a stone can be placed where another had been placed before being captured and removed from the board.

After I had submitted the project, I set out to up the learning algorithm by saving the boards to files rather than running through the games each time. Furthermore, I reverted back to the original paper's algorithm that I had based my project upon, and implemented my proposed bootstrapping method to generate good labels for thousands of games (I was using datasets of 20,000+ games for my finalProject version of the algorithm).

Current results

At the time, I was getting bad results, while using the bootstrap I had found that for many of the games in my dataset, the reported score in the .sgf was incorrect. Usually it was off by 1 or 2 points from what the actual board should have been scored in that state.

After further reasearch I discovered that most of these records assumed end game moves of varying complexity would be played out, but the .sgf's did not reflect these intuitions.

About

Learning to score the game of Go

License:MIT License


Languages

Language:C++ 91.0%Language:Haskell 3.2%Language:TeX 2.3%Language:C 2.0%Language:Shell 1.0%Language:Makefile 0.4%