Category Archives: Computer Go

Computer Go: Links, News And Resources (2)

Previous Post

More links about this hard problem in Artificial Intelligence: play the game of Go.

In an Ancient Game, Computing’s Future
http://www.nytimes.com/2002/08/01/technology/in-an-ancient-game-computing-s-future.html
EARLY in the film ”A Beautiful Mind,” the mathematician John Nash is seen sitting in a Princeton courtyard, hunched over a playing board covered with small black and white pieces that look like pebbles. He was playing Go, an ancient Asian game. Frustration at losing that game inspired the real Mr. Nash to pursue the mathematics of game theory, research for which he eventually won a Nobel Prize.

What’s black, white and can stump computers?
http://seattletimes.nwsource.com/html/businesstechnology/2003230777_btdigitalgo28.html

Handicap for smaller board sizes
http://senseis.xmp.net/?HandicapForSmallerBoardSizes

Two Representative Computer Go Games
http://webdocs.cs.ualberta.ca/~mmueller/cgo/survey/twogames.html

Baduk
http://baduk.sourceforge.net/
Database pattern search software

Number of legal Go positions
http://homepages.cwi.nl/~tromp/go/legal.html

Zen computer Go program beats Takemiya Masaki with just 4 stones!
http://gogameguru.com/zen-computer-go-program-beats-takemiya-masaki-4-stones/

Orego
https://sites.google.com/site/drpeterdrake/research/orego
Orego is a multi-year project to develop programs to play the classical Asian game of Go.

ICGA Tournaments
http://www.grappa.univ-lille3.fr/icga/
Tournaments between computer programs: chess, draughts, checkers, Go, backgammon, and more

Moyoman
http://www.moyoman.org/
Moyoman is an open-source Go playing program written in Java. The code for move generation is broken up into units called modules. The interfaces for these modules are well-defined, and correspond to standard Go concepts such as shape, the opening, or life and death. There can be multiple implementations of the same module type. The idea is to distribute the design decisions among many different developers. We are actively looking for new developers to write modules.

Computer Go Group at University of Alberta
http://webdocs.cs.ualberta.ca/~games/go/

Computer Go Bibliography
http://webdocs.cs.ualberta.ca/~games/go/compgo_biblio/

Fuego, GNU Go and other builds for Windows
http://gnugo.baduk.org/

Computer Go Research
http://webdocs.cs.ualberta.ca/~mmueller/cgo/index.html
Our Go program and framework Fuego. First computer program to win a 9×9 game on even against a top-ranked human player.

Monte Carlo Tree Search
http://webdocs.cs.ualberta.ca/~mmueller/mcts.html
Monte Carlo Tree Search (MCTS) is the basis of all state of the art Go programs, including Fuego. In our research, we also investigate Monte Carlo techniques in planning, and the close connections between Reinforcement learning and MCTS.

Latest Advance in Artificial Intelligence: Computer Wins a Game Against a Go Master
http://www2.prnewswire.com/cgi-bin/stories.pl?ACCT=104&STORY=/www/story/04-09-2008/0004789446&EDATE=

Cracking GO
http://spectrum.ieee.org/computing/software/cracking-go
Brute-force computation has eclipsed humans in chess, and it could soon do the same in this ancient Asian game

GoGui
http://gogui.sourceforge.net/
GoGui is a graphical user interface to programs that play the board game Go and support the Go Text Protocol such as GNU Go.

MoGo: a Grid5000-based software for the Game of Go
http://www.lri.fr/~teytaud/mogo.html

The Game of Go: A Programmer’s Perspective
http://needforair.com/blog/2012/04/18/game-of-go/

Go news and sensations
http://gosensations.com/

Windows HPC: Playing GO on Surface against a Cluster
http://www.youtube.com/watch?v=Qe0o-IvHOa0

GTP engines
http://ricoh51.free.fr/go/engineeng.htm
A go engine is a software that plays go. A GTP go engine is a software that plays go and dialogs through the "Go Text Protocol" with another software like GoGui or Dariush.

Dutch Supercomputer Beats Human at Go
http://www.hpcwire.com/hpcwire/2008-08-14/dutch_supercomputer_beats_human_at_go.html

Smart Games
http://www.smart-games.com/

