Thursday, April 2, 2020

Season 17 premier division, all engines, after 120 games

Crosstable after 120 games


There are three engines without loss and a positive score, Stockfish with 7/28 wins, AllieStein with 4/18 and Leela with 2/18. At this rate we will see a replay of last season's superfinal between Stockfish and AllieStein. Leela's win rate is disappointing, it drew all 12 games against CPU engines so far. Stockfish's result agains GPU engines isn't great as well, so far one win in 8 games. AllieStein has a good chance of winning the premier division.

ScorpioNN is likely to finish last, it has a score of -4 after 18 games, compared to Houdini with -4 in 28 games. KomodoMCTS will probably be the 3rd engine to relegate. One of the 4 engines with scores close to even - Komodo, Fire, Ethereal, Stoofvlees will be the 4th to relegate.

There were 10 decisive games in the 30 reverse games, compared to 3 in the first 30 GPU games. 


Interesting games

Game 92, Stoofvlees - Komodo: There were no exchanges after the opening except one pair of pawns. Stoofvlees had a space advantage, its eval was around 1 and it started to increase after move 25, though the engines seemed to be shuffling. Gradually the black pieces were pushed back and struggled to find moves. After exchanging knights Stoofvlees put its remaining knight on c6, its eval over 3. After the king side was locked Komodo gave a rook to get rid of the white knight, Stoofvlees slowly prepared its queen side attack. When it was ready Stoofvlees opened files on the queen side and exchanged down to a RB vs BN position. Stoofvlees captured a pawn and the game was adjudicated before it captured more.

Game 94, AllieStein - Fire: See featured game below.

Game 95, Ethereal - ScorpioNN: Ethereal had a small eval advantage after the opening, its eval jumped over 2 after a ScorpioNN blunder. A series of exchanges led to a QBN vs QR position, the exposed black king gave Ethereal a significant advantage. Ethereal sacrificed its bishop but had the black king in a mating net. ScorpioNN soon lost its queen and then was mated.

Game 96, KomodoMCTS - AllieStein: KomodoMCTS forced a stalemate draw with a queen sacrifice. AllieStein's eval went crazy for a few moves before the end.

Game 99, ScorpioNN - Komodo: Another ScorpioNN blunder. This time it thought it could capture a pawn, noticing a move later that Komodo loses its queen temporarily but can immediately trap the white queen. This led to a R vs BN imbalance, the black bishops and knights were very strong. Eventually Komodo captured a knight and the game was over not long after with another mate.

Game 102, AllieStein - Ethereal: AllieStein's eval increased after the opening, reaching about 2.5. All pawns were on the board, there were several exchanges of minor pieces and the engines shuffled for a while. Ethereal captured a hanging pawn while AllieStein pushed pawns forward on the king side and created an advanced passer. Evals started to increase again after the position opened a little and only major pieces remained. AllieStein attacked the black king, Ethereal exchanged queens to stop the attack. The white king came forward, Ethereal had to keep an eye on the white passer and this let AllieStein capture more pawns. The game was adjudicated in a double rook ending with white two pawns up.

Game 107, Stoofvlees - Ethereal: Stoofvlees gave two pawns early, the black pawn line had holes on both sides and the black king stayed in the center without castling. After a series of exchanges Ethereal was down a knight and up 3 pawns, the game reached a RBN vs RB position with evals over 2. Stoofvlees captured a pawn and created a king side passer. After exchanging knight for bishop the black rook moved forward and captured another pawn, the game was adjudicated a few moves later.

Game 109, Leela - ScorpioNN: Both engines did not castle kings, and moved their pieces behind the pawn lines. Leela's eval was around 1.5 for a long time as the engines shuffled, evals came down as the 50-move draw approached. Just before the draw ScorpioNN grabbed a pawn, the engines reduced to a RN vs RB position and evals went up again. Leela had two advancing passers and ScorpioNN gave the bishop to stop them. After exchanging rooks the white knight was on time to stop the black pawns and the white king captured a pawn to create a winning passer.

Game 110, AllieStein - Stoofvlees: AlllieStein started the game with an eval over 1, and its eval increased very fast to over 10 by move 23. It developed its pieces rapidly, after opening the king side the black king was in danger. The engines reduced to a QR vs QR position, material was equal but the exposed black king was a big advantage for AllieStein. Stoofvlees escaped being mated but it lost the rook and the game was adjudicated.

Game 117, ScorpioNN - KomodoMCTS: ScorpioNN had a space advantage after the opening, its eval increased quickly. The engines opened the queen side and exchanged queens, then started to shuffle. ScorpioNN waited for the right moment to open the king side and capture a rook for a bishop. The engines shuffled again in a RRB vs RBN position, ScorpioNN had an advanced passer that KomodoMCTS blocked with its bishop. The engines exchanged rooks, it seemed that ScorpioNN was not in a hurry to win but eventually the material advantage was enough. The game was adjudicated when KomodoMCTS had no pawns and ScorpioNN had two advanced passers. There were two white wins in this opening, too biased perhaps.

Game 120, Stockfish - Stoofvlees: Stockfish gave a pawn early and created a gap in the pawn lines on the queen side. All pieces were on the board until move 23, and evals were close to 0. Stoofvlees pushed a pawn on the king side all the way to f3, then offered a rook and threatened to expose the white king. Stockfish waited until it thought it was safe to take the rook, evals stayed low even though the black queen was facing the white king. Then Stockfish's eval jumped over 4 suddenly, Stoofvlees thought it had at least a perpetual check draw for 4 additional moves before it realised Stockfish can escape. The black attack was over after a few piece exchanges and the material advantage became decisive. The game was adjudicated with mate a few moves away.

Featured game: AllieStein - Fire
Premier division, game 94
Link to game on TCEC

There were many exchanges after the opening, clearing the center. Fire went a pawn up yet AllieStein's eval was over 1. Fire's queen side was not developed, its bishop almost trapped. The black king was vulnerable especially on the dark squares.


AllieStein gave a second pawn to put a bishop on the long diagonal threatening the black king, its eval jumped high. Fire's eval slowly reacted, it gave a rook to remove the bishop and the game reached a R vs N position, black a pawn up. AllieStein's eval was already way over 10.


AllieStein pushed its pawns forward, but then it started to shuffle without purpose. After 30 moves it finally captured a pawn and created a passer on the king side.



The game was adjudicated a few moves later.

 

Sunday, March 29, 2020

Season 17 premier division, all engines, after 90 games

Crosstable after 90 games


There were only 3 decisive games in the first 30 games involving GPU engines, and only one of these was a CPU-GPU match. As a result the CPU engine standings did not change. In the GPU part of the table Leela and AllieStein have one win each, a better win rate than Fire which is currently in 2nd place. Still very early to make predictions.

We have seen the characteristic properties of GPU engines: longer games, mate on the board, the inability to convert won endgames. The increase in draw rate was unexpected but it may still improve.

There were two network crashes in CPU-GPU games.

Interesting games

Game 64, Fire - AllieStein: AllieStein was sure it was better in a BN vs RN position with white 3 pawns up. It gave the knight for pawns and pushed a passer to the 2nd rank, its eval over (negative) 10 for a few moves. Fire was willing to trade its bishop for the passer in case it tried to promote, and AllieStein knew this would lead to a draw. Instead the engines shuffled for almost 50 moves, and only then AllieStein made the trade, its eval coming down to around 1.5. Still AllieStein wouldn't give up and the game ended in a 50-move draw on move 161.


Game 69, Komodo - ScorpioNN: ScorpioNN was a pawn up and its (negative) eval kept increasing. ScorpioNN's eval peaked over 4, Komodo also thought it was behind with an eval of 2. It seemed ScorpioNN could attack on the king side, but it just kept shuffling as evals slowly came down. The engines started to exchange everything, the game ended in a tablebase draw on move 150.

Game 73, ScorpioNN - AllieStein: AllieStein captured a pawn with its queen and then retreated, there was no eval change so the pawn was not poisoned. On the contrary, its (negative) eval started to increase. ScorpioNN tried to press on the queen side, AllieStein gave a rook for a knight and broke through the center. After some shuffling AllieStein captured another pawn, the game reached a QR vs QB position with black 3 pawns up. The black pawns moved forward and ScorpioNN couldn't stop one from promoting, the game ended with mate on the board. First decisive game for a GPU engine.

