Tuesday, October 31, 2017

Season 10, stage 1 qualifying simulation after round 17

We assume that Stockfish, Komodo, Houdini, Andscacs and Ginkgo will qualify, and that the remaining qualifiers are 3 out of Gull, Booot, Fire, Chiron, Jonny, Hannibal and Fizbo. For the simulation we use probabllilities based on the results of the first 17 rounds, dividing the games into 3 categories:
  • Hard - opponent in top 5.
  • Easy - opponent in bottom 12.
  • Within - opponent within group of 7 contenders. 
Hard and Easy games are independent, Within games affect two engines in a dependent manner. The probabilities, as calculated from the crosstable, are
  • Hard - 0/24 wins, 13/24 draws, 11/24 losses
  • Easy - 35/63 wins, 25/63 draws, 3/63 losses
  • Within - 7/24 wins, 10/24 draws, 7/24 losses

The remaining games
  • Gull (11 pts) - 1 Hard, 4 Easy, 1 Within (Fizbo)
  • Booot (11 pts) - 2 Hard, 1 Easy, 3 Within (Chiron, Jonny, Hannibal)
  • Fire (10.5 pts) - 2 Hard, 4 Easy, 0 Within 
  • Chiron (10 pts) - 1 Hard, 4 Easy, 1 Within (Booot)
  • Jonny (9.5 pts) - 2 Hard, 3 Easy, 1 Within (Booot)
  • Hannibal (9 pts) - 2 Hard, 3 Easy, 1 Within (Booot)
  • Fizbo (9 pts) - 1 Hard, 4 Easy, 1 Within (Gull) 
Results of 10000 simulations
Average final scores, sorted:
  1. Gull - 14.78270
  2. Fire - 14.05160
  3. Booot - 13.79365
  4. Chiron - 13.78245
  5. Jonny - 12.81035
  6. Fizbo - 12.78500 
  7. Hannibal - 12.30105 
Gull looks sure to qualify, Fire has a small margin of safety, Booot and Chiron are neck-and-neck, the rest have no chance. Of course no engine qualifies on average score...

Percent of simulations to qualify, including tie breaks:
  1. Gull - 96%
  2. Fire - 82%
  3. Booot - 65%
  4. Chiron - 65%
  5. Jonny - 18%
  6. Fizbo - 16% 
  7. Hannibal - 6%
 Score for 3rd place including tie breaks:
  • 13 or less - less than 4%
  • 13.5 - 30%
  • 14 - 47%
  • 14.5 18%
  • 15 or more - less than 2%

Monday, October 30, 2017

Season 10 live blogging, Monday Oct 30th

I'm watching the Gull-Fire game about to start. Both engines are currently in the top 8, but both could use a win to improve their qualification chances.

move 3: the book moves are Nimzowitsch Defense, both evals are positive. Fire will have to work to equalize.

move 9: was away for a while, Gull still ahead. Gull holds the center, Fire has a bishop pair and doubled pawns, still early in the game.

move 13: the PVs are indicating that there will be some exchanges soon. Gull now has a passer on the a file.

move 15: Fire can't take Nd5 because its rook is attacked, about to lose the bishop pair.

move 17: Gull's eval up to 0.59, Fire still cool at 0.25.

move 19: Gull's eval increasing slowly, now at 0.63. PVs agree for a few moves, not sure what the engines are really planning. Can Gull make something out of its passer?

move 20: FIre's eval increasing to 0.42, shifting the knight to g6.

move 22: Fire is putting pressure on the white a pawn, doubling the rooks. Fire's eval dropped back to 0.28, then to 0.21. Gull's eval constant at 0.63.

move 24: now PVs look like shuffling. No plan for either engine? Fire is having a long think, perhaps it sees something? No real change in eval, but Gull's eval dropped to 0.48.

move 26: another long think for Fire, Gull keeps playing moves that Fire is not expecting but we haven't seen a real reaction from Fire yet. ...I was mistaken, my browser was not updating and it was Gull that was thinking.

move 28: Gull exchanging bishop for knight, abandoning the a5 pawn? The center is changing, evals are heading down, I feel a draw coming...

move 31 : Gull's eval back up to 0.43, now there is a white passer on the d file and a black passer on the c file. Fire thinking again, this time the move was expected, I don't understand it. Whoa, Fire's eval up to 0.58, the highest it's been this game. What changed?

