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) 


Friday, August 14, 2020

Season 19 qualification league

Season 19 started with a qualification league with 12 engines, 1 and DRR, 30+5 time control.
The engines playing in the qualification league are:

- Played in season 18: Asymptote, Monolith, chess22k, ChessFighter, FabChess, Combusken, Tucano, Bagatur, Weiss
- New engines:  SlowChess Blitz Classic, A0lite, Roc

Final standings


SlowChess and Roc promote. SlowChess was much better than the rest of the field, it will be interesting to see how far it can go. The race for 2nd place was close and continued until the very last round. Roc is apparetly related to Gull, so it is nice to see it back in TCEC.

A0lite, Bagatur and Tucano lost more than half of their games against the rest of the engines. A0lite seems to be a small NN experiment (running on CPU? I think), it usually started games well but failed miserably at the end. Maybe it will improve until next Season. 

League 3 is next, SlowChess and Roc will play together with:
Gogobello, Igel, Minic, iCE, Marvin, Topple, Pirarucu, and Counter (all from season 18 league 3).

Interestsing games
 
Game 12, SlowChess - chess22k: SlowChess gave two pawns to create an advanced passer in a RRB vs RRB position. Exchanging the rooks resulted in a second connected passer and a win.
Game 14, Monolith - SlowChess: SlowChess used a pawn majority on the queen side in a RRN vs RRN position to create an unstoppable pawn.
Game 23, SlowChess - Roc: Roc realized its king was in danger too late and lost its queen.
Game 35, chess22k - FabChess: chess22k was up a bishop for 2 pawns with evals over 2. FabChess captured all the white pawns and forced a draw.
Game 36, Monolith - Roc: Roc attacked on the queen side and gradually increased the pressure. After a series of exchanges the game reached a R vs BN ending and Roc slowly converted the win.
Game 38, FabChess - Monolith: The game reached a RB vs RBN position, white with a passer on the 7th rank. Monolith blocked the passer and attacked the white king, it used a mate threat to capture the bishop and reduce to a pawnless tablebase win.
Game 47, Monolith - ChessFighter: In a RN vs RN position Monolith captured the knight for two pawns, then managed to convert with one pawn remaining.
Game 59, Roc - Combusken: Combusken opened the king side and attacked the white king, it was a rook up after a series of exchanges, enough for a win.
Game 65, Tucano - chess22k: chess22k gave a rook for a bishop to lower the pressure on its king, Tucano gave the material back and reduced to a B vs N ending with an advanced passer. Eventually both engines queened a pawn, Tucano was first and this was enough to secure the win.

Scores after 11 rounds: SlowChess +7, Roc FabChess Monolith +3, chess22k ChessFighter Combusken +1, Asymptote Weiss -1, Bagatur Tucano -5, A0lite -7. SlowChess is the strongest engine in the league, it will probably be this league's winner. There is a close race for 2nd place, probably one of the 6 engines in places 2-7 will promote to league 3. The 3 engines at the bottom are the punching bags of the league, each losing more than half of its games against the higher placed engines.

Game 75, FabChess - Bagatur: FabChess was better with an eval over 2.5 but it let Bagatur reduce to a drawn rook ending.
Game 78, chess22k - SlowChess: An unusual blunder by chess22k early in the game gave SlowChess a R vs Q advantage, the game was adjudicated on move 22.
Game 80, SlowChess - Monolith: The black queen came forward and was almost trapped, by the time it got out SlowChess was up a piece with a strong bishop pair that ensured the win.
Game 85, Asymptote - A0lite: Asymptote sacrificed a knight and a rook and attacked the black king, then it got the move order wrong and A0lite was suddenly safe and up two pieces. A0lite got its first win in the league.
Game 88, FabChess - Weiss: Weiss dominated the queen side in a BN vs R imbalance. It used a passer to capture a knight and reduce to a winning N vs R ending.
Game 93, SlowChess - FabChess: FabChess blundered in a drawn B vs N ending.
 
Scores after 16 rounds: SlowChess +11, Roc +6, Monolith +4, Combusken +3, ChessFighter +2, FabChess chess22k +1, Asymptote -1, Weiss -2, Tucano -7, Bagatur  A0lite -9. Roc improved its chances with 3 wins, FabChess dropped after losing two games and missing opportunities against weak engines. Combusken and Monolith are also in the leading group. There are 6 rounds to go, the race for 2nd place is still open.

Game 103, A0lite - Roc: A0lite was 3 pawns up in an opposite color bishop ending. A better engine would have won but Roc managed to survive.

Scores after 19 rounds: SlowChess +13, Roc +7, Monolith Combusken +5, ChessFighter +1, chess22k +0, FabChess -1, Asymptote Weiss -2, Tucano -6, Bagatur  A0lite -10. Only 3 rounds to go. Monolith and Combusken still have a small chance to finish ahead of Roc.
 
In round 20 Roc beat ChessFighter while Monolith and Combusken drew their game. Roc increases the lead to 1.5 points with 2 rounds remaining.
 
Game 125, Combusken - Roc: The black king was uncastled and had to walk to safety. Combusken used the time to build a strong queen side and to create a central passer. Eventually the advantage was converted into material, Combusken went up a rook and won.

Combusken closed the gap to 0.5 points, Monolith drew against Asymptote. The scores before the last round are: Roc +7, Combusken +6, Monolith +5.
 
Combusken and Monolith drew their last games, Roc ended with a win and secured 2nd place.

Thursday, August 13, 2020

Season 19 qualification league statistics

 A summary statistics table of previous stages and seasons. 

Draw rate, wins

Final draw rate was 47.7%.

Game termination

The three most common game termination causes were:

29.5% - TCEC win rule
28.0% - SyzygyTB
23.5% - TCEC draw rule

There were no crashes in the stage.

Moves per game

Median= 60.8
Average= 69.3

There were 18 games longer than 100 moves, the longest was 232 moves (Asymptote - Combusken, game 84, draw).

Time per game (hours) 

Median= 1:05
Average= 1:05

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 56.1% of the game pairs repeated the same ECO code twice, and only 53.0% repeated the same opening variant. However, only in 6.1% 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, 39.4% diverged immediately out of book, 69.7% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 14 plys (Bagatur - Tucano, games 42 and 108, Budapest opening, Rubinstein variation, Tucano won as white and drew as black)