Go++ by Dr Michael Reiss - FAQ
When did you start working on your go program?
1983.
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! 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. Most recently Soeng June Kim (6 Dan) who has helped me
create most of my 10,000 pattern database. I have also had assistance from some
leading AI experts mainly in the field of computer Chess.
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 May 2001 the source was about 2.7Mb comprised
of around 110,000 lines of code. There are 10,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.