Friday, September 13, 2019

Season 16 premier division after RR1

I'm back from sick leave and gradually getting better. It is going to be hard work to catch up with all the games played so far in the premier division, but we'll get there eventually.

Crosstable after RR1



Stockfish is leading the table with a +3 score. Leela and Komodo are close behind with +2, Komodo doing better than expected in the first RR.

At the bottom are KomodoMCTS and ScorpioNN, with a total of 7 losses of 12 games against the other 6 engines. Only Houdini does not have a win against at least one of them.

Stoofvlees is the only engine with at least one win and one loss.

TCEC has a new web page which is supposed to be more stable. The live engine analysis appears only in the new website. There is also a new archive and the premier division games can be found only there. Here are the addresses:
New site: https://tcec-chess.com/
New archive: https://www.tcec-chess.com/archive.html
 
A few interesting games

Leela - ScorpioNN: Leela was up a pawn in a QRR vs QRR position. It gave the pawn back and created a passer, evals climbing over 2 at this point. A pawn exchange later Leela had two connected passers on the queen side and ScorpioNN also had to protect its king. The engines exchanged queens and the double rook ending was a win for Leela.

Stockfish - Stoofvlees: See featured game below.

Komodo - KomodoMCTS: Most of the black pieces were on the queen side when Komodo started attacking on the king side. It gave a knight to open a file, KomodoMCTS' king had to face all the white major pieces almost without support. KomodoMCTS gave its queen for a rook to save its king, the game reached a Q vs RN position and Komodo won.

KomodoMCTS - AllieStein: The game reached a RB vs RB position that appeared completely drawn. The engines exchanged bishops just before the 50-move mark, then exchanged rooks. Unexpectedly KomodoMCTS blundered the endgame, and AllieStein used zugzwang to capture two pawns and win.

Stockfish - ScorpioNN: There were only a few exchanges in the first 75 moves and evals stayed low. Stockfish gave two pawns and created a passer on the queen side, ScorpioNN eventually gave a knight to get rid of the passer. The game reached a QN vs Q position, Stockfish captured a pawn and then forced a queen exchange to get a tablebase win.

Komodo - ScorpioNN: ScorpioNN gave up a pawn for no apparent reason, perhaps it thought its king side pressure was some compensation. Komodo defended easily, captured a second pawn and pushed a passer to the 7th rank. ScorpioNN gave material to keep its attack alive, the game was adjudicated a few moves later.

KomodoMCTS - Stoofvlees: Stoofvlees developed a strong bishop pair and KomodoMCTS gave a rook to remove one of them. The game reached a difficult BN vs RB endgame with one pawn for each engine, Stoofvlees managed to capture the white knight after 30 moves and get a tablebase win.

Leela - KomodoMCTS: KomodoMCTS had initiative on the queen side, with a rook controlling an open file. It paid less attention to the king side, and when Leela opened a file there the black king was in danger. Leela increased the pressure and the black king fled to the center. Leela sacrificed a queen for a knight, KomodoMCTS had to give its queen to avoid mate, the RBN vs RN ending was a win for Leela.

Stockfish - Houdini: Stockfish gave a rook for a knight temporarily, then got the material back and created a passer. The game reached a QRB vs QRB position, after exchanging queens Stockfish pushed the passer to the 7th rank. Houdini had to give its bishop to stop the passer, leading to a won endgame for white.

AllieStein - ScorpioNN: AllieStein captured a rook for a bishop, its eval peaked close to 9 in a RB vs NN position. The engines started to shuffle and AlllieStein could not find a way to break ScorpioNN's defense. The game ended with a 50 move draw.

Featured game: Stockfish - Stoofvlees
Premier division, game 2
Link to game on TCEC

Stockfish went up a pawn on move 23 with a 3 to 1 pawn majority on the queen side, evals stayed below 1.


 
Stockfish pushed its queen side pawns forward and evals went up. Stoofvlees tried to counter with a passer in the center and pressure on the king side, it sacrificed a knight to expose the white king.

Stockfish calmly defended its king, Stoofvlees gave a rook for a bishop and increased the pressure but in the end the attack on the white king was not effective. Meanwhile Stockfish cleared the path for its pawns on the queen side.

The extra white rook together with one of the pawns queening led to a quick mate on the board for Stockfish.

 

Friday, September 6, 2019

Delay in posts on premier division

Due to a medical situation I am unable to write posts on the premier division at this time. Even writing this note using my phone is torture (technically speaking). I hope to get well soon and catch up.


Saturday, August 31, 2019

Season 16 league 1 playoff results

Final crosstable:

ScorpioNN and Stoofvlees promote to the premier division. Two more NN engines enter the top TCEC division, after starting from the qualification league this season.

Ethereal was still in the race until it lost in the last game of the playoff. 

Notable games:

Game 1, Stoofvlees - ScorpioNN: Stoofvlees had a small eval advantage for over 60 moves, but it lost its queen to a simple knight sacrifice and this was enough for ScorpioNN to win. What a way to start the playoff.

Game 2, Laser - Ethereal: There were almost no exchanges in the game, when the position started to open after 50 moves Laser had an advantage with a bishop pair to Ethereal's knights. Ethereal gave a pawn for some initiative but nothing came out of it. Laser went 3 pawns up and reduced to a winning RB vs RN position. 

Game 4, Stoofvlees - Laser: The black pieces on the king side were almost trapped. Stoofvlees gradually exchanged pieces and when the position opened it was a pawn up in a RN vs RB position. Laser's king was stuck in the corner while the white king came forward, a second pawn gave Stoofvlees the win. 

Game 5, Laser - ScorpioNN: Laser went up a pawn but ScorpioNN had the eval advantage. The black major pieces were strong in the open files, ScorpioNN placed two rooks on the 2nd rank and Laser was forced to give a rook for a knight to block a passer. The RB vs RR position was a win for ScorpioNN.


After RR1: ScorpioNN +2, Stoofvlees 0, Laser Ethereal -1, 4/6 decisive games. A good start for ScorpioNN, Stoofvlees has to be careful with its blunders.

Game 9, Ethereal - ScorpioNN: The game reached a QRB vs QRB position, Ethereal was a pawn up but evals were low. The game seemed to heading for a draw after a long shuffle, then Ethereal captured a second pawn and evals jumped. The black king was threatened and ScorpioNN gave more material to save it, losing the game.

Game 12, Stoofvlees - Ethereal: Stoofvlees gave a rook for a bishop and pawn, the game reached a QRB vs QRR closed position. The engines shuffled and exchanged pawns, Ethereal took a pawn on move 59 and evals jumped. The black king was exposed to attack and Stoofvlees forced a queen exchange, leading to a RB vs RR ending with connected advanced white passers, giving Stoofvlees the win.

After RR2: ScorpioNN Stoofvlees +1, Laser Ethereal -1. The two NN engines are in front, all engines have at least one win and one loss. All 6 game pairs had a 1.5-0.5 score, one decisive game per pair.

Game 16, Stoofvlees - Laser: Stoofvlees gave its queen for two bishops early in the game. Evals stayed low until Laser gave a rook for a knight, evals jumped in favor of Stoofvlees in a RBB vs QN imbalance. Stoofvlees pushed a pawn to the 7th rank and evals came back down, Laser found a perpetual check draw. Probably a missed chance for Stoofvlees.

All games were draws in RR3, no change in the standings. Any decisive game in the last round can have a big effect on the playoff result.

Game 20, Ethereal - Laser: Ethereal was a pawn up with an advanced passer, evals increased as the engines exchanged pieces. Laser tried to counter with an attack on the white king, eventually it captured the passer but lost a knight. The QRN vs QR position was a win for Ethereal.

Laser is 1.5 points behind with 2 games left, it is almost surely out of the race. Ethereal improved its chances, only 0.5 points behind.

Game 21, Ethereal - ScorpioNN: The game reached a RRB vs RRB position with Ethereal a pawn up, but ScorpioNN held the draw.

Game 24, Stoofvlees - Ethereal: Ethereal got into trouble in the opening, its queen attacked alone and captured a pawn on the queen side while Stoofvlees pushed pawns on the king side. Evals jumped high as Stoofvlees captured a knight for pawns, the win was just a matter of time.


Wednesday, August 28, 2019

Season 16 league 1 statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins


Final draw rate was 62.5%.


Game termination

The three most common game termination causes were:


