Tuesday, October 24, 2017

Season 10, stage 1, rounds 7-9

Table after 9 rounds:

The draw rate is 41/108 (38%). This appears to be quite low but when restricting to games by engines in the current top 9 the draw rate becomes 7/13(54%). the difference in playing strength increases the number of decisive games.

Stockfish and Komodo are a class of their own so far. Houdini is third but only 0.5 points above the group of engines fighting hard to qualify. Texel and Wasp dropped in the ranking while Gull joined the leaders. Bobcat seems to be performing better than expected, but keep in mind it got a point free off an Arasan crash. For Rybka, Hannibal and Nirvana the chances of qualification for stage 2 look slim.

Some of the game highlights:

Rybka - Chiron: Chiron took over the game from the start, with increasing negative evals. After the position opened a little Chiron sacrificed a pawn that later turned into a R vs BN imbalance. With Rybka's king sealed off the extra piece was enough to capture three more pawns and win.

Wasp - Fruit: After 40 moves the game seemed to be heading for a long draw, a closed position and shuffling moves. Wasp captured a pawn allowing Fruit to close in on its king, and after a few exchanges Fruit was clearly in control. The game reached a RN vs RN ending and Fruit's passed pawns forced Wasp to lose material and the game. Quite a surprise, Wasp was doing well and for low rated Fruit this is very good result.

Andscacs - Houdini: Houdini equalized after the opening but could not do better than that. Andscacs played very solidly, reaching a RB vs RB ending and a draw.

Arasan - Texel: Surprisingly Arasan came out in front after the opening. The evals continued to increase, Texel lost its queen side pawns and Arasan was two pawns up. Texel had to lose a piece to stop the white pawns, giving Arasan a winning position. Another big surprise (at least for me), though Arasan has shown it can play well on occasion.

Stockfish - Fizbo: Fizbo sacrificed a bishop but the compensation it got was not enough and Stockfish started to attack. Fizbo tried to build a fortress but Stockfish found a way in. When the game was adjudicated is a QRN vs QR position the win was not clear to me, the PV shows how Stockfish can avoid checks, keep the black king away and win a pawn.

Chiron - Fire: Evals remained close to zero the whole game. The engines exchanged pieces until reaching a drawn rook ending.

Jonny - Rybka: Jonny's eval is always too optimistic, but when it got over 1.5 after 40 moves there seemed to be a real advantage for Jonny. The material was even with many pieces on the board, Rybka was defending its weak pawns with little room to move. After exchanging a pair of rooks Jonny found a way to penetrate Rybka's lines and captured two pawns. The win was straightforward.

Hannibal - Ginkgo: Hannibal went for a R vs NN imbalance and Ginkgo's eval showed it was happy about this. The game reached a QR vs QNN position, after several moves with no eval change Hannibal made two moves Ginkgo considered as blunders and the evals took off. Ginkgo picked up two pawns and exchanged queens to reach a won R vs NN position.

Fire - Jonny: Jonny was optimistic as always after the opening, but when the game became static Fire shuffled pieces better and its evals increased above . At the right moment Fire opened up the king side and Jonny had to give Q for BB to escape. The material was enough for Fire to win.

Laser - Chiron: After many exchanges the game reached a RB vs RB position with opposite color bishops. Almost all pawns were exchanged and Chiron was left with one passer. The evals from both engines suggested a win for Chiron but Laser managed to hold the 7-man position, it was willing to give its bishop for the pawn to get a drawn tablebase position. A rare draw for Laser.

Fizbo - Vajolet2: Another crash for Fizbo, after only 6 moves.

Wasp - Stockfish: After 20 moves the evals were still close to 0. Stockfish gave two pawns and took over the center. Then a Wasp blunder let Stockfish start a combination where it gave Q for RBB. Stockfish's eval was over 6 in five moves, it used the rook to block the white passers and a BBN trio to control the board, both for defense and for attack. The position was still complicated when the game was adjudicated, the PV indicated that Wasp was about to lose its queen.

Komodo - Texel: Queens were off the board early in the game and by move 23 only RBN vs RBN were left. Komodo's eval started to increase, after it captured two pawns and exchanged rooks the eval was over 1.5. For a while there was no progress but after Texel exchanged the knights Komodo saw a win. In an opposite color bishops ending it was three pawns up with a pawn majority on both sides of the board. Once the white king penetrated the pawn line it was all over.

Featured game: Nirvana - Komodo
Stage 1, round 8
link to game on TCEC

What a game this was!

After 31 moves Nirvana was up an exchange in a closed QRR vs QRB position.

The evals were at 0 and the engines started shuffling. Komodo had an extra pawn and after a few pawn exchanges it became a passer.

