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
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.
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
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 --