Computer Go

    Keywords: Software

Table of contents


Introduction

There is much yet to be done in the field of computer Go. While many different approaches have been tried, the level of the best Go playing programs is still quite low not exceeding amateur 1 dan level. An amateur dan player, who has learned the weakness of specific programs, can beat computer go at nine stones, not to mention professionals. [1]

Thus computer Go is a very exciting part of Artificial Intelligence (AI), many new ideas and techniques are yet to be discovered. It's interesting to note that compared to the approach which proved so successful with Chess, brute force, appears to be not nearly as useful for solving Go problems given the huge branching factor of the game tree.

In fact, Go endgames have been proven to be PSpace-hard, let alone other parts of the game. Also, many other aspects of Go, including life and death, are also known to be NP-hard. This means that it is very unlikely to be able to find a reasonably fast algorithm for playing perfect Go. So it looks like it's all about heuristics (surprise surprise).

Patrick Taylor: I'm not sure heuristics are all that bad. Humans don't know the perfect move sequence any more than computers do. Therefore, we basically play with heuristics as well. Proverbs are essentially heuristics used by human players to approximate good play.


References

See the [ext] Computer Go Bibliography maintained by the [ext] Computer Go Group at the [ext] University of Alberta.


Philosophy

Before delving into computer Go, it would behoove the novice to consider some philosophical questions about computers and Go.


List of Existing Go Playing Programs

Please see Go Playing Programs for a discussion about the best programs currently available.


List of Existing Problem Solving Programs

Robots

Some online Go servers, such as KGS, provide software opponents or robots to clients. Robot is derived from the Czech word robota meaning drudgery or slave labour which certainly describes the work needed to pummel double digit kyu players like me. PatG


Anti-Computer Strategy

It might be entertaining and educational to consider strategies for beating computers at Go.


Competitions

Below are competitions where Go playing programs can be tested.

International Competitions:

Regional Competitions:

  • European Championship (1987-2005,2008)
  • US Championship (1988-2000,2008)
  • USENIX (1984-1988)

Small Board Competitions:


History of Go Programs

  • [1989]: GNU Go 1.1 was posted to comp.sources.games March 13 1989
  • [1968]: Albert L. Zobrist wrote the first ever program which played complete Go games.
  • Ishi - old file format

Articles in Magazines


Links

(Smaller Go Bibliography, with comments)

  • [ext] http://gobase.org/go-7.html : Jan van der Steen's computer Go page has numerous links to famous programs and programmers as well as programming resources and articles.

Maillist(-Archives)

  • gnugo-list

Authors: Gounter, Chestnut


Notes:

[1] [ext] Will a Go Program Defeat the Meijin by Aratani Kazunari.

Bill: Note on the article. Typically, when computer go tournaments are held in Asia, some child will play a program an even or low handicap game, and the program does reasonably well. Claims about the strength of programs are made, based upon such results. Compare that with the claims about the strength of the tsumego solver, Go Tools, which has been thoroughly tested over the years.


This is a copy of the living page "Computer Go" at Sensei's Library.
(OC) 2009 the Authors, published under the OpenContent License V1.0.
[Welcome to Sensei's Library!]
StartingPoints
ReferenceSection
About