Talk:Computer Go programming

Hi, I’m a 4th year CS major as the University of Virginia. I do AI research with the CS department, and have been working on my own Go playing program. I have replaced the stub which was here before into a more coherent article.

In my opinion, this page was intended only to discuss the decisions, techniques and difficulties related specifically to designing software to play go effectively. Therefore, I have tried to leave the more philosophical concepts to the Computer Go page. I have also tired to keep both the Go and CS jargon to a minimum and insert links to other wiki pages where appropriate. Ideally, this balance makes the article understandable to novices without insulting those with a little more Go/CS experience, as well as providing lots of pages to click on to waste time at work :).

There is clearly more to discuss, I have not gone into too much depth in any one topic. Rather I have given a brief overview of the technique, and tried to highlight the Go specific problems one is likely to encounter using that method. The hope is that people interested in a specific area can get more details on that technique’s page.

-StephenJGuy 13 Dec 2005 (EST)

There are still some topics I have left uncovered. For example, I don’t really mention life and death as a separate things from tactical searches. Likewise I don’t mention anything other than life and death under tactical searches. Feel free to add more here if you can think of things. Additionally, there may be some concepts where a picture might help, or maybe a diagram of popular programs and which techniques they use, I’m not really sure what is appropriate, but just plain text tends to look a bit drab. Also, the section titled “Problems that arise in Computer-Computer Games”, should possibly be in the general computer go article. I have included it here b/c it was in the original stub this article replaced.

I mention some Go programs specifically by name. I’d like to avoid vanity postings, and needless mentions of programs few people have/should have heard of. My rule of thumb here is if I know the program has won a major tournament or discussed in a major research journal, and I know which techniques that program uses I have tried to mention it where appropriate. This is the area I’m most likely to have gotten things very wrong so please correct errors as you see them. Thanks!

Some additional topics to cover: -StephenJGuy 13 Dec 2005 (EST)
 * Life and death
 * Eye spaces
 * Escape and confinement
 * Capturing races
 * Global vs Local reading
 * Connection
 * Fuseki and opening books

This article is coming along nicely so without stirring things up too much, I've asked what I think is an obvious question over at Computer Go: Is there enough overlap between these two articles that they should be merged. Discussion should probably continue at Talk:Computer Go. --Ds13 23:08, 5 January 2006 (UTC)

Just a minor point. The intro says that Go programs are weaker than chess programs - but perhaps human Go players are stronger than human chess players instead! Stephen B Streater 06:54, 1 March 2006 (UTC)

Small board section
Tactical search has worked well in chess, and a lot of the issues with branch factor are less significant with 9x9 Go. Also, with lots of memory available for tables (my Mac has 8GB RAM, and multiples of this are available now), the hash tables full of moves could work quite well.

In particular, solving a life-and-death problem in an enclosed section of the board of up to 22 empty square is possible quickly by exhaustive search and storing all the answers as they are found.

I suggest a separate 9x9 section, or a small board section. Stephen B Streater 07:06, 1 March 2006 (UTC)