Go++ FAQ

Go++ by Dr Michael Reiss - FAQ

Go Software Author Photo by A & M photography

When did you start working on your go program?


What made you decide to write a go program?

I saw a computing magazine in a shop advertising a computer programming contest with a one thousand pound prize. I decided I would like to enter the contest whatever the task was. So I bought the magazine and looked inside and saw that the task was to write a program to play Go. I had never played before.

Go Software ChallengeThe front cover of "A&B computing" July 1983

I then found a club in London and went along to it and asked "Please teach me how to play Go because I want to write a program to play it". Some people at the club said it was impossible, but they taught me anyway. By the time of the contest in January 1984 about 10 or 12 people had submitted programs to the organisers. They then selected eight of them to compete in a knock-out tournament. On the day of the contest I was incredibly excited. I thought I had a good chance of winning, but I was knocked out in the first round! However, I was not deterred because I figured that a major factor in my failure was that I personally could barely play the game. I guess I was 25kyu and my program was 35kyu!

Do you have anyone helping you?

I have had advice from many stronger players over the years. I have also had assistance from some leading AI experts mainly in the field of computer Chess. Since January 2004 I have employed Tomotaka Urasoe, a Japanese 6-Dan who works on the pattern database full-time.

What is your profession?

Go programmer - I have no other source of income! I live off the royalties from sales, mostly in Japan. I have been full time since 1995.

What is your educational background?

I have a degree in Physics from Sussex University and a PhD in Neural Networks from Kings College London.

So are there Neural Networks in Go++?

Not really, however I do employ many principles I developed during my PhD which are very similar to neural networks. These were mainly used in the system I developed for extracting good "shape" from professional games.

What is the strength of the program?

People were always asking me how strong Go++ really is, so I decided to find out by taking my new 2GHz laptop along to my local Go club (North London). I then played a selection of games against people I knew had not often played computers in the past (so they were not likely to have developed special anti-computer strategies). In all the games I operated the program myself placing the stones on a real board and operating the clock on behalf of my program. All the games were played with a time limit of half an hour plus overtime of 20 moves per five minutes. Before each game I told the opponents that this was a serious match and the results would be made public (to avoid the chance of any players claiming that they weren't really trying).

Go++ played two games with handicaps appropriate for being 8kyu and won both of them. It then played four with handicaps appropriate for being 7kyu and won three of them. It then played one game with a handicap appropriate for 6kyu and lost. I therefore conclude that Go++ is approximately 7kyu (UK) which is said to be the equivalent of about 6kyu in the American system.

The results in full:

Player          Grade  Handicap   Result
Mike Nash       1kyu   7 stones:  Go++ Win by resignation
John Turner     3kyu   5 stones:  Go++ Win by 1 pt
Martin Solity   3kyu   4 stones:  Go++ Win by 18 pts
Rojer Daniel    2kyu   5 stones:  Go++ Win by 23 pts
Alex Gorza      2kyu   5 stones:  Go++ Win by 2 pts
Dave Silver     1kyu   6 stones:  Go++ Lost by 51 pts
Kevin Cambell   1kuy   5 stones:  Go++ Lost by 35 pts

What is your grade as a human player?

Somewhere around 1 kyu on the british scale, far weaker than my main computer Go opponents!

What programming language is it written in?

Just "C", (not C++).

How big is the program?

In January 2005 the source was about 3.9Mb comprised of around 150,000 lines of code. There are over 23,000 hand crafted josekis/patterns and 300,000 patterns that were automatically generated from professional games.

What have been your results in tournaments?

My recent results are.

CGF 1999 Japan, Winner.
FOST 1999 Tokyo, Second. Ing 1999 Shanghai, Winner.
Ing 2000 Guiyang, China, third.
Garosu.com cup 2001, third.
21st Century cup 2001, USA, Winner.
Computer Olympiad 2002, Maastricht, Winner.
Currently top of Computer Go Ladder
Currently in first place in Stefan Mertens giant 13x13 tournament.


Go game on your computer.