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


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.