Saturday, October 31, 2015

Season 8 stage 3 rounds 26-30 and final results

The final results for stage 3 are:

Congratulations to Komodo and Stockfish, the finalists of season 8 !!!
This was the obvious result but the strength of Gull in the first half of the stage, together with Stockfish losing several games on time, made the path to qualification very much unexpected.

There were some more problems with web access and down time of the live website, but after some code fixes the site was back faster than ever, and no need to reload for updates.

Stockfish lost on time again, unbelievable. It happened against Hannibal when qualification was almost determined theoretically so the crowd response was not so loud, but still - this was the version that was supposed to have better time management. Obviously the bug is still there, and according to the chat it could still be there in the finals. Any long game that gets Stockfish near the increment is going to be touch and go unless something is done soon. Against Komodo there will be no chance of getting easy points, and losing a few games on time can determine the match outcome.

Hannibal-Protector was another short draw, this time 24 moves. Hannibal-Komodo took 28 moves to draw. The engines had enough of stage 3 and wanted to go home and rest for the finals or for next season.

Gull-Stockfish was the last chance for Gull to get close to the leaders. However it was Stockfish who tried to win with black, but it could only get a pawn advantage which was not enough for the endgame. Only a draw for Gull against Houdini and it was two points away from Stockfish with two games left. Stockfish prolonged the theoretical possibility when it lost on time against Hannibal. Stockfish beat Protector in a beautiful come-back into a difficult ending RB vs RBN, and Gull's run was over officially.

The last Stockfish-Komodo game before the finals ended in an uneventful draw. This completes 6 straight draws between them in stage 3, very likely that we will see many more draws in the finals (hopefully not a lot of crashes and bugs...)

Notable game
Komodo-Gull, round 26
Game on TCEC archive

On move 35 the position was:

Gull seemed to be on the sure path towards a draw. Komodo had an isolated passed pawn while Gull had a pawn advantage on the queen side. There were only a few pieces left on the board, but Komodo found a way to create some excitement. The white knight moved forward, sacrificing the a4 pawn to get to e6.

That knight was in a strong position, and the black king was starting to feel pressure. Komodo advanced the g pawn trying to open the king side, and in the process sacrificed another pawn and then a rook sacrifice?!?

False alarm, Qf4 and the threat of Qb8 saves the rook. Moreover Komodo's eval jumped above 1 as Gull's king became exposed. Gull's eval soon followed, was this another loss for Gull? After a second long think by Gull the path forward became clear, both engines agreed on their moves for over 20 moves in their PV.

Komodo was going to win some material but only to reach a QB vs Q ending with almost no pawns. Indeed the game followed along this line, and Komodo's eval started drifting downwards. The excitement was over - once the pawns started to disappear it was clear the game was heading to a tablebase draw. Gull pulled a great defense against Komodo - something only very strong engines can do.

Friday, October 30, 2015

Season 8 stage 3 full stats

Draw rate, wins

Final draw rate was 56.6%, only a little higher that in stage 2. 

Moves per game

Average= 76.85
Median= 69.25

These numbers are similar to stage 2.

Time per game (hours)

Average= 5:16
Median= 5:27

The games are about an hour longer than in stage 2. There is a pattern here, every stage the games are longer by an hour. Why? because the engines are given half an hour more (each) than they had in the previous stage. We can expect a median of 6:15 hours for the final.


There were 8-move book openings in this stage chosen by Cato, so the engines had almost no say. The first letter of the ECO codes was distributed as follows:

Looking at The histogram shows that Cato chose a wide variety of openings with some preference to Sicilians.

If we use the opening 'family name' (using format FAMILY_NAME: VARIANT....) the top 3 are:

Sicillian - 20 times
QGD - 6 times
French, Spanish, King's Indian, Nimzo-Indian - 4 each

Reverse pairs, wins

Cato chose biased openings intentionally so that there would be more decisive results. However, as the graph shows there were very few openings (2 actually) so biased that each engines won a game. The strength of the engines was such that there were only a few openings with a 2-0 result. Excellent job, Cato !!!

Reverse pairs, same moves

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

Divergence was usually within the first move (2 plies). This shows that Cato chose openings that didn't have forced continuations so that each engine could try its own strategy. As always, it's Cato's fault. Cato is the best !!!

Monday, October 26, 2015

Season 8 stage 3 rounds 21-25

After 25 rounds (5RR) the crosstable is:

