Saturday, December 10, 2016

Season 9 is over !!

I'm finally done with my TCEC backlog, I was trailing the superfinal by as many as 20 games which can be frustrating. TCEC stops for no man (unless the server crashes) and we have to keep up. Now I have time for a few remarks to close the season.

This season was so long I forget how it was in the early rounds. Stockfish was dominant the whole season, as it was in season 6 when it won a TCEC superfinal for the first time. This season's superfinal seemed to be decided quite quickly. Houdini was able to win several games but Stockfish gained points much faster. For me stage 3 was more interesting to watch because of the close race for second place between Houdini and Komodo. I believe that Komodo would have been a tougher opponent for Stockfish in the superfinal, but we'll never know.


Houdini made a comeback this season. For several years it was not updated and Stockfish and Komodo were consistently better. It was even close to dropping below third place. This season in stage 3 Houdini got a new version which was much stronger, and it beat Komodo in stage 3 to reach the superfinal. There is now a new commercial version of Houdini which is available. It needs to be continually developed if it wants to stay at the top level of computer chess.

There were two controversial games this season. The first was in stage 3, where in the first game Komodo lost to the new Houdini version, but the the game was replayed since Komodo played with the wrong parameters. The second was game 17 of the superfinal where both engines thought the game was a draw but the tablebase decision was a win for Stockfish. The win disregards the 50 move draw rule, which explains why the engines ignored it. There was never an official decision about this game.

The tournament director Anton was missing in the later parts of the season, sometimes causing confusion about procedure. In particular for a long time no one knew when the superfinal would start, even if there would be a superfinal at all. The rapid tournament that followed stage 3 was also a surprise, and in my mind it should not be a part of TCEC, and especially not between stage 3 and the superfinal. I hope that season 10 will be organized better.

I celebrated a few achievments for the blog:
- more than 100 posts
- readers from all over the world, all 6 continents represented
- more than 1000 hits in one month this November
- over 7000 all time hits
- google search 'tcec statistics' and 'tcec season 9' finds the blog
All this was achieved with the help of YOU, so thanks a lot. One thing that I would like that is missing so far is feedback. If you have a suggestion, an opinion or a question regarding a post you can add it as a comment. This could enrich the blog and make it more interesting.

I need a long break from TCEC, I hope to return for season 10 to enjoy more high level computer chess.
Bye for now.


Friday, December 9, 2016

Season 9 superfinal, games 93-100

Stockfish is the winner of the season 9 superfinal !!!
We've known that would be the result for some time now, but now it is official.

After 100 games the result is 17-8 with 75 draws.

Stockfish started game 93 with an eval advantage that gradually increased. The pawn structure was a mess for both engines and both kings did not castle. Starting from move 17 the engines played out a sequence of 14 moves they both predicted, in which Stockfish sacrificed a knight and got it back, queens were exchanged, and Houdini's king side pawns were gone. At move 30 only RRB vs RRB remained.



Stockfish's connected passers were a long term threat that Houdini had to deal with. It used the rooks to make checks and attack the white pieces. Stockfish was patient and made a pawn move whenever it had a chance and only if it was safe. The pawns were half of the way across when Stockfish exchanged the bishops. 



Houdini could only delay the inevitable with its rooks. Stockfish just had to be careful not to get mated and to avoid perpetual check. Once the pawns got close enough to queening the game would be over. With this win Stockfish goes up to +10.
In the reverse game Stockfish shut down Houdini's attack very quickly. The king side pawns remained intact and both kings castled. Evals fell to 0 as the engines continued to exchange pieces, reaching  BN vs BN position on move 33. The game ended in a tablebase draw.

Game 95 started with an advantage for black, a rare occurence in the match. Houdini was a pawn up out of the opening, Stockfish gave a second pawn to get the initiative. After clearing the center there was a series of exchanges,. leading to material equality and a drawn rook ending.
Stockfish got nothing out of the opening in game 96, evals were close to 0. There was a pawn advantage for black on the queen side, but Houdini's position looked quite safe and the game seemed to be going nowhere. There was a long shuffle in which Stockfish's king walked to the queen side, preparing a break on the king side, while Houdini was getting very low on time. When the break came the evals increased to about 1 (for black), the king side opened and the game reached a double rook ending with Stockfish a pawn up. However Houdini managed to hold the position while playing on increments. It exchanged pawns and a pair of rooks to get to a rook ending with 2 vs 1 pawns on the queen side, a draw. This was probably the closest to a black win we would get in the match.

