Participants

We are pleased to announce that the following participants have expressed their intent to compete for the 21st Century Championship Cup 2002.

Author Location M P Program
Anders Kierulf San Carlos, CA, USA N N

SmartGo

Michael Reiss London, England   N Go4++
David Fotland San Jose, CA, USA ? Y The Many Faces of Go
Free Software Foundation   Y Y GNU Go
Hiroshi Yamashita Kawasaki, Japan Y Y Aya
Bruno Bouzy Paris, France N Y Indigo
Tristan Cazenave Paris, France * Y Golois
Takeshiro Yoshikawa Fujisawa, Japan Y Y GREAT5
Shinichi Sei Tokyo, Japan N Y Katsunari
Markus Enzenberger Edmonton, AB, Canada Y Y NeuroGo
Kiyoshi Fukumoto Yokohama, Japan N N

HIRATUKA

Martin Mueller Edmonton, AB, Canada   Y Explorer
Ivo Tonkes The Netherlands N N TSGO
Ken Chen North Carolina, USA N Y Go Intellect

M: Y means plans to provide own machine
P: author plans to be physically present at competition

Aya

I wrote "Aya" to prove that the massive search that is successful in Computer Chess could also be effective in Computer Go. But my attempt was a failure. I had to rewrite my program again and again to use its time for evaluation rather than searching.

Aya has a Eye-Shape Library that is introduced by Dave Dyer. So Aya can understand eye shape life-and-death perfectly up to size 7. But this did not work well because most eye shapes had unclear boundaries. So Aya uses this library with certain eye shape modifications. For example, if the point next to a point of my territory is not my territory then that point is not counted as eye space.

GNU Go

At each move GNU Go does preliminary analysis to determine the status of each group on the board. This involves reading to determine life and death, with terminal nodes evaluated using an eye database. This type of analysis is expensive so a persistent caching scheme keeps these results when possible if the next move is in a different part of the board. Once this is done, a pattern matcher is consulted to generate candidate moves and move reasons. Finally, values are assigned to each move reason. An influence function is used to estimate the effect of each move on territory and moyo, and on the safety of weak groups.

GNU Go is Free Software and the source code is available
from the Free Software Foundation.

Go4++

Go4++ selects between about 20 and 40 candidate moves based on a variety of simple patterns. The game score is then calculated for each candidate move. Games scores for a small number of simple forcing moves are modified in the light of an extra 2ply search.

Move scores may also be modified according to a library of 9000 hand-crafted patterns and by 300,000 patterns that were automatically extracted from professional games. The move which achieves the highest game score is then selected. See also the Go4++ FAQ.

Go Intellect

Go Intellect uses global selective search to make move decision. It has about 20 goal oriented move generators, each generates 0 or more moves with associated move values. A linear combination of each move's move-values
from all move generators determines the priority of the move. Only about a dozen or so top candidate moves, those with highest priorities, are actually tried on the board. After two plies, any stable node is evaluated without further node expansion in the global search tree. An unstable node must expand unless it reaches a predetermined depth limit. The mini-max back-up of the evaluations of the terminal nodes combined with the urgency values of candidate moves determine the move selection.

Golois

Golois uses search to evaluate capture, connections and life and death at the tactical level. At the global level, it uses groups and influence to evaluate a position. Golois estimates the temperature of selected tactical moves making the difference between the global evaluation of
the position where the friend player has played the move and the minimum of the global evaluations of the positions where the enemy player has prevented the tactical move. Golois plays the move with the highest estimated temperature.

GREAT5

GREAT5 is a revised versio of "Dai-Honinbo". In the 1990s Dai-Honinbo participated in tournaments in Beijing, Singapore, Chandou, and Tokyo, but with only mediocre results. The basic architecture, though, was distinguished by its speed, and was presented at a seminar at Singapore University at the time of the Singpaore tournament. The seven years since 1995 have been spent revising the program, during which it has not participated in any tournaments.

Last year the program was renamed GREAT and a book on the program, "Computer Go GREAT", was published. GREAT is distinguished by its score estimation logic, whose accuracy is vouched for by its use in the KGS go server.

In 1996, I translated the Japanese version of Berlekamp's Mathematical Go, so it's not surprising that GREAT also incorporates a mathematical yose module.

Indigo

Indigo's development was started in 1991 during a thesis about cognitive modeling and Go. Its author is Bruno Bouzy. Since 1995, it has been participating in the Computer Go ladder regularly. It also attended some international competitions: the 1998 Ing Cup in London (10th/17), the 1999 Ing Cup in Shanghai (13th/16) and the 2000 Mind Sports Olympiads in London (5th/6). Although assessing the level of a go program is hard, we think Indigo's rank is about 15th kyu. It is written in C++. It uses mathematical morphology to model territory and influence. Its move decision process mainly uses a pattern matching module with about 300 patterns suggesting moves with different priorities, a quick evaluation function, which is by far the most complex part of the program, a fast tactical module to read ladders, a very-low-depth-very-selective local quiescence search to verify urgent moves generated by the pattern matching module, and a very selective depth-one global search. It implements the SGMP protocol and the SGF format.

Katsunari

Katsunari evaluates each candidate moves from three viewpoints: optimistic, pessimistic and neutral. Katsunari then combines these evaluations to select the best candidate move. For example, if the pessimistic evaluation of a move is higher than its optimistic valuation, the move is very important. Through this approach, Katsunari avoids serious mistakes and useless moves.

NeuroGo

NeuroGo is a Go program using a heavy-weight neural network with a sophisticated network architecture for doing a global evaluation of the Go position.

The version of NeuroGo entered at the tournament is similar to the one participating in the Computer Go Ladder and described in the article available from there. The key feature of the network architecture is a dynamic connectivity using a generalized concept of receptive fields where the receptive fields fit around blocks of stones on the Go board. It uses about 20 boolean valued input features for each point on the board and consists of more than 100000 weight parameters. The network is trained by self-play with the temporal differences algorithm.

The current version runs on Linux. It implements the Go Text Protocol developed by the GnuGo team for interfacing it to a graphical user interface.

SmartGo

SmartGo is based on full-board selective search, typically looking 5 plies ahead during opening and endgame and 3 plies during the midgame.

Moves are suggested by about 50 move generators ranging from simple pattern matchers to sophisticated local tactics. The evaluation function uses patterns, local tactics, and an influence function to estimate territory as well as potential territory. For more details see
http://www.smartgo.com/implementation_details.htm.

The Many Faces of Go

The Many Faces of Go is a knowledge-intensive go program, with all knowledge entered or coded by the programmer. It uses very highly pruned searches to evaluate string tactics, tight connections, and eye diagonals. C coded or pattern based decision trees evaluate eyes and loose connections. A novel best first search algorithm does general life and death searching. On the full board, move sequences are suggested by a large pattern database, joseki library, and a set of about 200 C-coded rules. Several suggested sequences are evaluated, with a full board quiescence search, and the best is selected. The move generators and evaluation function focus on attack, defense, and tactics, more than territory balance.