Monday, February 20, 2023

Season 24 league 2

Just before the start of league 2 Igel's author decided to give its spot to Booot, in agreement with the organizers. Booot has last participated in season 21 league 2. 

Final standings

Igel +17, Fritz BlackMarlin Marvin +6, Uralochka +5, Arasan +3, Wasp -1, Halogen -2, Velvet -4, Tucano -5, Nemorino -11, Expositor -20.

Igel, Fritz, BlackMarlin and Marvin qualify for league 1. Igel was added to the league late and its games were played after all other games were over. It was much stronger than the other engines, winning 16/22 game pairs (one double win) without loss. Arasan and Uralochka were also in the race, Uralochka beat Marvin in a game pair and had a tiebreak advantage over it. However, their results against lower ranked engines were not sufficient for qualification. 

Velvet, Tucano, Nemorino and Expositor are relegated. Expositor qualified from the Swiss event with a lot of luck, it was too weak for league 2. Halogen was never too far away from the bottom 4, its only game pair win facing them was against Expositor, and it lost twice to Velvet. It survived since it had better results against the higher ranked engines, only one loss to Igel and Marvin and a win against Uralochka. 

Before the league started it was announced that Booot would replace Igel, its last appearance in TCEC was in league 2 of season 21 and its development was delayed due to the war in Ukraine. Then in RR1 Booot crashed twice and once more in RR2. TCEC then reversed the previous decision, Booot's games would be ignored and Igel would replace it. This required a set of Igel games after the league was over, with the same openings drawn for the Booot games. I'm not sure it was necessary to remove Booot from the league, in the end Booot only crashed 4 games out of 44. It is true that keeping Booot would have changed the league results and not all fairly, but that is not that unusual in TCEC. 

The four qualifiers will play in league 1 together with:
rofChade, Berserk - played in season 23 premier division
Minic, RubiChess, Revenge, Seer, ScorpioNN, Koivisto - played in season 23 league 1

Interesting games

game 6, Fritz - Tucano: Tucano exchanged pawns on the king side and its king became exposed. Fritz attacked on the king side, the engines reduced to a QRN vs QRB position and Fritz placed its knight on the 6th rank. Tucano lost material and the game ended in a tablebase win.

game 8, Halogen - Fritz: Fritz gave a rook for a bishop and Halogen's eval started to increase. The game reached an 8-man  RBN vs RB position with one black pawn, 20 moves later Halogen captured the pawn. Both engines used only a 6-man tablebase, Halogen did not blunder and the game ended with a win 30 moves later.

game 10, Marvin - Velvet: Evals increased slowly with almost no exchanges, Marvin had a space advantage. Velvet gave a rook for a knight and pawn and opened the position. The engines reduced to a RB vs BN position with an advanced white passer. The game ended in a tablebase win.

game 11, Booot - Nemorino: Booot was up two pawns in a QB vs QN position, evals suggested it was winning. After exchanging queens Nemorino gave a third pawn but Booot found no way to win and the game ended in a 3-fold repetition. Did Booot blunder away a win?

game 15, Velvet - Booot: Velvet had a queen side passer and Booot kept its king uncastled in the center. By the time Booot captured the passer Velvet moved its queen and a rook forward on the queen side, then created another passer. In a QRB vs QRN position Velvet captured the knight, then used the passer to win.

game 23, Wasp - Velvet: Wasp was up a pawn with connected passers in the center. Velvet blocked the center with pieces and there was a long period of mostly shuffling. Wasp captured a second pawn, then in a QRB vs QRB position captured a rook for a passer to win.

game 27, Arasan - Wasp: Arasan captured a pawn, Wasp didn't see the danger when Arasan sacrificed a knight and exposed the black king. Wasp gave the piece back to save its king, In a RRB vs RRB position Arasan pushed a passer to the 7th rank. Wasp lost material to try to stop a promotion, in the end Arasan promoted to a queen and mated.