In game 97 Houdini gave a pawn and opened the center. After many exchanges the game reached a RBN vs RBB position, Stockfish a pawn up while Houdini had a passer on the queen side. To stop the passer Stockfish exchanged the minor pieces leading to a drawn rook ending.
In game 98 the position remained closed with very few exchanges. Evals remained close to 0 when the king side opened and both kings became exposed. Instead of attacking the engines settled for a repetition draw on move 35. Are the engines tired after a long match and want to go home?

Houdini's king stayed uncastled in game 99, Stockfish attacked the king side with its pawns after castling long. Stockfish sacrificed a pawn and tried to open up the king side, Houdini's defense remained strong and the result was a quick repetition draw on move 32.
In the final game 100 Stockfish castled into the pawn storm on the king side which looked dangerous. Houdini sacrificed a pawn and got a strong king side attack while trapping one of the black bishops, evals climbed above 1. Stockfish realized it was in trouble and it exchanged pieces giving a rook for a bishop and pawns to get to a RRB vs RBB position.



The black bishops were on the edge of the board and it took a few moves to put them in better positions. Meanwhile Houdini was capturing pawns, clearing the queen side and creating passers. Stockcfish tried to block the king side with its remaining pieces but it was hopeless.



The white pawns started to march and Stockfish did not have enough strength to stop all of them. It was able to trade one of its pawns for one of the passers but no more. When Houdini's remaining pawns reached the 6th rank Stockfish resigned. Houdini won the last game, but it was Stockfish that won the match.

Tuesday, December 6, 2016

Season 9, superfinal stats

Draw rate, wins

Final draw rate was 75%. In the superfinal last season it was 89%, many more decisive games this season, more fun to watch. There were no black wins, only a few of the openings (one?) had a black bias and all these games ended in draws.


Game termination

The three most common game termination causes were:
35% - TCEC draw rule
24% - TCEC win rule
24% - TB position

Moves per game


Median=58.5
Average=63.7

The games were a little shorter than in stage 3, draws were usually shorter than decisive games. Another example of the 'superfinal draw effect': high level + drawish games => short draws.

Time per game (hours)
 
Median= 5:45
Average= 5:39

Games were longer than in stage 3 by about an hour. This agrees with the addition of 30 minutes to each engine's clock. However it contradicts the 'superfinal draw effect'.

Openings

The first letter of the ECO codes of the superfinal openings was distributed as follows:
 
Openings were chosen by Jeroen Noonen, I assume with more human-oriented criteria than what Cato used in previous stages and seasons. As a result there were more open games (C) and Sicillians (B) and less flank openings (A).

If we use the opening 'family name' (using format FAMILY_NAME: VARIANT....) the top 3 are:
Sicillian - 14 times
French - 8 times
King's indian - 8 times
Spanish - 8 times

The number of predetermined moves varied depending on the opening, the opening lines were usually quite long. All the reverse pairs had the same ECO code, in 4 openings the full opening name was different.

Reverse pairs, wins

There were only 3 cases of an opening with two white wins, potentially a biased opening. This includes the notorious game 17. All in all excellent opening choices.

Reverse pairs, same moves

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

Most games (62%) repeated at most 1 full move, only 16% repeated more than 2 moves. This is the usual outcome of the excellent opening choices in TCEC, very few forced lines or trivial continuations after the predetermined book moves. The longest repeat was 7.5 moves in games 29 and 30.


Monday, December 5, 2016

Season 9 superfinal, games 85-92

After 92 games Stockfish is leading 16-7 with 69 draws. With only 8 games left and a lead of +9 Stockfish is officially the winner of the match (if game 17 status is changed to a draw then Stockfish is still 0.5 points short).