Gull continued losing points and it is now 2.5 points behind Stockfish in second place. After losing to both Komodo and Stockfish it is now difficult to imagine Gull making a comeback and reaching the final.

Komodo-Hannibal got into a knight for 3 pawns imbalance.The game reached a RRN vs RR ending with Komodo losing all its pawns. I don't know what the theory is for this ending, but Hannibal managed to hold a draw even with no tablebase help.

Stockfish managed to beat Gull in a Rook ending, turning a passed pawn on one side to a winning advantage on the other. Stockfish saw the win long before Gull caught on, having no tablebase assistance. In the next Stockfish game, black against Hannibal, Stockfish fought hard for a two pawn advantage. Unfortunately the game reached a opposite color bishop ending and two pawns were not enough, Hannibal holding another draw.

The RR ended with the Komodo-Stockfish game. On move 28 of the game things started to get exciting when Komodo's eval jumped suddenly and Stockfish was under pressure, a rare occurance in this season so far. Stockfish defended well, first exchanging a rook for a bishop and trading queens, and then getting the exchange back. Komodo had an extra pawn but the opposite bishops ending was a sure draw. Another feature of this game was that a little after the excitement started the website went offline for a long time, and the viewers were left in the dark as to how the game was unfolding. The web host apparently was undergoing maintainance, could it be something to do with the end of the daylight saving period?? Hopefully this will not happen again, it is very annoying to have no access to the live games.

Notable game
Protector-Komodo, round 23
Game on TCEC archive

The game was balanced and not many pieces were left on move 34:

 Here Protector decided to go after the queen side pawns with its queen. In the process the queen walks into a trap:

The white queen can't move! On the other hand the black queen is neccesary for the trap, so altogether the position is still balanced with the queens out of the way. A few moves later Komodo finds an unexpected maneuver to create a decisive advantage: the king goes on a walk:

It walked from g8 to c3 with no pawns or pieces to stop it. Komodo sacrificed a pawn in the process, but with the king as an additional piece behind the white lines it has more than enough compensation. When Komodo releases the white queen the game soon enters a queen ending, but black has a two pawn advantage, enough for a win.

Friday, October 23, 2015

Season 8 stage 3 rounds 16-20

After 20 rounds (4 RR) the crossable is:

What a turn-around. Gull drops from first to third in the fourth RR. Komodo is now comfortably in the lead, and Stockfish is second (remember its two losses on time in the first RR, losing 1.5 points including 0.5 to Gull). This is what was expected so there is less tension for the fans (especially SF fans like me). However, Gull has proven it is very strong and hard to beat, and with only 10 games per Engine left anything can still happen.

Komodo was on fire this RR with a result of 4.5/5. Only Stockfish could get a draw against it.

Protector-Hannibal managed to find a draw faster than the reverse game, this time in 19 moves. Protector also had two wins in the fourth RR, after only one in the first 3 RR (not counting the game against Stockfish which was lost). The first win was against Houdini after a long shuffling match. The second win was against Gull with the assistance of the king's gambit opening.

Hannibal held for 30 moves against Komodo, but blundered in the end to allow Komodo to reach a won rook ending.

Stockfish managed to get a draw out of its hard opening against Gull.

Notable game
Komodo-Gull, round 16
Game on TCEC archive

The opening favoured white but nothing Gull couldn't handle, right? On move 22 the position was:

The queen side was locked with pawns but the g file was open after Gull advanced its king side pawns. That left both kings a bit open to attack, not clear where black's king can go and how to develop black's queen and rook. Komodo then placed two rooks on the g file while Gull tried to untangle itself by attacking the center:

This was a serious mistake because Komodo used a bishop and knight on both sides of the board to trap Gull's king in the center and freeze the queen side entirely:

Komodo then opened up the king side, temporarily giving up a rook for a bishop but clearly in the lead. Gull gave back the exchange to get rid of the knight on b6 and was only a pawn down when the dust settled:

The evals show the reality of the position. After exchanging the rook and queen the combination of a passed f-pawn and all the black pawns on white squares ensures the win for white.

Monday, October 19, 2015

Season 8 stage 3 rounds 11-15

After 15 rounds (3 RR) the crosstable is:

Gull is still in the lead !! Stockfish and Komodo are 1.5 points behind and need to start working hard if they want to both qualify for the final. There is a real possibility that only one will qualify against Gull, an enormous surprise if that happens. Stockfish managed to equalize with Komodo in the third RR, but Gull had the same record as Stockfish, 3.5 points without loss. Looking forward to the reverse games in the next RR the Komodo-Gull has potential of a loss for Gull. On the other hand the Gull-Stockfish is dangerous for Stockfish since Gull had to work hard to get a draw in the opening they had.