game 42, Uralochka - Marvin: There were many early exchanges, the game reached a RN vs RB position with white  a pawn up. Uralochka slowly pushed a passer forward, Marvin gave a bishop to stop it. Marvin gave up resistance in a losing position and was mated.

game 45, Wasp - Halogen: Wasp opened the center and captured a rook for a knight and pawn. The engines gradually exchanged pieces until only R vs B remained, the game ended in a tablebase win.

game 46, BlackMarlin - Tucano: Tucano gave a rook for a bishop and the game reached a QRR vs QRN position. After reducing to a R vs N ending BlackMarlin captured black pawns, the game ended in a tablebase win. 

game 48, Velvet - Arasan: There were only a few exchanges in the first 40 moves and evals did not change a lot. A long series of exchanges opened the position and led to a RB vs RB position. Both engines had passers, Velvet gave a rook and promoted to a queen first, the game ended in a tablebase win.

game 50, Fritz - Velvet: The engines gradually exchanged pieces until only RB vs RN remained with white a pawn up. Fritz then captured a second pawn and reduced to a tablebase win.

game 62, Tucano - Arasan: Tucano sacrificed a knight and forced the black king to move, but the attack that followed was too weak. Tucano won the material back and the game reached a RBN vs RBN position, Arasan pushed a passer on the king side to the 2nd rank. Progress was slow, Arasan captured pawns until it was 3 pawns up. Arasan gave a rook to promote a queen and win.

game 63, Halogen - Velvet: Halogen captured a pawn after the start, after many exchanges the game reached a rook ending. The black pieces were better placed and Velvet managed to capture 3 pawns. Halogen captured a few pawns back but couldn't avoid a tablebase win for Velvet.

Standings after RR1: Arasan +3, Wasp Uralochka BlackMarlin +2, Marvin Fritz Velvet +1, Nemorino 0, Halogen -1, Tucano Booot -3, Expositor -5. Booot crashed twice, against Arasan and Uralochka.

game 69, Marvin - Nemorino: Marvin opened the h file and castled long, then slowly increased the pressure on the black king. Marvin gave a rook for a bishop, its queen moved forward and the black king had to run. Marvin regained the material and reduced to a winning queen ending a pawn up.

game 70, Uralochka - Velvet: The engines shuffled for a long time in a double rook ending. Then on move 89, close to adjudication as well as a 50-move draw, Velvet blundered. Uralochka captured a pawn, exchanged a pair of rooks and used a passer to win. 

game 74, Fritz - Halogen: The game reached a RRN vs RRB position and evals started to increase. After exchanging all rooks Fritz gave a pawn to create a passer, the black bishop had to block and Fritz used this to capture more black pawns. Fritz queened another passer to win.

game 78, BlackMarlin - Wasp: Wasp was up a pawn but BlackMarlin had an eval advantage, perhaps because one of the black bishops was passively defending a pawn. BlackMarlin regained the pawn in a QBN vs QBN position, Wasp freed its bishop and lost another pawn. After exchanging queens BlackMarlin pushed a pawn forward, captured another pawn and created another passer. Wasp couldn't avoid a queening, game over.

game 80, Wasp - Nemorino: Wasp was a pawn up with a pawn majority on the queen side. The engines reduced to a QRN vs QRB position, Nemorino regained the pawn but Wasp created a passer and queened. Nemorino captured a white queen in a counter attack, but lost its queen right back. The resulting Q vs B ending was an easy win for white.

game 87, Fritz - Marvin: Fritz gave a rook for a knight and pawn, after a long shuffle Fritz captured another pawn and reduced to a RBN vs RRN position. Fritz had a passer on the 6th rank, Marvin gave a rook back for a knight but by the time it captured the white passer Fritz captured the remaining black pawns. Fritz was 4 pawns up in a RB vs RN position and won easily. 

game 89, Velvet - Wasp: Wasp castled long and Velvet pushed a pawn to a6. Velvet captured a rook for a bishop, then after a long series of exchanges the game reached a R vs BN position. Velvet captured a pawn and the a pawn became a passer. While Wasp watched the a pawn Velvet created a second passer on the king side, Wasp couldn't defend against two passers, game over. 