Game 85 was a Benko Gambit, white started with a pawn up and a passer on the queen side. Stockfish had an small eval advantage after the opening and the action was focused on the open queen side. Houdini brought all its pieces there to block the white pawns. After a knight blocked the b-file and the queens were exchanged the evals started to fall to 0.  After opening the king side Stockfish got the pawn back and created passers in the center. Eventually Houdini had to give up its passer to stop the black pawns, the engines continued to exchange until reaching a drawn rook ending.
In game 86 Houdini took a different approach. It gave up the pawns advantage and the passer to open up the queen side for its queen and rook. This led to many exchanges and a RN vs RN position on move 30. Houdini's eval advantage was gone a few moves later. Stockfish exchanged the rooks and the pawns were quickly captured, when the last white pawn was gone Houdini could not win with only a knight. Two Benkos, two draws.

Game 87 started with both kings in the center and with black's king side open. Stockfish captured two pawns in the center but its king was stuck and could not castle while Houdini's king castled long. Houdini attacked through the king side with a QN combination, leading to exchanges and a RRB vs RRB position. Stockfish was still a pawn up but Houdini's rooks were more active. After exchanging a pair of rooks the extra pawn was not enough in an opposite color bishops setting.
In game 88 both kings remained in the center and queens were exchanged early. Houdini was a pawn up and Stockfish attacked through the king side, leading to a series of exchanges and a rook ending by move 28. Evals fell quickly to 0 and the game ended in a draw after most of the pawns were gone.

Game 89 started with black a pawn up, the queen attacking and pieces in awkward positions. The evals stayed low throughout the game, both kings did not castle but were relatively safe once the queens were exchanged. Only RRB vs RRN remained after move 28, and after a few pawn exchanges Stockfish ended the game with perpetual check.
In a similar position in game 90 Houdini offered a bishop sacrifice to open up the king side but Stockfish declined. After a series of exchanges Houdini was a pawn up in a double rook ending on move 31. The engines eliminated the queen side pawns, then exchanged a pair of rooks. The remaining rook ending was a draw but it took about 50 moves for the engines to agree.

Game 91 started with a closed Spanish opening, most of the pieces remained on the board with pawns mostly locked. Stockfish had a small eval advantage, perhaps a small space advantage and two knights that are stronger in closed positions. Houdini's bishops were quite miserable.



Stockfish's eval gradually increased though it was not clear why at first. Houdini exchanged knights, leaving Stockfish with one while Houdini had none. There were many weak pawns, both black and white, in particular the black b4 and g4 pawns could not be defended. After exchanging queens the black king side pawn line was broken and evals were over 1.5.



Taking its time Stockfish captured the b and g pawns, exchanging a rook pair in the process with RBN vs RBB remaining. Stockfish then sacrificed two pawns and created 3 passers across the board.



Houdini also had two passers but the white pawns were a more immediate threat. Houdini could not defend against all three without losing material. Stockfish squeezed a win out of this closed position, it is at +9.
In game 92 the engines exchanged more pawns and the position was more open. After opening the queen side both engines had a passer there. The engines exchanged queens and Stockfish gave the queen side passer and gained one in the center. Stockfish's eval at this point fell to 0, Houdini kept a small eval for a while longer. The game reached a RN vs RB position, Houdini kept one last pawn but it was not enough for a win.

Season 9 superfinal, games 77-84

After 84 games Stockfish is leading 15-7 with 62 draws. For the first time in the match Stockfish increased its lead to +8. The remaining 16 games are really a formality, the winner will be Stockfish.

Evals stayed close to 0 in game 77. Both engines seemed anxious to exchange all their pieces, so that on move 32 the game reached a rook ending. The engines continued to capture pawns until only one was left in a tablebase draw.
The reverse game was similar, reaching a RB vs RB position on move 26. Stockfish was a pawn up but the evals were at 0. For 40 moves the engines either shuffled or captured pawns until there were no more pawn moves left and the game was adjudicated a draw.