Hannibal-Protector was a very quick draw by repetition after 23 moves. All the spectators were grateful (perhaps not all).

Gull-Houdini reached a fascinating RNN vs RBN with pawns ending, Gull with a pawn advantage. Gull gradually increased its eval until it was well over 2, Houdini steered the game to a NN vs R endgame. Here Houdini used its tablebase advantage to make sure the outcome is a draw, sacrificing the rook to get to a KNN vs KP 5-man position. This is also a game to look out for in the reverse matches.

Hannibal-Stockfish seemed to be heading to a draw as well. Stockfish was slightly ahead with a BP vs R exchange, but there seemed to be not enough pieces and pawns on the board, and the evals were static for many moves. Somehow the queens were exchanged and Stockfish managed to convert the RB vs RR ending.

The Komodo-Stockfish is last in the RR. This time Stockfish pushed for an advantage but could only reach a rook and pawns ending which soon reached a tablebase draw. We'll see if Komodo can do better in the rematch.

Friday, October 16, 2015

Season 8 stage 3 rounds 6-10

After 10 rounds (2RR) the crosstable is

Gull in the lead !!
And I thought that a Komodo-Stockfish final was guaranteed. Now we have a real fight on our hands and the tension is rising.

Draw rate is up to 50%. There were many draws in the reverse matches. Although Cato promised unbalanced openings only one opening resulted in two same color wins. The most common result was win+draw, showing that the openings can be defended if played right (against a weaker opponent). To me this is an indication that the openings were chosen well. Well done Cato!! Let's hope the next openings work out just as well.

Stockfish reverted to the stage 2 version and it is doing ok (3/5) so far. The newer version gave 1.5 points to opponents by losing on time, and I hope Stockfish will be able to compensate for that in the following rounds. Gull is currently leading without loss, drawing most of its games but still winning a few. It would be a big surprise if it reaches the superfinal, but if it stays unbeaten this could happen.

There were several long boring draws. In particular Hannibal drew against Protector and Houdini (record 212 moves). One of the reasons for these long draws is that Hannibal is using a contempt of -0.16, making it more cautious. This has a side effect that a drawn position gets an eval of 0.16, too high for the TCEC draw rule, so draws are not adjudicated early.

Notable game
Protector-Houdini, round 7
Game on TCEC archive

The game reached a RR vs Q with pawns ending after 40 moves. After most pawns were taken the following position was reached:

Houdini was relaxed. All it had to do was keep the king hidden and let the white rooks run around under the black queen's supervision so as not to be mated. However, Protector managed to drive the black king out:

 With clever maneuvering of the rooks Protector led the black king away from the pawns.

With the 50-move counter reaching 1 Protector managed to take a pawn before the forced draw, and then it was easy to get the second pawn and win the game. Very impressive, but the question remains: could Houdini have held the draw?

Monday, October 12, 2015

Season 8 stage 3 rounds 1-5

After 5 rounds (1 RR) the crosstable is:

Cato promised unbalanced openings (he even posted a video explaining this decision), and that's what we got. So far the draw rate is 33%. The real strength of the engines will appear only after considering the reverse games in the second RR.

The main issue in the starting rounds of stage 3 is Stockfish. Huge volumes of discussion were spent on this and will continue to do so for the near future, but here's a short digest:
- Stockfish was updated for this stage, the new version was supposed to be stronger because of better usage of the many cores available on TCEC.
- However, the update caused Stockfish to use more time (season 7 deja vu), and to make things worse when it came close to the 30s increment a bug caused it to use a little too much time and to lose games on time. This happened twice, against Gull in a drawn position, and against Protector just before it won by adjudication. Martin posted a video to explain what had happened.
- This caused a heated discussion about what to do, and in the end the decision was to revert Stockfish to the stage 2 version and to let it play on. Hopefully the games will continue smoothly from here on.

Houdini surprised everyone by beating Komodo. After a balanced opening Houdini got into a RPP vs BN game. It took a few moves until Komodo realized it is in trouble, and from then the evals increased gradually until the end. We will see how Komodo reacts in the reverse game.
Gull-Hannibal reached a KBB vs KNP ending. The position was drawn according to 6-man tablebases. However, both engines did not use the available 5-man of TCEC, Gull thought it was winning and Hannibal thought not. Both engines made several mistakes along the way until Gull managed to take the pawn. The resulting 5-man position was adjudicated as won for Gull, but it was a mate in 59 and it's far from clear if Gull could have really won on its own.