Game 83, Leela - Stoofvlees: Stoofvlees gave a lot of material early in the game, it was down a full rook on move 25. The white king was on the run from the black queen and bishops, Leela slowly untangled its pieces and then the material advantage became evident. Stoofvlees tried to push a passer and lost it in the end, it tried giving checks with its queen but Leela found safety for its king. The game ended with mate on the board.

Game 84, ScorpioNN - Stoofvlees: See featured game below.

Game 87, KomodoMCTS - ScorpioNN: There were no exchanges in the first 25 moves. The center was blocked and the engines opened files in the flanks. KomodoMCTS was active on the queen side and evals started to increase, ScorpioNN was weak there with a blocked pawn on c7 and an almost trapped bishop on c8. KomodoMCTS broke through the queen side, ScorpioNN countered on the king side and there was a massive exchange. The game reached a queen ending, KomodoMCTS was a pawn up and its pawns were more advanced. The game ended in mate.


Featured game: ScorpioNN - Stoofvlees
Premier division, game 84
Link to game on TCEC

ScorpioNN had a space advantage, it pushed its pawns forward and the black pieces had to move back. Stoofvlees gave material to open the board and to counter with an attack on the exposed white king. Evals went over 2, Stoofvlees was a rook down and both engines didn't believe the king side attack compensated for the material loss.

ScorpioNN avoided threats of a perpetual check, Stoofvlees chased the white king but it escaped to the queen side where it had the protection of its pieces. Along the way Stoofvlees captured a few pawns. ScorpioNN forced a queen exchange that stopped the threats on the white king. The game reached a RBN vs BN position with black 4 pawns up.


All evals were very high, ScorpioNN just had to get rid of a few pawns and exchanged pieces, it seemed an easy win. ScorpioNN went after the black bishop first, it exchanged its knight for it, losing its last pawn in the process. Both engines seemed less sure about the outcome, their evals drifted down.


Stoofvlees kept three pawns on the king side, and together with the knight it built a fortress that ScorpioNN couldn't break. The white king stood in the way of the pawns without moving, and the white pieces could not mate the black king without its help. The engines just shuffled for 50 moves, and ScorpioNN ended the game by giving the bishop for a pawn. The draw was quite unbelievable.

Wednesday, March 25, 2020

Season 17 premier division, CPU only full results

Final crosstable for CPU only games


Stockfish continues to dominate the CPU part of the division. It added 3 more wins in white, KomodoMCTS is the only engine it hasn't beaten. Fire is still in 2nd place, the only other engine with a positive score, though it lost once to Stockfish. Houdini continues to be weak, both it and KomodoMCTS have a good chance of relegating this season.

The GPU engines will start playing in the division in the next phase. I'm looking forward to these games, the CPU-GPU matchup of this season. I will continue to report every 30 games, each time a full RR is completed. This is as close to a balanced table as we're going to get this season.


Interesting games

Game 31, Stockfish - Ethereal: The first pair of pawns was exchanged on move 27. Ethereal used minor pieces to close gaps in its pawn line, evals were over 1 but the position looked stable. The engines shuffled for 30 moves, then Stockfish exchanged a few pieces and opened a file on the queen side, its eval jumping over 2. After some more shuffling Stockfish went two pawns up and reduced to a RB vs RN ending. The game continued for 20 more moves, Stockfish pushed pawns forward until adjudication.

Game 39, Fire - KomodoMCTS: KomodoMCTS sacrificed a bishop for pawns, the white king remained in the center facing two black central pawns. Fire gave the piece back to remove the pawns, the engines exchanged most pieces and Fire reduced to a rook ending with one pawn advantage. KomodoMCTS thought it was safe, with evals at 0 even when Fire was seeing mate in the future. However it was Fire that was right and the game was over quickly.

Game 40, Ethereal - KomodoMCTS: Pawn lines were mostly stable from move 22, Ethereal gave a pawn but it had an eval advantage. The engines shuffled for a long time, with a few pawn moves and exchanges that reset the 50-move counter. On move 80 Ethereal's eval jumped as it gave a second pawn and opened the king side. Ethereal sacrificed a knight, its attack on the black king was strong and KomodoMCTS gave its queen for a rook to stop it. The game reached a Q vs RB ending, the queen was much stronger and Ethereal soon captured enough material to win.

Game 41, Stockfish - Fire: See featured game below.

Game 53, Stockfish - Houdini: After 35 moves evals were close to 0, Houdini was a pawn up and Stockfish had strong major pieces in the center. Stockfish's eval jumped over 1 when the black knight got into trouble. After a series of threats and pins Houdini gave a rook for a bishop and reduced to a RR vs RN position, black two pawns up. The white rooks were very active, Houdini had a passer it pushed to the 2nd rank. Stockfish was very patient, it blocked the passer with its king and captured two pawns. Houdini avoided exchanging rooks, in the end it had to give up the passer and the game was finally adjudicated on move 87.

Game 58, Ethereal - Houdini: All pieces were on the board, the engines exchanged a pair of pawns and opened the h file. Houdini took over the file and evals increased to about 1 (negative). Ethereal gave a pawn on the queen side, all pieces were still on the board as the engines shuffled for a while. Evals turned positive gradually, a series of exchanges opened the position and only QRB vs QRB remained. Houdini was a pawn up but Ethereal had a dangerous queen side passer. After exchanging queens Ethereal started to capture black pawns. Houdini tried to push passers but could not protect them, the game was adjudicated with white 3 pawns up.

Featured game: Stockfish - Fire
Premier division, game 41
Link to game on TCEC


Fire moved its queen forward early in the game, Stockfish avoided exchanging queens, its eval was around 1. The white king looked exposed but it was safe from attack. The black king was more vulnerable.


Stockfish pushed the black queen to the queen side and then attacked the black king. Fire refused to take a sacrificed knight to keep the king side pawns, Stockfish gave a rook to take out a defending knight. Fire's eval was still close to 0, it didn't see what was coming.


Fire gave the material back and the game reached a QR vs QR position, the black king was still under threat. Both engines raced to promote a pawn, Stockfish went up a pawn and exchanged rooks.


In the end both sides promoted a pawn and lost one queen, in the queen ending the white pawns were better placed and Fire could not avoid another white promotion, the game was adjudicated quickly.

Saturday, March 21, 2020

Season 17 premier division, CPU only, after RR2

The organizers have decided to order the premier division games so that the GPU hardware usage is optimized. The CPU only games will be played first without a need for a GPU machine. Then all the CPU-GPU and GPU-GPU games will be played. Eventually all games will be played (a 2xDRR tournament), but it will be very difficult to understand the relative standings of the engines until the very end.

For me this is a little disappointing, I think that the most interesting part of this division is the CPU-GPU clash and now it will be postponed and the crosstables will not be balanced for most of the division. It will be very surprising to me if Stockfish does not dominate the CPU part of the division. I would like to see whether Leela can put up a fight this season, whether AllieStein is as strong as last season, and whether Stoofvlees can beat AllieStein or Leela.

Despite these reservations, the chess is going to be of the highest level as it always is in TCEC !!

Crosstable after RR2


As expected Stockfish is in the lead with 3 wins, all when playing white. Fire is in second place with a win and no loss, quite surprising for Fire, though it may be temporary and there are many games to be played yet.
Houdini is last with 2 losses, Houdini is using only 64 threads of a possible 176 and this may affect its strength relative to the other engines.

Interesting games

Game 1, Stockfish - Ethereal: The game reached a RB vs RB position on move 33, both evals were close to 1 and Stockfish quickly went up a pawn and created a passer. Ethereal had to block the passer and Stockfish used this to capture a second pawn. Ethereal tried to counter by pushing a passer to the 2nd rank, Stockfish forced a rook exchange and the game was adjudicated.

Game 6, Stockfish - Komodo: Stockfish had a small eval advantage after the opening, which started to increase after 25 moves to over 1. By move 40 Stockfish was a pawn up with a pawn majority on the king side. After exchanging most pieces the game reached a QB vs QB position, Stockfish's eval climbed rapidly while Komodo's eval stayed around 2. The endgame was long and subtle, Komodo got the pawn back and tried to create a fortress. The white king assisted in blocking a black pawn and finally Komodo acknowledged that it was losing. The game was adjudicated with Stockfish 2 pawns up in a queen ending.