Houdini's king stayed in the center in game 79, Stockfish castled long and opened the king side for a potential attack. Evals climbed to around 1 but got no higher, Stockfish took over the g file with its rooks and queen but could not make any effective threat. After exchanging a few pieces the best Stockfish could get was a 3-fold check repetition.
Stockfish castled its king in game 80 and had to be careful about Houdini's king side pawns exposing its king. Stockfish's king used a white pawn as a shield while it developed a counter attack on the queen side against white's king. Houdini tried a rook for bishop trade to open up the king side, Stockfish gave the material back and exchanged down to a drawn RB vs RB position with opposite color bishops.

Game 81 was balanced out of the opening with a small eval advantage for Stockfish. Early in the game Houdini sacrificed a knight for pawns and created connected passers on the queen side.



Stockfish got rid of the black knight in its territory with a trade and then blocked the passers with a bishop. It then countered on the king side, causing Houdini to give up its passers. After several exchanges only RBN vs RB was left.



The extra white knight was more significant with less pieces on the board, evals were increasing rapidly. After exchanging several pawns Stockfish held on to its last one while its pieces surrounded the black king. The game ended before Houdini started to lose material. A dangerous sacrifice that backfired by Houdini. Stockfish goes up to +7 again.
The queen side was gone after 30 moves in game 82. Houdini had a small eval advantage and a weak passer, after exchanging queens only RBN vs RNN remained and Stockfish's eval fell to 0. The engines played on for another 25 moves, Houdini's eval was also 0 when only rooks remained and the game ended in a tablebase draw.

Game 83 was a Fried Liver attack line of the Two Knights defense, where white sacrificed a knight for pawns and the black king was exposed in the center. Houdini's king found refuge in the queen side surrounded by pieces while Stockfish e+f pawns looked intimidating.



Stockfish's eval increased to nearly 3 as the pieces were exchanged, Houdini gave the piece back and only QR vs QR remained with Stockfish a pawn up. Houdini's eval was only a little over 1, could it hold the endgame?



Stockfish soon took over the king side. The f pawn was on the 6th file and Houdini had to block it. When the h pawn started to march supported by the white king Houdini had no option but to resign. Stockfish's lead is +8, but can it hold this opening with the black pieces?
In the reverse game Houdini's eval rose to about 1 with its e+f passers while Stockfish had a knight advantage and its king walked to the queen side as before. However in this game after the exchanges Houdini got the material back and was two pawns up in a double rook ending. Only one of the extra pawns was a passer, the other was doubled. Stockfish was able to hold the position with a threat of perpetual check, the evals fell to 0 and a draw was agreed. Somehow Stockfish found a defense in this imbalanced opening. 

Sunday, December 4, 2016

Season 9 superfinal, games 71-76

After 76 games Stockfish is leading 13-7 with 56 draws. With 24 games to go Stockfish will almost certainly win the match. Houdini seems to have an advantage only in long games with time running out, and this doesn't happen very often.

Game 71 started with an eval advantage for Stockfish. There were many early exchanges and the game reached a RRN vs RRN position after 23 moves.



Houdini's queen side pawns were weak but the position looked defendable, not a lot Stockfish could try. Nevertheless as the game continued Stockfish's eval started to climb, it definitely saw something. At the right moment Stockfish played f5, temporarily losing a pawn and disrupting the black pawn structure.


After exchanging a pair of rooks and capturing a few pawns the white h pawn became a passer and Houdini had to keep an eye on it so it couldn't promote.



From here it was an easy win for Stockfish, Houdini was forced to lose the knight to get rid of the h pawn, and Stockfish could use the material advantage to win using the queen side pawns. Stockfish goes +7 again.
There were less exchanges after the opening of game 72, and after queens were exchanged the pawn lines became static and the engines started to shuffle.


Apart from a few pawn moves and the exchange of a pair of knights nothing happened in the game. The evals climbed above 1.5, Houdini had a space advantage and it had a few pawn moves it could make that would break the black pawn line, but it chose to wait.


The engines continued to shuffle for another 35 moves. They were getting low on time and the game entered blitz mode. Houdini opened up the queen side and brought its king to the center. After exchanging a knight for a bishop Houdini's eval started to increase. It created a passer on the queen side and exchaged down to a rook ending.