29.2% - TCEC draw rule

26.7% - SyzygyTB
22.5% - TCEC win rule


There were 6 crashes in the stage: Booot crashed 3 times and was disqualified, Ginkgo crashed twice and Laser once.

Moves per game


Median= 60.8
Average= 66.6

There were 21 games longer than 100 moves, the longest was 238 moves (Arasan - Ethereal, game 121, Ethereal won).

Time per game (hours)


Median= 1:30
Average= 1:26

Openings

There were 6-move book openings in this stage chosen by Cato. The first letter of the ECO codes was distributed as follows:


The engines had little freedom to choose the opening variant, 75.8% of the game pairs repeated the same ECO code twice, and 71.7% repeated the same opening variant. In 2.5% of the game pairs the ECO first letter was not repeated twice.

Reverse pairs, wins


Reverse pairs, same moves 


Pairs of reverse games diverged very quickly, 38.3% diverged immediately out of book, 74.2% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 13 plys (Andscacs - Ethereal games 35 and 155, French Tarasch closed variation, Andscacs won in white)

Tuesday, August 27, 2019

Season 16 league 1, final results

Final crosstable:
Stoofvlees +10, Laser +6, ScorpioNN Ethereal +5, Chiron Xiphos Andscacs +3, Fizbo Ginkgo +1, ChessBrain -1, rofChade Jonny -2, Arasan -5, Pedone -10, Fire -17, Booot DQ.

Stoofvlees, Laser, ScorpioNN and Ethereal will play a 2-DRR playoff to determine which two engines promote to the premier league. Stoofvlees and ScorpioNN continue on their "qualification to premier" journey, Ethereal and Laser will try to stop at least one of them in the playoff.

Arasan, Pedone, Fire and Booot are relegated to league 2. Arasan and Pedone go back immediately after promoting from league 2. Booot was disqualified after 3 crashes. Fire's new partial NN version was weaker than the original, perhaps it will get stronger and climb back up again next season.

Notable games:

Game 130, Chiron - ChessBrain: ChessBrain had a queen side passer in a closed position. Evals jumped after the king side opened, Chiron gave a rook for a knight to defend its king. ChessBrain pushed the passer and made threats on both sides of the board, Chiron's defense collapsed. 

Game 151, Laser - Ethereal: 3-fold draw after 19 moves.

Game 159, rofChade - Ginkgo: rofChade had connected queen side passers in a RBB vs RBN position. Eventually Ginkgo traded pieces and reduced to a R vs BN ending, but two extra white pawns gave the win to rofChade.


After 20 rounds: Stoofvlees +7, Ethereal +4, ScorpioNN Laser +3, Ginkgo Xiphos Andscacs +2, Chiron +1, ChessBrain Fizbo 0, Jonny -1, Booot Arasan rofChade -2,  Pedone -8, Fire -9. Many engines still in the race for the top 4 places, Stoofvlees firmly in the lead. Pedone and Fire are close to relegation, two more spots still contested. Ginkgo and Booot have two crashes each and are in danger of disqualification.

Game 179, ChessBrain - ScorpioNN: ScorpioNN was close to a win in a queen ending two pawns up, but it couldn't find the winning moves and ChessBrain held the draw.

Game 189, Ethereal - Ginkgo:  Ethereal created an advanced central passer and reduced to a RRN vs RRB position with an extra pawn. Ginkgo eventually lost a piece to stop the pawn, leading to a winning RN vs R ending.

After 24 rounds: Stoofvlees +8, Ethereal +5, Chiron Laser +4, ScorpioNN Xiphos Andscacs +3, Fizbo +1, Ginkgo 0, ChessBrain -1, Jonny rofChade -2, Arasan -3, Pedone -9, Fire -14, Booot DQ. Booot crashes for the third time and is disqualified, its games not considered. With 6 games left there is only one relegation spot open. At the top Chiron joined the race while Ginkgo lost touch with the leaders. There are 6 engines in the race for 3 spots. Top engines that still have to play Booot (effectively these engines have one less game to play): Ethereal, Xiphos, Laser, Andscacs. 

Game 208, ScorpioNN - Stoofvlees: Stoofvlees had an eval advantage in a closed position, the position opened and the game reached a RN vs RR ending. Stoofvlees pushed a passer to the 2nd rank and failed to see an immediate mate threat, it delayed as much as possible but still ScorpioNN mated.

After 27 rounds: Stoofvlees +9, ScorpioNN Laser Ethereal +5, Chiron +4, Xiphos Andscacs +3, Ginkgo +1, Fizbo 0, ChessBrain -1, rofChade Jonny -2, Arasan -5, Pedone -10, Fire -15, Booot DQ. Only 3 games left to play. Arasan is the most probable 4th engine to relegate. At the top ScorpioNN improved its position, the race is still close.

Game 218, Fizbo - Chiron: The game reached a RRN vs RRB position, the white king came forward and the movement of the black pieces was restricted. Fizbo captured two pawns and reduced to a winning RN vs RB ending.

In round 28 Ethereal draws Stoofvlees, Chiron takes a step back, Arasan draws Jonny and its chances of escape are low, rofChade beats Fire and is almost surely safe from relegation.

In round 29 all relevant games were draws, Arasan can escape only if Ginkgo crashes, at the top ScorpioNN, Laser and Ethereal are one point clear of the chasing engines. 

In the last round Ginkgo did not crash and Arasan relegates. Xiphos and Chiron drew their games, Andscacs' last game was against Booot, none of them catch up with the leaders. Laser added a win and it finishes in 2nd place.

Thursday, August 22, 2019

Season 16 league 1, first half

Standings after 15 rounds:

Stoofvlees +6, Ethereal Ginkgo +3, Chiron Andscacs ScorpioNN +2, Laser +1, Fizbo Xiphos 0, Jonny rofChade Booot -1, ChessBrain Arasan -2, Fire Pedone -6.

I'm back from my vacation, and already 2/3 of league 1 is over. My TCEC backlog is about 160 games and I won't be able to look at them closely. This post will be written gradually over a few days, I'll try to finish it quickly. TCEC waits for no one, and I hate backlogs...

A few remarks:
- Stoofvlees is dominating this league as well, though it sometimes blunders and loses.
- The race at the top of the table is wide open. In this league the top 4 will play a playoff to determine the two qualifiers.
- At the bottom Pedone and Fire seem to be likely relegation candidates. The other two spots are still contested. Fire's new version is an AB-NN hybrid, and it appears to be worse than the AB version.
- Ginkgo, Booot and Laser have each crashed once so far.


Notable games

Game 17, FireNN - Arasan: 3-fold repeat after 15 moves, (including a 6-move book)

Game 18, Xiphos - Ethereal: an even smaller miniature in the next game, 3-fold repeat after only 13 moves.

Game 21, Fizbo - Stoofvlees: In the middle of a series of exchanges Stoofvlees failed to consider Fizbo's queen sacrifice. It realized its mistake too late and Fizbo reached mate on the board.

Game 31, Ethereal - Laser: Ethereal sacrificed material and got a strong attack on the black king. Laser gave the material back but the bishop ending was a win for Ethereal.

Game 35, Andscacs - Ethereal: The game reached a N vs B endgame. Andscacs trapped the bishop with its pawns, then used its knight to capture black pawns. Two connected passers were enough for a win.

Game 43, Stoofvlees - Ginkgo: Ginkgo had a trapped bishop dominated by a white knight. The game reached a RN vs RB position, Ginkgo used a passer to trade its bishop for a rook, however, the forward white king captured black pawns and secured a tablebase win for Stoofvlees.

Game 48, Xiphos - Laser: The game reached a queen ending with Xiphos a pawn up. Laser blundered under time pressure and Xiphos had enough time to find the winning moves.

Game 88, Stoofvlees - ScorpioNN: Stoofvlees gave a rook for a bishop early, yet evals were over 1. The game reached a BN vs RN position, Stoofvlees had passers on the queen side and ScorpioNN couldn't prevent promotion. This was the first ScorpioNN loss in season 16.

Game 90, Pedone - Stoofvlees: Stoofvlees gave a pawn early, then in a QRB vs QRB position it gave a second pawn but failed to see its king was in danger. Pedone won material and reduced to a winning king and pawns endgame.

Game 93, Xiphos - ChessBrain: ChessBrain's bishops were strong in a RR vs RBB endgame. After stopping a white passer and exchanging a pair of rooks ChessBrain's bishops captured enough white pawns for a win.

