December 30, 2002

rec.games.go Frequently Asked Questions, another fabulous resource from the world of Usenet. L gave me a Go set for Christmas, and a book explaining the game's simple rules and mind-bogglingly complex gameplay. I can't wait to learn.

I'm surprised to learn that we have yet to develop a strong Go-playing computer program. Many Go-playing programs exist, Go Professional (aka Go4++, commercial, for Windows) and Many Faces of Go (commercial with downloadable demo, for Windows) being two of the strongest. There's also GNU Go, a Go-playing computer program that's part of the GNU Project (Free Software Foundation); they include a list of other programs as well. GNU Go plays on the command line, through Emacs, or using a standard "Go Modem Protocol" with a Go viewer such as CGoban for *nix/X. (CGoban can also edit Go game files and connect to Go servers for Internet play. It's quite nice.)

From FAQ 6.3:

The main reason [computers are not good at Go] is said to be that it is difficult to estimate the value of a given move. This makes it difficult to program a routine which can choose the 'best' move. The true value of a move may not become apparent until 30 plays later in local fights, and sometimes literally 100 plays later, for endgame optimisation moves.

Another reason is that, because of the large playing area and the simple rules, there is always a very large number of legal moves which are even reasonably plausible moves. This results in a very large game tree if 'dumb' search algorithms are used.

See also IntelligentGo.org, and their database of Go computer programs.

comments...

Dan, great to see you have found this fantastic game. I have read that even the strongest professionals depend on intuition more than anything, especially in early phases of a game, and since even they can't describe their thought process in choosing some moves, that's one more barrier to creating intelligent pruning algorithms.



I have been playing Go for the last year and a half on KGS, one of the friendlier online go communities. I highly recommend getting in on an online community and definitely a local club if you can. In my experience playing against real humans (which online you can usually find a match for your strength easily) is the best, fastest way to learn.