WinHonte is a new freeware Go program that plays on 9x9 and 19x19. We interview its maker.
Paolo Montrasio. Your company already sells a program that plays
backgammon and WinHonte is your second product. Why did you chose Go
and not another game?
Fredrik Dahl. Go is a very challenging game for
computers, and also very interesting for humans. I love the game, and
I love the challenge.
PM. Did you have any previous experience at programming Go or is this
your first attempt?
FD. I started programming small parts of a Go
program six years ago. Since then I have programmed bits and pieces
when I had the time and inspiration. So you may say that WinHonte is
my first go-programming attempt, a
lthough there is very little left of
the first parts I made. When I felt the playing engine was strong
enough to be of interest to others, my friend Ole Martin Halck joined
the project and programmed the current user interface.
PM. I think that for people that doesn't work at programming mind
games it's not easy to realize what's required to create a program
like WinHonte. How long did you worked at it and how's the development
team organized?
FD. Yes, it rea
lly is hard to make a strong Go
program. The playing engine was programmed by me alone. In the six
years that I have worked on it in my spare time, my interest in the
project has been very much up and down. The total effort is probably
around 1000 hours, possibly more.
PM. Do you think you contributed some original idea to Go programming?
FD. WinHonte uses several artificial neural nets, some of which are
trained by imitating professional games, while others ar
e trained from
the program's own experience. Neural nets are a relatively new branch
of artificial intelligence, which relies on mathematical models of
biological nerve cells. A neural net has the ability to learn and
generalize from examples. Others have used neural nets for Go too, but
the way WinHonte combines neural nets and other methods may be new.
PM. Where Go is easier and where it is more difficult to program
respect to other games?
FD. The problem w
ith Go is that it's very
hard to program a function that evaluates a position in a reasonable
way. In chess, for example, you get a reasonable position evaluator
simply by summing the values of the pieces. Chess programs work by
analyzing long sequences of moves, and evaluating the large set of
resulting positions. This kind of look-ahead analysis is in theory
applicable to Go as well, but without a fast and meaningfull position
evaluator, it doesn't work in practice. Also the game tree of Go
branch
es very fast, due to the large number of legal plays. It is very
much harder than to make a program for chess or backgammon, which I
have experience with.
PM. What advice could you give to someone who might want to start
developing a Go program?
FD. Take your time. If you think you can
make a strong program fast, you will be disappointed. You must combine
different techniques for different aspects of the game, in my opinion.
PM. What's
your opinion on this first version of WinHonte compared to
your original goal?
FD. I didn't have any clear goal, other than
trying to make it as strong as I could. Well, I guess I also planned
to make it reach 1 dan, but I quickly realized just how extremely hard
that his.
PM. You're selling your backgammon program, but you're giving away
WinHonte for free. Should we think this is a preliminary version and a
better and stronger program is coming in the future
?
FD. That is
possible. If the program gets strong enough to make money, we will
surely start selling it. Actually, we're also giving away a version of
the backgammon program too (stripped for analysing features, but with
full playing strength).
PM. Distributing for free WinHonte is helping your company in some
way?
FD. The main point is simply to have people test it, so that we
get feedback on the program, and an indication of what the mar
ket
potential of a better program might be.
PM. Finally, the one million dollars question. It seems that Alan
Turing wrote the first program to play chess in 1950. A chess program
was in the first one hundred chess players of the world sometime
between the end of the '80s and the beginning of the '90s, after 40
years of work. I wasn't able to find the year of the first Go playing
program but I won't be surprised to learn that Go programming is a
newer discipline. Anyway, when
do you think there will be a 1d program
and when a professional computer player?
FD. If our civilisation
doesn't go under, this will happen at some point, but it's hard to
tell when. A professional program may be anywhere from 50 to 5000
years away, in my opinion. A 1 dan program should come much sooner,
obviously, but I think it will take more than 10 years. Actually, the
question is not very well-defined. Programs have very different
strengths and weaknesses than humans. Therefo
re a human that is used
to plying computers will often score much better against them,
compared to average humans of the same level. And if you give a human
the chance to practice against a given program, he will improve his
results greatly.
PM. Do you think a future version of WinHonte will become that good?
FD. If we talk about results in the first game against a 1 dan human
that has no knowledge of computer Go? Maybe!
WinHonte can be downloaded at www.jellyfish-ai.com
-- End --