MoGo
Facts about MoGo
- Monte Carlo based program;
- The tree search algorithm is originaly based on the UCT algorithm [1];
- Patterns used in the random simulations;
- Expert knowledge based blocks are used in big go boards (19x19) to reduce the branching factor.
- Several versions have been running on the Computer Go Server (CGOS), among which MoGoDuo runs on a bi-processors computer. The tree is shared between the 2 threads.
- On the Computer Go Server, MoGo does approximately 100,000 simulations/move. MoGoDuo does 230,000 simulations/move. MoGo5kSimuls does exacly 5,000 simulations/move.
- Contributors: Yizao Wang, Sylvain Gelly, Rémi Munos, Olivier Teytaud, Pierre-Arnaud Coquelin, Julien Perez, Arpad Rimmel, Jean-Baptiste Hoock?, Guillaume Chaslot.
- Warm thanks to Rémi Coulom who participated in Yizao's internship. MoGo's early development benefited a lot from his sharing the experience of programming CrazyStone.
- MoGo began as the result of Yizao's internship at CMAP Ecole Polytechnique and TAO (INRIA) LRI, University Paris-Sud.
The current website of MoGo is: http://www.lri.fr/~teytaud/mogo.html (binary download for Linux available).
An older Windows binary (which includes the seemingly otherwise unavailable opening books) is available for download from the Drago website.
Sylvain's usage notes from the Wayback Machine.
You can also see a non technical description and other details on https://web.archive.org/web/20110905225915/http://www.lri.fr/~gelly/MoGo.htm (English) or http://web.archive.org/web/20110910121405/http://www.lri.fr/~gelly/MoGo_french.htm (French).
MoGo's Record of Improvement
July 2006 First version of MoGo (MoGo on CGOS), ranked 1650.
Beginning of August 2006 Many improvements in MoGo using patterns. !MoGoNewA1 ranked around 1900.
Middle of August 2006 Others improvements. MoGoNaldo2 best ranked as 1948.
31 August 2006 First multithreaded version of MoGo, named MoGoDuoV1 on CGOS. Best ranked as 2050.
17 September 2006 We are sad, Valkyria UCT4 seems very strong, specially against MoGo. :-'(
18 September 2006 First version of this site.
18 September 2006 Launch of MoGoNaldo3. Difference with Naldo2: Better time management, and other improvements in random and tree. Naldo3 has been launched prematurely due to the competition with Valkiria :-).
19 September 2006 Launch of !MoGoDuoV2, which is MoGoNaldo3 on a dual processor machine. Sadly, the machine was used by others, and swapped to disk, so !MoGoDuoV2 lost a lot of games by time and is not well rated.
24,25,26 September 2006 Launch of a series of MoGos MoGoNaldinho, MoGoNaldinho2 and !MoGoDuoV3 to try different parameters. In fact now CGOS is the only way to have a good rating of MoGo, thanks to very good players as Valkyria. "At home" we only rate MoGo against GnuGo, and MoGo has a tendency to "overfit" gnugo. Thanks to Valkyria for the concurrence, but now stop, we have no more enhancements left ;-).
29 September 2006 End of Yizao's full-time internship working on MoGo. MoGo has been on a non-stop run since two months ago. Will it keep progressing as fast as before? Fortunately Sylvain has still some time devoting to it, and he is going to learn Go :-)
1 October 2006 Launch of !MoGoSmallQuadV1, which run on a 4 processors machine. It is named "Small" in comparison to MoGoDuo, because on MoGoDuo each processor is 2.6Ghz and in MoGoSmallQuad 1.8Ghz. The speed is approximately 14000 games/second on this machine (9x9 Go board).
8 October 2006 Written by Sylvain: MoGo's 4th KGS Tournament. One improvement we made in MoGo to improve (a lot) its level in 13x13 was crashing in multithreads one day before the tournament so that we had to remove it for the tournament :'(. It is the first time I am the operator of MoGo in KGS tournament, but I was frustated looking at the games because I don't know so much of Go. However people were kind enough to provide commentary on the games :-). Finally in 13x13 MoGo was not so bad and won. In formal tournament the matches were very close between MoGo, GnuGo and Valkyria. Congratulations to all the opponents. GnuGo took the lead after beating Valkyria then MoGo. Hopefully the last rounds was against the best ranked programs, and MoGo had a chance to take its revenge against GnuGo. Indeed, there was 2 more games between MoGo and GnuGo and MoGo won the 2. Then the last game between MoGo and Valkyria followed. After a good beginning, MoGo made a mistake and Valkyria won by resign. MoGo and GnuGo had the same number of points, but finally MoGo won by better SOS (Sum of Opponents Scores). It was very close, but we are happy it is the first time :-).
It is a pity that CrazyStone was not in the tournament and we are interested in what would happen otherwise, since MoGo always has some troubles in the games against CrazyStone (in fact other strong Monte Carlo algorithm based programs).
5 November 2006 MoGo won the 19th KGS Computer-Go Tournament in both divisions.
22 December 2006 MoGo won the 1st KGS Slow tournament, its first victory on the full board.
4 March 2007 Mogo won both sections of the 24th KGS tournament (full boards, 18 minute time limit).
16 June 2007 MoGo won the 15th Computer Olympiad in the 19x19 division, and took the silver medal in the 9x9 division.
September 2007 Sylvain retires from MoGo, having finished his thesis, and releases Windows and Linux binaries of the current state of MoGo. The source is still controlled by other students, who plan to use MoGo for further academic research.
7 August 2008 MogoTitan vs. Kim MyungWan 8p on KGS
Mogo had 9H, 800 proc., 4.7 GHz = 15 Teraflops, one hour, and won by 1.5. An interesting side note is that Kim MyungWan used around 13 minutes while Mogo used about 55 minutes. Kim MyungWan is reported to have said that extra time would not have helped him. ( SGF file)
20 September 2008 MogoTitan vs. Kim MyungWan 8p on KGS
Mogo had 7 handicap, 90 minutes time, and resigned on move 263. Hardware was the same as the previous match, except for improved networking. For a graph of Mogo's winning percentage (self assessed) against move number, see http://www.flickr.com/photos/30717218@N04/2874789731/
For an assessment of MoGo's playing strength, see /Playing Strength
Example game Mogo (White) against Steenvreter at ICGA 2007 tournament.
[1] L. Kocsis and C. Szepesvari. Bandit-based monte-carlo planning. ECML’06, 2006. ( http://zaphod.aml.sztaki.hu/papers/ecml06.pdf#search=%22L.%20Kocsis%20and%20C.%20Szepesvari.%20Bandit-based%20monte-carlo%20planning.%22)