My Links
http://delicious.com/ajlopez/computergo

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

Computer Go: Links, News and Resources (1)

Next Post

Computer Go is one of my favorites topics. A challenge for game artificial intelligence, the ancient game is enjoyable by itself, and I recommend you to learn how to play it. Some of my links about the topic of computer go:

(citeseer access needs a free account, you must register)

http://en.wikipedia.org/wiki/Go_(game)

Go (圍棋 weiqi in Chinese, 囲碁 igo in Japanese, 바둑 baduk in Korean, common meaning: “encircling game”), is an ancient board game for two players that originated in China more than 2,000 years ago. The game is noted for being rich instrategy despite its relatively simple rules.

http://en.wikipedia.org/wiki/Computer_Go

Computer Go is the field of artificial intelligence (AI) dedicated to creating a computer program that plays Go, a traditional board game.

Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.5927
Computer Go is one of the biggest challenges faced by game programmers. This survey describes the typical components of a Go program, and discusses knowledge representation, search methods and techniques for solving specific subproblems in this domain.

Computer Go: an AI Oriented Survey
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.4871
Since the beginning of AI, mind games have been studied as relevant application fields. Nowadays, some programs are better than human players in most classical games. Their results highlight the efficiency of AI methods that are now quite standard. Such methods are very useful to Go programs, but they do not enable a strong Go program to be built. The problems related to Computer Go require new AI problem solving methods.

Global and Local Game Tree Search
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.3989

The Move Decision Strategy of Indigo
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.8118
This paper describes the move decision strategy of Indigo. By using the example of Indigo, the paper shows that the move decision process of a Go program can be very different from the processes used in other games with lower complexity than the complexity of Go, even if the basic modules are conventional (move generator, evaluation function and tree search). Indigo uses them in a specific way, adapted to computer Go, which may be of interest for researchers on other mind games as complex as Go.

Using Hard And Soft Artificial Intelligence Algorithms To Simulate Human Go Playing Techniques
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.8731

Associating Domain-Dependent Knowledge and Monte Carlo Approaches within a Go Program
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.1059

Bruno Bouzy Papers
http://citeseer.ist.psu.edu/search?q=Bruno+Bouzy&submit=Search&sort=rlv&t=doc

Pursuing abstract goals in the game of Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.15

A positional Judgment System for Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.5796
Computer Go offers researchers a new challenge and opens up a very wide scope of possibilities for artificial intelligence. In a computer Go program, the most important element is a positional judgment system. Following the methods of human Go experts, we designed and implemented a new model of positional judgment for computer Go.

Value Function
http://rlai.cs.ualberta.ca/RLAI/RLGO/concepts/valuefn.html
Any strong Computer Go program must compute a win/lose value function as an intermediate step, that corresponds directly to the expected result at the end of the game (win, lose or draw).

The Question Hypothesis
http://rlai.cs.ualberta.ca/RLAI/RLGO/qhypoth.html
All useful features of a state in Go can be interpreted as answers to questions about the current and future value of observations.

The value-function hypothesis
http://rlai.cs.ualberta.ca/RLAI/valuefunctionhypothesis.html
All efficient methods for solving sequential decision problems determine (learn or compute) value functions as an intermediate step.

Pattern Matching
http://senseis.xmp.net/?PatternMatching

On Meta-Game Approaches to Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.3662
Meta-game approaches are studied through the design of the Go playing program INDIGO. Computer Go is a challenge for AI and the machine still remains weak compared to humans in the game of Go. This difference is used to try new technics as such as the Metagame technique discussed in this paper. A conceptual structure and a notion of Conway’s game theory are described in order to show four approaches. Each approach is presented to show its method using games, its computational cost, its precision and its Meta-game’s utilisation.

Mathematical Morphology Applied to Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.6415
This paper shows how mathematical morphological operators can be applied to computer go. On one hand, mathematical morphology is a very powerful tool within image processing community. On the other hand, the Zobrist’s model is well-known within the computer go community for its “influence” recognition. We present a model, derived from the closing operator of mathematical morphology and from the Zobrist’s model, which yields very good results for “territory” recognition.

Computer Go
http://www.daogo.org/
An international bulletin devoted to the generation and exchange of ideas about Computer Go