game 92, BlackMarlin - Velvet: There were almost no exchanges in the first 30 moves. The engines opened the g file and BlackMarlin used a rook to trap the black king. The white queen moved forward through the center, BlackMarlin captured two pawns on the queen side and created two passers. BlackMarlin exchanged pieces until only pawns remained, then it queened a passer and won.

game 116, Velvet - Fritz: Velvet had an eval advantage from the start, Fritz equalized and evals came down to 0. From move 40 evals became negative, after a long shuffle the engines exchanged queens and opened the king side. Fritz captured a pawn and created a passer, in a NN vs BN position Fritz slowly pushed the passer forward. Velvet lost its bishop to stop the passer, Fritz mated not long afterwards.

game 122, Marvin - Wasp: Marvin was up a pawn from the start. Wasp gave a rook for a bishop, then regained the material. The engines reduced to a queen ending with white a pawn up and an advanced passer in the center. Wasp delayed with checks, eventually Marvin queened the passer. For 30 moves Marvin played waiting moves though it had two queens while Wasp had only one. In the end Wasp exchanged queens and forced a tablebase win.

Standings after RR2 with Booot games removed: Fritz +6, BlackMarlin Marvin Uralochka +4, Arasan +2, Wasp +1, Halogen -2, Velvet Tucano -3, Nemorino -4, Expositor -9. At the half point there are 6 engines with positive scores and 5 with negative scores. The situation at the top may change when the Igel games are played and added. At the bottom Expositor is not going to survive, the rest still have a chance. 

game 146, Nemorino - Wasp: Nemorino captured a pawn early with its queen, then exchanged queens. The engines exchanged pawns and pieces, Nemorino captured a second pawn and created connected passers, then gave a rook for a knight. Nemorino captured a third pawn and in a BN vs RN position pushed a passer to the 7th rank. Wasp captured the passer and exchanged knights, leading to a won B vs R ending 3 pawns up. 

game 153, Marvin - Fritz: Fritz captured a pawn on the queen side while Marvin pushed pawns on the king side. The attack started with sacrificing two minor pieces, Marvin regained material while chasing the black king. The game reached a QR vs QB position, Marvin forced a queen exchange and the game ended in a tablebase win.

game 155, Wasp - Velvet:  A series of exchanges after the start resulted in a R vs B imbalance with both kings uncastled. The engines exchanged pieces, Wasp gave back the material but captured two pawns in a RB vs RB position. After capturing the last black pawn Wasp reduced to a winning B vs R ending 3 pawns up.  

game 159, Arasan - Wasp: Arasan was a pawn up from the start. After move 30 evals increased gradually, the engines exchanged pieces until only QB vs QB remained and Arasan captured a second pawn. Wasp lost its bishop to stop a passer, Arasan gave its bishop for the last black pawn and then mated anyway.

game 162, Halogen - Uralochka: Uralochka was up a pawn from the start, Halogen regained the pawn and then captured another, creating a passer on the queen side. After a period of mostly shuffling Uralochka gave a rook for a bishop and eventually captured the passer. The game reached a RB vs BN position, Halogen created another passer and queened it to win.

game 182, Fritz - Velvet: Evals slowly increased though there were almost no exchanges, the first piece exchange was on move 33. Fritz captured a pawn and slowly increased the pressure on the weak black pawn structure. Before long Fritz was 3 pawns up with an advanced passer. Velvet gave up all its pieces and was mated.

game 184, Halogen - BlackMarlin: Halogen gave a pawn temporarily on move 26 and created a passer, evals started to increase. Halogen captured two pawns and BlackMarlin gave a rook for a bishop, the game reached a QRB vs QBN position. The engines cleared most pawns, including the white passer, leaving a R vs N ending with two pawns each on the king side. Halogen chased the knight until it was trapped, game over.

