← Learn backgammon

Colossus against eXtreme Gammon in 5-point matches

HedgeHog's Colossus engine played 5,000 five-point matches against eXtreme Gammon 2.10, both searching at 2-ply. The result, how luck was taken out of it, where the edge came from score by score, and every match to check for yourself.

#The result

Colossus, HedgeHog's strongest engine, played 5,000 five-point matches against eXtreme Gammon 2.10, both searching at 2-ply. After the luck of the dice is taken out, Colossus wins 50.73% of the matches.

Colossus's match win rate Estimate 95% interval
Luck-adjusted 50.73% 50.48% to 50.98%
Raw 50.22% (2,511 to 2,489) 48.83% to 51.61%

The luck-adjusted interval stays above 50%, so the margin is not the dice. It is a small edge: about seven extra matches in every thousand. In money games at the same depth Colossus won by 0.019 points per game, and match play tells the same story.

#What was played

  • 5-point matches with the Crawford rule, cube limit 64. 16,266 games in all, about 3.25 per match.
  • Both engines at 2-ply in eXtreme Gammon's counting, checker play and cube decisions alike, and both playing to the match score: every move and every cube action priced in match winning chances, not money equity.
  • XG played as itself. Every XG move and cube action was eXtreme Gammon 2.10's own choice at its 2-ply setting, opening book off, one analysis thread. Afterwards a freshly started copy of XG re-analysed all 537,049 of XG's decisions. It agreed with all but 8, and those 8 cost 0.02 equity between them: in each, XG's full analysis scored one candidate play that its move choice had pruned. Asked again, XG plays the same move in all 8, in the copy that played the run and in another that never did.
  • Colossus played as HedgeHog plays, through the same decision code that analyses your matches.
  • Colossus had White in every game. Who moves first is decided by the opening roll, so the colour gives no edge.
  • Every match was played on one dice stream from one seed. Nothing was stopped early or run again, and every match played is counted.

#Taking the luck out

A match is won or lost, so even 5,000 raw results leave an interval almost three percentage points wide. That is the raw row above, and on its own it cannot separate the two engines.

The luck-adjusted figure removes the dice, in the currency a match is played for: match winning chances. For every roll after a game's opening one, a fixed reference network works out what the roll was worth at that score and cube: the match winning chances after the best play with the dice that came up, minus the average over all 36 rolls. That is the roll's luck, positive when it helped the player who threw it. A roll at 4-away 1-away post-Crawford can be worth far more than the same roll at the start of the match, and the adjustment knows that. Each match's result, one for a win and zero for a loss, has the luck of all its rolls subtracted.

Luck depends only on the position, the score and the dice, never on what either player then chose, and it averages to exactly zero over all possible rolls. So subtracting it cannot push the result towards either engine. It only removes noise: here it made 5,000 matches as precise as about 156,000 unadjusted ones. The reference network was GNU Backgammon's, neither of the two contestants.

#Dice nobody chose

These dice came from drand, a public randomness beacon run by the League of Entropy, a group of independent organisations. The match used its quicknet beacon, which publishes a new signed random number every three seconds.

Before the first match, the round to be used was written down: round 33198080, due at 10:13:24 CEST on 19 October 2026. When it was published, its first sixteen hexadecimal digits (c382f61c2e454ff4) became the seed of every roll in all 5,000 matches. Anyone can look the round up, and the dice of every match follow from it alone. Nobody, the people running the match included, could have chosen them or tried several.

#How the matches went

Colossus XG
Matches won 2,511 (50.2%) 2,489 (49.8%)
Games won 7,961 (48.9%) 8,305 (51.1%)
Wins that were gammons or backgammons 24.1% 23.2%
Doubles offered per game 0.51 0.50
Doubles taken 67.1% 77.4%

As in money play, Colossus won fewer games than XG, more of its wins were gammons, and it passed more of the doubles it was offered. Here it passed a third of XG's doubles, where XG passed under a quarter of Colossus's. Games won is not the measure that matters in a match, and Colossus still won more matches than it lost.

#Where the edge came from

Every game moves both players' match winning chances: from the score it started at to the score it ended at, or to the end of the match. Adding those moves up over a match gives its result, so the gain can be split game by game and sorted by the score each game started at. The columns below are in matches: +10 means the games at that score were worth ten extra match wins to Colossus over the 5,000. "Of which luck" is the part the dice handed it (negative when they favoured XG), and "after luck" is what is left, the part the play earned.

Games starting Games Colossus won the game Match wins to Colossus Of which luck After luck
Level scores 5,940 48.1% +15.9 +1.1 +14.8
Colossus ahead 2,466 47.7% -1.4 -6.9 +5.4
Colossus behind 2,860 50.8% +9.2 +7.9 +1.3
Crawford game 2,806 50.1% +2.4 -4.1 +6.5
After the Crawford game 2,194 48.6% -15.1 -23.7 +8.6
All games 16,266 48.9% +11.0 -25.6 +36.6

