Go++ by Dr Michael Reiss - FAQ
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.
The 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!
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
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.