game 185, Uralochka - Wasp: The engines exchanged all minor pieces, Uralochka had an eval advantage in a QRR vs QRR position with the black king more exposed. Uralochka used a rook exchange to get a passer to the 7th rank, Wasp captured the passer and was left with a queen ending a pawn down. Progress was slow but Uralochka managed to convert in 30 moves.

game 192, Arasan - Fritz: Fritz was up a pawn, (negative) evals started to increase after move 30. Arasan gave a rook for a knight and exposed the black king in a QRB vs QRR position. Fritz exchanged rooks and created advanced connected passers. Arasan delayed with checks but couldn't avoid losing material and mate.

Standings after RR3 with Booot games removed: Fritz +8, Marvin +7, Uralochka +5, Arasan BlackMarlin +4, Wasp 0, Halogen -2, Nemorino Velvet -3, Tucano -5, Expositor -15. Fritz is leading despite a loss to Marvin, Marvin had 3 wins in the RR and is in second place. Arasan joined the leaders and improved its chances. Halogen beat both Uralochka and BlackMarlin, improving its chances of survival. 

game 208, Velvet - Marvin: There were only a few pawn exchanges after the start, evals started to increase from move 25. The engines exchanged pieces until only RN vs RN remained, Velvet went two pawns up and captured all the black pawns. It took almost 40 more moves to convert the 8-man position.

game 214, Marvin - Arasan: Marvin captured a bishop for two pawns early, the white king was exposed but Marvin kept it safe. Evals increased while the engines exchanged pieces and pawns, the imbalance changed to a rook for 4 pawns. Then Marvin captured a pawn in a QRR vs QR position and Arasan's eval dropped to 0. Arasan traded its queen for the two white rooks, and Marvin could not break the fortress in a Q vs R ending with only one white pawn. Possibly a missed win for Marvin.

game 225, Wasp - Arasan: There were only a few exchanges in the first 25 moves, and then evals started to increase. Pawn exchanges opened the position and Wasp created an advanced passer in the center. Arasan gave a rook for a knight to capture the passer, Wasp captured more pawns and created two more passers. In a RRN vs RNN position Arasan had to give a knight to stop one passer, Wasp promoted the other passer and mated.

Standings 6 rounds to go, with Booot games removed: Fritz +8, Marvin +7, BlackMarlin +6, Uralochka +5, Arasan +3, Wasp +2, Halogen -1, Velvet -3, Tucano -4, Nemorino -6, Expositor -17. Marvin and Arasan lost games against lower ranked engines, for Arasan it will very hard to catch up to the leaders. Halogen increased the gap to the bottom 4 but is still in danger.

game 237, Blackmarlin - Fritz: The position opened and the black king was in the center uncastled. BlackMarlin gave a knight for a pawn and attacked. Fritz managed to protect its king, but it lost a knight and BlackMarlin captured more pawns. The game reached a RB vs RB position with white 4 pawns up, BlackMarlin gained more material and was close to mate when the game ended.

Standings 3 rounds to go, with Booot games removed: Fritz Marvin BlackMarlin +7, Uralochka +5, Arasan +4, Wasp +1, Halogen 0, Velvet -3, Tucano -4, Nemorino -7, Expositor -17. Three engines are tied at the top after BlackMarlin beat Fritz. Uralochka and Wasp are not far behind but considering the addition of Igel it will be difficult to join the qualifiers.

Standings after RR4, with Booot games removed: BlackMarlin Fritz +8, Marvin +7, Uralochka +6, Arasan +4,  Wasp +1, Halogen -1, Velvet -3, Tucano -4, Nemorino -8, Expositor -18. Each engine now plays 2 game pairs against Igel. 

Igel game 1: Igel - BlackMarlin: The engines opened the king side, BlackMarlin didn't see the danger until it was too late. Igel attacked the king side where both lack king and queen were, as a result BlackMarlin lost a knight. Igel had advanced passers in a QRB vs QR position and it mated quickly.