Stockfish could not stop the passer without allowing the white king to infiltrate the king side and attack the black pawns. This is the second time Houdini won by waiting for Stockfish to be low on time. Both games of this opening were a win for white, but with very different winning strategies. The lead is back to +6.

In game 73 Stockfish attacked with its king side pawns, leaving the king a little exposed. However the center was blocked and the white king was not in any danger. Houdini formed a defensive line across the board, and evals climbed above 1 when it gave a rook for one of the white bishops. After exchanging queens only RRB vs RBN remained, and Stockfish continued to shuffle since it couldn't break Houdini's line. The game was adjudicated a draw when both engines lowered their evals enough.
In the reverse game Houdini kept its king side pawns near the king, The center was wide open, white had a pawn advantage on the king side, black on the queen side. After a series of exchanges only RB vs RB remained. Houdini managed to be a pawn up but with opposite color bishops this wasn't enough to secure a win.

All the pawns were still on the board until move 25 in game 75. There were a few moves where Houdini's eval was in its favor as black, a rare event in this match. Houdini had a space advantage but nothing more, its eval got back to 0 and stayed close to it for the rest of the game. After opening a few files the engines exchanged all rooks and then shuffled until a draw was agreed.
In game 76 Stockfish seemed to develop a dangerous attack on the white king on the queen side, with the king exposed and facing a QR combination. Stockfish's eval was a constant 0 though, so it didn't believe the attack was effective. Indeed the engines exchanged pieces until only the kings and pawns were left, and draw a few moves later.

Friday, December 2, 2016

Season 9 superfinal, games 67-70

After 70 games Stockfish is leading 12-6 with 52 draws. Four of the last 8 games have been decisive, Stockfish's lead remains a constant +6.

After the opening of game 67 Stockfish's eval increased to about 1. There were several early exchanges which left Stockfish a pawn up, Houdini had a bishop pair but the bishop on h5 was close to being trapped.

The evals stayed at this level for quit a while. The complicated position was gradually simplified by exchanges, leading to a RB vs RN ending with Stockfish a pawn up.



Stockfish was a pawn up but with so few pieces on the board the game seemed to be heading for a draw. All the pieces moved toward the top left corner, Houdini's chance to hold was to block the advancing white pawns. Stockfish's eval jumped to 2 and then stayed there for 15 moves, again giving the impression that Houdini can hold.



Suddenly Stockfish saw something and its eval jumped to 9.62. BOOM. WOW !! Unbelievable, what did Stockfish see that Houdini didn't? After a6+ Stockfish quickly drove the king away from the corner leaving the a7 pawn with one less defender. The game was stopped a few moves before Stockfish was able to capture the pawn.  Did Houdini really not see this coming? Stockfish demonstrating its superior endgame skills, now its lead is +7.
In game 68 Houdini's eval advantage got up to 1 but could not go higher. Houdini tried a knight sacrifice for pawns, exposing the black king to attack. It managed to get two rooks on the 7th rank and got the material back. Stockfish eval dropped to 0 and it countered with a rook on the 2nd file. The mutual attacks canceled out and the game ended in a drawn RB vs RN position.

Game 69 started with an eval advantage for Stockfish, when unexpectedly in move 14 Houdini saw an opportunity for a QN attack on the white king that resulted in a repetition draw on move 24. Shortest game of the match so far.
In game 70 Houdini held on to a small eval advantage and there was no early draw. From move 19 the engines agreed on a long series of moves which they then played out. The evals stayed in favor of Houdini, Stockfish gave a rook for a knight and pawns and only RBN vs BNN remained.



Stockfish's bishop was almost trapped and it took a few moves to get it out of the corner. The black knights had to move away from the white king to help defend the pawns, and they couldn't find a position where they also defend each other. After Stockfish exchanged its bishop for a knight and Houdini captured a pawn Stockfish had a long think, and then its eval started to jump. Houdini's eval followed a few moves later.  



The black a pawn was about to fall, the black g pawn was not a real threat and Houdini's remaining pawn could not be stopped without losing material, a won endgame for Houdini. Stockfish is back to +6.