Backward history of Indigo.
The year 2007:
In June, Indigo attended the 12th Computer Olympiad in Amsterdam. I enjoyed a lot working on Indigo over the past years. In 2003, 2004, and 2005, showing Indigo's improvements, I have convinced the computer go community of the relevance of the Monte-Carlo approach. In 2006 and 2007, with the birth of the Monte-Carlo Tree Search technique, computer go is now in the right direction, like computer Chess was with alfa-beta. The future improvements in computer go depend on parallelisation and UCT refinements. The way from knowledge to Monte-Carlo is succeeded. Consequently, I suspend Indigo development for an undetermined period. Wait and see.
The year 2006:
In April, Indigo attended the 11th Computer Olympiad in Torino, earning the bronze medal on 19x19, behind GNU Go and Go Intellect, and before Aya. In May, I was in Reno to present the work about reinforcement learning (1). On september 30 and october 1st, Indigo attended the 2006 Gifu Challenge and was ranked 3rd behind KCC Igo and GNU Go, and before Aya and Katsunari. Here are the games played by Indigo. Besides, the Monte-Carlo Tree Search approach is now clearly born in the computer go community. CrazyStone and MoGo are two examples of this approach giving very good results on 9x9 boards.
The year 2005:
The work about bayesian generation of patterns for 19x19 go was published (2). Then, Guillaume Chaslot has worked with reinforcement learning ideas to enhance the 3x3 shape database used by pseudo-random games. Moreover, I have performed experiments on Miai Pruning, a special recipe, and I have worked on two Indigo-dependent heuristics called the history heuristic and the territory heuristic. Besides, Indigo attended the 10th Computer Olympiad in Taiwan, earning the bronze medal on 9x9. Since october, Indigo sometimes plays as a bot on KGS. Currently, it is ranked 17kyu. It has participated to tournaments, winning one of them in the 19x19 open division.
The year 2004:
First, I have carried out the Monte Carlo Go experiments in associating a 9x9 shallow and selective global tree search and Monte Carlo (.pdf). Then, Indigo2004 attended the computer olympiad, on 9x9 and 19x19 boards. Indigo was ranked 4th upon 10 programs on 9x9 and 3rd upon 5 on 19x19 (bronze medal), which was a nice reward. Second, Guillaume Chaslot has built an opening book for 19x19 by browsing recorded pro games, which is worth considering. In the background, I was busy with passing my accreditation to supervise research.
The year 2003:
Bernard Helmstetter and I have made some experiments on Monte Carlo Go. We have built two Monte Carlo Go programs which play on a par with Indigo2002 on 9x9 boards. It is somewhat amazing that these two very-little knowledge based go programs match a program based on a lot of knowledge. Thus, I have built a new version of Indigo, based on both knowledge and Monte Carlo. This works quite well. Indigo attended the last Computer Olympiads in Graz last November, and finished 5th upon 11 programs in the 19x19 tournament and 4th upon 10 in the 9x9 tournament. Our current conclusion is that Monte Carlo is an approach worth considering in the future.
The year 2002:
I made experiments about life and death but I failed in successfully integrating this life and death module into the global move decision process. Thus the improvements are minor ones only. Besides, Indigo plays quicker than last year: 2' on my 450 Mhz PC. In Edmonton Canada, I attended the 3rd Computer and Game conference in which I had a paper and Indigo finished at the 10th place upon 14 programs at the 21st century cup. Furthermore, Indigo attended the computer go Guyang festival (China) in october and was ranked 6th upon 10 programs.
The year 2001:
I carried out experiments about retrograde analysis and go (.pdf file). Furthermore, I have been optimizing Indigo. Indigo now spends 5' per game instead of 30' on my 450 Mhz PC. Moreover, I have been improving the evaluation function on the basis of last year bugs within the life and death module. Besides, a paper about computer go and artificial intelligence written in collaboration with Tristan Cazenave has been accepted for publication in the AI Journal. Here is the preprint (.pdf file).
The year 2000:
Indigo has been improved by playing against Indigo99 and GnuGo (2.4). Indigo 2000 was four stones stronger than Indigo 99. GnuGo was of course still clearly better than Indigo but Indigo seriously reduced the gap (one or two stones weaker than GnuGo-2.4). I only spent time in fixing bugs and tuning parameters. Indigo attended the Mind Sport Olympiad 2000 in London last August. It ranked 5th upon 6 entrants. Although Indigo played Goemate and Go4++, these two programs were by far too strong for Indigo. Aya, GoStar and Golois were more fun opponents for it. See the results. Against Aya, both Indigo (black) and Aya (white) passed while the status of an enormous black group depended on a "simple" three ply sequence of ataris... The game ended in such situation!
The 1997-1999 period:
- In 1997, I started rewriting Indigo from scratch and finished the job in 1998 only. The 1995 description became the 1998 evaluation function. In order to decide which move to play, Indigo looked one move ahead if the position was quiet or play urgent move if it was not. Indigo attended the 1998 Ing Cup in London and finished 10th/17. In 1999, I spent a lot of time in optimizing my program in order to include it into a lookahead module. Indigo looked ahead a position until a quiet position was reached. In other terms, it used selective quiescence search. During search, the selection was done around the last move. The results were better than the last year results: Indigo99 did 80% wins against Indigo98. But unfortunately, it did a bad result at CGF-99 and only finished 24th/28. Indigo attended the 1999 Ing Cup in Shanghai and finished 13th/16.
The 1991-1995 period:
- During this initial period, I made a thesis on cognitive modelling of the Go player. In some extent, the Indigo implementation helped the validation of this cognitive model. This first attempt of Indigo was developed in C++ language between september 1991 and december 1993. There were four abstraction's levels: the global level, the group-territory level, the shape level and the ladder level.
last update: July 7, 2007.