Igel game 9, Igel - Fritz: The engines opened a file on the queen side, exchanged all rooks, then all bishops. There was a long shuffle in a QNN vs QNN position, on move 75 Igel pushed a pawn on the king side that led to a pawn exchange and the white queen moving forward. After exchanging queens the engines shuffled again, on move 133 Igel captured a pawn and then exchanged a pair of knights. Fritz regained the pawn but Igel's eval jumped as its king moved forward. Fritz captured a passer on the queen side, Igel created another on the king side. It gave a knight and queened to win.

Igel game 15, Igel - Uralochka: The engines opened the king side, Igel moved its queen forward facing the black king. Uralochka drove the queen away, Igel placed a protected knight on f6. The black king ran to the queen side, Igel created a passer and pushed it to the 8th rank. Uralochka captured the passer and the game reached a rook ending, Igel had another passer that Uralochka couldn't stop, game over. 

Standings after RR2 of Igel games: Igel +9 BlackMarlin Fritz Marvin +7, Uralochka +5, Arasan +3, Wasp 0, Halogen -1, Velvet -4, Tucano -5, Nemorino -9, Expositor -19. Igel won 9 of 11 game pairs, it is already leading with 11 game pairs to play. Marvin and Halogen are the engines that held Igel to two draws, as a result it is very unlikely that Uralochka will qualify, and Halogen will most likely survive relegation.

Igel game 23, Igel - BlackMarlin: There were many early exchanges and the game reached a RBB vs RR position with black two pawns up. Progress was slow, after 25 moves Igel trapped a rook in the center and captured it for a bishop and a pawn. Igel continued to capture pawns, it gave its bishop for the last black pawn and reduced to a tablebase win. 

Igel game 28, Velvet - Igel: Velvet gave a rook for a bishop, after several piece and pawn exchanges it was 3 pawns up in a QBN vd QRN position. Velvet had two sets of doubled passers, it pushed one to the 6th rank. After a period of mostly shuffling the engines exchanged queens, the white king came forward and Igel could not avoid a queening, game over. First loss for Igel in the league, the game pair was a draw.

Igel game 31, Igel - Fritz: Igel had an early passer in the center, the engines exchanged pieces and evals increased quickly. When Fritz captured the passer Igel reduced to a RB vs RB position and went 3 pawns up. Fritz exchanged rooks, the remaining bishops were of opposite colors but the white pawns were strong enough to secure a win.

After Uralochka held a draw as black it had a chance of a catching up to the leaders, if it could win as white. However, the game reached a closed position with the pawns blocked across the board. After a long shuffle the game ended in repetition.

Igel game 39, Igel - Marvin: The engines castled in opposite directions, Marvin tried to attack on the king side while Igel pushed pawns on the queen side. Marvin's attack wasn't string enough but it went ahead and gave a rook for a knight to expose the white king. Igel threatened mate on the other side and Marvin lost a knight for 2 pawns to save its king. The game reached a RRB vs RB position and ended in mate.

In the second set of game pairs Igel won 7/11, with one double win against Nemorino. The engines that drew their game pairs were Velvet (two white wins), Arasan, Tucano and Uralochka. There was no change in the top 4 or bottom 4.


Monday, February 6, 2023

Season 24 live blogging: Feb 6, 2023

I'm following game 309, Winter - Smallbrain. Winter is currently on score -1 and Smallbrain is on 0, both within reach of the qualification spots. Winter qualified last season and was relegated back, Smallbrain is new to TCEC and doing quite well so far. A decisive result here can be very important to both engines.

The game started with a 10-ply book in the Averbach system, evals around 0.6 after book.

move 10: The engines transposed to more popular lines, Smallbrain left the main theory again and refused to block the center with c5 on move 9 after a long think. It played c5 on move 10. No exchanges so far, no change in eval as well.

move 13: Smallbrain played f5 and the engines exchanged a pair of pawns. The engines disagreed about evals, both thought this was better for themselves. I have a feeling Smallbrain is right here. Winter is too slow and cautious, Smallbrain's eval dropped. 

move 17: now Winter's eval dropped, is there a chance of a black win? Too early for that. Smallbrain has a passer in the center. Winter refused to exchange bishop for knight on the king side, Smallbrain's eval dropped to 0. 