Game 9, Fire - KomodoMCTS: see featured game below.

Game 12, Komodo - Houdini: Komodo gave a pawn and opened a file on the king side, after exchanging queens it had a passer on the 6th rank facing the black king. A strong bishop on the long diagonal added pressure on the black king and evals increased over 2. Houdini had to give a rook for a knight, the engines exchanged down to a RR vs RB position. The black rook had to block the passer, Komodo started to pick up pawns and the game was adjudicated.

Game 23, Stockfish - Houdini: Houdini captured a pawn with its queen and opened a file for Stockfish facing the black king. Stockfish then gave a rook for a knight while threatening mate. Evals jumped as Stockfish increased the pressure, Houdini exchanged queens and saved its king, but Stockfish captured a rook and was a piece up. Houdini tried to defend for another 15 moves before giving up.

Featured game: Fire - KomodoMCTS
Premier division, game 9
Link to game on TCEC

KomodoMCTS opened the queen side early, its queen went forward and Fire used its pawns to push it back. Evals climbed to around 1 after Fire captured a rook for a bishop and pawn, and then placed its knight on c5.


KomodoMCTS exchanged knights on c5, at the cost of a white passer. Fire pushed the passer to the 7th rank while evals increased slowly.


KomodoMCTS tried to counter on the king side, it pushed its e passer forward and attacked with its queen. Fire kept its king safe, it exchanged pieces and traded its c passer for another on the a file.


KomodoMCTS had to abandon its passer to block the white a pawn, then lost its bishop to capture it. Fire was a rook up and the game was adjudicated a few moves later.

Friday, March 13, 2020

Season 17 league 1 playoff statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins

 
Final draw rate was 66.7%.


Game termination

The three most common game termination causes were:

38.3% - SyzygyTB
23.3% - TCEC draw rule
13.3% - TCEC win rule

There was 1 crash in the stage, but that was due to a wrong parameter setting for ScorpioNN. The game was resumed after the parameter was fixed. There were 8 games with mate on the board, mostly ChessFighterNN losses.

Moves per game


Median= 72.5
Average= 74.8

These are NN-related numbers, significantly higher than in AB engine games.
There were 9 games longer than 100 moves, the longest was 148 moves (ScorpioNN - Fire, game 27, draw).

Time per game (hours)

 
Median= 2:01
Average= 1:56

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 of the game pairs repeated the same ECO code and the same opening variant twice.

Reverse pairs, wins

 
Reverse pairs, same moves

 
Pairs of reverse games diverged very quickly, 43.3% diverged immediately out of book, 83.3% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 10 plys (Ethereal - Fire games 36 and 51, Nimzo-Indian classical variation, two draws).  

Season 17 league 1 playoff, final results

Final crosstable


Fire, KomodoMCTS, ScorpioNN and Ethereal will play in the premier division, together with Stockfish, Leela, AllieStein, Komodo, Houdini and Stoofvlees.

rofChade was in the race for 4th place until the very last game of the league. It was better than Ethereal in their head to head matches, it lost the race due to its many losses to higher ranked engines.

Notable games
Game 32, Fire - rofChade: The black king was uncastled in the center, Fire gave a knight for two pawns to open the center and attack. rofChade couldn't find safety for its king and it gave a rook for a bishop to stop the attack. This led to a RR vs RBN position, Fire was 4 pawns up and that was enough to win.
Game 33, ScorpioNN - KomodoMCTS: ScorpioNN had an eval advantage from the opening, its eval climbed over 3 very quickly and then stayed there. The center was blocked and the black pieces were on the queen side, leaving the black king vulnerable. The engines mostly shuffled for a while, ScorpioNN moved its focus to the queen side. KomodoMCTS felt safe and evals slowly decreased, the engines opened a file on the queen side and exchanged a pair of rooks. Then scorpioNN broke through the center with a knight for pawns sacrifice and evals jumped back. The pressure on the black king increased until KomodoMCTS exchanged pieces and gave a bishop. ScorpioNN was up 3 pawns in a knight ending, a straightforward win.
Game 39, KomodoMCTS - rofChade: There were only a few exchanges after the opening, KomodoMCTS had a small eval advantage, evals stayed under 1 until move 35. The engines opened files on the queen side and evals jumped over 2, they continued to increase while the engines exchanged pieces. Eventually KomodoMCTS went up a bishop and the game was adjudicated.
Game 40, ChessFighterNN - rofChade: ChessFighterNN's eval increased quickly after the opening and went over 5. rofChade's eval was over 2 which was more believable. The visible advantage was two white passers and only one black passer. Despite the clear eval advantage ChessFighter did not play the right moves and rofChade was able to remove one passer and to reduce to a drawn bishop ending.

Scores after RR3: Fire +6, KomodoMCTS +4, ScorpioNN +2, Ethereal -1, rofChade -3, ChessFighterNN -8.
The most interesting race is for 3rd and 4th place. ScorpioNN is in 3rd after it adds two wins in RR3 and creates a small gap to the two engines below. rofChade loses twice in RR3 and is moving away from the premier division. Ethereal with 5 draws is in 4th place, 1 point above rofChade. There are 5 rounds left. 

Game 48, KomodoMCTS - ScorpioNN: KomodoMCTS had a small eval advantage after the opening, Evals jumped after KomodoMCTS sacrificed a knight and exposed the black king. ScorpioNN was not prepared for the deadly attack, it gave a rook to try to save its king. KomodoMCTS started to capture black pieces and ScorpioNN resigned. There were two white wins in this opening, a possible opening bias.

Scores after round 18: Fire +6, KomodoMCTS +5, ScorpioNN +1, Ethereal -1, rofChade -3, ChessFighterNN -8.
ScorpioNN lost a game but with only two rounds to go it is almost certainly going to be in the top 4. The last game in the playoff is between Ethereal and rofChade, rofChade has a tiebreak advantage so it can still overtake Ethereal with a win.  

In round 19 rofChade beat ChessFighterNN, Ethereal drew against KomodoMCTS and ScorpioNN drew against Fire. The 4th place will be determined in the last game, rofChade needs a win, any other result is good for Ethereal. There will not be a tiebreak in any case.

Game 59, Fire - KomodoMCTS: The game reached an opposite color bishop ending and appeared to be an easy draw. However, KomodoMCTS blundered and let the white king approach a pawn in a way that prevented the black bishop from defending. Fire had two advanced passers, and the game was over when one promoted to a queen.

In the last game rofChade needed a win but it was Ethereal that had an eval advantage, and the game ended in a draw.

Tuesday, March 10, 2020

Season 17 league 1 playoff, after RR2

Crosstable after RR2



For the first time in season 17 CPU engines are playing against GPU engines. Four out of the six engines in this playoff will move on to play in the Premier League, the highest level  TCEC tournament.

At the halfway point it appears that Fire and KomodoMCTS will promote while ChessFighterNN is probably going to finish last. The middle group of ScorpioNN, rofChade and Ethereal are in the race for two promotion spots.

The GPU and CPU engines have very different evaluation functions. The games in this league tend to be longer than in previous stages, the engines take longer to decrease evals in drawn results. ChessFighterNN's eval rarely increases beyond 10 and as a result its games can continue until mate (4 games so far). There was one crash by ScorpioNN, but that was due to a wrong parameter setting. The parameter was fixed and the game was resumed without a problem.

Notable games