Over the whole run the dice favoured XG by about 26 matches, which is why the raw result looks closer than the adjusted one: Colossus's play earned about 37 extra match wins, and the luck took 26 of them back. The 36.6 is the headline seen from another side: 36.6 extra wins in 5,000 matches is the 0.73 points above 50%.

Once the luck is out, Colossus comes out ahead in all five groups. The largest share came at level scores, most of it from the first game of the match, the one game every match plays. The edge is smallest when Colossus is behind.

The full table, score by score. A score reads Colossus's points to go, then XG's: 3-away 5-away means Colossus needs 3 more points and XG 5.

Colossus away XG away Games Colossus won the game Match wins to Colossus Of which luck After luck
5 5 5,000 47.5% +1.3 -9.4 +10.7
5 4 714 49.4% +0.0 -1.3 +1.3
5 3 1,227 48.5% -6.3 -4.4 -1.9
5 2 316 56.6% +5.1 +3.6 +1.5
5 1, Crawford 878 50.1% +0.1 -1.5 +1.6
4 5 403 47.1% -2.9 -3.8 +1.0
4 4 135 56.3% +4.2 +3.0 +1.2
4 3 226 52.7% +3.8 +4.2 -0.3
4 2 101 59.4% +3.0 +3.2 -0.2
4 1, Crawford 85 48.2% -1.3 -1.1 -0.2
4 1, post-Crawford 323 68.4% +9.0 +6.7 +2.3
3 5 1,162 47.2% +2.1 +0.3 +1.8
3 4 374 46.0% -6.6 -6.7 +0.2
3 3 689 50.5% +6.4 +2.9 +3.6
3 2 276 52.9% +3.5 +2.6 +0.9
3 1, Crawford 284 58.1% +11.4 +10.1 +1.3
3 1, post-Crawford 251 48.2% -6.5 -6.8 +0.3
2 5 210 48.1% +0.6 +0.2 +0.4
2 4 114 50.9% +0.2 -0.2 +0.4
2 3 203 52.2% +5.0 +3.4 +1.6
2 2 116 53.4% +4.0 +4.7 -0.7
2 1, Crawford 69 55.1% +2.7 +2.9 -0.2
2 1, post-Crawford 211 69.7% +0.0 +0.7 -0.7
1 5, Crawford 915 48.2% -5.1 -5.9 +0.8
1 4, Crawford 157 51.6% +0.2 -0.6 +0.8
1 4, post-Crawford 323 28.2% -6.4 -7.3 +0.9
1 3, Crawford 297 47.1% -3.7 -5.0 +1.2
1 3, post-Crawford 322 47.5% -7.1 -9.0 +1.9
1 2, Crawford 121 50.4% -1.9 -3.0 +1.1
1 2, post-Crawford 218 28.0% -3.1 -3.5 +0.4
1 1 546 49.8% -1.0 -4.5 +3.5

Most single rows are too small to read alone: the margin of a row of a few hundred games is one or two matches either way, about the size of the figures in it. Only the first game, at +10.7 with a margin of about 6.7, and the total stand clear of the noise. The dice weighed most after the Crawford game, where XG's luck was worth about 24 matches. There the trailer doubles at once and the leader often passes, which is why Colossus won 68% of the games it trailed 4-away 1-away and only 28% of those it led 1-away 4-away.

Read the rows with the same caution as any breakdown. Only the total is a fair measure of skill. A row is chosen by the score a game started at, and the score depends on who won the games before it, so the rows show where the gain landed, not which kind of score either engine plays better.

#Check it yourself

Everything needed to check the result is in one download: colossus-vs-xg-5pt.zip.

  • All 5,000 matches as .mat files, which GNU Backgammon, eXtreme Gammon and most other programs can open. Counting who won each match reproduces the raw result exactly.
  • The beacon round and the seed, with verify_dice.py, a short Python script that regenerates every roll of every game from the seed and checks it against the files.
  • The source of the luck calculation, which replays every game, checks that every move is legal, that every result matches the board and that every score line follows from the games before it, and recomputes the luck-adjusted result and both tables above.
  • XG's re-analysis of its own side: how many of its decisions a freshly started XG agrees with, and what the few it does not cost.
  • A per-game table of the score, the result, each side's doubles and passes, the luck and the match winning chances, which is what both tables above are added up from.

#What this does not show

This is one match length and one depth: 5-point matches at 2-ply against eXtreme Gammon 2.10. Longer matches give the cube more room and the score less, and deeper search lets both engines see further, so the margin may move either way. Those are the next comparisons.