Game 94, Laser - Ginkgo: The game reached a queen ending, Laser had an eval advantage, the black pawns were scattered and the black king was exposed. However, Laser crashed and Ginkgo got the point.

Game 95, Andscacs - Chiron: Andscacs gave a rook for a knight and pawns.In the N vs R endgame Chiron played better, after a few pawn exchanges the rook was strong enough for a win.

Game 103, Stoofvlees - Ethereal: Stoofvlees sacrificed a bishop and exposed the black king. Ethereal's king walked to the center for safety, Stoofvlees placed a strong knight on the 6th rank. Ethereal exchanged pieces until only R vs RN remained, the white rook on the 7th rank and two advanced passers gave Stoofvlees the win.

Game 106, Ethereal - ScorpioNN: ScorpioNN blundered under time pressure in a double bishop ending, Ethereal exchanged a pair of bishops and the remaining black pieces were passive. Ethereal captured a pawn and ScorpioNN could not prevent a white passer from queening.

Game 112, Jonny - Chiron: After long shuffles evals started jumping in a QB vs QB position. Jonny went two pawns up and pushed its pawns slowly. Chiron gave many checks but couldn't force a perpetual check draw to stop the pawns.

Game 118: Stoofvlees - Xiphos: Stoofvlees created a queen side passer, Xiphos gave a rook for a bishop to stop it. Stoofvlees gave the material back to get a winning bishop ending a pawn up.

Sunday, August 11, 2019

Season 16 league 2, final results

Final crosstable



Stoofvlees, ScorpioNN, Pedone and Arasan advance to league 1. The two NN engines Stoofvlees and ScorpionNN dominated the league, ScorpioNN had a +7 perfomance in the second half and ended the league without a loss. Arasan barely qualifed after a weak second half. The qualification race continued until the very last game.
 
Wasp, Nirvana, chess22k, Pirarucu, Marvin and Topple relegate down to qualification. The 4 AB qualifiers did not survive league 2. Nirvana had a weak second half performance of -6. Gull managed to stay in the league and it is safe for at least another TCEC season.

Next comes league 1 with Ethereal, Fire, Xiphos, Laser, Andscacs, Fizbo, Jonny, Chiron, Ginkgo, ChessBrain, Booot, rofChade and the 4 qualifying engines from league 2. The games will be longer at 45' per engine.

I will be mostly on vacation in the next two weeks, I'll try to catch up when i get back...


Notable games

Game 121, chess22k - Fritz: The game reached a RN vs RN position, the white king was trapped on the back rank and Fritz had a passer on the 3rd rank. Evals peaked over 2 for black but chess22k managed to hold the draw.

Game 132, Gull - Stoofvlees: Gull seemed to hold in a QN vs QB position. After 50 moves the engines exchanged all pieces and Stoofvlees was up a pawn. Both engines promoted a pawn to get a queen ending, Gull could still hold but without tablebase support it allowed Stoofvlees to reach a won 6-man position.

Game 143, ScorpioNN - Nemorino: ScorpioNN played better in a R vs NN ending two pawns up, Nemorino could not stop the passers on both sides of the board.

Game 147, Nemorino - Stoofvlees: Nemorino was two pawns up in a RRN vs RRB position, Stoofvlees' only counter was a rook on the 2nd rank. Nemorino couldn't find the right path and had to settle for a draw.

Game 149, Gull - Wasp: Gull had an advantage from the start. It won material through a king side attack, the game reached RRN vs RBN position. It took a while but Gull converted the win in the end.

Game 151, Texel - Fritz: The game reached a Q vs RR imbalance and for a long while the engines exchanged pawns until each had two left. Fritz slowly outplayed Texel, it managed to push a pawn forward until Texel was forced to give a piece to stop it, and won the game.

After 20 rounds the table was: Stoofvlees +11, Arasan +8, ScorpioNN +7, Pedone +5, Fritz +4, Nemorino and Texel +3, Vajolet 0. Wasp Gull and Nirvana -2, RubiChess -3, chess22k -5, Pirarucu -7, Topple -10, Marvin -10. With 10 games to go both the top and bottom races are open, though Stoofvlees will probably advance (3.5 points gap) and Topple and Marvin will relegate (4 points gap).

Game 171, Nirvana - Gull: The engines played a RN vs BBN ending for a long time. It took Gull more than 70 moves to create a passer, it gave a bishop but Nirvana gave the material back and more and tried to stop the passer. In the end Gull pushed the passer to promotion and won.

Game 172, Fritz - Pedone: Pedone gave a knight for two pawns and exposed the white king to attack. Fritz found safety for its king and reduced to a winning RB vs R ending.

Game 186, Texel - Gull: Texel opened the position with a rook for pawns sacrifice. Gull slowly exchanged pieces and the 4 extra pawns were not enough. In a RN vs B position Gull's remaining 2 pawns gave it the win.

Game 187, Arasan - Pedone: An advanced passer gave Pedone an advantage when the position opened. The game reached a double rook ending, a second advanced passer gave Pedone the win.

Game 192, Marvin - Stoofvlees: Stoofvlees gave a knight for pawns to create an advanced passer, Marvin blocked it and stayed calm. Stoofvlees then gave a second knight and attacked the white king, the attack failed and instead Marvin found mate.

After 24 rounds the table was: Stoofvlees +12, ScorpioNN +9, Arasan and Pedone +7, Nemorino +6, Fritz +5, Texel +3, Gull  and Vajolet 0, RubiChess -2, Wasp -3, Nirvana -5, chess22k and Pirarucu -8, Marvin -10, Topple -13. Only 6 games left, ScorpioNN improved its position and will probably advance, chess22k and Pirarucu are close to relegation. There is a tight race of 4 engines for two qualifying spots at the top of the table. Gull improved its position and has a good chance of surviving this season.

Game 198, Nemorino - Arasan: The engines mostly shuffled for a long time. Arasan gave a knight and two pawns for a rook, giving Nemorino connected passers in the center in a NN vs RB position. The white king came forward to support the pawns, Arasan had to give a piece to stop a passer and lost the game.

Game 202, Vajolet - Pedone: Vajolet had a space advantage in a closed position. Pedone gave a rook for a bishop and pawn, after the position opened the game reached a Q vs RB opening. The white queen was strong enough to give Vajolet the win.

Game 203, Texel - Nemorino: When the engines opened the position the game reduced to a QR vs QR endgame. The black king was exposed and Texel had an advantage. It slowly improved its position and then exchanged rooks and went up a pawn. The queen ending with an advanced passer was a win for Texel.

Game 209, Wasp - chess22k:The game reached a RRN vs RRN position, the black rooks were strong and the white knight was pinned. chess22k captured two pawns and  reduced to a winning RN vs RN endgame.


After 27 rounds the table was: Stoofvlees +14, ScorpioNN +11, Nemorino Pedone Arasan and Fritz +6, Texel +4, Vajolet +2, Gull and RubiChess -1, Wasp -4, Nirvana -6, chess22k -7, Pirarucu -10, Marvin -11, Topple -15. The bottom of the table is getting clear, only Wasp has a small chance to escape relegation but it has to close the 1.5 points gap in 3 games. At the top 4 engines are tied in the race for two spots, and evel Texel still has a chance.

Game 218, Gull - Nemorino: Gull gave a rook for a bishop and pawn, the game reached a BN vs RB position. Gull created connected passers on the king side and Nemorino gave the rook to stop them, the remaining white pawns were enough for a win.

After 28 rounds the race at the top was: Pedone Arasan and Fritz +6, Nemorino and Texel +5. At the bottom the gap for Wasp is still 1.5 points, two games remaining. 

Game 231, RubiChess - Gull: The game reached a RB vs RB position and seemed to be a draw with the engines shuffling. Then Gull blundered and allowed RubiChess to exchange rooks, the bishops were of opposite colors but RubiChess created advanced passers that were enough to win.

Game 232, Nemorino - Pedone: Pedone was better after the opening, it had a space advantage and it pushed the queen side pawns facing the white king. An advanced passer cost Nemorino a rook and the game.

One round to go. Wasp cannot close the gap after RubiChess won, the relegation race is over. At the top the scores are: Pedone +7, Arasan and Fritz +6, Texel +5, Nemorino +4. Nothing is over but Pedone improved its chances and Nemorino is almost surely out.

Nemorino and Pedone won, Texel lost, as a result Pedone ensured 3rd place and Texel was in 7th place. Arasan drew its game, so Nemorino was out. Fritz needed a win in its last game since Arasan was better on tiebreaks. However, Fritz only drew against Topple, and Arasan qualified.

Friday, August 9, 2019

Season 16 league 2 statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins


Final draw rate was 50%.


Game termination

The three most common game termination causes were:


30.8% - TCEC win rule
29.2% - SyzygyTB
25.8% - TCEC draw rule

There were 3 crashes in the stage: RubiChess once and chess22k twice. There were 8 games that ended in mate, the evals of ScorpioNN and Stoofvlees were usually not high enough to invoke the win rule.

Moves per game


Median= 63.5
Average= 69.4

There were 27 games longer than 100 moves, the longest was 197 moves (Fritz - Gull, game 46, draw).

Time per game (hours)


Median= 1:03
Average= 1:02

Openings

There were 4-move book openings in this stage chosen by Cato. The first letter of the ECO codes was distributed as follows:


The engines had less freedom to choose the opening variant, 81.7% of the game pairs repeated the same ECO code twice, and 78.3% repeated the same opening variant. In 4.2% of the game pairs the ECO first letter was not repeated twice.

Reverse pairs, wins


Reverse pairs, same moves 


Pairs of reverse games diverged very quickly, 33.3% diverged immediately out of book, 80.8% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 17 plys (Wasp - Nirvana games 119 and 239, QGA Bogolyubov variation with 4 queens on the board, Wasp won in black) 

Sunday, August 4, 2019

Season 16 league 2, first half

Standings after 15 rounds:
Stoofvlees +7, Arasan +6, ScorpioNN and Pedone +4, Fritz and Nemorino +3, Texel +1, Wasp Vajolet and Nirvana 0, chess22k RubiChess and Gull -2, Pirarucu -6, Marvin -7, Topple -9.

The two NN qualifiers, Stoofvlees and ScorpioNN, are doing well in league 2 and have a good chance of moving up again. Stoofvlees has the most wins so far, but it makes mistakes occasionally and loses to weaker opponents. ScorpioNN has no losses so far, but it has many draws against the bottom half of the table.

Arasan is also doing well in this league. It appeared in TCEC at least from season 7, never getting great results. It played the last two seasons in division 3, this time it appears to be better than other engines that were in division 3 last season.

There are 4 qualifiers in this league, the race is still open and there are at least 6 engines with a good chance.

Of the 4 AB qualifiers only Wasp and chess22k have a chance to stay in league 2, Marvin and Topple are on their way back down.

There are 6 engines that will be relegated, and one of these may well be Gull. Gull has been in TCEC at least from season 4, the first season I saw. In season 8 it was 3rd in stage 3 which was the last stage before the superfinal, with a better score than Houdini. It has not been updated since then and it has slowly drifted downward in the divisions. If it relegates it may not play again in TCEC, since engines currently under development are preferred.

Of the other engines at the bottom of the table it is interesting to note that RubiChess has two wins against the table leaders, Arasan and Stoofvlees, and a draw against ScorpioNN. It needs to lose less against the lower ranked engines if it wants to get away from the danger zone.

Notable games


Game 22, Pedone - Stoofvlees: Pedone blundered in a N vs B ending, Stoofvlees was able to capture a pawn. Using zugzwang the black king infiltrated behind the white pawns and won the game.

Game 26, ScorpioNN - RubiChess: ScorpioNN gave two pawns but had a strong king side attack in a closed position. After the position opened RubiChess lost a piece, the game reduced to a RB vs R ending and ScorpioNN could only get a draw.

Game 27, Stoofvlees - Nemorino: Stoofvlees missed a long move sequence by Nemorino and its king got caught in a mating net. Stoofvlees had no tablebase support and it failed to see that the resulting RN vs Q position was a loss.

Game 39, RubiChess - Stoofvlees: Stoofvlees gave a pawn early, then gave more and more material and tried to attack the white king. RubiChess held on, the white king escaped and the material advantage gave RubiChess an easy win.

Game 63, Arasan - Gull: The game reached a QN vs QR position with Arasan three pawns up. Gull thought it was safe enough to exchange rook and knight, without tablebase support it didn't realize the queen ending was a win for Arasan.

Game 84, RubiChess - Arasan: RubiChess gave a bishop for a crushing attack on the black king. Arasan gave the piece back, the game reduced to a BN vs BN ending and the white king charged forward and cleared the black queen side pawns. This created a passer that won the game for RubiChess.

Game 108, Arasan - Stoofvlees: In a position with a closed center Arasan opened the queen side and neglected the long black pawn line closing on its king on the king side. Stoofvlees used a pawn on g3 to open the king side and win material, reaching a BN vs Q imbalance that was enough to win the game.

Monday, July 29, 2019

Season 16 qualification league, final results

Final crosstable





The games played by LCZeroCPU are not taken into account for the qualification race. This does not change the results significantly (e.g. Wasp, Topple and Asymptote lose 0.5 points). The qualifiers for league 2 are: ScorpioNN, Stoofvlees, Marvin, Wasp, Topple and chess22k.

ScorpioNN and Topple improved a lot, in season 15 they were weak in divisions 4a and 4b.

Two NN engines enter the main TCEC draw (Stoofvlees and ScorpioNN). Recall that in season 15 AllieStein started from the bottom and reached the premier division. Will we see a repeat in this season?

League 2 will start soon, the qualifiers will join Fritz, Nirvana, Arasan, Texel, Vajolet, Gull, Pedone, Nemorino, RubiChess and Pirarucu. The top 4 will advance to league 1.

Notable games
Game 183, Marvin - Stoofvlees: Marvin was a pawn up in a QRN vs QRB position. Stoofvlees gave a second pawn and attacked the white king, but it wasn't strong enough. Marvin countered and won a rook and the game. First loss for Stoofvlees.
Game 188, chess22k - Asymptote: All pieces were on the board until move 39. The position opened, chess22k gave a pawn and created a central passer. Asymptote gave a rook for a knight to capture the passer, chess22k won the RN vs BN ending. With this win chess22k is back in the qualification race.

After 24 rounds the top of the table was (ignoring LCZeroCPU games): ScorpioNN +17, Stoofvlees +13, Wasp +11, Marvin +9, Topple +6, Asymptote +4, chess22k +4, Winter +2, Rodent -1, The Baron -1.

Game 226, Winter - ChessFighterNN: The game reached a drawn rook ending. ChessFighterNN lost two pawns and then blundered on move 109 and lost the game.
Game 230, Asymptote - Marvin: Asymptote was up a pawn from the opening. Marvin gave a second pawn and attacked the white king without success. The game reached a RN vs RN ending and the two pawns gave Asymptote the win.
Game 239, Minic - Asymptote: Minic was a pawn down in a QRR vs QRR position. Asymptote ignored the danger to its king when Minic put all its pieces on the h file. Minic traded RR for Q and reached a winning endgame.

After 28 rounds the top of the table was (ignoring LCZeroCPU games): ScorpioNN +21, Stoofvlees +17, Wasp +11, Marvin +10, chess22k +6, Topple +5, Asymptote +4, Winter +2.

Game 271, Tucano - Winter: Winter had an eval advantage of 1 in a RRB vs RRN position, but only managed to capture a pawn and Tucano held the draw.
Game 273, The Baron - Asymptote: Asymptote missed a win in a rook ending two pawns up.


After 31 rounds the top of the table was (ignoring LCZeroCPU games): ScorpioNN +24, Stoofvlees +20, Wasp +12, Marvin +12, chess22k +7, Topple +5, Winter +3, Asymptote +2. 
Winter has only 2 games left. chess22k has to face the two leaders but has a 2 point advantage and will probably stay in the top 6. Topple has easier games but has to face Asymptote.

Game 284, chess22k - ScorpioNN: chess22k had an eval advantage from the start, ScorpioNN equalized and achieved a better position, but it let chess22k exchange pieces and lost its chance. The game reached a drawn kings and pawns position.
Game 287, Asymptote - Topple: Asymptote gave a bishop for pawns, Topple reduced to a B vs BN position 3 pawns down. The extra piece was enough for a win.  

After round 32 Asymptote is out of the qualification race, Topple is ahead of Winter by 1.5 points with two games left.


In round 33 Winter played black against Wasp. It managed to get an advantage but reached a drawn rook ending with a pawn up. Topple played white against Bagatur and won easily.

Winter is out and Topple is the last to qualify for league 2.

Game 301, Igel - ScorpioNN: In a drawn QRR vs QRR position Igel seemed to blunder, ScorpioNN reduced to a rook ending a pawn up. Evals suggested ScorpioNN was winning, but it couldn't find the right moves and settled for a draw.


Sunday, July 28, 2019

Season 16 qualification league statistics

A summary statistics table of previous stages and seasons. 

The statistics include the games involving LCZeroCPU, though their results were ignored in the league results.

Draw rate, wins


Final draw rate was 33%.


Game termination

The three most common game termination causes were:

35.9% - SyzygyTB
30.7% - TCEC win rule
11.1% - TCEC draw rule

There were 3 crashes in the stage: Asymptote, chess22k and ChessFighterNN each crashed once.

Moves per game

 
Median= 62
Average= 69

There were 30 games longer than 100 moves, the longest was 269 moves (Wasp - LCZeroCPU, game 212, draw).

Time per game (hours)

 
Median= 1:04
Average= 1:03

Openings

There were 2-move book openings in this stage chosen by Cato. The first letter of the ECO codes was distributed as follows:

 
The engines had a lot of freedom to choose the opening variant. Only 47.7% of the game pairs repeated the same ECO code twice, and 43.8% repeated the same opening variant. In 9.8% of the game pairs the ECO first letter was not repeated twice.

Reverse pairs, wins

 
Reverse pairs, same moves 

 
Pairs of reverse games diverged very quickly, 46.4% diverged immediately out of book, 77.8% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 11 plys (Jumbo - Winter, games 109 and 262, Four knights Scotch variation, Winter won both games)  

Season16 qualification league, live blog Saturday 27.07.19

The race for qualification is over, the league is almost over. We cover the Marvin - LCZeroCPU game, Marvin is one of the stronger engines in this league and it may be strong enough to hold against CPU Leela. Leela won the first game.

move 5: Marvin diverged from the reverse game on move 4, choosing the QGD Vienna opening (reverse was a Catalan opening).

move 11: Marvin chose the less drawish line, it feels good with an eval over 0.8 despite being 2 pawns down. The position is very sharp with many pins. Marvin won a knight for 3 pawns, Leela's eval remains close to 0.

move 17: Leela's 12th move was less popular but still played at the highest level. Marvin got one pawn back, then seemed to bllunder on move 14 and Leela's eval jumped to negative 0.8. Both engines see exchanges coming. Marvin's eval dropped to 0.5 but it still thinks it is ahead.

move 21: Marvin's eval drops below 0 and Leela's eval is over negative 1. Leela castled on move 19, its eval over 2 on move 21. The white king is in danger, there have not been exchanges and black has QRN attacking and the king is exposed.

move 26: Leela doubled rooks on the c file, it looks like game over for Marvin despite being a piece up. Evals are over 5, Leela captured pawns on the queen side and the white king is facing QRR.

move 31: Marvin gave the knight back and it is 3 pawns down and losing. The game will be over soon.

move 38: Leela reduced to a RB vs RB position, Marvin exchanged bishops and only rooks remain. Evals are close to 10, still waiting for the win rule count down.

move 45: game over finally. This was a short game, Marvin was too weak for Leela, even the CPU version.

Tuesday, July 23, 2019

Season 16 qualification league, overview after 20 rounds

I have been following the qualification league results without looking at too many games. Round 22 of 34 is being played now, more than half the league is over. I have some time now to go over the archive, look for interesting games and make some observations in hindsight. If I overlook important events feel free to comment on them below.

NN engines
There are two NN engines in the lead. ScorpioNN improved a lot, it was very weak in season 14, while in season 15 it had a stability problem. This season ScorpioNN is without loss so far and will very likely qualify for league 2. Stoofvlees is a new engine in TCEC which was supposed to be strong, and indeed it too is on its way up. Stoofvlees' eval scaling is not the same as the other engines, its eval rarely (or never) goes over 10. As a result the TCEC win rule never applies in its decisive games and they are played until mate or 6-man TB adjudication.
There is a 3rd NN engines in the league, ChessFighterNN. Unlike the two leaders ChessFighterNN's score is -10 and it is close to the bottom of the table. Using a neural net is not enough to become a strong engine.

Jumbo and Bagatur are losing
The two engines at the bottom of the table, Jumbo and Bagatur, have 31 losses between them out of 40 games. Both played in season 15 and both have updated versions, but the other engines in the league are still much stronger. Jumbo has lost 18/20 games, Bagatur has wins against ChessFighterNN and Asymptote, but the win against Asymptote was due to a bug that caused Asymptote to lose on time in a winning position with mate in sight. There are several games where these engines blunder in a drawn position in the middlegame or endgame.

CPU Leela
LCZeroCPU is a version of Leela that runs on CPU only, it has a small net to improve its performance. It is much weaker than the full GPU version that was the season 15 champion, but it is in 3rd place and could have qualified in this league. However, it is not in the formal race and its games are just for entertainment. These games will be ignored and will not affect the other engines' scores. This may cause some confusion when trying to understand the current qualification race standings.

Top 6 engines
The top 6 engines qualify to league 2. After 20 rounds the scores were (ignoring LCZeroCPU games): ScorpioNN +14, Stoofvlees +13, Wasp +9, Marvin +6, Topple +4, Winter +3, Asymptote +2, chess22k +1, The Baron 0, Rodent 0. The race for places 5-6 is quite open. Keep in mind that Asymptote lost a full point when it crashed against Bagatur, with this point it would be in 5th place.

Notable games
Game 15, Topple - ChessFighterNN:  ChessFighterNN gave a rook for a knight and developed a strong king side attack. Topple had to give material to stop the advancing black pawns, losing the game.

Game 42, LCZeroCPU - Topple: LCZeroCPU was 4 pawns up in a RB vs RB position, the game was nearly adjudicated with the win rule, Topple already seeing mate. Then LCZeroCPU fell into a stalemate trap, the black king couldn't move and the black rook chased the white king. A capture would have ended the game immediately, Leela kept playing until reaching the 50-move draw.
Game 53, Bagatur - ChessFighterNN: Bagatur's only win came after ChessFighterNN chose to reduce to a BBN vs RB position. Bagatur's pieces were stronger, it forced ChessFighterNN to give its rook for a bishop and the extra piece was enough to win.
Game 61, Minic - Topple: Topple blundered in a closed position, Minic created a passer and Topple's position crumbled (toppled over?).
Game 68, Wasp - Marvin:  Wasp had an eval advantage of over 1 that came down to 0 in a QRB vs QRN position. Evals became negative after Wasp gave a rook for a knight and two pawns. Marvin was better in the endgame, reducing to a winning B vs R position.
Game 73, ChessFighterNN - Winter: ChessFighterNN gave a bishop and thought its attack on the exposed black king was enough compensation. Winter exchanged pieces and had a winning position, but it allowed ChessFighterNN to force a perpetual check draw.
Game 74, Igel - chess22k: The engines avoided a 50-move draw and opened the position, Igel won a pawn and the game reduced to an opposite color bishop ending. chess22k blundered and allowed Igel to capture a second pawn, two advanced passers were enough for a win.
Game 100, Winter - Topple: Winter was two pawns up in a QB vs QB position. After Winter exchanged queens the remaining bishops were of opposite colors, keading to a draw.
Game 122, Cheese - ScorpioNN: ScorpioNN had an eval advantage in a QB vs QB position, it allowed Cheese to sacrifice the bishop and get a perpetual check draw.
Game 134, Topple - Asymptote:  Asymptote gave a rook for a bishop and a pawn, it had a strong bishop pair and a passer in a QRN vs QBB position. Topple couldn't stop the passer and its attack on the black king was not strong enough, Asymptote captured the knight and won the game.
Game 169, chess22k - Tucano: chess22k was up a rook for 3 pawns in a QRR vs QR position but failed to convert. Tucano managed to push a pawn to the 2nd rank and forced a perpetual check draw.
Game 172, Winter - Bagatur: Winter was a pawn up in an opposite color bishop ending. Stockfish saw a way to force a win but Winter didn't and Bagatur managed to hold.
Game 178. Stoofvlees - LCZeroCPU: Evals started around 0 and increased very slowly. Stoofvlees created a passer on the queen side, then captured a pawn and reduced to a QRB vs QRB position on move 50. LCZeroCPU countered with a passer on the king side, Stoofvlees exchanged queens and captured the passer on the 2nd rank. LCZeroCPU had to give its bishop to stop the white queen side passer, then it gave up the rook in despair and lost. First loss for LCZeroCPU.

Monday, July 15, 2019

Season 16 has started, new league format

TCEC season 16 has started yesterday, after a slightly longer than usual 6-week break that included testing and bonus events. The new season comes with format changes which I will describe briefly, the full details can be found on chessdom.

The changes affect the lower divisions, the premier division and superfinal do not change. In the last few seasons there were 3 divisions with 8 engines each and 2 promotions/relegations between divisions. There was also a preliminary division 4 which had a variable size, increasing from season to season. Last season division 4 was played in two parts 4a and 4b with a playoff that determined the 2 engines promoting to division 3. In the new format there are two leagues with 16 engines and a preliminary qualification league of variable size. There will be 6 engines promoting to league 2 from qualification, and 4 engines promoting from league 2 to league 1. The engines that were supposed to play in divisions 1-3 were places in the new leagues 1-2, and the engines that played in division 4 were placed in the qualification league, together with several new entries.

The engines playing in the qualification league are: Winter, Rodent, The Baron, Tucano, Cheese, Minic, Topple, Igel, Wasp, Marvin, chess22k, ScorpioNN, Jumbo, Bagatur, Stoofvlees, ChessFighterNN and Asymptote. The last 3 are new entries, two are new NN engines and one "classical" AB. Also playing in the qualification league is LCZeroCPU, a version of Leela with a small net that runs on the CPU server without using GPUs. This is only for testing and entertainment, its results will be nullified at the end of the league and it cannot promote nor affect the results of the other engines.

There will be 306 games in the qualification league, this will take about two weeks at a rate of a little more than an  hour per game. Leagues 1-2 will be similar, the games in league 1 will be longer at about 100 minutes per game. I will not cover these leagues very closely, I may have a few live sessions if I have the time. I hope that when the premier division starts around the end of August I will have more time to increase coverage and to post more detailed reports.

Thursday, May 30, 2019

Season 15 superfinal, games 91-100

Leela wins the TCEC season 15 superfinal. The final score is 14-7 with 79 draws. This comes as no surprise, Leela was ahead by 6 points since game 86. In the last 10 games Leela extended its lead to 7 points.

Superfinal summary
In season 14 Leela started from the lower divisions, climbed up and reached the superfinal where it lost by 1 point to Stockfish. This season Stockfish won the premier division but Leela was stronger head-to-head. In the superfinal Stockfish was still hopeful after it equalized to 1-1 in game 12. However Leela started to win minimatches, by game 26 it led 5-1. Stockfish won two more games in openings where Leela also won, Leela extended its lead to 8-3 in game 40. Stockfish tried to stay in the match with two minimatch wins and the score was 8-5 at the half. After many draws Leela crushed Stockfish's hopes with an unusual double win, extending the lead to 5 points on game 62. In the remaining games Stockfish won twice in openings that Leela also won, and Leela won two more mimatches to win the match by 7 points.

Leela improved its game compared to the previous season. It made very few blunders in the endgames, it played all types of openings well, usually better than Stockfish. It appears to have a much better understanding of long term advantages, often claiming it is much better long before Stockfish can see a win. There were a few cases where this proved to be wrong, but mostly Leela's predictions were correct.

There will be more NN engines in the next season. There were two NN engines in the premier division in season 15, will there be another one next season? Are the NN engines going to take over the chess world? When will we see a NN superfinal? Can Stockfish improve and be competitive? Will Houdini be updated? Will there be a hybrid NN-AB engine? I can't wait to find out.

=======================================================

Games 91-92 were a King's Gambit variant where the white king moves. In game 91 the white king walked to the king side, trapping its rook. Stockfish's eval dropped to 0 as it regained the pawn, the engines exchanged queens on move 20. Stockfish let its rook out of the corner, then all rooks were exchanged and only BN vs BB were left on move 26. Leela's eval kept the game going, the engines reduced to a same color bishop ending and the game ended on move 103 in a 50-move draw. Game 92 started similarly, the queens stayed on the board. The white king side rook got out of the corner but the engines did not exchange rooks, evals were negative and stayed low. Both engines focused on the isolated center pawns, the game was peaceful with a few exchanges. Evals came down and the game was adjudicated with many pieces still on the board.

The engines opened the center early in game 93. Neither engine was strong enough to attack and evals came down. Leela moved its queen forward on the queen side, this led to a queen exchange and the removal of all the pawns on the queen side. The game reached a BN vs BB position on move 40, Stockfish was a pawn up but with evals close to 0 the game was adjudicated quickly.

Leela's eval started around 1 in game 94, and was over 3 already on move 12. The engines castled in opposite direction, both Leela's rooks controlled half open files, one facing the black king. Leela chose to attack on the king side, it doubled rooks on the f file and broke through. After exchanging a pair of rooks Leela had a rook on the 7th rank and a formidable bishop on d5.  


Stockfish did not want to exchange bishops and to give Leela a passer. Nevertheless, Leela captured a pawn on the king side to create one passer, then it exchanged knights and created a second passer. After exchanging bishops only QR vs QR remained, both engines had central passers but Leela's passer was much stronger. It pushed the passer forward and Stockfish stopped it on the 6th rank.


Stockfish got rid of the passer on d6 but lost another pawn on the king side. The game reduced to a rook ending with two white passers on the king side and the black king too far to help. The game was quickly adjudicated.

Both kings stayed uncastled in game 95, Leela opened the queen side and Stockfish pushed pawns on the king side. Eventually Leela castled short, Stockfish opened the king side with its pawns, then gave a bishop to get two pawns facing the black king on the 6th rank. Leela exchanged two rooks for a queen to get rid of one pawn. After a while Leela lost a bishop and captured the second pawn, the game ended in a RR vs Q tablebase draw. In game 96 Stockfish's eval was 0 from the start. Both engines castled long and the king side was open. Queens were off early and the game reached a RNN vs RBN position on move 27. The engines shuffled and stabilized the pawn lines, then reduced to a rook ending on move 52. Leela went a pawn up and the game continued until reaching a tablebase draw on move 87.

Games 97-98 started with a 20-ply book in the King's Indian Defense. In game 97 the engines formed long pawn lines with no exchanges, Stockfish pushed pawns on the queen side and Leela on the king side. Stockfish opened a file on the queen side on move 25, Leela gave two pawns and started a king side attack. A knight sacrifice opened the king side for the black major pieces, then in a series of exchanges most of the pieces were gone and Leela found a perpetual check draw. In game 98 there were several exchanges after the start, the engines opened the queen side. Leela's eval was over 1, Stockfish's eval stayed low. Leela refused to open the king side, after the engines exchanged a pair of rooks they started to shuffle and Leela's eval came down. The game reached a QRN vs QRN position on move 51, Stockfish opened the king side and found a perpetual check draw.

Stockfish castled long in game 99, Leela opened a file on the queen side and attacked. The white king ran to the center, Leela sacrificed a bishop and added pieces to the attack. Then most pieces were exchanged off and only RBN vs RN remained on move 29. Leela was two pawns up, all the pawns were on the king side. Stockfish's eval dropped to 0, Leela captured a pawn and thought it had small advantage. The game ended only on move 97 in a tablebase draw. In game 100 both engines castled long, though the black king did not have good pawn support on the queen side. Leela attacked with its queen and captured a pawn, Stockfish exchanged queens and regained the pawn. Stockfish had a trapped bishop, it gave a pawn to release it. This gave Leela a passer in the center and its eval jumped over 3. Stockfish blocked the passer with its pieces, the game reduced to RN vs RN position. Leela's eval peaked over 5, it couldn't find a way to improve and the engines started to shuffle from move 44. On move 104 Leela gave a pawn back and opened the queen side, its eval already below 2. The engines continued to shuffle and exchange pawns until reaching a tablebase draw on move 139.

Wednesday, May 29, 2019

Season 15 superfinal statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins


Final draw rate was 79%.


Game termination

The three most common game termination causes were:

34% - TCEC draw rule
30% - SyzygyTB
21% - TCEC win rule

Moves per game


Median= 79
Average= 89.4

The games were longer than usual, similar to what we saw in the season 14 superfinal. There were 26 games longer than 100 moves, the longest was 262 moves (game 33, draw).

Time per game (hours)


Median= 4:20
Average= 4:09

Openings

There were variable length book openings in this stage chosen by Jeroen. The first letter of the ECO codes was distributed as follows:


The book determined the opening in most cases, some of the book sequences were very short and allowed more freedom, one game pair was bookless. 86% of the game pairs repeated the same ECO code twice, and 84% repeated the same opening variant. In 3 game pairs the first ECO letter was not repeated.

Reverse pairs, wins

 
Reverse pairs, same moves 

 
Pairs of reverse games diverged very quickly, 72% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 9 plys, this happened in three game pairs (games 5-6, Dutch, two draws ; games 19-20, Sicilian Rauzer Attack, two draws ; games 79-80, Ruy Lopez modern Steinitz defence, two draws).     

Tuesday, May 28, 2019

Season 15 superfinal, games 81-90

After 90 games Leela leads 13-7 with 70 draws. There were 5 decisive games in the last 10, two double white wins and one minimatch win for Leela. Leela is 6 points ahead with 10 games to go, Stockfish still has a mathematical chance but Leela is going to win.

The engines castled in opposite directions in game 81. Stockfish's eval was around 1 after the start, it pushed pawns on the king side with support from its rooks. The king side opened and Leela hid its king behind a white pawn, then on move 26 Stockfish's eval jumped over 7 with no warning.



Leela wasn't expecting Stockfish's 28th move, white abandoned two minor pieces but the black king was in a mating net. Leela had to exchange RB for Q but it was too late. Its king was still under threat and Stockfish controlled the 7th rank. The black pawns started to fall.


Stockfish captured the knight and was 4 pawns up when the game was adjudicated a few moves later.

In game 82 the pawns in the center and on the king side locked early. There was one open file on the queen side, all the pieces remained on the board with the first piece exchange on move 23. By then Leela's eval was over 4, though it wasn't clear why. After exchanging a pair of rooks Leela took over the open file, its eval over 6.


Stockfish had very little room to move. It refused to take the rook on c6 since this would create an advanced white passer. The engines continued to shuffle, Stockfish was almost paralyzed and Leela was patient and arranged its pieces. It put a rook on the back rank and waited for an opportunity. On move 61 Stockfish abandoned its b pawn.


A few moves later Leela captured the b pawn, and then captured a bishop. Stockfish's admitted defeat and the game was adjudicated. There were two white wins in this opening.

Games 83-84 started with a 28-ply book in the Sicilian Dragon, Yugoslav Attack variation. White castled long and black castled short. In game 83 Stockfish pushed pawns on the king side and it managed to open a file. Evals came down as the engines exchanged pieces, reaching a same color bishop ending on move 40. Leela thought it had a small advantage and the game continued for 20 more moves and reached a tablebase draw. In game 84 Leela went a pawn up, exchanges cleared the black pawns on the queen side. Leela had two connected passers on the queen side, Stockfish had a passer in the center and its eval remained low. On move 28 Leela gave a rook for a bishop, its eval over 1.5. The black king was a little exposed, Stockfish was active on the queen side and this prevented an attack on its king. On move 45 Leela gave another rook for a bishop, only QBB vs QRR remained with Leela two pawns up. The bishop pair was very strong, Leela could get some of the material back but chose to wait. After exchanging queens a white passer reached the 7th rank, Stockfish lost a rook to stop it. Both engines queened in the BB vs R ending, it cost Leela a bishop. The game reached a tablebase draw in a QB vs QR position on move 107. 

Queens were off early in game 85, evals started around 1 and slowly came down. Stockfish went up a pawn and created a queen side passer, the game reached a RRB vs RRB position on move 27. Evals came down to 0, Leela's eval went slightly negative when it regained the pawn. The engines reduced to a bishop ending on move 47, Leela went up a pawn and continued playing until reaching a tablebase draw on move 96.

In game 86 the action was on the queen side. Leela pushed pawns forward, after exchanging a pair of rooks the engines captured most of the pawns on the queen side, leaving one white passer. Leela's eval was around 1.5 as the engines continued to exchange pieces until reaching an opposite color bishop ending on move 40. Instead of being a drawish ending as usual, without warning Stockfish's eval jumped over 7 as it saw the loss coming.


The black bishop had to keep an eye on the a7 square, the black d pawn could not be protected. Leela created a passer on the king side and protected it with its bishop, now it saw the win as well. Stockfish was going to lose the bishop for one of these passers eventually and the game was adjudicated quickly.

There was one piece exchange early in game 87, all pawns remained on the board. Leela's king walked to the queen side, Stockfish castled short and then changed its mind and its king walked back to the center. Leela's eval turned negative as the engines shuffled, Stockfish pushed a pawn to a6. The first pawn was captured on move 45, Leela took the a6 pawn and went a pawn up, exposing the queen side to the white pieces. Leela's eval turned positive again and Stockfish's eval started to climb, it opened the king side and created an advanced passer in the center. When the passer reached the 7th rank Stockfish's eval was over 4, Leela was still feeling secure with an eval under 1.


The pin and attack on the a6 pawn together with the dangerous d7 pawn were too much to defend, as Leela soon realized. It gave Q for RB and its eval jumped over 8, the game was adjudicated before Stockfish won more material.

In game 88 there was one pawn exchange on move 16 and all the pieces remained on the board. Both engines castled short, Stockfish's eval was low and Leela's eval was around 1. On move 32 the engines started a series of exchanges, Leela's eval jumped when Stockfish gave a rook for a bishop. The game reached a RRN vs RNN position on move 39.


Evals continued to increase as Leela moved its pieces patiently. It took 10 moves for Leela to exchange knights and another 10 moves to capture a pawn. Leela's eval was over 10 by then.


The rook on h4 was trapped but not for long. The white king moved to the center, Stockfish had to move its pieces and the white rook could get out safely. Stockfish avoided exchanging rooks and it defended as long as it could. Eventually Leela moves a rook behind the black pawns and used the other rook to keep black king far on the other side. The game was adjudicated on move 99. Two white wins in this opening.

Games 89-90 started with a 19-ply book in the Benoni Defense. Evals were around 1 at the start of game 89. The first piece exchange was on move 24, in a series of exchanges all the queen side pawns were gone, Leela gave a rook for a bishop and the game reduced to a RRN vs RBN position on move 34. The knights were exchanged, evals came down and the engines started to shuffle. Leela's eval turned negative, all pawns were gone except for two black pawns. Leela continued playing, the game was finally adjudicated on move 180 with the 50-move draw counter almost at 0. In game 90 there were again only a few exchanges from the start. Leela controlled an open file on the queen side, Stockfish gave a rook for a bishop and pawn and Leela's eval jumped over 3. After exchanging queens the game reduced to a RRB vs RBN position on move 40. The white rooks were strong but the bishop was trapped on the king side. Leela went a pawn up and its eval close to 10 but it couldn't find a way to close the game. The engines shuffled, then exchanged rooks, Stockfish got a pawn back and the engines shuffled some more. The white bishop stayed trapped and Leela's eval slowly came down. On move 155 Leela finally gave its bishop up for a pawn and the game reached a drawn 7-man R vs BN position. The game was adjudicated on move 211. Was that a narrow escape for Stockfish? Or was it a bad evaluation by Leela?

Sunday, May 26, 2019

Season 15 superfinal, games 71-80

After 80 games Leela leads 10-5 with 65 draws. The last 10 games were all draws, including the bookless pair of games. Only 20 games are left, Leela is going to win almost surely.

In games 71-72 black started a pawn up in the Vienna Gambit. Stockfish's eval was 0 almost throughout game 71. Leela had an advanced passer on the king side, after a series of exchanges the white king side pawns were gone and Leela had a second passer. Stockfish's king walked to the queen side to get out of trouble. Leela gave a piece in a series of exchanges, its two passers reached the 6th and 7th ranks in a QRB vs QR position on move 29. Stockfish gave checks and then blocked the passers, Leela's eval came down and the game was adjudicated. In game 72 Stockfish had the same passer on the king side but its eval came down to 0 very quickly. Leela castled long and gave a rook for a bishop to remove the black passer. Most of the king side pawns were gone and Stockfish moved its king to the queen side. The engines shuffled for a while, then Stockfish gave two pawns and opened the queen side. Leela's king was under attack, after a series of exchanges the game reduced to a drawn queen ending. Leela continued playing until adjudication on move 81. 

Games 73-74 started with white a pawn up and with a queen side passer in the Benko Gambit. In game 73 evals started over 1. Stockfish had to move its king early, it walked to the king side. The white passer got to the 5th rank and Leela blocked it with pieces. Evals came down slowly, the engines exchanged most of the minor pieces. After a while the center and king side were blocked and the pawns on the queen side couldn't advance. The engines shuffled and the game was adjudicated early on move 38. In game 74 both engines castled short, Leela kept its queen side pawns back and its eval remained over 1.5. After a series of exchanges only QN vs QB remained on move 30, Leela's eval jumped over 2 while Stockfish's eval dropped to 0. Leela went up 3 pawns but could only give checks, or stop and allow Stockfish to give checks. Leela's eval slowly came down, it lost its knight and then the engines exchanged queens. The game ended in a tablebase draw.

In game 75 both engines castled long, most pieces and pawns were on the board and evals slowly came down. Stockfish pushed a pawn on the queen side and threatened the black king with its queen. The attack was not strong enough, evals were close to 0 and Stockfish ended the game with a perpetual check. In game 76 Stockfish pushed pawns on the queen side, Leela opened a file on the king side and exchanged rooks. The black king remained in the center, the white king castled long, both were vulnerable to attack. The engines exchanged most pieces and only QB vs QB remained on move 39. Stockfish's eval was at 0, Leela played on. On move 64 the queens were exchanged to reach an opposite color bishop ending. The game ended in a tablebase draw only on move 142.

Games 77-78 were bookless. Stockfish started game 77 with e4, and it turned into an Italian opening. All pawns remained on the board and evals stayed low. Leela concentrated its major pieces on the king side while Stockfish opened the queen side. After a series of exchanges the game reached a RNN vs RBN position on move 28. Stockfish could have finished the game with a repetition but continued and the engines reduced to a rook ending. The game ended in a tablebase draw. Leela started with d4 in game 78 and the game continued in a closed Catalan opening. On move 16 Leela's eval started climbing though it was a pawn down. It was over 1.5 for a few moves and then came down slowly. Stockfish remained calm, it gave the pawn back and exchanged pieces. The game reached a QN vs QB position on move 37 and Stockfish's eval was 0. Leela avoided exchanging queens until move 69, its eval came down and the game was adjudicated not long afterwards.

In game 79 the engines played behind the pawn lines, there was one piece exchange and one pawn exchange in the first 25 moves. On move 32 Leela's eval turned negative over 1, the king side pawns locked in a pawn line with a black pawn on g3 and the h file open. The engines started to shuffle, Leela trying to break in and Stockfish defending the entrances from within. The engines exchanged a pair of rooks on move 63, Leela's eval started to climb. The remaining rooks were gone on move 82 and the shuffle continued. Stockfish's eval suddenly jumped over (negative) 1.5 on move 111, evals climbed over 2. Then on move 125 Stockfish's eval dropped to 0, did Leela miss something? The engines started exchanging pawns and pieces and the game reduced to a queen ending, Stockfish found a perpetual check draw. In game 80 again there were few exchanges in the opening. Stockfish's eval stayed low, the engines opened a file on the queen side and Stockfish controlled it. A pair of rooks was exchanged on move 40, after some shuffling Leela's eval came down. The game reached a RB vs RB position and was adjudicated a few moves later.

Friday, May 24, 2019

Season 15 superfinal, games 61-70

After 70 games Leela leads 10-5 with 55 draws. Leela added two wins, winning a game pair from both sides. This is quite unusual for top level engines, Stockfish made a serious error of judgment in the opening as white. WIth 30 games left it is likely that Leela is going to win this match.

In game 61 evals were around 1 at the start. Leela thought Stockfish's 18th move was a blunder and its eval jumped over 1 (negative) while Stockfish's eval remained positive. Two moves later Leela had a protected passer on the king side.



The engines continue to shuffle with all pieces still on the board. Stockfish did not see any danger until move 33, by then Leela's eval was over 4. On move 37 the first pieces were exchanged and Leela added a second passer on the king side.


Leela opened a file on the queen side and threatened the white king. Stockfish was careful not to exchange pieces that would weaken its defense. After some shuffling Leela gave a rook for a knight, exchanged queens, captured a pawn and created a third passer in a RRB vs RRN position.


The black pawns started to move and Stockfish couldn't stop them and its counter attack was weak. Stockfish gave a rook and bishop to capture all three passers, the game was adjudicated in a R vs RNN position.

In game 62 the engines opened the center and the black king was forced to move early. Leela's eval climbed over 2 while stockfish's eval remained low. Stockfish moved its king to the queen side in a slow long castling, then the engines locked the queen side pawns. After opening a file on the king side Stockfish's major pieces faced the white king but were not strong enough to attack. Leela's eval jumped over 3, after exchanging queens it went a pawn up and created a king side passer.



Stockfish exchanged a bishop for a knight and got the pawn back. Both engines applied pressure on their opponents' weak pawns, in the end it was Leela who had the upper hand. After exchanging a pair of rooks it won the f5 pawn and connected a second passer on the king side in a RBN vs RNN position.



Stockfish captured the c4 pawn as well, material was equal but Leela had a winning advantage. It could block the black passer while pushing its own, Stockfish had to give a knight to stop it. The game was adjudicated when the second white passer pushed forward. An unexpected double win for Leela in this opening.

Evals were low throughout game 63. There were many early pawn exchanges and open files. The two kings were vulnerable to attack. In the end Stockfish gave two rooks for minor pieces and finished with a repetitive check draw. In game 64 Stockfish's eval was 0 right from the start. The center was blocked, Leela exposed the black king with a knight sacrifice, and got the material back a few moves later. Only QB vs QB remained on move 36, both kings were exposed and the queens gave checks. Leela gave a bishop to get a pawn to b7, Stockfish continued to give checks until the game was adjudicated on move 138.

In games 65-66 the engines castled in opposite directions. Leela was active on the queen side in game 65, it sacrificed a knight to clear the white pawns and exposed the white king. Evals stayed low as Stockfish moved its king to the center and Leela created a queen side passer. In a series of exchanges Stockfish gave two minors for a rook and only RR vs RB remained on move 46. All the remaining pawns were passers but the engines couldn't force a queening. The game reached a tablebase draw on move 74. In game 66 Leela was active on the king side but could not break the black defense. Evals stayed low, when Leela sent all its major pieces forward Stockfish atacked the white king with its queen and found a perpetual check draw.

In games 67-68 again the engines castled in opposite directions. In game 67 Stockfish pushed pawns on the king side, after a long series of exchanges only RRB vs RRN remained on move 27. Leela was a pawn up, Stockfish moved both its rooks to the 7th rank and forced a perpetual check draw. In game 68 Leela pushed pawns on the king side and again there were early exchanges, this time the engines kept the queens on the board. Stockfish's eval came down to 0, Leela's eval stayed around 1. Stockfish went a pawn up on move 34, Leela pressed the king side but did not find a way in. The engines exchanged a pair of rooks and Leela avoided exchanging another pair. Stockfish ended the game with a rook sacrifice and perpetual check.

Games 69-70 started with a 24-ply book in the Semi-Slav Defense, with black two pawns up and a development advantage for white. There were many early exchanges in game 69, Stockfish forced the black king side rook to move and Leela kept its king in the center. Evals came down as queens were exchanged, the game reached a RB vs RN position on move 29. Stockfish equalized material, both engines had a passer they pushed forward. Once the pawns stopped moving the game was adjudicated. In game 70 Leela's eval jumped over 1 after a few moves and started climbing. The black king stayed in the center and the queens did not come off. The game reached a QRB vs QRN position on move 38 with equal material, Leela's eval was over 2. After exchanging the rooks Stockfish's dropped to 0. Leela had a queen side passer, Stockfish threatened mate and Leela gave checks until it could make a pawn move safely. The passer stopped on the 7th rank and Leela continued with checks. It could queen the pawn but the resulting QB vs Q ending would be a draw. This only delayed the inevitable, the game finally reached a tablebase draw on move 202.