Computer Chess Club Archives


Search

Terms

Messages

Subject: Go programming

Author: Roy Eassa

Date: 12:12:18 02/12/04


In December, I sort of got into the game of Go.  Part of its fascination for me
is how it differs from chess with regard to creating a strong program.  Methods
based primarily on tree searching apparently do not work in Go, for 2 main
reasons: first, the branching factor is much, much higher than in chess, and
second, once you've arrived at an  end-node (position) to evaluate, there's no
known method of coming up with a reasonable evaluation.

[Thus I had the perfect opportunity to create a Go-playing program that was
very, very weak yet might still beat me because I too was very, very weak
(having just re-learned the rules after over 25 years).  But, alas, I studied Go
fairly intensely for 2 weeks and now I'm strong enough (but still weak!) that
I'd probably have great difficulty creating a program from scratch that can beat
me consistently.]

Some people say that no Go program will be stronger than the best humans for at
least another century, if ever!  Today's best Go programs are far weaker than
any Go professional.

Anyway, has anybody here ever tried writing a Go-playing program?  I think it's
a field ripe for a "breakthrough" -- a completely new approach from those that
have been tried.  I also think the Go programming world will make a small number
of people a LOT of money at some point, as it lacks the monstrous presence of a
Chessbase -- a powerhouse company that sells a GUI with every conceivable
feature and sets the standard protocol for (nearly) all commercial playing
engines.  There are a few decent GUIs and a few decently strong engines
(compared to weak amateur humans), but there's nothing even remotely close to
Chessbase (Fritz, etc.) for features or standardization.  Every top programmer
uses his own GUI.  Sort of like chess 12-15 years ago, in some ways.

I think some smart person will create a full-featured GUI for Go that uses a
"plug-in" architecture for playing engines, then negotiate with all the top
authors to adapt their programs to that architecture, thus making a lot of money
without having to write a strong engine themselves.  Further, I think that
having a standard plug-in architecture for testing one's Go engine will prompt
many more people to create Go engines, thus increasing competition exponentially
-- increasing the chance for a breakthrough.

Two additional points:

First, I think it's quite a bit easier to create an engine that plays Go legally
than it is to create one that plays chess legally.  Even doing the GUI yourself
isn't too hard, since it's mainly just black & white stones on a grid.  That
should encourage more people to try.

Second, I realize that the market for Go products is pretty tiny in the Americas
and only medium-sized in Europe.  But I think there's a HUGE market in Asia,
which can only grow as Asia's economies continue to grow quickly.  Thus I think
that any product created would have to be marketed to Asia (primarily?) for big
financial success.

Bottom line: I think there's a huge gap in the market that SOMEBODY will get
rich from at some point in the not-too-distant future.  And Go is a pretty
interesting game, even though "chess" is considered a dirty word to many serious
Go players.



This page took 0.02 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.