Game 3, ScorpioNN - KomodoMCTS: ScorpioNN thought it was better in a closed position with blocked pawn lines. The engines shuffled from move 28 and ScorpioNN avoided the 50-move draw with a pawn sacrifice. The engines continued to shuffle, though ScorpioNN allowed a black pawn to reach the 2nd rank. Then quite suddenly KomodoMCTS' eval jumped, it found a mating sequence that ScorpioNN overlooked, perhaps due to a queen sacrifice.
Game 10, ChessFighterNN - rofChade: ChessFighterNN was sure it was better after the opening, its eval peaked over 3. rofChade traded 2 knights for a rook and pawn, it exposed the white king to attack along the long diagonal. Evals dropped to 0, then ChessFighterNN blundered when it failed to consider a rook for knight sacrifice by rofChade. The white king came under attack and ChessFighterNN was forced to trade down to a rook ending. rofChade was a pawn up with connected passers, both engines queened a pawn but rofChade was first. It was able to promote a second pawn and win.
Game 15, rofChade - Ethereal: Evals climbed above 1, rofChade had more space and it trapped one of the black rooks for a while. After several exchanges the game reached a RN vs RN position, rofChade with a pawn up and a queen side passer. Ethereal exchanged rooks and that was a possible blunder, rofChade's eval jumped quickly. At first Ethereal thought it was safe, when its eval reacted it was too late, the white passer was unstoppable and the game was adjudicated.
Game 21, Fire - Ethereal: Fire had a space advantage, the first piece was exchanged on move 31, Ethereal had a passer but couldn't push it forward. After another minor was exchanged Fire had strong central pawns and a bishop pair, the black king became a target. Several exchanges cleared the center, Fire was a pawn up and it pushed a passer forward. Ethereal gave a rook for a bishop to remove the passer, Fire converted the RRB vs RBN ending, the game was adjudicated 10 moves later.
Game 30, Ethereal - rofChade: The game reached a QB vs QB ending, Ethereal with a pawn up. Ethereal's eval was close to 2 but it couldn't find the win, rofChade held and the game was adjudicated a draw on move 137.

Saturday, February 29, 2020

Season 17 league 1 (CPU) statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins


Final draw rate was 67.3%.


Game termination

The three most common game termination causes were:


39% - TCEC draw rule
29.2% - TCEC win rule

18.3% - SyzygyTB


There was 1 crash in the stage by Laser. DefenChess lost on time once, this season this was not considered as a crash.

Moves per game

 
Median= 57
Average= 63.5

There were 34 games longer than 100 moves, the longest was 281 moves (DefenChess - Xiphos, game 100, draw).

Time per game (hours)
 
Median= 1:26
Average= 1:26

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 of the game pairs repeated the same ECO code twice, and all but one repeated the same opening variant.

Reverse pairs, wins


Reverse pairs, same moves  