move 34: the evals are fluctuating, it's hard to keep track. Fire is back down, Gull up to 0.63 again. The a pawn is gone, what next?

move 37: Gull's eval up to 0.67, looks like the black c pawn is going. Will the d passer be strong now?

move 40: Gull still optimistic, Fire still defending and keeping eval low.

move 42: Gull's doubled rooks on the 6th rank look strong, evals still fluctuating and not going anywhere. Draw after all?

move 45: one pair of rooks is gone, long PV agreement

move 52: engines exchanged everything, rook ending. Fire sees a draw, Gull with no tablebase thinks it has an edge. This may take some time.

move 65: no change, less than 40 moves to a 50-move draw.

move 104: finally over. I hate these long draws where an engine refuses to lower its eval for adjudication. The game was disappointing, some action but mostly boring. Better luck next time.

Season 10, stage 1, rounds 13-15

Table after 15 rounds:

Stockfish and Komodo lead the table, with equal points after Komodo closed the 0.5 gap. They drew their head-to-head match. Houdini and Andscacs are next, both still unbeaten this stage. Houdini has yet to play Stockfish, the remaining game within the top 4 group - all the others have been draws.
Ginkgo remains in fifth 1.5 points above 9th place, so with very good qualifying chances. Fighting for the three last spots are Gull, Booot, Fire, Chiron and Hannibal. I don't believe that Jonny or Bobcat will make it, a full point behind with 8 rounds to go. 

Some of the game highlights:

Fire - Nirvana: Fire had a small eval advantage from the opening. After most pieces were exchanged only RB vs RN remained on move 29 and a draw was agreed several moves later. Not a good result for Fire.

Wasp - Hannibal: Wasp had two pishops and Hannibal two knights in a closed position. There were no captures starting from move 25, only shuffles and a few pawn moves. Then in a series of exchanges the position opened up a little but only B vs N remained. The evals favored Hannibal but for a long time the engines were stuck. Instead of waiting for the 50-move draw Wasp made a few pawn moves, lost a pawn and then Hannibal's knight found a way past the pawn line, game over. Looked like a bad blunder by Wasp, almost no chance of qualifying now.

Gull - Jonny: Jonny blundered the opening terribly, allowing Gull to open the h file with a crushing attack on the black king. The game was over in 27 moves. Great for Gull, not so good for Jonny though it is still in the fight for the top 8.

Bobcat - Chiron: Bobcat sacrificed a piece to expose the black king and then drew the game with perpetual check. This draw keeps both engines in the qualification race.

Arasan - Stockfish: Stockfish sacrificed two pawns, and only got a quick repetition draw. A rare draw for Stockfish, Komodo with a chance to catch up at the top. Good game for Arasan.

Houdini - Booot: See my live blog for this game. Houdini had an eval advantage from the start, both engines had the habit of not showing their PVs, but what they did show looked like a draw with opposite color bishops. On move 28 Booot blundered and allowed Houdini to capture the black a pawn. Houdini's eval jumped to around 2. Houdini's a pawn became very strong and Booot had to work hard to stop it. Eventually it lost a piece and the game. Houdini back to 3rd in the table, Booot still 0.5 points from 8th position but will have to get wins to get there.

Chiron - Andscacs: The game developed into an open position with a lot of room for both engines' pieces. Andscacs gave a rook for a bishop and pawns, exposing the white king for attack. Chiron countered with an attack on the black king, leading to exchanging pieces and a R vs B ending. The evals fell to zero and the game ended a draw in a curious position, each engine with a pair of connected passers defended by the opponent's king.

Jonny - Bobcat: Jonny's king was exposed in the center while Bobcat's pieces on the king side were trapped and ineffective. Bobcat captured a free pawn, not seeing the danger to its king, and Jonny's eval jumped over 5. Within a few moves the black king was close to being mated, and Bobcat lost a piece to stay alive, leading to a won RN vs B ending for Jonny. A step back for Bobcat, Jonny compensates for its previous loss and joins the race again.

Hannibal - Gull: Hannibal had a pawn majority on the queen side that turned into an advanced passer. Gull exchanged pieces and won an exchange to reduce to a QN vs QR ending. While Gull prevented the queening of the passer Hannibal found a perpetual check draw.

