A report by Nardy Pillard and Frank Berger

The Bitmap of Computer Olympiad 2007 12th Computer Olympiad took place in Amsterdam (The Netherlands). Another opportunity for BGBlitz and GNU-Backgammon (this time operated by Nardy Pillard and Adrian Wright) to battle for the title. The same fight as in 2002, 2003 and 2006?

No. There was a third contender. MCGammon by François van Lishout and Guillaume Chaslot (Université de Liège, Belgium). This is a very young program that used not a neural net approach but transfers the ideas of Monte-Carlo simulation to Backgammon. Monte Carlo means basically, do a rollout and use the outcome as an approximation of the true value of the position. This approach had an enormous success in the area of Go programming in the last few years, so the idea to test it in another domain is obvious. The program is written in C++ and once compiled, plays over 1,000 games a second. The project only started a couple of months ago, and the 12th Olympiad was merely a test case for the program itself, not for the strength of the program. The implementation was a simple one: If I can, I do. Since the program only looked at possible moves without any theory or principles or tactics, it played weak. The games played - based on the same weakness - did not offer a trustable base for decisions.
In the future, François is thinking of using a neural net to get a list of possible (strong) candidates, and afterwards doing the 'at random' Monte Carlo tree.

BGBlitz played with the same engine as last year; just a few small bugs were fixed. Due to BGBlitz2go and other work for BGBlitz I simply hadn't the time to develop a new AI.

GnuBG used the 20070427 Windows build (0.16 devel). The first matches against MCGammon and BgBlitz were set to supremo for both checker play and cube. The G11 MET was used. The default bearoff databases loaded.
The second match against BgBlitz, Nardy used the two-sided 6x11 bearoff database and set checker play to grandmaster, cube to supremo (world class). Not that Nardy didn't trust gnubg's 2-ply play or the embedded bearoff databases, but after the 4-15 loss in the first match, Nardy thought: "Let's do whatever we can".

With a third contender we settled on best of three 15 point matches instead of the best of five we've used in the past, to stay in a two day time frame. The matches BGBlitz - GnuBG were on a very high level and brought some very interesting games. Nardy's post match analysis and rollouts showed only very few and small errors. One thing struck Nardy's attention: "it's remarkable to see that almost all of BGBlitz's moves marked erroneous by gnubg turn out to be the best move after a rollout!! Two exceptions: the 9th game of the 2nd match, BgBlitz stayed too long on the 10 point (look at 0,052 error move 12: a 5-3 roll)."

With the necessary luck BGBlitz won 15-4 and 15-11 against GnuBG. MCGammon had no chance at all and lost all of its matches 15-0. This was a heavy defeat, but I regard the approach promising because it has several advantages against the conventional approach. It will be very interesting to see its development in the future.

Due to Nardy's sparkling sense of humour we had a very good time. After the matches were over Nardy, Susan, Kevin Stebbing (author of Cunning Fox Backgammon who watched the matches) and Frank went to a human Backgammon tourney of the Amsterdam Backgammon Club. After all the electrical stuff some real dice were required. :)

The matches at a glance:

BGBlitz 2.2.4 vs. GNU-Backgammon 0.16
15 - 4
15 - 11

BGBlitz 2.2.4 vs. MCGammon
15 - 0
15 - 0

GNU-Backgammon 0.16 vs. MCGammon
15 - 0
15 - 0


Here are some photographs from Amsterdam 2007:
Atmosphere in Amsterdam winning ceremony
The Atmosphere in Amsterdam From left to right: François van Lishout, Frank Berger, Nardy Pillard
blumenmarkt in Amsterdam bycycle before a gracht
The famous flower market the typical "fiets" (bicycle)
gracht in Amsterdam typical houses in the centre
Grachten everywhere A typical front in the center
You can download the matches as mat files or view them online:
match 1 BGBlitz vs. GnuBG , match 2 BGBlitz vs. GnuBG