Friday, October 9, 2015

Season 8 stage 2 full stats

Draw rate, wins

The final draw rate was 50%, the second RR had a draw rate of 39.4%, compared to the first RR that had 60.6% draws. Funny, isn't it?

Moves per game

Average = 76.3
Median = 66.75

Decisive games tend to be shorter, the second RR had shorter games than the first. Still the games of stage 1 were shorter by about 5 moves.

Time per game (hours)

Average = 4:41
Median = 4:33

Similarly the second RR games reduced the overall time per game by a few minutes, still about an hour longer per game than stage 1.


Two move book openings were used in pairs of reverse games. This means there may be a tendency of openings repeated in reverse games, but engines could choose different paths after the only two moves. Indeed, of the 132 games there were 104 distinct openings, looking at full opening names. The most repeated openings were:

Queen's Pawn: Modern : 4 times
Four Knights: Italian Variation : 3 times
Neo-Gruenfeld, 6.O-O c6 7.Nbd2 Bf5 : 3 times

Using ECO codes there were 66 different openings. The top 3 ECO codes were:
A01 6 times - Nimzovich-Larsen attack
B22 6 times - Sicillian, Alappin's variation
A36 5 times - Englsh, Symmetrical variation

Using only the first letter of the ECO codes we get the following distribution:

This is almost a copy of the first RR histogram, as expected from the reverse pairs.

If we use the opening 'family name' (using format FAMILY_NAME: VARIANT....) the top 3 are:
English - 27 times
Sicilian - 21 times
QGD, Queen's Pawn, Reti - 9 times each

Reverse pairs, openings

How many of the reverse pairs had the same opening by ECO? by full name?

More than half had different ECOs and more than 2/3 had different full name openings. The 2-move books allowed the engines some flexibility to choose how to proceed.

Reverse pairs, wins

64% of the pairs had a decisive result, either 2-0 or 1.5-0.5. Almost all of the drawn pairs consisted of two draws. There were only 3 pairs where each engine won once, i.e. two wins by the same color. These openings are suspected to be biased. However, looking at the games (Houdini-Ginkgo, Texel-Houdini, Nirvana-Ginkgo) it was well into the games that the advantage appeared, apparently very little to do with the first two moves.

Reverse pairs, same moves

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

Divergence was usually within the first 2 moves (4 plys) after book. One pair (Gull-Nirvana, Four Knights: Italian Variation) held for 10 moves and one pair (Komodo-Stockfish, Trompowsky: 2...Ne4 3.Bf4 c5 4.d5 Qb6) held for 6 moves.

Season 8 stage 2 final results

The final crosstable of stage 2 is:

The qualifying engines are Komodo, Stockfish, Houdini, Gull, Protector and Hannibal. Congratulations to the qualifiers and good luck in the next stage. We all know who will reach the finals right? To the losers, get better and see you in the next season.

The qualification race was very tense and went on until the last game. Nirvana dropped from the race first, losing ro Komodo. Protector, Ginkgo, Texel and Fire kept their places with draws, while Hannibal's loss to Houdini put it in 7th place after round 21. Every game in the last round mattered. Protector's win over The Baron made sure it qualifies. Fire needed a win against 'draw master' Gull, but instead Gull won and Fire was out. In the next game Texel surprised everyone including itself when it beat Houdini. The game was very long, including several shuffling stretches, but Texel kept improving not through Houdini blunders or 50-move horizon effects. Perhaps a better engine would have won faster. In any case Texel couldn't qualify due to its low tie-break score, but it got close. Then came Hannbal's win over Chiron, this put it ahead in the race with the last chance going to Ginkgo in the last game against Nirvana. Right from the start of the game it became clear that Ginkgo could at most get a draw which was not enough. The only hope for it was a Nirvana crash, but in the end Nirvana won and Ginkgo was out.

The remaining game was Stockfish - Komodo. Komodo has already made sure of winning the stage but still everyone wanted to see the outcome. True to its reputation, Stockfish attacked fiercely with a pawn storm against Komodo's king. The eval peaked briefly above 1 before coming down again as Komodo fought back. Stockfish got a pawn advantage in the resulting queen ending but a draw by perpetual check was quickly reached.