Ginkgo - Wasp: Wasp gave a knight for pawns, and after several exchanges only BNN vs BN were left, Wasp with a connected pair of passers. Ginkgo was able to stop the passers, leaving it with one pawn and a wrong colored bishop. Ginkgo thought it was winning, Wasp knew it was a draw.

Fizbo - Fire: Fizbo had a pawn majority on the queen side and Fire was better in the center, Fire saw nothing while Fizbo's eval was slightly positive. Fizbo added pieces to the queen side and its eval jumped to around 2, Fire's eval also jumped but still below 1, it seemed probable that Fire could hold since it is generally stronger. The engines liquidated the queen side, leaving one white advanced passer in a QRB vs QRN position. The engines exchanged pieces so that only queens remained and the incredible happened - Fizbo outplayed Fire in a queen ending, considered (by me at least) to be one of the most complicated of endings. This result probably won't help Fizbo to qualify but it may hurt Fire.

Gull - Ginkgo: The position opened up with a long series of exchanges that resulted in a knight ending. It then took a very long time for Gull to lower its eval and allow draw adjudication. Both engines still safe in the top 8.

Bobcat - Hannibal: Many exchanges after the opening led to a bishop ending, and this time Bobcat was the one that delayed adjudication for more than 90 moves. A draw result not good for both engines, both below the qualification bar.

Andscacs - Jonny: Andscacs had an eval advantage from the start. There were several exchanges that resulted in an unusual imbalance RRBB vs QNPP and evals over 1.5. Both kings were exposed and Jonny used every opportunity to give checks with its queen and try to fork and capture white pieces. For a while the evals remained constant, but eventually Andscacs found the right piece configuration to threaten Jonny's king while avoiding its queen. Another loss for Jonny, in danger of losing touch with the leaders.

Arasan - Chiron: Chiron was never in danger but couldn't get any advantage either. In a QRR vs QRR position Arasan had a passer that forced Chiron to draw by perpetual check. A missed chance for Chiron against one of the lower ranked engines.

Houdini - Fruit: The opening was a variant of the king's gambit, Fruit was ahead on eval most of the game and after most pieces were exchanged Houdini could not do better than perpetual check. Houdini lost a chance to get closer to Stockfish and Komodo.

Featured game: Komodo - Stockfish
Stage 1, round 15
link to game on TCEC

The two table leaders played each other for the first time this season, and everyone was curious to get a first idea of who is stronger. The chat was unusually crowded with many fans of the engines following the game closely.

The game was not very exciting after the opening, evals stayed close to zero. For a while Stockfish thought it had a small advantage but it stayed small and was quickly gone. Komodo concentrated forces on the open d file, Stockfish had enough counter-threats to hold the position.

A few moves later a long line apperared in both the engines' PVs, full of exchanges and resulting in a RB vs RB position that looked very drawish. As they started playing out this line Komodo startled everyone with a 0.7 eval. It found a change in the line it thought was much better. Stockfish's eval stayed at 0 as it continued to play until the diverging point of the two lines.

Everyone held their breaths to see how Stockfish would react. After a long think the answer Stockfish gave was - Komodo has a point !! The new Stockfish eval was 0.84, identical to Komodo, and the PV also agreed with Komodo. Another case of aggressive pruning gone wrong? The engines continued with the new line, resulting in a RBB vs RBB position. Komodo was a pawn up and had two passers on the queen side, though the evals did not increase.

Although it was surprised, Stockfish handled this position easily, quickly removing the threats. Evals came down to 0 and the engines continued to exchange pawns and pieces until reaching a tablebase draw.

Komodo showed us that these two giants can still surprise one another, even if they are very hard to beat. We expect many exciting games in the next stages, with more high-level games and slower time control.

Friday, October 27, 2017

Season 10 Live blogging, Friday Oct 27th

I have some time to look at the live games without the pressure of a game backlog waiting for my summaries. I thought I'd try to blog while watching, see how that goes.

Texel - Hakkapeliitta

move 39 - while waiting for the next game featuring Houdini I'm watching the end of the Texel game against Hakka (it's impossible to write that in full, sorry). It appears that Texel thought it was ahead but the evals are going down to zero.

move 42 - R vs N ending, Texel's eval not sure where to go. Will Texel beat Hakka in the endgame? Certainly enough pawns for it. Just needs more inaccuracies from black.

move 46 - Texel eval above 1, the a pawn advancing. Hakka is still confident it can draw.

