Monday, August 17, 2015

A short history of TCEC, part 1

Seasons 1-3:
I have no idea about these seasons, I wasn't aware of TCEC back then. Looking at the archived games I don't understand the format. The first two seasons ended in a 40-game match Houdini - Rybka, both of which Houdini won convicingly. The third season was interrupted for some reason and there was a break of about a year and a half.

All this happened before 2012, this isn't history, it's archeology...

Season 4:
The 4th season was called nTCEC (new TCEC) season 1. I remember the colorful design, graphs of green and purple against a dark background. Here are some partial screenshots I found on the web:

The first stage was a 32 engine 7 round swiss tournament. The 16 qualifiers were split to two groups of 8, and each group played a double round robin, each opening played twice, reversing black and white (This color reversal is a constant feature of later stages of TCEC, allowing the comparison of the two games in a mini-match, as well as reducing the effects of biased openings). The best 4 from each group qualified, and another double RR was played to determine the best 4 engines. Houdini and Rybka qualified of course, as well as Stockfish and Komodo. Stockfish was the new open-source project which everyone liked because it was able to hold its own against the old champions. Komodo was a surprise, a single core implementation at that time.

The final-4 stage was a 6-RR, where each pair of engines played 3 openings and their reverses. Houdini won, Komodo came last, but Stockfish managed to qualify before Rybka. Rybka's result was 16 draws, one win against Komodo and one loss to Stockfish. It was not developed anymore and found it hard to keep up at the top level.

The superfinal was a 48 match between Houdini and Stockfish. Houdini had a 3-0 lead after 14 games, Stockfish got one back and then managed to draw 4-4 by game 28, after beating Houdini in the French advanced opening on both sides of the board. In the remaining 20 games Houdini managed to win one and keep the lead until the last game, where it won again to reach a final score of 6-4 with 38 draws. Houdini was the winner, but it was very close.

Season 5:
After a short break of a few months, nTCEC season 2 was started. Stockfish had a new version, and was still updated each stage. Komodo could now run on many cores. Houdini started with the same version, but had an update in the final stages.

The first stage was a 36 engine 7 round swiss tournament. There were supposed to be 18 qualifiers but due to a bug in the software it couldn't handle an even number of participants and an additional qualifier was used. The second stage was a single RR with 10 qualifiers, the third stage was a double RR with 6 qualifiers - Komodo, Bouquet, Houdini, Stockfish, Gull and Naum. Rybka missed qualifying to the final 6 on a tiebreak.

The fourth stage was a 6-RR. Stockfish won, beating all opponents without loss, including 3-0 over Houdini and 1-0 over Komodo. Komodo managed second place before Houdini, mostly because of a better performance against the weaker engines (they drew their 6 matches). This stage coincided with the 2013 Anand-Carlsen world title match. TCEC had a special page covering the match with computer analysis by Houdini, Stockfish and Komodo which I remember watching. The chat was shared with the regular TCEC, causing the many spectators who came to see Anand and Carsen to be confused by comments on some computer chess matches they weren't aware of.

The final between Stockfish and Komodo was again a 48 game match. There were many decided games at the start, the result was 4-4 after 12 games. Komodo had the lead after game 18 and extended the lead to 8-4 after game 28, including a double win in the Indian: London system opening. Stockfish gradually got back to the match, with three wins and a 9-8 score after game 44. The match ended with a deja vu win for Komodo in the last game, a final score of 10-8 and 30 draws, and Komodo was the winner. Again a very close match and a second loss for Stockfish in the final.