move 21: Winter wants to open the king side, Smallbrain is avoiding this and evals are increasing a bit. Smallbrain exchanged a knight for a bishop, now Winter's eval jumped over 1. The other black knight moved to the corner, not a good square for a knight.

move 25: The g file is open, though there are many pieces there. Smallbrain gave a bishop to get rid of a forward knight, it also gained a pawn. Evals keep rising but PVs are full of shuffling. Winter placed a knight on d5, where Smallbrain can't force it to move.

move 30: Smallbrain moved its king out of the g file, both evals above 1. Winter is threatening to double rooks on the g file, seems there's going to be a rook trade there. The eval trend is clear now, and Winter is still a pawn down. Winter doubled rooks, but the trade is not in the PVs anymore.

move 38: Smallbrain again thinks Winter is too slow and its eval dropped. Can it hold? No, evals jumped back up. Winter pushed a pawn on the queen side, not sure what the plan is. Again a shuffle PV. Smallbrain is not moving its pawns on the queen side, Winter pushed to a6. Both evals over 3.

move 46: Smallbrain now has to be careful with the back ranks, defending the a7 pawn and defending its king on h7. This may take a while but Winter should find a way to break the black defense. Winter added its queen to the g file, Smallbrain gave back the pawn to open the center. This looks like the end for black.

move 52: I just realized Winter had a rook on g6 and Smallbrain didn't take with its corner knight. Why? Not important now since the rook moved. The white knight captured two pawns and Smallbrain gave its queen in desperation to take it. Mate is approaching.

move 61: mate, game over. It didn't look like Winter would win this, but it did in the end. If it can hold the reverse it would improve its chances to qualify significantly.


Sunday, February 5, 2023

Season 24 live blogging: Feb 4, 2023

 I'm following game 262, Zahak - StockNemo. This is the reverse game, the previous game was a draw in 45 moves. Both engines are in qualification, StockNemo has a score of -2 and Zahak -1. Zahak has a significant Elo advantage, StockNemo is new to TCEC so its actual strength is unknown.

The game started with an 8-ply book in the Modern defense, played in human chess. 

move 11: Zahak castled long, StockNemo hasn't castled and it can't castle short with a white queen on h6. Evals are around 1 without a lot of change. The engines left all Lichess human games. No exchanges so far except a pair of bishops. StockNemo pushed a pawn on the queen side, seems that it won't castle its king at all.

move 15: Zahak thought black would drive the white queen away, StockNemo instead pushed a second pawn forward on the queen side. The engines exchanged bishops again, StockNemo took with its king so no castling is possible. Zahak thought this was a mistake.

move 20: StockNemo moved its king side rook to the queen side, leaving its king side almost abandoned. Zahak pushed a second pawn on the king side, but its eval is not increasing yet. After StockNemo walks with its king to c8 Zahak is more confident. A strange move, trapping the black rooks. StockNemo pushed a pawn to b3, Zahak responded with a pawn push on the king side, not afraid for its king safety.

move 25: Zahak drove the knight on f6 away and captured on h7 with its queen, its eval climbing over 2. StockNemo is reluctant to open the h file, it moved its king to b7 in front of a rook. Zahak now has a passer on h6. StockNemo captured the pawn on a2 and the white king is hiding behind it. 

move 31: StockNemo moved its queen to the queen side, it's trying desperately to create an attack but with both evals over 3 I don't think it has a chance. Zahak captured a knight, the black king is trying to hide on a6 behind a white pawn. If the white queen can get back black will have no chance. StockNemo moved its queen to c2 but it was chased away. The white queen breaks to c7 and joins the attack from behind. StockNemo captured two knights but its king is falling.

move 39: While StockNemo is trying to defend its king, Zahak pushed the passer to h7. StockNemo captured it but lost material to avoid mate. In a QR vs RRN position Zahak starts to give mate scores.

move 46: Game over in a tablebase Q vs R position. Zahak easily outplayed StockNemo and kept its hopes alive for qualification.