move 48 - now at 1.6, pawns are going to come off soon. Hakka sees the danger finally. The moves are coming at a fast pace, hard to keep up.

move 50 - there go the a and b pawns, c pawn soon? White rook controls the black king, won't be able to help the queen side.

move 52 - Nf4 attacking the white pawns, some hope for a Hakka draw still?

move 55 - the white king is moving in the right direction. There goes the c pawn. Evals are constant, will Hakka hold?

move 60 - Texel's PV shows no movement. Now it changed again... Either pawns will get exchanged or we wait for 50-moves.

move 65 - Texel sees it has a problem, eval down to 0.58.

move 70 - Less than 40 moves now, moves coming every 15 seconds now, less than 20 minutes.

move 71 - long think from Hakka, crash? Just a fail low (I think) and eval dropped to 0.

move 76 - a pawn move, next pawn exchange, now only 2 for Hakka and one for Texel.

move 81 - Texel at 4.58 !!! Hakka blunder? Then it drops back, Texel eval bug...

move 90 - counter back at 40 but PVs show pawns going down soon, perhaps TB draw?

move 100 - Texel avoided taking a pawn since it sees it is a sure draw in its 6-man TB. Waiting for 50-moves again?

move 110 - Texel eval down to 0.12, then up again, counter at 35.

move 116 - Hakka blundered??? Both evals are winning for Texel? The king went the wrong way and now the white rook takes the h pawn... All over, what a disappointment for Hakka. Texel wins by keeping a small eval and waiting for a blunder.

I can't understand the programming, you have such advanced search algorithms and evaluation, how can it be that an engine scores a move at 0 and after the opponent reaction the next evaluation is 317? To me this is a serious bug, not a blunder.

Houdini - Booot

Booot needs a at least a draw to keep its qualifying chances, Houdini would love to win and get back to 3rd place.

The previous game was much longer than I anticipated, I won't have time to follow this game unless it's short.

move 12 - both engines have a habit of not showing a detailed PV, making it difficult to understand what's going on in their mind. Houdini's eval positive, hovering around 0.4.

move 15 - will we have three eval increases in a row? No, down to 0.54. Booot's pieces don't look well placed to me, Na6 bad, e7 blocks the queen and cannot move.

move 16 - a Houdini PV showing many exchages and opposite colored bishops, probably won't happen. Houdini's bishops and d5 pawn very strong. Long think for Houdini, has it found something? After four minutes eval goes back down to 0.53 and there goes the PV.

move 18 - Booot attacking d5, Houdini won't let the pawn be captured. Will the knight fo to b5 and d4? Houdini played b4, the d5 is free but perhaps not a good idea to take it?

move 20 - rooks exchanged and most of the queen side pawns, d5 is still unguarded. Why is Houdini taking so long to retake the rook, I don't see another option. An eval jump perhaps?

move 21 - minimal eval jump for Houdini, Booot didn't take d5 but its eval jumped to 0.44. The Booot PV also shows a drawish ending one pawn down, but no captures for a while so I don't trust the end of the PV. There goes d5 finally, Booot a pawn up, Houdini much more active.

move 23 - Houdini's eval back to 0.58, PV drawish again. I guess we wait for the blunder in this game as well.

Have to go... I'll come back to see how it ends.

OK, back again. As expected, Booot blundered. On move 30 it lost the a pawn, Booot had to stop the white a pawn, eventually Houdini won a piece.

That's all for today, it was fun.

Thursday, October 26, 2017

Season 10, stage 1, rounds 10-12

Table after 12 rounds:

More than half of the stage is behind us, and the table starts to make sense.

Stockfish and Komodo lead the table, both with no losses, 2 draws for Stockfish, 3 for Komodo. Keep in mind that Stockfish hasn't played Komodo or Houdini yet, while Komodo and Houdini already drew their game. Houdini is third, also unbeaten but with 6 draws the gap to the leaders is significant. Next in the table is Andscacs, also unbeaten and after playing and drawing the top 3 engines. Ginkgo has the same number of points, with one loss to Stockfish. These 5 engines seem to be safe bets for finishing in the top 8.

The engines fighting for the remaining two qualification spots are Fire, Gull, Chiron, Booot, Jonny and Bobcat, with some chance also for Hannibal and Wasp. I don't think the rest of the engines have a chance to qualify based on their results so far, including Nirvana and Rybka that have a high TCEC-ELO score. Still 11 rounds to go so anything can happen.