Notable game
Komodo - Nirvana, round 21
Game on TCEC archive

Komodo won against Nirvana, again showing its incredible power of winning in what seems to be a sure draw. At move 24 the position was:

The material is almost equal, evals are leaning toward white but the path to a victory is not clear. For the next 25 moves it appeared that not a lot changed. Komodo advanced its pawns on the king side and Nirvana chose to send its king to the queens side protecting the b-pawn. Could Nirvana really hold out? At move 54 Nirvana sacrificed a pawn to exchange a knight for a bishop.

The remaining bishops were of opposite colors, a sure sign of a draw even with a pawn advantage. Black's weaknesses were that its king was confined to the wrong side and its king side pawns were all on black squares. A few moves later the b-pawns were gone, and there were a series of moves which were hard to follow. Komodo knew what it was doing and its eval increased gradually. The object was to be able to advance the e-pawn, and Komodo managed this on move 80.

From here the threat of queening forced Nirvana to lose material and the game was over. A remarkable win for Komodo.
After this loss Nirvana was out of the qualifying race.

Tuesday, October 6, 2015

Season 8 stage 2 after 20 rounds

After 20 rounds, only two rounds to go in stage 2, the crosstable is:

Protector, Hannibal and Ginkgo are fighting for two qualification spots, while Nirvana, Fire and Texel have a very slim chance of overtaking them with only two games left. Nirvana's games in rounds 18-20 were especially disappointing, with a loss to Fire and then a crash against Houdini in a drawn position. There may still be surprises, and there are still two head-to-head games between contenders that are very important: Ginkgo-Protector and the last game of the stage Nirvana-Ginkgo.

The draw rate is now at 52%.

Houdini managed to get a win against Ginkgo in the longest game of the stage (226 moves). This was another example of an engine throwing away a game in a drawn position because is thinks it is ahead and it would rather play bad moves than accept a 50-move draw. This time Ginkgo made the mistakes.

The Baron scored a draw after 13 straight losses. This cost Hannibal an easy half-point which may be important in the qualification race.

Gull beat Texel in only its third win in the stage, in an interesting minor piece ending. In the very next game Gull lost for the first time this stage to Protector. This game reached a knight and pawns endgame which reached a KNPP vs KN position with doubled pawns. This was a 6-man tablebase win that Gull may have tried to avoid if it had access to tablebases.

Komodo, again with a perfect record in rounds 18-20, gained another 1/2 point over Stockfish. It is now almost certain to win the stage. Stockfish managed to beat Houdini in their rematch, gradually transforming a closed position into passed pawns and a queen. However, in the current Komodo form it is hard to see Stockfish beating Komodo in their rematch.

Friday, October 2, 2015

Season 8 stage 2 after 17 rounds

The crosstable after 17 rounds is:

The engines have only 5 games left to play and the qualification picture is getting clearer. It is going to be very difficult for Texel, Fire and Chiron to reach 6th place. Though it is theoretically possible they haven't scored any win against engines ranked above them, and I see no reason for them to start now. The real race is in ranks 5-8, with Ginkgo and Protector having a small advantage over Hannibal and Nirvana.

In the 'not so important' race for first place Komodo has a full point advantage over Stockfish. Komodo won 3 straight games, all three were very close to draws but Komodo managed to outplay its opponents in the endgames. Stockfish could only manage a draw against Gull, costing it a half point in the race.

The draw rate is down to 54%. The games in the second round robin are a lot less drawish which is a bit strange, but there it is.

Houdini lost to Protector in a quick massacre, and it lost to Komodo in a game that was completely drawn until Houdini threw it away. It has a perfect score against the last 4 engines but only 3.5/10 against engines in top 8. Houdini will qualify but it may have a very hard time in stage 3.

Notable game
The Baron - Nirvana, round 17
Game on TCEC archive

This game wasn't important and its outcome was as expected, but it reached an unusual imbalance which was nice to see. At move 16 with a balanced position Nirvana had a knight under threat.

Instead of moving away Nirvana chose to attack and started a long series of captures and exchanges. First it sacrificed a bishop and queens were exchanged.

A few moves later white was a rook up in return for two pawns, but the white pawns were scattered and the king was exposed.

The combination was complete with Nirvana down a rook but up 4 pawns. The black eval suggested that the pawns were sufficient compensation for the rook but not enough for a win.

However, as white was The Baron it was natural that it misplayed the ending, first losing the remaining pawns and then the knight. The black pawns were unstoppable in the end.