Pairs of reverse games diverged very quickly, 37.9% diverged immediately out of book, 74.2% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 22 plys (KomodoMCTS - Vajolet games 91 and 211, Queen's pawn, two draws)

Season 17 league 1 (CPU) final results

Final crosstable


The engines that promote to the premier division playoff are Ethereal, Fire, KomodoMCTS and rofChade. Xiphos, rofChade and DefenChess had a very close race for 4th place, Xiphos led most of the RR but rofChade managed to catch up. The two engines finished with the same score and rofChade had a tiebreak advantage of more wins.

As expected Nemorino, Winter, PeSTO and Fizbo finished last and are relegated to league 2.

The GPU hardware has been finally announced. The next event was planned to be a GPU league 1, with 2 GPU engines promoting to a playoff with the 4 AB engines that led the CPU league. So far there are only two GPU contenders, ChessFighterNN and ScorpioNN. If this does not change the GPU league 1 may be cancelled and the playoff will be next.

Notable games

Game 370, Arasan - DefenChess: Arasan sacrificed a knight and exposed the black king. DefenChess gave its queen for a rook and the game reached a Q vs RN ending. Progress was slow, Arasan managed to convert after 30 more moves.
Game 380, Nemorino - Andscacs: Nemorino sacrificed a a rook and knight for a bishop and opened the king side, the black pieces were too far away on the queen side to help the black king. Andscacs gave material and exchanged pieces to reach a RBN vs RR position, the extra piece gave Nemorino the win after 15 more moves.
Game 383, RubiChess - Arasan: RubiChess went a pawn up with a pair of connected passers. Arasan managed to capture one of the passers and exchanged its queen for pieces, reducing to a Q vs RB ending. RubiChess slowly pushed its passer until adjudication.
Game 392, Ethereal - Laser: Laser was up a rook for a knight , but its king was in danger and its queen was too far. Ethereal regained the material and the game reached a RBN vs RR ending, with one pawn left for each engine. Ethereal played slowly and patiently, it took almost 50 moves to capture the black pawn, the game was adjudicated a few moves later.
Game 394, Laser - Xiphos: Laser went two pawns up and let Xiphos push a passer to the 2nd rank. Laser used its queen to block the passer, Xiphos quickly took over the game and Laser was forced to lose a rook to capture the passer, game over.

After 50 rounds: Xiphos +9, rofChade +7, DefenChess Andscacs +4, Laser RubiChess +3.
Xiphos and rofChade with two wins each, it is likely that the 4th promotion spot will go to one of them. Laser lost twice and is no longer unbeaten, DefenChess lost as well, these engines are moving in the wrong direction. Andscacs and RubiChess also have a remote chance. Drawn games against the bottom 4: Laser - Winter, Xiphos - Nemorino, PeSTO - Laser, Winter - Xiphos, DefenChess - PeSTO.

Game 426, Xiphos - Fizbo: The game reached a RN vs BN position, Fizbo a pawn up with a pair of connected passers. Xiphos was not able to convert despite having an eval around 1.5.

After 54 rounds: Xiphos +9, rofChade +8, DefenChess +7, Andscacs RubiChess +5, Laser +4.
Xiphos still has the best chance to be promoted 4th, but the other engines still in the race are closing in. rofChade is only 0.5 points behind and DefenChess with 3 wins in 4 rounds is only 1 point away from Xiphos. There are 6 rounds left, Xiphos still has to face rofChade and DefenChess in direct encounters.
Drawn games against bottom 4: RubiChess - PeSTO, PeSTO - Xiphos, Xiphos - Fizbo

Game 436, DefenChess - KomodoMCTS: The game reached a R vs RB ending, DefenChess 2 pawns up. After exchanging rooks negative evals jumped and KomodoMCTS was sure it was winning. However, DefenChess placed its pawns on wrong colored squares and its king blocked the black king. The bishop only defended its own pawns and there was no progress, the game ended in a 3-fold repetition draw. Did KomodoMCTS miss a win here?
Game 437, Fire - Laser: Fire slowly outplayed Laser in a QBN vs QNN position. Evals started to increase after Laser's queen attacked the white king without support. After a series of checks Fire kept finding safe squares for its king. Laser gave a knight for pawns, eventually Fire started to capture pawns until the game was adjudicated.
Game 445, Laser - DefenChess: The game reached a RB vs RB position with pawns blocking all files except one. The engines shuffled in a drawn position for 15 moves, and then Laser crashed.
Game 454, Fire - Xiphos: All pieces were on the board until move 34, then the engines reduced to a QRN vs QRB position. Xiphos had two backward pawns to defend and its bishop was passive. Fire slowly increased the pressure, Xiphos gave a pawn and tried to counterattack but was not successful. Fire continued to capture pawns and reduced to a winning queen ending 4 pawns up.

After 57 rounds: Xiphos rofChade +9, DefenChess +8, RubiChess +6, Andscacs +5, Laser +2.
rofChade and DefenChess continue to close in on Xiphos, probably one of these will be in 4th place. Xiphos lost for the first time in the league and rofChade has caught up with it. DefenChess was gifted a win by Laser's crash in a drawn position. RubiChess and Andscacs have a theoretical chance, Laser with a crash and a loss is out of the race.
Drawn games against bottom 4: Fizbo - Andscacs.

Game 460, Xiphos - DefenChess: Xiphos placed a bishop on the 6th rank, causing a lot of problems for DefenChess. Xiphos went a pawn up and opened a file on the king side, DefenChess got rid of the strong white bishop but its king was under attack. Xiphos increased the pressure, the game was adjudicated with both engines seeing mate not too far ahead.

After round 58: Xiphos rofChade +10, DefenChess +7, RubiChess +6, Andscacs +5.
Xiphos beat DefenChess, DefenChess is 1.5 points behind and it needs a miracle to promote. RubiChess is practically out and Andscacs is definitely out. rofChade beat PeSTO, it is tied in 4th place and has a tiebreak advantage over Xiphos (more wins). Two rounds to go.

After round 59: Xiphos rofChade +10, DefenChess +7. No change, only draws for the engines in the race. DefenChess is out, the two leaders are tied. Xiphos needs a better score in the last game since rofChade has a tiebreak advantage.

Round 60: rofChade drew its game against Fire, Xiphos needed a win against Vajolet but only managed a draw.

Friday, February 21, 2020

Season 17 league 1 (CPU) after RR3

Scores after RR3
Ethereal +15, Fire +12, KomodoMCTS +11, Xiphos +7, DefenChess rofChade Laser +5, Andscacs +3, RubiChess Arasan +1, Pedone -1, Vajolet -3, Winter -11, Nemorino -12, PeSTO -16, Fizbo -22.

Ethereal, Fire and KomodoMCTS are leading, they are likely to promote as they are 3 or more points away from 5th place. Xiphos has only 1 point more than the 3 chasing engines, it may lose its spot in the last RR. DefenChess improved its chances with a good +3 result in RR3, rofChade and Andscacs came down in rank with a disappointing -1 score. It is interesting to note that DefenChess lost twice in 3 games to Vajolet, without these losses it would have been currently in 4th place.

The 4 engines at the bottom of the table continue to accumulate losses and drift apart from the rest of the field, now 4 or more points away from the nearest engine.

The draw rate continues to be just under 70%. The top 7 engines had 4 decisive games within the group, out of 63 games.

Notable games
Game 247, rofChade - DefenChess: DefenChess was up an exchange in a QBB vs QRB position. rofChade tried to open the position, then sacrificed a bishop to expose the black king. DefenChess found safety for its king and the extra rook secured a win.
Game 263, Arasan - RubiChess: The game reached an opposite color bishops ending with Arasan two pawns up. RubiChess blocked the white king side pawns, and all the black pawns were out of the white bishop's reach. The engines mostly shuffled for almost 60 moves, despite very high evals, before Arasan found a way to win.
Game 282, Vajolet - DefenChess: Vajolet gave two pawns and pushed a passer to the 7th rank. DefenChess captured the passer while giving the material back, the game reduced to a RN vs RN ending. Vajolet pushed another passer and DefenChess gave the knight to stop it, the extra piece gave Vajolet the win.
Game 284, Nemorino - Arasan: Arasan's king hid behind a white pawn in a QRN vs QRR position with white two pawns up. After exchanging queens Nemorino's rook moved forward and captured two pawns, Arasan couldn't stop all the advancing passers without losing material. The game reached a rook ending and the two extra pawns gave Nemorino the win.
Game 285, Winter - rofChade: Winter gave two pawns, an attack on the king side forced the black king to move away. Winter then shifted to the queen side, rofChade gave material to try to stop the attack but its king was too exposed in a QN s RB position, the game was adjudicated quickly.
Game 294, Fire - Nemorino: Fire gave a rook for a knight and pawns, then attacked the exposed black king. Nemorino survived the attack and the game was heading for a draw. Then with seconds left Nemorino threw the game away, it allowed Fire to promote two pawns to queens and immediately lost. Some sort of bug, perhaps related to promotion, or time related.
Game 301, KomodoMCTS - Arasan: KomodoMCTS was a pawn up in a RNN vs RBB position. After a long shuffle it gave the pawn back and created an advanced passer, then reduced to a winning king and pawns ending.
Game 302, Laser - rofChade: Almost all pieces were on the board past move 40, then the engines reduced to an unusual BNN vs RR with white two pawns up. Laser slowly pushed a passer forward to the 7th rank and rofChade was forced to give material to stop it.
Game 318, Ethereal - Arasan: Arasan had a bishop pair, but without a knight with many pawns this was a disadvantage. Ethereal used an open file on the queen side to get behind the black pawns and reduced to a QN vs QB position. The game was adjudicated after Ethereal went two pawns up.
Game 339, Fire - Andscacs: The engines castled in opposite directions, Fire pushed pawns on the king side facing the black king. Andscacs protected its king and allowed Fire to capture a pawn, the engines reduced to a RN vs RN position. Fire captured a second pawn and that was enough to win.
Game 340, DefenChess - Xiphos: Xiphos gave a rook for a bishop and pawn to create a queen side passer. DefenChess tried to counter on the king side without success, the game reached a RRB vs RBN posoition with evals around negative 2. However, Xiphos failed to convert, it pushed a passer to the 2nd rank but got no further, DefenChess reduced to a drawn opposite color bishops ending.

Friday, February 14, 2020

Season 17 league 1 (CPU) after RR2

Scores after RR2
Ethereal +10, Fire KomodoMCTS +7, Xiphos rofChade +6, Laser Andscacs +4, DefenChess +2, RubiChess +1, Arasan +0, Pedone -1, Vajolet -2, Nemorino -8, Winter -9, PeSTO -10, Fizbo -17.

There is a close race at the top of the table. Ethereal has a small lead at the top, the engines in places 2-7 all have a fighting chance to end up in the top 4. The 7 engines at the top have only lost two games so far, the only 2 of 42 games within this group that were decisive. Fire improved its position in RR2 with a +5 result, Xiphos dropped a few places with a disappointing +1 result.

Things are more straightforward at the bottom of the table. The last 4 engines are heading for relegation to league 2, losing almost half of their games (46 out of 96) against the remaining engines.

The draw rate continues to be high, just under 70%.

Notable games

Game 133, Andscacs - Pedone: 3-fold draw in 18 moves.
Game 138, KomodoMCTS - Ethereal: KomodoMCTS had a pawn majority on the queen side in a RRB vs RRB position. It pushed the pawns forward gradually, Ethereal gave a bishop for two pawns to stop them. The RB vs R ending continued another 25 moves before adjudication.
Game 146, Fire - RubiChess: RubiChess pushed its king side pawns forward and its king was left without pawn support. Fire's bishop pair was strong with many open diagonals, eventually Fire came out of a complicated position a piece up in a RBB vs RB ending. It pushed a pawn forward to the 7th rank and the game was adjudicated.
Game 159, Vajolet - Fire: The game reached a NN vs BN position, Fire was down a pawn but had a passer on the 3rd rank. After exchanging a pair of knights Fire played the endgame better, it managed to capture a pawn back while Vajolet's knight blocked the passer. The game was adjudicated with equal material, the PV suggested that Fire can create a second passer to win.
Game 162, DefenChess - Vajolet: The game was heading for a draw in a RR vs RB position, Vajolet had a fortress after exchanging a pair of rooks. DefenChess avoided a 50 move draw, and as it approached for the second time DefenChess failed to make a move and lost on time. This season a loss on time is not counted as a crash.
Game 173, Winter - Arasan: Winter was up a pawn early in the game. The engines reduced to a RN vs RB position and Winter used its pawn majority on the king side to create a passer. Arasan couldn't stop the advancing passer, eventually it gave a bishop for it and that was enough for Winter to win.
Game 188, Laser - Arasan: Arasan held a draw in a Q vs RB position, despite an eval advantage close to 3 for Laser.
Game 194, Vajolet - Nemorino: Nemorino was up a pawn in a rook ending with an advanced passer. For a while it seemed Nemorino was only shuffling, eventually it found the right moves to win.
Game 197, Fire - Laser: Fire had an eval over 2.5 in a Q vs RN position, Laser blocked the a pawn on the 6th rank and was able to hold the draw.
Game 218, Fizbo - Arasan: Fizbo sacrificed a bishop and exposed the black king, evals went over 2 as it attacked but then the black king managed to escape. Arasan took the initiative and reduced to a winning QBN s QN position.
Game 221, Ethereal - RubiChess: RubiChess held a draw in a QR vs QB position with many pawns on the board, despite evals over 2.
Game 227, Pedone - Laser: Pedone had connected passers in a QRR vs QRR position, evals over 1.5, but Laser managed to reduce to a drawn queen ending.

Friday, February 7, 2020

Season 17 league 1 (CPU) after RR1

Four engines that were supposed to play in league 1 were not compatible with the new hardware: Chiron, Jonny, ChessBrain and Booot. As a result four additional engines promoted from league 2: Pedone, Nemorino, Winter and PeSTO.

This is the CPU part of league 1. There is still no update regarding the GPU hardware nor which engines will play in a GPU league 1. The rules page states that the top 4 CPU engines and 2 GPU engines are going to have a playoff to determine the 4 engines that continue to the premier division.

Scores after RR1
Ethereal +7, Xiphos +5, rofChade KomodoMCTS +4, Laser +3, Fire +2, Andscacs Arasan +1, RubiChess DefenChess 0, Vajolet -1, Pedone -2, PeSTO Nemorino Winter -5, Fizbo -9.

There are many engines in the race for the top 4 places. The first 6 engines are still without loss and they have the best chance in my opinion. Ethereal has a small gap at the top with 7 wins against lower ranking engines. rofChade is a surprise, it was close to relegation from league 1 last season, this season it seems to have improved significantly.

The lower half of the table contains 7 of the 8 engines that played in league 2. Of the 4 that were added at the last minute only Pedone is above the relegation zone. Fizbo is last with 9 losses, it has problems with the hardware and is using only 32 threads out of the possible 176.

The draw rate is just under 70%, unusually high for this stage. Comparing to previous seasons we see that draw rates this high were only seen in the premier division and superfinal stages. In 28 games within the top 8 engines in the table there are only two decisive games so far, two Ethereal wins against places 7 and 8. There are many games yet to play in the league, things may of course change.

Notable games

Game 22, rofChade - Vajolet: rofChade was a pawn down in a QRR vs QRR position, but the black king was exposed to attack. Vajolet tried to escape, rofChade avoided exchanges and gradually closed a mating net around the black king.
Game 44, Nemorino - Arasan: Nemorino had an eval over 1.5 with a lot of pressure on the black king, but Arasan defended well and countered on the queen side. Evals turned negative, Arasan doubled rooks on the 2nd rank and reduced to a QB vs QN position. Then it captured two pawns and exchanged queens for the win.
Game 46, KomodoMCTS - Fizbo: The game reached a QN vs QN position with white a pawn up. KomodoMCTS tried but couldn't find how to convert, even after it captured the knight and the game reached a 7-man tablebase win.
Game 50, Andscacs - Ethereal: Ethereal gave a pawn and exposed the white king, then created a central passer on the 3rd rank. Then Ethereal took over the 2nd rank and exchanged down to a RB vs RN position, Andscacs lost a rook for the black passer, game over.
Game 53, Arasan - Winter: The game reached a Q vs QB ending with white two pawns up. Winter managed to capture two pawns and was very close to winning, its lack of tablebase support is probably the reason it chose to exchange queens, leading to a tablebase draw.
Game 64, Xiphos - Andscacs: Andscacs held a fortress draw in a Q vs BN ending.
Game 78, Ethereal - Arasan: Ethereal created a central passer and pushed it to the 7th rank. Arasan gave a bishop to stop the passer, it was 3 pawns up in a RB vs R ending. Ethereal kept one pawn safe and gradually captured black pawns until the game was adjudicated.
Game 86, RubiChess - KomodoMCTS: RubiChess was up 3 pawns but its king was exposed to attack. The engines exchanged most pieces and only R vs RB remained, KomodoMCTS kept one pawn and that was enough to secure the win.
Game 93, Ethereal - DefenChess: DefenChess went two pawns up and its queen ended up nearly trapped in the corner. Ethereal gave a rook for a bishop and regained the pawns, it broke the black defense and reduced to a winning QB vs QB position two pawns up.
Game 108, Ethereal - Vajolet: The game reached a QN vs QR position with white two pawns up and seemed to be heading for a draw. Vajolet was not careful enough in the endgame, it let Ethereal push a passer to the 6th row and Ethereal found a way ot make it unstoppable. Vajolet started to give checks and the game was adjudicated, the PV shows that the white king eventually finds a safe spot and Ethereal can promote the pawn.
Game 116, RubiChess - Andscacs: Andscacs gave a rook for a bishop and pawns, opened the queen side and created two passers. After reducing to a QR vs QN position the passers were enough to secure the win for black.

Saturday, February 1, 2020

Season 17 CPU league 1, live blog Saturday Feb 1st 2020

We follow game 34 of the CPU league 1, Xiphos - Laser. These engines are strong candidates to advance, after 4 rounds Xiphos' score is +3 and Laser's score is +2, both are unbeaten.

move 13: The game started in a closed Ruy Lopez line that is not very popular. The engines left the Lichess book 3 moves after the 8-move Cato opening. Xiphos needs to develop the queen side while Laser needs to protect its king side, its king needs more support. Evals are low with a small advantage for white.

move 17: Xiphos took the time to shift its knight to the king side, Laser attacked the central white pawns. The black pawn on d5 looks weak, it is isolated and protected by a knight that seems wasted where it stands. Laser used about 10 minutes more than Xiphos so far.

move 23: The white queen moved forward and evals are climbing a little. The engines exchanged a pair of rooks and the dark square bishops, the white central pawns are gone, the black d5 pawn is still a weakness.

move 30: Laser pushed a pawn to g6 and this exposed the black king, Xiphos didn't think this was a good move and its eval jumped over 1. Xiphos pushed the h pawn, Laser avoided the exchange and its eval jumped over 1 as well. The black king will be in trouble if Xiphos can find a way to open the king side and/or add pieces to the attack.

move 36: More exchanges and only QB vs QB are left. Evals are coming down, the black weaknesses look less important with less material on the board.

move 42: It seems unlikely that Laser will mess this endgame up, it is still hanging on to its d5 pawn.

move 49: Evals came down and the queen side pawns are gone. Xiphos can chase the black king around the board and nothing more. Laser hasn't lowered its eval enough for the draw rule yet.

move 57: Xiphos finally took on d5, sacrificing a bishop, and started giving checks. Laser's eval dropped to 0 and it gave the bishop back. Waiting for the draw rule to stop the game.

move 63: game over, draw rule adjudication.

Sunday, January 26, 2020

Season 17 league 2, final results

Final crosstable


After removing Wasp games (crashed out) the scores are: Fire +16, DefenChess +13, RubiChess +7, Vajolet +5, Pedone +3, Nemorino Winter 0, PeSTO Gull -1, Texel -2, Minic Demolito -4, iCE -8, Igel -9, Pirarucu -15, Wasp DQ.

Fire, DefenChess, RubiChess and Vajolet advance to league 1.The race for 4th place was only determined in the last round. Fire returns to league 1 with the previous AB version, DefenChess advances for the second time this season.

Minic, Demolito, iCE, Igel, Pirarucu and Wasp relegate out of league 2. Five engines that advanced from qualification go back down, Wasp crashed out. Minic crashed in a won position against Nemorino, without this crash both would have had the same score as Texel, not sure which engine would have relegated then. Winter and PeSTO managed to stay in league 2 after advancing from qualification. Gull survived another season, perhaps the next one will be its last. 

The 4 promoting engines are planned to join KomodoMCTS, Laser, Ethereal, Xiphos, Chiron, Andscacs, Fizbo, ChessBrain, Booot, rofChafe and Arasan in league 1. According to the current season 17 engine page Jonny needs a stable update to play in the league. Other engines may fail testing, as we have seen in league 2. More engines may yet promote from league 2, the list will be finalized in a few days.

The GPU league 1 is getting closer and there has been no update about the GPU hardware planned for this season, or the candidate engines.

Notable games

Game 138, DefenChess - Vajolet: Vajolet gave a knight for pawns and attacked the white king. DefenChess defended its exposed king and slowly reduced to a RBN vs RB position, then advanced passers forced Vajolet to give its bishop and the game was over.
Game 149, RubiChess - Pirarucu: Pirarucu's king was exposed in the center, and its king side pieces were stuck. RubiChess gave material and attacked, winning in 22 moves.
Game 152, Vajolet - Nemorino: Vajolet gave a knight to open the queen side and expose the black king. Nemorino tried to give back material, the game reduced to a QR vs QBN position. Advancing passers and the exposed king were enough to give Vajolet the win.
Game 157, Pirarucu - Wasp: The game reached an unusual QB vs RNN imbalance, white with no pawns to black's six. The white pieces were very strong and Wasp gave material to reduce to a QR vs RBN with 5 pawns. Pirarucu used mating threats to capture the knight and was strong enough to win. Too bad Wasp already crashed out and this first win for Pirarucu will not be part of the final score.
Game 159, PeSTO - Demolito: Demolito gave a rook for a bishop and opened the position, PeSTO's king was exposed but it had an advancd passer. PeSTO gave its queen and promoted the pawn, it used back-rank threats to capture a piece and win.

Scores after 20 rounds: Fire +11, DefenChess +9, RubiChess +7, Pedone +6, Vajolet +5, Nemorino +1, PeSTO 0, Winter Gull -1, Texel -2, iCE Minic -4, Demolito -5, Igel -9, Pirarucu -13, Wasp DQ. Wasp crashed for the third time and is disqualified, all its games are ignored. The top 5 engines are in the race for 4 promotion spots. Three of the bottom 6 engines still have a chance of surviving,

Game 180, Demolito - Igel: Demolito gave two knights for a rook and its major pieces were less effective with many pawns on the board. Igel pushed pawns on the king side, Demolito gave material to try to stop them, enough for a black win.
Game 184, Texel - Pedone: Texel was up a pawn in a RB vs RN position. It gradually improved its position and then captured two more pawns for the win. Pedone's first loss in the league.

Scores after 24 rounds: Fire +13, DefenChess +10, RubiChess +7, Pedone Vajolet +5, Nemorino +1, Winter 0, PeSTO Gull Texel -1, Minic -4, iCE Demolito -6, Igel -9, Pirarucu -13, Wasp DQ. Pedone and Vajolet are tied in 4th place after Pedone lost its first game. At the bottom Demolito and iCE are 2.5 points away from survival, Minic still has a small chance but will lose tiebreaks due to its early crash. Only 6 rounds to go.

Game 197, Demolito - Nemorino: Demolito was up a rook for a bishop and Nemorino's bishop pair was not enough as compensation. Demolito created a passer in a RN vs BB position, Nemorino had to lose material to stop it.
Game 198, Gull - Vajolet: Gull played better in a RBB vs RBN position, it used a pawn majority on the queen side to queen a pawn while Vajolet captured a bishop and the remaining 5 pawns. Gull stopped the black pawns to win.
Game 213, Fire - Vajolet: The game reached a RBN vs RBN position, Fire's eval increased very slowly. It took more than 50 moves to capture a pawn, another 20 moves to reduce to a winning RB vs RN ending two pawns up.
Game 214, Demolito - Pedone: Demolito went up a pawn with an advanced passer early in the game. While Pedone focused on blocking the passer Demolito developed a deadly attack on the black king. Just before the game was adjudicated Pedone crashed.

Scores after 27 rounds: Fire +14, DefenChess +11, RubiChess +7, Pedone +5, Vajolet +3, PeSTO Nemorino 0, Winter Gull Texel -1, Minic -3, Demolito -4, iCE -7, Igel -9, Pirarucu -14, Wasp DQ. Three rounds to go. Vajolet is a point away from 4th place Pedone, still with a chance to promote, and with a tiebreak advantage after Pedone crashed. Minic and Demolito improved their chances of survival, but since they both have games against Wasp effectively they only have two games left to close the gap. iCE has only a theoretical chance of survival at this stage.

Game 220, Pedone - Fire: Fire went a pawn up late in the game in a QRN vs QRN position. After a long shuffle Fire exchanged queens, it took 30 more moves to reduce to a winning knight ending.

After round 28 Pedone (+4) is only 0.5 points ahead of Vajolet (+3). There is no change at the bottom of the table, Demolito had a material advantage against Texel but couldn't convert. 

Game 225, Igel - Minic: Igel gave a knight for 4 pawns and created 2 advanced passers. Minic was busy trying to stop the passers, it captured one but lost material to stop the other and the game was over.
Game 227, iCE - Nemorino: iCE was better in a QRR vs QRR position, it reduced to a rook ending a pawn up and reached a tablebase win. First win for iCE in the league.
Game 229, Winter - Pedone: Winter was up a rook for a knight, its king exposed in the center was Pedone's compensation. Winter gave the material back and reduced to a RB vs RB position with white a pawn up. After exchanging rooks the extra pawn was enough for a win.

After round 29 Vajolet (+4) overtakes Pedone (+3), the last round will determine which of them will finish 4th. The situation at the bottom is: Winter 0, PeSTO Nemorino Gull -1, Texel -2, Minic Demolito -4. Demolito's last game is against Wasp so it cannot escape relegation. Minic needs a win to reach Texel, and only if Texel crashes does Minic have a chance in the tiebreak (not sure what happens then, it is very close).

In round 30 Minic drew and relegated, Pedone drew and lost the chance to promote, then Vajolet won and increased the gap to a point.

Saturday, January 25, 2020

Season 17 league 2 statistics

A summary statistics table of previous stages and seasons. 

Draw rate, wins


Final draw rate was 56.3%.


Game termination

The three most common game termination causes were:


34.2% - TCEC win rule
30% - TCEC draw rule
21.7% - SyzygyTB


There were 6 crashes in the stage: Wasp crashed 3 times and was disqualified, Minic, Pirarucu and Pedone each crashed once.

Moves per game


Median= 58.8
Average= 63.8

There were 23 games longer than 100 moves, the longest was 141 moves (PeSTO - Igel, game 87, and Minic - RubiChess, game 201, both draws).

Time per game (hours)
 
Median= 1:01
Average= 1:01

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 less freedom to choose the opening variant, 84.2% of the game pairs repeated the same ECO code twice, and 76.7% repeated the same opening variant. In all but one of the game pairs the ECO first letter was repeated twice.

Reverse pairs, wins


Reverse pairs, same moves 



Pairs of reverse games diverged very quickly, 39.2% diverged immediately out of book, 73.3% of the pairs diverged at most after 1 move. The longest repeated sequence of moves was 14 plys (Igel - iCE games 90 and 210, Two knights defence, two draws)

Monday, January 20, 2020

Season 17 league 2, after 15 rounds

Before the start of league 2 chess22k and Fritz crashed in testing, apparently they are not compatible with the new hardware. As a result two more engines from the qualification league were promoted to replace them, Minic and PeSTO.

The plan is to have 6 relegations and 4 promotions in League 2, there may be changes after league 1 testing.

Scores after 15 rounds
Fire +8, DefenChess +6, Pedone +5, Vajolet RubiChess +3, Nemorino +2, Winter 0, Texel Wasp Minic Gull -1, Demolito -2, PeSTO iCE -3, Igel -7, Pirarucu -8.

At the top of the table Fire, DefenChess and Pedone are without loss, all have a good chance of promoting to league 1. Fire returned to its AB version after its NN version failed miserably in season 16, which led it to league 2. Fire AB played in the premier division for many seasons, it is likely to stay in league 1 after promotion. The newcomer DefenChess continues its success in this league. There are at least 3 contenders for the 4th promotion spot, though recall that Nemorino got a free point from a crash in a losing position against Minic.

The last 5 engines in the table played in the qualification league. Igel and Pirarucu are surely on their way back down, the other engines may still avoid relegation. Gull is facing relegation like in season 16, in which case it will stop playing in TCEC because it is "abandon-ware".

Wasp crashed twice so far and is in serious danger of disqualification. Minic crashed once in round 3, but has been stable since.

Notable games

Game 5, Texel - PeSTO: 13 move miniature, 3-fold repetition.
Game 12, PeSTO - RubiChess: The game reached a RRB vs Q position, black with connected passers, one on the 2nd rank. Evals were 0, but RubiChess' play was not accurate. PeSTO used the bishop to stop the white passers, and its rooks slowly took over the game, it took 40 moves for the engines to agree PeSTO winning.
Game 17, Nemorino - Minic: Minic surprised - after qualifying 7th - when the game reached a RB vs RB position with black a pawn up. It then surprised again when it crashed just before securing the win.
Game 50, Texel - Vajolet: Vajolet gave a rook for a knight and pawns early in the game, but its passers were not strong enough. Texel reduced to a RB vs BB ending, gradually captured pawns and improved its position until the game was adjudicated.
Game 64, Pedone - Texel: Pedone outplayed Texel in a RB vs RB ending. Evals started to increase from move 75, it took 20 moves to capture a pawn, the game lasted until move 119 after Pedone captured another pawn.
Game 81, RubiChess - Minic: In a queen ending Minic captured a pawn and then reduced to a winning king and pawns ending.
Game 86, Winter - DefenChess: The game reached a drawish-looking RB vs RN position, then DefenChess found a winning path that Winter overlooked, reducing to a rook ending two pawns up.
Game 93, Vajolet - Fire: Fire was better in a RR vs BNN imbalance which turned into a QR vs QBN position. Fire went two pawns up and exchanged queens, enough for a win.
Game 102, PeSTO - Nemorino: Nemorino doubled rooks on the h file and PeSTO kept the file closed while playing on the queen side. PeSTO trapped the black king and then opened the h file for a knight. Nemorino's attack was weak while PeSTO's back-rank threat was enough to win material and the game.
Game 109, Pedone - Winter: Winter's king side rook was trapped and Pedone had a strong knight on the 6th rank. Winter freed its rook while Pedone created an advanced queen side passer. Winter gave 3 pawns to get a passer to the 2nd rank, Pedone traded passers and the remaining pieces to get a winning king and pawns ending.
Game 110, Texel - Fire: Texel gave a bishop and attacked the black king, driving it to the queen side and capturing 3 pawns. Fire stabilized the position and pushed a passer to the 2nd rank, together with the extra piece this was enough to win.

Monday, January 13, 2020

Season 17 qualification league, final results

Final crosstable


The engines that promote to league 2 are: DefenChess, Demolito, Winter, Pirarucu, Igel and iCE.

DefenChess and Demolito led the table from the start and were clearly better than the other engines. Winter started slowly and used a strong second half to reach 3rd place. The race for the remaining 3 spots was very close and continued to the very last round. Igel managed to climb up by beating its direct opponents PeSTO and iCE twice each. Minic was very close but it lost to iCE and gave it the opportunity to equalize, and then a crash in the final round meant that Minic would lose its spot on a tiebreak to iCE.

Gogobello crashed twice and was close to being removed from the competition, which would have affected all scores. However, Gogobello survived to the end. Its game against Minic in the last round ended in a crash, but it was Minic and not Gogobello that crashed.

League 2 engines other than the 6 engines promoting from the qualification league are: Pedone, Fire (old version, not NN that played in season 16), Fritz, Nemorino, Texel, Vajolet, Gull, RubiChess, Wasp and chess22k.

Notable games
Game 138, DefenChess - iCE: DefenChess opened a file on the king side and attacked the black king. The black pieces were too far and iCE preferred grabbing a rook for a bishop, then it was forced to lose material to save its king, giving DefenChess the win.
Game 139, Cheese - Gogobello: A 13-move miniature that ended in a 3-fold repetition.
Game 142, Minic - Topple: After a long shuffle the engines opened the position and reduced to a RBN vs RR endgame. Minic played better, a pawn on the 7th rank put pressure on Topple and a second passer was enough for a win.
Game 146, Pirarucu - Igel: The game reduced to a RR vs Q ending, the white rooks were very active and after capturing two pawns the game was over.
Game 150, PeSTO - Cheese: PeSTO thought it was safe in a RRN vs RRN position, ignoring the strong black central pawns. Cheese reduced to a RN vs RN ending and captured 2 pawns, PeSTO realized it was losing but too late. First real win for Cheese in the league, previous win was a Gogobello crash.

After 20 rounds the top of the table was:
DefenChess +10, Demolito +8, Pirarucu +7, Winter Minic +5, iCE Topple PeSTO +3, Marvin +2, Igel +1. The top 3 engines will probably promote, the race for the remaining 3 spots is still wide open with 10 rounds to go. Gogobello has two crashes, a third will delete all its games and could affect all scores.

Game 166, Winter - DefenChess: In a RRB vs RNN position DefenChess used an advanced passer to capture a rook. Winter was two pawns up but DefenChess kept one pawn and reduced to a winning R vs RN endgame.
Game 171, Demolito - Winter: After 60 moves of low evals Winter outplayed Demolito in a N vs BN endgame with white 3 pawns up.
Game 172, DefenChess - Topple: DefenChess was better in a closed position. It exposed the black king while Topple's pieces were too far, the game was over quickly.
Game 174, Tucano - Pirarucu: Tucano put a lot of pressure on the black king, but it couldn't find the win and Pirarucu held the draw.
Game 181, Marvin - DefenChess: DefenChess was much better, it reduced to a R vs RB endgame and won, though it took 30 moves.
Game 187, iCE - Topple: Topple's king and rook were trapped and isolated on the king side, iCE broke through with a knight sacrifice and the game was over quickly.
Game 188, Demolito - Marvin: Marvin grabbed two pawns early, Demolito's pieces were better with a passer on the 7th rank. Demolito traded the passer for a piece and reduced to a RN vs R ending two pawns down, it took 35 more move to get the win.
Game 189, DefenChess - Pirarucu: DefenChess captured a pawn in a RN vs RB position, then reduced to a winning rook endgame.

After 24 rounds the top of the table was:
DefenChess +14, Demolito +8, Pirarucu +7, Minic +6, Winter +5, iCE PeSTO +4, Igel +3, Topple Marvin +2. DefenChess is ready for league 2 with 4 straight wins. Minic and Igel improved their chances, Topple going down but still in the race. Gogobello still with 2 crashes.

Game 197, Pirarucu - Demolito:The black knights were better than the white bishop pair in a closed position. Demolito went a pawn up, then gave a rook for a bishop and two more pawns, the knights and passers gave Demolito the win in a NN vs RB position.
Game 199, Topple - Gogobello: Topple was slowly outplayed in the game, Gogobello completed the win with a mating attack on the white king.
Game 201, FabChess - Winter: The engines shuffled from move 31, avoiding the 50-move draw 3 times. When the position opened Winter played better and won after 225 moves. Could have been a draw.
Game 202, PeSTO - Topple: Topple's king was exposed, PeSTO used the open files for a quick and deadly attack with the major pieces.
Game 215, Marvin - PeSTO: PeSTO did not see the danger to its king, Marvin sacrificed a bishop to expose the black king and PeSTO was forced to lose a queen to avoid mate.
Game 216, Topple - Winter: The white king moved forward in the center, Winter opened the position and attacked with its major pieces, reaching a winning QR vs QB position.

After 27 rounds the top of the table was:
DefenChess +15, Demolito +9, Minic Winter +7, Pirarucu +6, PeSTO iCE Igel +4, Marvin +3, Topple -1. PeSTO, iCE, Igel and Marvin are all trying to get to the 6th and last qualification spot, with 3 rounds to go. Topple is probably out of the race after 3 straight losses. Gogobello still with 2 crashes.

Game 218, Winter - Marvin: Winter had a space advantage from the start. After opening the position the game reduced to a Q vs RB ending, the queen was strong enough to win.
Game 221, iCE - Igel: iCE had an advantage from the opening but couldn't improve. Then Igel took the initiative, captured a piece and reduced to a winning RN vs RBN position.

Two rounds to go: Winter +8, Minic +7, Pirarucu +6, Igel +5, PeSTO +4, iCE +3, Marvin +2. Igel's win over iCE is a dramatic result for both engines, Igel is 6th and iCE is a point away. Igel and PeSTO will play in the last round in a game that may determine the final qualifier.

Game 228, Minic - iCE: Minic was a pawn up in a RRB vs RRN position, iCE used a connected pair of passers to create a significant advantage. Minic gave material and captured one pawn, leading to a B vs R ending and a win for iCE.
Game 231, Pirarucu - Winter: Pirarucu went a pawn up and exposed the black king, Winter used the open files to threaten the white king with its major pieces. Pirarucu's king side was paralyzed, Winter gradually captured pawns and created passers that won the game.

One round to go: Winter +9, Minic +6, Pirarucu  Igel +5, PeSTO  iCE +4, Marvin +2. Winter promotes to league 2 officially, Marvin is out. After this round there are 5 engines within a point of each other, and three open qualification spots. 

Game 236, PeSTO - Igel: Igel exposed the white king and attacked, capturing a pawn in the process. Then it captured a second pawn and reduced to a winning RN vs RB ending. Igel secures a qualification spot, PeSTO is out.
Game 237, Gogobello - Minic: The engines shuffled in a RB vs RB drawn position when Minic crashed. Gogobello with two crashes survives the league
Game 238, iCE - Counter: iCE managed to turn a drawn position to a winning rook ending. The win means iCE qualifies instead of Minic, the crash in the previous game causes Minic to lose in the tiebreak.

Pirarucu and Winter won their games to qualify.