Some of the game highlights:

Houdini - Komodo: This game was highly anticipated, one of the few games of stage 1 where the real giants play each other. Houdini had a bishop pair advantage over Komodo's knight pair but it was Komodo who was slightly ahead in eval, the knights more effective in a closed position. Komodo's fans were getting a little excited, while Houdini's PV started to show a long line that ended in a RB vs Q position. A few moves later Komodo found the line and both engines played it out. Almost immediately the evals dropped to 0 and the game was drawn. No drama in the end.

Stockfish - Gull: Gull sacrificed a pawn on move 5, Stockfish kept the pawn advantage for a long time, together with a small eval advantage. The engines exchanged pieces and the eval increased gradually. At move 27 only QRN vs QRB remained, and for a while it seemed the engines were shuffling. The evals continued to increase and when on move 55 only queens remained Stockfish's eval was over 1.5. Stockfish forced a queen exchange and the extra pawn was enough for a win. "A pawn is still a pawn..."

Hannibal - Fire: Queens were exchanged early in the game. Fire had a bishop pair but two weak pawns as well, Hannibal had a small eval advantage. Around move 40 it seemed that Fire played inaccurately, allowing Hannibal to capture two pawns together with higher evals. On the other hand Fire's bishops were strong in the open board and it had a pawn on the 2nd rank. Fire insisted it was a draw, and proved its claim when it combined the advanced pawn with a bishop to imprison a white rook in the corner.

Fire - Ginkgo: Evals were close to 0 all through the game. Fire gave a pawn early in the game. After many exchanges only QR vs QR remained, even with the extra passed pawn Ginkgo could not make progress, draw.

Laser - Hannibal: Laser seemed to be holding against Hannibal in a RB vs RB position. Hannibal had better pawn structure and a passer, but made no progress for a long time. After more than 90 moves Hannibal finally saw a way to win, or was it a Laser blunder. Once the passer reached the 2nd rank the game was over.

Bobcat - Stockfish: After 24 moves only QBN vs QBN remained with evals close to 0. Bobcat's bishop was half trapped and not very effective, evals turned to Stockfish's favor but still mostly balanced. After exchanging queens Stockfish had the initiative but progress was very slow. At move 64 Stockfish managed to capture a pawn and was clearly in front, Bobcat kept fighting for a long time and admitted defeat only after losing a second pawn 20 moves later.

Texel - Houdini: Houdini closed the center with a long pawn chain. Texel didn't see the danger to its king until it was too late. Houdini sacrificed a knight but Texel had to give it right back to try to defend its king. The attack was too strong and Texel's pieces were too far to help, a quick crush by Houdini.

Nirvana - Houdini: Houdini had the initiative and an eval advantage in a closed position. Nirvana gave a bishop for three pawns to get an attack on the black king and two passed pawns in a RN vs RBN position. Houdini quickly exchanged rooks and then both engines went after the pawns. In the end Houdini had only two pawns but they were enough in a N vs BN ending. Back-to-back wins in black for Houdini.

Stockfish - Andscacs: Stockfish thought it may have something in a RRN vs RRN closed position. The position became static and the evals came down to 0. A good result for Andscacs, no losses yet and draws against all top 3 engines. Only the second draw for Stockfish this stage.

Chiron - Gull: Chiron was a pawn up early in the game with a small eval advantage. The eval increased to about 0.9 in a RBN vs RBN position on move 41 but got no higher. The rest of the game was pawn exchanges and evals going back down, and finally a draw.

Featured game: Komodo - Booot
Stage 1, round 11
link to game on TCEC

After 22 moves Booot was a pawn up while Komodo's pieces were better and it had the initiative.

Booot gave back the pawn and exchanged pieces until only QRB vs QRB were left, relieving some of the pressure. Komodo had better pawns and an eval advantage, the question was: is that enough for a win?

Komodo attacked the black weak pawns and Booot tried hard to defend when without warning Komodo's eval jumped over 3. Booot thought it was safe exchanging everything to get a bishop ending but it missed Komodo's move 46.

Booot eval=0, Komodo eval=250, unbelievable!! The black king is too far away from the b passer and the black bishop has to go around the long way, giving Komodo too many free moves. Booot forced a bishop exchange but realized it was lost anyway.

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 Booot 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 Ginkgo'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.