Computer Go: El gran problema de AI
http://msmvps.com/blogs/lopez/archive/2007/01/15/computer-go-el-gran-problema-de-ai.aspx

Computer Go Programming
http://senseis.xmp.net/?ComputerGoProgramming

Computer Go Algorithms
http://senseis.xmp.net/?ComputerGoAlgorithms

Benson’s Definition of Unconditional Life
http://senseis.xmp.net/?BensonsAlgorithm

MultiGo
http://www.ruijiang.com/multigo/
MultiGo is designed to view/edit Smart-Go format(SGF) go game file. It also supports other popular file format including *.BDX, *.NGF, *.GOS, *.GIB, *.UGF, *.GO. You can easily navigate through the game and branches, add/remove markers and comments, create or edit your own branches. You could use MultiGo to play with GNU Go, or even record/play go video.

Compendium of Rules for Wei-Qi (Go, Baduk)
http://www.cs.cmu.edu/afs/cs.cmu.edu/Web/People/wjh/go/rules/
GO: An hour to learn; a lifetime to master.

Go Variants
http://www.win.tue.nl/~engels/go/variants.html
Here are some variants of our noble game, in case you want to do something else.

Computer Go/Writing a Go Engine
http://en.wikibooks.org/wiki/Computer_Go/Writing_a_Go_Engine

BiGo Software
http://bigo.baduk.org/

Game Theories and Computer Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.3983

The program GoTools and its computer-generated tsume go database
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.9146

Forward Pruning and Other Heuristic Search Techniques in Tsume Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.5593

Eyespace Values in Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.1004

The complexity of Go
http://citeseer.ist.psu.edu/showciting?cid=365120

Computer Go as a Sum of Local Games: An Application of Combinatorial Game Theory
http://citeseer.ist.psu.edu/showciting?cid=365116

The Integration of A Priori Knowledge into a Go Playing Neural Network
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.411

Lambda-Search In Game Trees – With Application To Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.3632

Race to Capture: Analyzing Semeai
http://citeseer.ist.psu.edu/showciting?cid=2334915

Experiments in Computer Go Endgames
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.1653
Recently, the mathematical theory of games has been applied to late-stage Go endgames [Berlekamp and Wolfe 1994; Wolfe 1991]. Based upon this theory, we developed a tool to solve local Go endgames. We verified all exact game values in [Wolfe 1991] and analyzed some more complex positions. We extended our method to calculate bounds for positions where optimal play depends on Ko. Our program Explorer uses this tool to play full board endgames. It plays a nontrivial class of endgame positions perfectly. In a last section we discuss heuristic play for a wider range of endgames.

Generation of Patterns With External Conditions for the Game of Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.9428

Metarules to Improve Tactical Go Knowledge
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.8524

Metaprogramming Domain Specific Metaprograms
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.8563

Tristan Cazenave Articles
http://citeseer.ist.psu.edu/search?q=Tristan+Cazenave&submit=Search&sort=rlv&t=doc

Honte, a Go-Playing Program Using Neural Nets
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.2676

A small Go board Study of metric and dimensional Evaluation Functions
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.2784
The difficulty to write successful 19×19 go programs lies not only in the combinatorial complexity of go but also in the complexity of designing a good evaluation function containing a lot of knowledge. Leaving these obstacles aside, this paper defines very-little-knowledge evaluation functions used by programs playing on very small boards. The evaluation functions are based on two mathematical tools, distance and dimension, and not on domaindependent knowledge.

The go-playing program called Go81
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.6651

Developments On Monte Carlo Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.15.452

A Learning Architecture For The Game Of Go
http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.329
In this paper, a three-component architecture of a learning environment for Go is sketched, which can be applied to any two-player, deterministic, full information, partizan, combinatorial game. The architecture called HUGO has natural and human-like reasoning components. Its most abstract component deals with the selection of subgames of Go. The second component is concerned with initiative. The notion of gote no sente (a move that loses initiative but creates new lines of play that will hold initiative) is formalized. In the third component, game values are computed with a new kind of – algorithm based on fuzzy, partial ordering. Our approach leaves some valuable control parameters and oers ways to apply further machine learning techniques.

My Links
http://delicious.com/ajlopez/computergo

More links are coming.

Keep tuned!

Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez