Monday, September 7, 2020

Season 19 premier division, after RR2

Standings after RR2

Stockfish leads with a 1 point gap. It started with 7 draws but had 4 wins in RR2. Leela, AllieStein and Stoofvlees are in the chase group. The top 4 engines appear to be a class of their own as in last season. This season Stockfish is using a NN for evaluation, the results show that this is the best evaluation currently available.

The bottom 4 engines are also close together. Komodo is currently last, this may be the first time it drops out of the top league since season 4.

The first RR was very drawish with only 4 decisive games. The organizers discovered that many of the openings were not supposed to be used in the premier division. The decision was to finish the DRR without change, fix the openings for the following games and add a 4th DRR to compensate for the initial drawishness. 

Interesting games

Game 4, Stoofvlees - Komodo: Evals started to climb after Stoofvlees gave a pawn and created a pawn majority on the queen side. The engines exchanged queens, and Stoofvlees regained the pawn and created a pawn majority on the king side in a RRB vs RRB position. Stoofvlees exchanged a pair of rooks and captured a pawn, the game was adjudicated before Komodo lost more material.

Game 6, Ethereal - Stoofvlees: Ethereal gave a rook for a bishop and pawn yet had a small eval advantage. Stoofvlees chose to give the material back, leading to a QRB vs QRB position with white a pawn up and evals over 2. Stoofvlees focused on the queen side pawns and neglected its king, it created connected passers and thought it was relatively safe. Ethereal saw further ahead and realized it was winning, it used the exposed black king to reduce to a queen ending with a passer on the 7th rank and the game was adjudicated.

Game 9, Leela - ScorpioNN: ScorpioNN grabbed a pawn with its bishop and Leela trapped the bishop. ScorpioNN gave a rook for a bishop before the trapped bishop could be saved, the game reached a RR vs RB position. Evals stayed around 1 for a while, then started to increase after Leela had only one pawn left, a passer supported by the rooks. Leela slowly pushed the passer forward, the black king was also pushed back. In the end the rooks were enough for a mate without queening the pawn.

Game 27, Ethereal - Leela: Ethereal gave a knight for 2 pawns, evals were close to 0 and the draw rule was a few moves away when Leela's (negative) eval started to increase. The white king was exposed and Leela found a way to exploit this fact, including an knight sacrifice that Ethereal refused. It was difficult for me to follow Leela's threats or understand Ethereal's choice of moves, evals rose quickly until Ethereal lost more material in a series of exchanges. Leela was a rook up and the game was adjudicated.

Scores after RR1: Leela +2, Ethereal Stockfish Stoofvlees AllieStein Fire +0, ScorpioNN Komodo -1. Only 4/28 decisive games. Leela leads with two wins, 7 draws for Stockfish, AllieStein and Fire.

Game 34, Stoofvlees - Ethereal: Stoofvlees had a space advantage, the center was blocked, a bishop and a knight on the 5th rank restricted Ethereal's movement. Evals increased while Ethereal tried to open the position and exchange pieces, Stoofvlees captured a rook for a bishop and only RRN vs RBN were left. Stoofvlees pushed a passer to the 7th rank and eventually Ethereal lost the knight to stop it. Two white wins in this opening.

Game 38, Stockfish - AllieStein: See featured game below.

Game 45, ScorpioNN - AllieStein: ScorpioNN was a pawn up with doubled queen side passers, but its pawn structure was weak. AllieStein stopped one passer on the 7th rank, went a pawn up and reduced to a RB vs RB ending. AllieStein played with a lot of patience, it managed to capture another pawn after 20 moves, then exchanged rooks 10 moves later. The bishops were of opposite color, but ScorpioNN couldn't block the 3 connected black passers supported by the black king.

Game 47, Stockfish - Komodo: Stockfish's eval started at 1 and gradually increased. Stockfish pushed pawns on the queen side and Komodo had difficulties developing its pieces. For a while the black queen was almost trapped on the king side, then the game redcued to a QRB vs QRB position. The black king was exposed, after exchanging rooks Stockfish used checks to capture 2 pawns and reach a winning same color bishop ending.

Game 50, Ethereal - Stockfish: Stockfish's (negative) eval jumped over 2 early, it eliminated the white king side pawns and Ethereal hid its king behind a black pawn. Ethereal exchanged pieces to make its king safe, the game reached a RN vs RB position with Stockfish 2 pawns up. The white knight blocked two passers on the king side, after some shuffling and a rook exchange Stockfish shifted its king to the queen side and captured another pawn. The game was adjudicated shortly afterwards.

Game 52, Stoofvlees - AllieStein: Evals were low all through the game, despite an early knight sacrifice by Stoofvlees. Stoofvlees attacked on the king side and traded RB for Q, AllieStein found a perpetual check draw. 

Game 54, AllieStein - Komodo: AllieStein was two pawns down but it trapped a black bishop in the corner. Within a few moves AllieStein's eval climbed to double digits, it exchanged queens and it had an extra piece to use. AllieStein created a queen side passer, Komodo finally sacrificed a knight for pawns to free its bishop, then it gave the bishop to stop the passer. AllieStein was up two bishops for 4 pawns, it continued to win material before the game was adjudicated. 

Game 56, Stockfish - Fire: There were only a few exchanges and the engines mostly shuffled for a long time. On move 58 Stockfish's eval started to jump quickly, in a long series of exchanges Stockfish created connected passers on the king side and reduced to a B vs N ending. Fire had to focus on the advancing passers, this allowed Stockfish to go 2 pawns up and win.

Featured game: Stockfish - AllieStein
Premier division, game 38
Link to game on TCEC

Stockfish created connected passers on the queen side early, its eval was over 1 for a while and then dropped down. AllieStein pushed pawns on the king side facing the white king, Stockfish had to be careful to keep its king safe and it seemed AllieStein had enough compensation for the white passers.

Stockfish captured a pawn on the queen side, AllieStein threatened to open the king side with a knight sacrifice. Stockfish refused to take and instead gave a rook for a knight, its king still in danger. Evals suddenly jumped over 2 on move 35, AllieStein did not expect Stockfish's move and immediately saw it was in trouble. Stockfish equalized the material and reduced to a RBN vs RBN position.

The white king was out of danger and the passers on the queen side became very strong. The black bishop was almost trapped, after a few moves Stockfish captured it and the game was adjudicated.

 

Monday, August 31, 2020

Season 19 league 1

Final standings

 

Fire and ScorpioNN promote to the premier division. The promotion race was very close and was decided only in the last rounds.

Arasan and Fritz relegate to league 1. Arasan lost half its games and was last throughout the league. Fritz had some hope of survival after it managed to win a game and catch up with Defenchess, but it dropped back down in the last rounds.

SlowChess and Igel made it to league 1 and stopped there. SlowChess started in qualification and promoted 3 times this season. Igel started in league 3 and promoted by tiebreak, then it got a boost by the NNUE technology and was much stronger in league 2. However it was not strong enough for the engines in league 1.

The premier league is the main TCEC event, the best 8 engines playing 3 DRRs with a long time control. Fire and ScorpioNN will join: Stockfish (new version using NNUE), Leela, AllieStein, Stoofvlees, Komodo and Ethereal.

Interesting games

Game 6, RubiChess - ScorpioNN: ScorpioNN was a pawn up with a queen side passer, and it neglected the danger to its king. The black queen was too far to help, RubiChess captured the passer and patienly arranged its pieces for attack. The game ended with mate on the board.

Game 7, Arasan - Xiphos: Arasan had a promising RR vs RB position, then it grabbed a pawn which let Xiphos create connected passers and force a draw.

Game 24, ScorpioNN - SlowChess: SlowChess was passive in a RBN vs RBN position, ScorpioNN opened a file and after some shuffling gave a rook for a knight and pawns to create a passer. The game was adjudicated with a second passer on the 7th rank.

Game 32, Xiphos - Defenchess: Defenchess was outplayed in an opposite color bishop ending, only one pawn down. A combination of a queen side passer and a king side pawn majority gave Xiphos the win.

Game 41, Xiphos - RubiChess: RubiChess pushed pawns on the king side while most of its pieces were on the queen side, its king became vulnerable. Xiphos opened the king side, it gave a rook for a bishop and created a passer. The game was adjudicated before RubiChess lost material.

Scores after 9 rounds: Fire +4, ScorpioNN Xiphos +2, SlowChess Igel +1, RubiChess rofChade Defenchess -1, Fritz -3, Arasan -4. Fire has a 1 point lead over the rest, there are 4 engines in the race for 2nd place. SlowChess and Igel will not easily promote this time. At the bottom Arasan and Fritz, they lost about half of the decisive games.

Game 50, ScorpioNN - Xiphos: ScorpioNN placed a protected bishop on e6 early, then added a rook on c6. Xiphos countered with a passer on the queen side, ScorpioNN stopped it on the 2nd rank. In a RBB vs RBN position ScorpioNN traded a passer for a knight, then reduced to a winning RB vs R ending. First loss for Xiphos in the league.

Game 55, rofChade - Fire: rofChade was a pawn up in a RN vs RB position, with all pawns on the king side. The white rook kept the black king away from the pawns, rofChade pushed its pawns forward slowly with support from its king. At the right moment rofChade exchanged rooks and reduced to a winning ending. First loss for Fire in the league.

Game 62, ScorpioNN - Igel: Igel gave a rook for a knight to stop a dangerous passer. ScorpioNN stopped a black passer on the 2nd rank and reduced to a winning R vs B ending. ScorpioNN takes the lead after round 13.

Game 69, SlowChess - ScorpioNN: ScorpioNN failed to see the danger to its king after the opening, it captured a knight while SlowChess chased the black king. The game ended in mate on move 34. 

Game 75, Fritz - Defenchess: The engines had long shuffle periods, evals started to jump after Fritz opened the king side on move 122. Fritz used the exposed black king to reduce to a winning QR vs QR ending two pawns up. First win for Fritz in the league.

Scores after 15 rounds: ScorpioNN Fire +3, Xiphos SlowChess +2, Igel rofChade RubiChess +0, Defenchess Fritz -2, Arasan -6. Four engines are very close at the top of the table. At the bottom Arasan will be last but the second relegation spot is not decided yet. Only 3 rounds remain.

In round 16 Fire beat Arasan, it is back in the lead. Fritz lost to RubiChess, it is in 9th place.

In round 17 Arasan lost again, the other games were drawn. The scores before the last round are: Fire +4, ScorpioNN +3, Xiphos SlowChess +2, rofChade RubiChess +1, Igel +0, Defenchess -2, Fritz -3, Arasan -8.  

In the last round Defenchess beat Arasan and survived. All other games were drawn, no change at the top, Fire and ScorpioNN promote, Fritz and Arasan relegate.


Saturday, August 29, 2020

Season 19 league 1 statistics

 A summary statistics table of previous stages and seasons. 

Draw rate, wins

Final draw rate was 71.1%.

Game termination

The three most common game termination causes were:

43.3% - TCEC draw rule
22.2% - TCEC win rule
21.1% - SyzygyTB

There were no crashes in the stage.

Moves per game

Median= 53.3
Average= 60.9

There were 8 games longer than 100 moves, the longest was 161 moves (SlowChess - RubiChess, game 81, draw).

Time per game (hours)

Median= 1:25
Average= 1:24

Openings

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

The engines had almost no freedom to choose the opening variant, all the game pairs but one repeated the same ECO code and the same opening variant twice. All game pairs had the same ECO first letter.

Reverse pairs, wins


Reverse pairs, same moves 

Pairs of reverse games diverged very quickly, 44.4% diverged immediately out of book, 80% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 14 plys (Igel - ScorpioNN, games 17 and 62, Philidor exchange variation, ScorpioNN won as white)

 

Tuesday, August 25, 2020

Season 19 league 2

Final standings

 

Igel and SlowChess promote to league 1. As a result of Booot dropping out of season 19 it was decided that there will be a 3rd engine promoting, so RubiChess will also play in league 1. Igel was updated before the league started, it now uses the rising NNUE system (for evaluation? using GPU? I'm not clear about this). In this league the new version was much stronger than the previous one. SlowChess continues to rise, this is its third promotion of the season. RubiChess joined the leaders after a strong second half with a +4 score.

Nemorino and Wasp relegate to league 3. The race at the bottom of the table was close, there were 5 engines within one point with 3 rounds left. Then Wasp crashed in round 17, it relegated in a 3-way tiebreak situation. Nemorino was last just half a point below.

This league used variable length openings by Eduardo Sauceda (cookie_monster_71 in the chat) for the first time. I think the experiment was successful, the draw rate was lower than usual for this stage, the games were interesting and had a lot of variation, and it didn't feel like the openings were a major factor in determining the game results.

Igel, SlowChess and RubiChess will play in League 1 together with:
Fire, rofChade, Defenchess, Fritz, Xiphos, ScorpioNN, Arasan (all played in league 1 in season 18).

Interesting games

Game 1, Igel - Pedone: Igel reduced to a NN vs BN position. The white knights were strong with most pawns on the board, Igel created a passer and exchanged a knight for a bishop, the game was adjudicated before Pedone lost its knight.

Game 8, Demolito - Winter: Winter blundered in a N vs R endgame, it allowed the white king to move forward and support two advanced passers, Demolito converted the win.

Game 12, SlowChess - Igel: Igel went a pawn up and then very slowly improved its position. On move 58 only QRN vs QRB remained and Igel created a central passer, then abandoned it for a queen side passer. The game was adjudicated after the passer reached the 2nd rank and Igel captured another pawn.

Game 28, Igel - RubiChess: The black king was forced to move early and RubiChess castled by walking. Igel created an advanced passer in a RBN vs RNN position, and very slowly increased the pressure until RubiChess' defense collapsed. Igel reduced to a winning RN vs R endgame.

Scores after 9 rounds: Igel +7, SlowChess +3, Pedone +1, RubiChess Winter +0, Vajolet Chiron -1, Wasp -2, Demolito -3, Nemorino -4. Igel with a remarkable 7 wins in 9 games, nothing can stop it from promoting. SlowChess has a good chance of promoting for the 3rd time this season. Demolito and Nemorino close the table but the relegation race is still open.

Game 46, Pedone - Igel: Igel gave a rook for a knight on the queen side and attacked on the king side. Igel used an advanced passer and an attack on the white king to reduce to a RRB vs RBB position, Pedone couldn't stop all the advancing passers. Igel gets a double win against Pedone.

Game 51, RubiChess - Pedone: In a QBN vs QBN position RubiChess used the exposed black king to capture the bishop for pawns. After exchanging queens the extra piece was enough to win.

Game 73, RubiChess - Igel: The game reached a RBN vs Q position, the white king was exposed and Igel gave checks with its queen until it ran out. RubiChess went after the two black pawns, it finally managed to capture them on move 109. The last white pawn gave RubiChess the win. This is the first loss for Igel in the league.

Scores after 15 rounds: Igel +8, SlowChess +6, RubiChess +4, Pedone Vajolet +0, Winter Wasp Demolito -3, Chiron -4, Nemorino -5. Apparently 3 engines promote from league 2. RubiChess joins the leader group with 4 wins in 6 games, one against Igel. It seems the promotion race is almost over. Chiron and Winter drop after 3 losses each. There are 5 engines close to relegation and anything can happen in the last 3 rounds.

In round 16 Chiron beat Demolito and Wasp lost to SlowChess. The scores at the bottom: Winter Chiron -3, Wasp Demolito -4, Nemorino -5.

Game 85, Wasp - Winter: Wasp crashes unexpectedly in a drawn position with evals at 0.

All remaining games were drawn in round 17. The scores at the bottom: Winter -2, Chiron -3, Demolito -4, Wasp Nemorino -5. Winter is safe. The crash means that Wasp loses tiebreaks automatically.

Game 86: Pedone - Wasp: Wasp had a pawn majority on the queen side. It used an open file to apply pressure on the king side, and created a passer on the queen side while the white pieces were busy defending their king. The game was adjudicated with the passer on the 2nd rank.

Wasp won its last game, Chiron lost, Nemorino and Demolito drew their game. Chiron, Demolito and Wasp are tied at -4, Wasp's crash means it relegates together with Nemorino.

 

Monday, August 24, 2020

Season 19 league 2 statistics

 A summary statistics table of previous stages and seasons. 

Draw rate, wins

 Final draw rate was 51.1%.

Game termination

The three most common game termination causes were:

44.4% - TCEC win rule
28.9% - TCEC draw rule
14.4% - SyzygyTB

There was one crash in the stage by Wasp.

Moves per game 

Median= 58
Average= 63.9

There were 7 games longer than 100 moves, the longest was 196 moves (Igel - SlowChess, game 57, draw).

Time per game (hours) 

 Median= 1:00
Average= 1:01

Openings

There were variable length book openings in this stage chosen for the first time by Eduardo Sauceda (cookie_monster_71 in the chat). The first letter of the ECO codes was distributed as follows:

The engines had almost no freedom to choose the opening variant, all of the game pairs repeated the same ECO code and opening variant twice.

Reverse pairs, wins

 Reverse pairs, same moves 

Pairs of reverse games diverged very quickly, 46.7% diverged immediately out of book, 84.4% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 9 plys (Wasp - Igel, games 23 and 68, Sicilian dragon, Yugoslav attack, Igel wins as black)  

 

Wednesday, August 19, 2020

Season 19 league 3

Final standings

 

SlowChess and Igel promote to league 2. This is the second promotion for SlowChess this season. Igel and Minic competed for 2nd place and were tied in the end, Igel promotes on a tiebreak since it won one of their head-to-head games.

Counter and iCE relegate to qualification. Counter was at the bottom of the table from the start, it was also weak last season in league 3. iCE relegated after a weak 2nd half with 5 losses, last season it had a much better score. Roc survives after promoting from qualification.

SlowChess and Igel will join the following engines in League 2:
relegated from league 1 in season 18: RubiChess
played in league 2 in season 18: Pedone, Winter, Vajolet, Chiron, Wasp, Nemorino, Demolito

ChessBrain also played in season 18 league 2 but will not participate this season.

Interesting games 

Game 7, Pirarucu - Marvin: Marvin blundered in what appeared to be a drawn N vs B ending. Pirarucu blocked the black bishop and captured pawns with its knight to win.

Game 15, Topple - Pirarucu: In a RRB vs RBN position Topple created a queen side passer while most of the black pieces protected their king on the king side. Topple used the passer to reduce to a winning rook vs pawns ending.

Game 20, Igel - Minic: Minic gave a bishop for pawns to remove a white passer. Igel kept its last pawn safe in a RRB vs RR position, cleared a path for it and pushed it slowly forward to win.

Game 22, iCE - Igel: Igel was close to a win in a N vs R ending with a pawn on the 2nd rank, but a wrong pawn move allowed iCE to draw.

Game 27, SlowChess - Pirarucu: SlowChess reduced to a B vs N ending. The bishop had many pawn targets and Pirarucu couldn't protect all of them. A crucial queen side passer gave SlowChess the win.

Game 41, Marvin - Roc: A miniature, over on move 12 in a 3-fold repetition.

Scores after 9 rounds: SlowChess +3, Igel Minic +2, Pirarucu +1, Marvin Roc +0, Gogobello -1, Topple iCE -2, Counter -3. At the half point the promotion and relegation races are wide open. SlowChess is in the lead with a good chance to promote again, 3 more engines have positive scores and are not far behind. There are 4 engines with negative scores, all are candidates for relegation.

Game 46, Roc - Gogobello: Roc moved its queen into a trap in the corner, Gogobello reduced to a Q vs BN position 4 pawns up. By the time the queen got out of the trap there were too many black passers moving forward and Gogobello kept its king safe from checks. The game was adjudicated before Gogobello queened a pawn.

Game 48, Counter - Minic: Counter was 2 pawns up, but due to lack of tablebase support allowed Minic to reduce to a drawn rook ending with f+h pawns.

Scores after 15 rounds: SlowChess +6, Igel +4, Minic +3, Pirarucu +1, Topple Gogobello Roc -1, Marvin -2, Counter -4, iCE -5. The table is clearer with 3 rounds left. SlowChess continues to lead, probably Igel or Minic will also promote. At the bottom iCE lost 3 games and dropped to last, it will probably relegate with Counter.

In round 16 Minic beat Marvin, Igel drew against Topple and they are tied with two games to go. iCE and Counter lost again, Marvin is only 1 point away and is still in danger.

Game 85, Marvin - iCE: The engines shuffled in a closed position with Marvin up a rook for a bishop. After most pieces were exchanged the game reached a R vs N ending, iCE was 2 pawns up but Marvin kept its last pawn and secured the win. 

Round 17: Counter lost again, Marvin is safe, iCE and Counter relegate. Igel and Minic drew their games, they are still tied before the last round.

Game 88, Minic - Pirarucu: Minic opened the position starting with a knight sacrifice on move 102, that resulted in a R vs BB imbalance. All the white major pieces came forward, Minic created a passer and reduced to a R vs BB ending. The rook was strong enough to clear a path for the passer, giving Minic the win.

Igel needed a win in its last game against Counter, it played better than Counter and was a piece up when the game was adjudicated after only 36 moves. Igel and Minic have the same +5 score, Igel has a better tiebreak since it beat Minic in their direct mini-match.


Monday, August 17, 2020

Season 19 league 3 statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins

Final draw rate was 65.6%.

Game termination

The three most common game termination causes were:

32.2% - TCEC draw rule
27.8% - TCEC win rule
21.1% - SyzygyTB

There were no crashes in the stage.

Moves per game

Median= 55
Average= 59.7

There were 7 games longer than 100 moves, the longest was 129 moves (Marvin - Pirarucu, game 52, draw).

Time per game (hours) 

 

Median= 1:00
Average= 0:59

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 a little freedom to choose the opening variant, 80.0% of the game pairs repeated the same ECO code twice, and 71.1% repeated the same opening variant. Only in 2.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, 37.8% diverged immediately out of book, 80.0% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 9 plys (Igel - Pirarucu, games 38 and 83, Ruy Lopez exchange variation, two draws)