Evals were a little in favor of Komodo but with no pawn moves the 50-move draw was getting close. With 7 moves left Nirvana took the passer, resetting the counter, and still the evals were close to 0. Then suddenly Komodo's eval shouted "blunder!" on move 152.

Through attacks on the exposed white king Komodo was able to win a rook and exchange the remaining rook pair.

Nirvana's queen had to protect the b3 pawn. Komodo's queen danced around the white king until it could capture the e4 pawn and force a queen exchange. Here the game was adjudicated. This is an example of what Komodo is famous for, winning games that look like dead draws. 

Sunday, October 22, 2017

Season 10, stage 1, rounds 4-6

Table after 6 rounds:

So far there have been 31/72 (43%) draws, 25/72 (35%) white wins and 16/72 (22%) black wins. The draw rate is increasing and there is a bias for white which is normal in TCEC.

Stockfish and Komodo are standing out at the top of the table. Houdini is a llittle disappointing with 3 straight draws. It is still in the top group and very likely to qualify, but after last season's performance and all the hype in the chat from its fans I was expecting better results.

In the top half Texel and Wasp are doing quite well. In the bottom half the old titans Gull and Rybka are struggling, after many years with no development the competition is getting better than them.

Some of the game highlights:

Komodo - Bobcat: Komodo with a spectacular win, sacrificing a bishop to get two advanced and connected passed pawns. Bobcat had to lose material to stop them, leading to a won R vs B ending. 

Texel - Gull: Repetition after 9 moves !! No fighting spirit at all in both engines.

Houdini - Wasp: Wasp created a blockade across the board and held it successfully for more than 75 moves until Houdini finally accepted the draw.

Booot - Fizbo: Fizbo played an excellent game and got within 2 plys of a win by adjudication. unfortunately it then crashed giving Bobcat an undeserved point. This is the second crash of the season.

Stockfish - Ginkgo: Stockfish had a favorable opening, used it to get a strong attack on Ginko's king that led to a won rook ending.

Chiron - Jonny: Chiron developed pressure on both sides of the board. Jonny underestimated the danger and its position collapsed within 3 moves, eval going from 0.45 to over 9. I don't understand how that can happen, careless pruning in search?

Rybka - Stockfish: Rybka managed to stay in the game for about 30 moves until the pressure was too great. Stockfish took advantage of a few inaccuracies to win two pawns and exchange down to a winning rook ending.

Fire - Gaviota: Fire outplayed Gaviota in a RB vs Q imbalance.

Gull - Houdini: Houdini equalized easily and was a pawn up but couldn't get any advantage in a N vs B ending, an easy draw for Gull.

Andscacs - Komodo: Evals were at 0 from move 17, the engines exchanged pieces until reaching a RB vs RB ending. Andscacs gave the bishop to get advanced passed pawns, Komodo stopped the pawns losing its rook. The game ended in a tablebase draw.

Komodo - Arasan: Komodo could not find anything against Arasan for more than 30 moves. An inaccuracy allowed Komodo to sacrifice a pawn and reach a won N vs B position.

Houdini - Bobcat: Again Houdini could not find a winning line, in white pieces this time. After many exchanges the game reached a B vs N position, Bobcat played the ending well holding a draw. 

Featured game: Stockfish - Fire
Stage 1, round 6
link to game on TCEC

Stockfish started the stage well, but Fire is always a tough opponent. Would it be able to slow Stockfish down?

After a few minor piece exchanges both engines were left with their one bishop and their major pieces. The evals were close to 0 though Stockfish thought it was ahead slightly. At move 26 the engines got to within one move of a 3-fold repetition.

Stockfish avoided the draw and gradually the evals started to increase. The engines exchanged a few pawns, opening some files. Fire's king became a little exposed, and after exchanging bishops Stockfish's eval climbed above 1 in a QRR vs QRR position.

Fire still thought it could hold, but little by little the pressure increased. There were too many black pawns that Stockfish could attack and Fire couldn't protect them all. Stockfish captured the d pawn and created a passer in the center. Fire captured a pawn as well but after exchanging queens it turned out that the white addvanced passer was much better than the doubled black pawns.

Fire had to concenterate on stopping the d pawn, Stockfish was quickly 3 pawns ahead for the win.

Fire tried but couldn't stop Stockfish, which still appears to be the best engine. Fire is still in a good position even with 2 losses (the other to Houdini), so I'm quite certain we will see it in stage 2 as well.

Wednesday, October 18, 2017

season 10, stage 1, rounds 1-3

Season 10 is live !!

In the first stage 24 engines are fighting for 8 spots in the next stage. The time control is 60+10 per engine and the games fly by very quickly, about 2 hours per game. The openings were chosen by Cato, they are 2-move long and some are very unusual. No one knows a game's opening in advance, only after the game starts.

Table after 3 rounds:

So far there have been 13/36 draws, 13/36 white wins and 10/36 black wins, almost a uniform distribtion. The draw rate is remarkably low. Each engine played against a different set of opponents, so the ranking is far from reliable.

Some of the game highlights:
Chiron - Stockfish: Stockfish played its first game as black against a tough opponent. Both engines kept their pieces behind long pawn lines, and though Stockfish had an eval advantage it took many moves for it to find the crack and break Chiron's postition. First win for Stockfish.

Hannibal - Fruit: The game looked balanced for over 35 moves, despite the large ELO gap. Eventually Fruit lost in a long and complicated BN vs BN ending.

Fizbo - Komodo: Komodo gave a rook for a knight and a strong passed pawn but could only get a draw.

Gull - Arasan: Low rated Arasan managed a draw against Gull, holding off a strong king side attack.

Arasan - Bobcat: Arasan was ahead on eval and on time when it crashed against Bobcat. First crash of the season, too bad for Arasan which always seems to play better than its rating.

Komodo - Wasp: The game was heading for a draw, two draws in a row for Komodo and against low rated opponents. Instead Komodo found a win in a very long and technical bishop ending.

Texel - Fizbo: Texel was up an exchange against Fizbo from move 25. In a QR vs QN ending it seemed that Fizbo built a fortress and the game would reach a 50-move draw eventually, despite a big eval advantage for Texel. With time running out Texel gave back the exchange and got a queen ending with a pawn advantage. Fizbo remained relaxed but Texel's evals started to go wild, all the way to the impossible "mate in 1". Fizbo realized it was lost several moves later.

Booot - Fire: Booot was up a rook for 5 pawns against Fire, evals were balanced with a small advantage for Booot. The endgame was very complicated and Fire played it much better, using the white exposed king. It first won an exchange to reach a QR vs QB ending 3 pawns up, then with its advancing pawns forced another exchange for a won queen ending.

Stockfish - Jonny: The evals remained around 0 for 35 moves, after a few inaccuracies by Jonny they climbed above 1. In a QRR vs QRR position the evals remained constant and it looked as if Jonny could hold. However, Stockfish found further micro-blunders in Jonny's game and managed to trade down to a winning queen ending.

Vajolet2 - Chiron: Chiron was ahead by more than 1.5 on eval at some point in the game, Vajolet2 exchanged most pieces to get a drawn rook ending.

Jonny - Vajolet2: Jonny had a big eval advantage but Vajolet2's blockade held for a long time, enough to wonder if the game would end in a draw. For no apparent reason Vajolet2 moved a blocking rook, allowing Jonny to force its way to an immediate win.

Hannibal - Stockfish: The game reached a QRN vs QRN position on move 22, evals remained close to 0 for the rest of the game, boring draw.

Ginkgo - Gaviota: Ginkgo was a pawn up in a RB vs RB ending, with two passed pawns. The bishops were of opposite colors, allowing Gaviota to defend for a long time. Ginkgo exchanged rooks and Gaviota had to give its bishop to stop a pawn promotion, leaving Ginkgo with only one h pawn with the wrong color bishop. Ginkgo thought it was winning for a long time, even with tablebases, weird.

Fizbo - Houdini: Houdini could not find anything in this game, the pieces were gradually exchanged until reaching a N vs B draw.

Wasp - Texel: Without tablebase support Wasp failed to realize that it was heading for a tablebase draw in a KRP vs KB position.

Gull - Komodo: Gull held on about 30 moves, but after exchanging most pieces the game reached a QB vs QB ending with Komodo's eval above 1. Komodo used the queen to drive Gull's king away from the king side, and then exchanged queens to get a won bishop ending.  

Featured game: Fire - Houdini
Stage 1, round 1
link to game on TCEC

These two strong engines met in the first round, it was interesting to get a first view of how strong they are this season. The game was calm for about 30 moves, Fire concentrated its pieces on the queen side, Houdini's king was a little exposed but under no threat. Houdini opened up the position by pushing its king side pawns and sacrificing one.

Fire's king was under attack while most of its pieces were too far away to help. Fire exchanged a few pieces and secured its king but Houdini captured the queen side pawns, thus creating connected passers.

Houdini had no problem converting this advantage to a win, exchanging queens and capturing another white pawn, the game was adjudicated when Fire lost one of its bishops.

Friday, October 13, 2017

Season 6 superfinal stats

Season 10 is less than a day away, I conclude my season 6 superfinal series with the statistics page I usually post after a stage is over. This is also a way for me to remind myself how I do this and to make sure that the scripts still work.

Next post - season 10 stage 1, first few rounds !! 

Draw rate, wins

Final draw rate was 70.3%. There were 19 decisive games, 3 of which were black wins.

Game termination

The three most common game termination causes were:
35% - TCEC draw rule
30% - TCEC win rule
27% - 3-fold repetition

Tablebase termination was quite rare in season 6, only 6 games. This is probably due to the fact that only 5-man tablebases were used for termination.

Moves per game



There were 4 games with more than 100 moves, usually draws containing very long boring shuffles.

Time per game (hours)

Median= 3:57
Average= 3:59


The first letter of the ECO codes of the superfinal openings was distributed as follows:

Cato's chosen openings for the superfinal covered all classes, a little biased for closed games (D) and indian defences(E).

If we use the opening 'family name' (using format FAMILY_NAME: VARIANT....) the top 3 are:
Slav - 10 times
King's indian - 7 times
Sicilian - 6 times

Each opening had 8 predetermined moves, and almost all the reverse pairs had the same ECO code, even the same full opening name. The one exception was unusual, game 59 had an ECO code of C05 and game 60 had an ECO code of E75.

Reverse pairs, wins

There were 4 cases of an opening with two white wins, potentially a biased opening. 

Reverse pairs, same moves

How many plys did the engines play after book until the first divergence in the reverse games?

Most games (59%) repeated at most 1 full move, only 19% repeated more than 3 moves.  The longest repeat was 9.5 moves in games 55 and 56.

Wednesday, October 4, 2017

Season 6 superfinal, games 59-64

This is part 11 (last one) of my looking back at the Komodo-Stockfish superfinal match of season 6. Previous parts can be found at
part 1, games 1-8
part 2, games 9-16
part 3, games 17-24 
part 4, games 25-28
part 5, games 29-32 
part 6, games 33-36 
part 7, games 37-40
part 8, games 41-48
part 9, games 49-52
part 10, games 53-58

After 58 games Stockfish led 13-5 with 40 draws.

In game 59 Stockfish had a small eval advantage for 30 moves, it was up an exchange but had an exposed king, while Komodo's pieces were better placed. Evals quickly fell to zero in a RRN vs RBN position, Komodo sacrificed a piece to get a strong passer, Stockfish had to give a rook to stop it and the game was drawn.
In game 60 Komodo was up on eval and up a pawn. Stockfish countered with a rook sacrifice and a strong king side attack to force a repetition draw.

Stockfish started game 61 two pawns up with and an uncastled king that already moved. Komodo had the initiative and a queen side attack. Stockfish first gave a rook for a knight and then exchanged most pieces losing a little more material to get to a R vs RB ending with three extra pawns. The evals were zero and the game was adjudicated as a draw.
In the reverse game Komodo gave back one pawn early, then marched its king away from the center while Stockfish gained two more pawns. The evals became zero in a QR vs QR position, leading to a drawn queen ending.

Game 63 started with a king's gambit in a sharp but relatively balanced variation. After a few exchanges both kings found refuge on the queen side, and though Stockfish had a small eval advantage the position became stable with long pawn lines. Most pieces were exchanged by move 30 and the game reached a double rook ending. The position remained balanced, it took a while but the game ended in a draw.
In the reverse game 64 Stockfish gave three minor pieces for a queen almost immediately after the opening. It thought the position was balanced while Komodo's eval>0.6 indicated it was happy with this imbalance.

After moving the king to safety on the queen side Komodo used all its pieces to put pressure on the black king. Stockfish was very passive with no counter attack, and its eval started to increase. Komodo's knights took over the center and the black pawns became targets.

After exchanging a pair of rooks Stockfish only had QR to defend, outnumbered by Komodo's minor pieces. When the black king moved to the center to help it became a target for attack. Stockfish's position soon collapsed and the game was adjudicated before it started losing material. Komodo managed to win the last game of the match.

The final result of the superfinal was a Stockfish win, 13-6 with 45 draws.

Monday, September 25, 2017

Season 10 is almost ready

== UPDATE 8th October 2017 ==
Another delay in the season start. In a post on chessdom the new date is "next week", on the Facebook page it is "around Friday" (the 13th...) and I've seen the 15th mentioned on the chat. The cause for the delay is some "big drama" (Facebook quote again) behind the scenes with the server, but as a result the season will start with a new improved server with 44 cores. This is good news for season 10, I don't mind the delays too much, just get everything ready and let the games begin.

You can also watch Cato - aka Nelson Hernandez - explain the opening selection procedure for season 10.

== UPDATE 3rd October 2017 ==
The latest news is that the season will start on October 10th, see announcement on chessdom.

== Original post 25th September 2017 ==

TCEC season 10 has been announced on chessdom and is due to start in October, about 1-2 weeks from now. The TCEC chat volume is slowly increasing, with the usual participants starting to show up, as well as engine developers and of course Cato. The excitement is definitely building up.

There will be 24 engines in this season's competition, including three new to TCEC: Booot, Nemorino, and Wasp. The obvious favorites continue to be Stockfish, Houdini and Komodo, which will try to show that their new and updated versions are better than last season's as well as their rivals. Other engines that did well last season are Fire, Gull, Andscacs, Jonny and Ginkgo, it will be interesting to see how well they perform this season.

Season 10 will be shorter than season 9, with only three stages. The first stage will be a single RR of all engines, with 8 qualifiers. The time control for this stage will be 60 min + 10 sec/move, faster than previous seasons. The second stage will be two double RRs (each engine pair plays 4 games), 90 min + 10 sec/move, longer but still faster than usual in TCEC. The two best engines of the second stage will compete in the superfinal, the exact format not announced yet but probably 100 games.

The shorter time controls will be a challenge for me, it's hard to follow so many games every day and to find the time to write about the more interesting ones. I will do my best to keep up. I plan to post updates about the games as well as statistics reports for each stage, similar to my posts during the last two seasons.

Let's hope we have a successful and exciting TCEC season, with many interesting games, a little controversy, a reasonable draw rate, and very few technical problems.


Friday, September 8, 2017

Season 6 superfinal, games 53-58

This is part 10 of my looking back at the Komodo-Stockfish superfinal match of season 6. Previous parts can be found at
part 1, games 1-8
part 2, games 9-16
part 3, games 17-24 
part 4, games 25-28
part 5, games 29-32 
part 6, games 33-36 
part 7, games 37-40
part 8, games 41-48
part 9, games 49-52

After 52 games Stockfish led 12-4 with 36 draws.

In game 53 there were many exchanges after the opening with only RRB vs RRB remaining on move 18. Stockfish had a small eval advantage and better placed pieces, and a potential pawn advantage on the queen side.

Komodo's rooks remained passive and its king could not leave the king side, while Stockfish's king moved up the queen side. After exchanging bishops Stockfish's eval advantage was over 2.

Stockfish captured the black c pawn and Komodo's defense crumbled. After exchanging a few pawns and a pair of rooks Stockfish had two advanced passers on the queen side which were decisive.

The reverse game 54 started in a similar sequence of moves, again with only RRB vs RRB left on move 19. Komodo had a small eval advantage and an advanced passer, but since the bishops were of opposite colors the position was more drawish.

There were a few pawn exchanges which simplified the position. Komodo held to its strong passer and doubled rooks on the e file, Stockfish tried to defend with only a little room to move. The evals climbed above 1 for white, Stockfish's eval significantly higher.

There were several shuffling moves and it seemed that Komodo could not find a way to break through the black defense. Stockfish then advanced its g pawn, and in the new position Komodo found a path to victory. Stockfish sacrificed a pawn on the king side to gain a passer on the g file, but with Komodo controlling g1 with its bishop and with a pawn advancing on the f file the game was soon over. What would have happened if Stockfish continued shuffling? My guess - a draw. Stockfish prepared for a threat Komodo did not see.

Game 55 started with many exchanges that left RBN vs RRN after move 21, Stockfish an exchange down but with two more pawns. The evals were a little in white's favor but after exchanging a pair of rooks the evals dropped to zero. The pawns advanced as far as they could and the position became static, ending the game in a repetition draw.
The reverse game started similarly, reaching a RBN vs RRB position after move 21 and Komodo with an extra pawn. The evals were close to zero when Komodo chose to give back the exchange, it had an advanced passer and a centered king in a RB vs RB ending. Stockfish had no problem holding its position, it took another 20 moves but the game ended in a draw.

Game 57 was a 22 move miniature that ended in a repetition draw, while Stockfish was two pawns down. It is interesting to note that Stockfish saw the outcome in its PV starting from move 10.
In game 58 Komodo avoided an early queen exchange, Stockfish had a pawn advantage in a closed position. After a few exchanges the position opened with QRB vs QRB remaining, and the evals dropped to zero. Komodo gave a pawn and ended the game with a perpetual check.

After 58 games Stockfish leads by 13-5 with 40 draws. There are only 6 games remaining so Stockfish will win the match, regardless of the results of the last games.