Sunday, November 5, 2017

Season 10, stage 1, Will Chiron qualify?

Chiron has a chance to qualify with a SB tie break, assuming it wins its remaining games against Fruit and Gaviota. The current crosstable for the 5 engines in the race is

If Chiron wins the next two games it will have 14.5 points. Let's compare SB in case another engine ends up with 14.5:

  • Gull - the SB difference is (Ko + Ni + Te - Ho - Va - La) = 14.5 currently. If Gull gets only a point out of Andscacs and Bobcat it gets at most An - Bo, Chiron beats it on SB.
  • Booot - the SB difference is (Ko + Fi + Jo + Ry - St - Fz - Va - Ar) = 6 currently. If Booot gets a point out of Ginkgo and Hannibal the best it can achieve is Gi - Ha, it won't be able to close the gap.
  • Fire - the SB difference is (Fz + Ni + Ry - Bt - Bo - Wa - Ar - La) = -11 currently. If Fire only gets 0.5 from Komodo and Texel Chiron will add either 2Te or Ko + Te, either way it will have a better SB.
  • Ginkgo - the SB difference is (Ko + Jo + Te - Ha - Bo - Ar - La) = 8 currently. Assuming Chiron beats Gaviota and Ginkgo only gets 0.5 from Houdini and Booot it at most adds Ho - Bt, Chiron still has a better SB.
So, is Chiron in or out? Two more rounds to go.

Season 10, stage 1, rounds 19-21

Table after 21 rounds:




Only two rounds to go, Komodo has a 0.5 lead at the top and very good chances of finishing first. Houdini and Andscacs have qualified for stage 2, one of them will finish third.

The real drama can be found at the other end of the qualifying race. Chiron at 9th can reach 14.5 points with two wins, reasonable since its opponents are Fruit and Gaviota. Ginkgo and Fire have an advantage but they have to meet Houdini and Komodo respectfully, a loss can mean they need a tiebreak. Gull only managed 3 draws in its last games. It still has to play Andscacs and Bobcat, it is also in danger of needing a tiebreak. Booot has to face Ginkgo and Hannibal and it is also not safe. Anything can happen in the last two rounds.


Some of the game highlights:

Gull - Fizbo: The evals increased a little after the opening to about 0.4. As the engines exchanged pieces the evals came down to 0 and stayed there. The engines chose to end the game with a 3-fold repetition rather than continue playing a QBN vs QBN position. Gull's chances of qualifying are still good, Fizbo is desperate for wins.

Andscacs - Fire: Fire equalized quickly, evals were at 0 from move 21. The game reached a RN vs RB position and a draw when the pawns stopped moving. An important 0.5 point for Fire, Andscacs slips to fifth after Ginkgo wins.

Komodo - Hannibal: Komodo had an advantage from the opening, Hannibal was able to hold for a while but was soon outplayed. Komodo slowly strangled Hannibal until it could hardly move, when a rook invaded the 7th rank it was game over. Almost certain that Hannibal will not qualify.

Houdini - Chiron: Houdini started with an eval advantage, and Chiron had a hard time trying to hold the position. For over 30 moves Chiron was doing ok, it had a passer on the queen side while Houdini had a strong pawn chain on the king side and a central passer. The engines started to shuffle while the evals slowly increased to over 1. Chiron's pieces were defensive and passive, and when the position opened up and pieces were exchanged it was a pawn down in a double rook ending. It took a while but Houdini won with no problem. Now Chiron needs to win its remaining matches. Booot has better chances to qualify especially after its win against Vajolet2.

Chiron - Booot: This game could have been critical in the qualification chances of both engines. What we got was a very boring game, both evals were close to 0 throughout the game. The engines exchanged down to a RRB vs RRB position which then turned into a drawn rook ending. Booot improved its chances to qualify, Chiron must win games to have a chance.

Jonny - Houdini: The engines opened up the queen side and used the opening to exchange pieces. The evals stayed close to 0 and the game ended in a repetition in a QBN vs QBN position. Jonny is almost out of the race.

Andscacs - Fizbo: Andscacs had an advantage from the opening, with a blocked center and very little room for black's pieces. Fizbo gave a pawn to open the queen side but the counterattack was not effective. After files were opened and pieces exchanged Andscacs was two pawns up with a passer on the 7th rank. The game ended in a QN vs QB position, with the PV showing that Fizbo has to lose a piece for the passer. Fizbo is also effectively out of the race, only theoretical chances remain.

Houdini - Hannibal: Hannibal was a pawn up, but the QRN vs QRB position became static with only a few pawn moves and shuffling. After many moves the position opened up a little but the evals remained close to 0. A draw was agreed when the engines finally lowered their evals enough. With this draw Hannibal is out.

Booot - Jonny: There were many exchanges after the opening, leading to a RRB vs RRB position at move 26. To verify a draw Jonny exchanged a pair of rooks and gave its bishop for the remaining white pawns. Booot had no tablebase support and was not aware that with only RB vs R it couldn't win. Jonny is out, Booot with a good chance still for the top 8.

Gaviota - Stockfish: a very short repetition draw after 21 moves. With this draw Stockfish will probably finish the stage second after Komodo.


Featured game: Ginkgo - Komodo
Stage 1, round 20
link to game on TCEC

The game had a wild start, Komodo gave its Queen for 3 pieces by move 12.



This is the sort of imbalance Komodo knows how to play. Komodo moved its pieces with a lot of patience, evals gradually increasing. Ginkgo only had major pieces and could not afford exchanging them for a minor piece. After closing both sides of the board Komodo could plan where it wanted to hit.



In desperation Ginkgo gave a rook for a bishop and exchanged down to a Q vs RBN game. It managed to get a few pawns but once the black pieces were free to attack Ginkgo's king the game was soon over. Impressive game for Komodo.

Friday, November 3, 2017

Season 10, stage 1 qualifying simulation after round 20

I reran the simulation almost at the end of round 20, only the last Wasp-Gull game is still running. There are 4 more known results that don't have to be simulated. The full explanation of how the simulation is run can be found in my previous post.

This is the last simulation I'll run this stage. The results are getting clear and the probabilities are not necessary. My analysis can be found here.

Gull and Fire continue to lead the qualification predictions, over 90% of simulations without need of a tiebreak. The Booot - Chiron game ended in a draw, Booot has improved its chances while Chiron is now worse. Fizbo has a small chance of reaching a tie break.

The remaining games
  • Fire (13 pts) - 1 Hard, 2 Easy, 0 Within
  • Booot (13 pts) - 1 Hard, 0 Easy, 2 Within (Jonny, Hannibal)
  • Gull (12.5 pts) - 1 Hard, 3 Easy, 0 Within
  • Chiron (11.5 pts) - 0 Hard, 3 Easy, 0 Within
  • Fizbo (11.5 pts) - 1 Hard, 2 Easy, 0 Within
  • Hannibal (10.5 pts) - 1 Hard, 1 Easy, 1 Within (Booot)
  • Jonny (10.5 pts) - 0 Hard, 2 Easy, 1 Within (Booot)
 Note that Hannibal and Jonny are out of the race with very high probability, so the special effect of the remaining "within" games is irrelevant.

Results of 10000 simulations
Average final scores, sorted:
  1. Gull - 15.03515
  2. Fire - 14.77820
  3. Booot - 14.28420  
  4. Chiron - 13.76800
  5. Fizbo - 13.28110
  6. Jonny - 12.50370
  7. Hannibal - 12.01775
Percent of simulations to qualify, including tie breaks:

(without tie break) + (need tie break)
  1. Gull - 93% + 5%
  2. Fire - 90% + 8%
  3. Booot - 60% + 23%
  4. Chiron - 18% + 26%
  5. Fizbo - 2% + 11%  
  6. Jonny - 0% + 2%
  7. Hannibal - 0% + 0%

Score for 3rd place including tie breaks:
  • 13 or less - less than 1%
  • 13.5 - 9%
  • 14 - 41%
  • 14.5 - 41%
  • 15 or more - 9%

Tie break combinations

31% of the simulations require a tie break, which could be at least 4 for first place, at least 3 for second, or at least 2 for third. There are many possible combinations of engines that require a tie break, the five most common ones are
  1. Booot / Chiron - 10.7%
  2. Fire / Chiron - 2.9%
  3. Booot / Chiron / Fizbo - 2.7%
  4. Booot / Fizbo - 2.4%
  5. Fire / Booot / Chiron - 1.9%
Score-qualification graphs 

A breakdown of qualification by score for Chiron, Booot, Fire and Fizbo:

 





Season 10, stage 1 qualification roadmap

We are approaching the end of round 20, 3-4 games left for the engines. Instead of running more simulations I think it is time to use what we have learned and look at the crosstable.

The 9th place at the end of round 20 will have 11.5 points, Chiron and possibly Fizbo if it wins its game. With 3 games left this means that a final score of 15 is enough for qualification with mathematical certainty. A final score of 14.5 ensures at least a tiebreak for qualification.

Using the results of the simulation after round 19 (look at the score graphs at the bottom) we see that a score of 14.5 means a high probabiity of qualification without tiebreaks. A score of 14 may be enough for a tie break, and below that is probably not enough for qualification .
Let's look at the candidates:
  • Stockfish and Komodo have qualified, they are fighting for the title (of stage 1).
  • Houdini at 14.5 will surely collect at least 0.5 points and qualify.
  • Ginkgo at 13.5 with opponents Houdini, Booot and Texel, should be able to collect 1.5 points, I think it will be a big surprise if it doesn't.
  • Andscacs at 13 with opponents Gull, Fizbo, Wasp and Laser. Again, based on its peformance so far it should easily find 2 points.
  • Gull at 12.5 with opponents Andscacs, Nirvana, Bobcat and Wasp. I think that 2.5 points is possible if it draws Andscacs, 2 points should be easy. It shouldn't lose any game against the 3 lower ranked opponents and at least one win is reasonable.
  • Booot at 13 with opponents Ginkgo, Jonny and Hannibal. Three opponents of similar or higher rank, getting 2 points may be difficult. Any decisive game here may be crucial.
  • Fire at 12 with opponents Komodo, Texel, Arasan and Nemorino. Getting 2 points should be easy, 2.5 if it draws Komodo.
  • Chiron at 11.5 with opponents Fruit, Gaviota and Hakkapeliitta. Chiron's last three games should be easy. It needs 3 wins to qualify, not impossible. 2.5 may be enough for a tie break.
  • Fizbo at 10.5 with opponents Andscacs, Bobcat, Arasan and Nemorino. Assuming it won't beat Andscacs but gets a draw, Fizbo may reach a tie break if it wins the other three games. Possible but not very probable.
As for tie breaks I think it is too early to speculate. I can roughly estimate that for a tie break at 14 points the engines will have SB of around 115-120, too close to analyze now. 

Thursday, November 2, 2017

Season 10, stage 1 qualifying simulation after round 19

I reran the simulation at the end of round 19, There are 5 more known results that don't have to be simulated. The full explanation of how the simulation is run can be found in my previous post.

Booot made a big step toward qualification. Its win combined with Chiron's loss mean that it is the leading candidate for the last spot in the top 8. Gull and Fire qualify with high probability, better than Booot which is currently leading them in the crosstable. The reason is that Fire and Gull have 3 easy games to play while Booot has none. Chiron also has 3 easy games, this is why it is not out of the race yet. The result of game 232 (Chiron-Booot) may be crucial. Also, Chiron has an advantage in SB score in case of a tie break with Booot, but this may change.

The remaining games
  • Booot (12.5 pts) - 1 Hard, 0 Easy, 3 Within (Chiron, Jonny, Hannibal)
  • Gull (12.5 pts) - 1 Hard, 3 Easy, 0 Within
  • Fire (12 pts) - 1 Hard, 3 Easy, 0 Within 
  • Chiron (11 pts) - 0 Hard, 3 Easy, 1 Within (Booot)
  • Fizbo (10.5 pts) - 1 Hard, 3 Easy, 0 Within
  • Hannibal (10 pts) - 1 Hard, 2 Easy, 1 Within (Booot)
  • Jonny (10 pts) - 1 Hard, 2 Easy, 1 Within (Booot) 
Results of 10000 simulations
Average final scores, sorted:
  1. Gull - 15.0449
  2. Fire - 14.5279
  3. Booot - 14.26945  
  4. Chiron - 13.75535
  5. Fizbo - 13.0356
  6. Hannibal - 12.282
  7. Jonny - 12.27295

Percent of simulations to qualify, including tie breaks:

(without tie break) + (need tie break)
  1. Gull - 95% + 4%
  2. Fire - 82% + 12%
  3. Booot - 60% + 18%
  4. Chiron - 28% + 21%
  5. Fizbo - 1% + 8%  
  6. Jonny - 0% + 1%
  7. Hannibal - 0% + 1%
Score for 3rd place including tie breaks:
  • 13 or less - less than 1%
  • 13.5 - 11%
  • 14 - 43%
  • 14.5 - 37%
  • 15 or more - 8%
Tie break combinations

27% of the simulations require a tie break, which could be at least 4 for first place, at least 3 for second, or at least 2 for third. There are many possible combinations of engines that require a tie break, the three most common ones are
  1. Booot / Chiron - 7.5%
  2. Fire / Chiron - 3.9%
  3. Fire / Booot / Chiron - 2.5%
Score-qualification graphs 

A breakdown of qualification by score for Chiron, Booot and Fire:


 
Chiron needs 14 (3 of next 4) to have a real chance, 14.5 and it almost surely qualifies.

For Booot the score thresholds are the same, but it only needs 1.5 of next 4.


Fire needs 14.5 to be sure, 14 may need a tie break, and even in some cases 13.5 will be enough.

Season 10, stage 1, rounds 16-18

Table after 18 rounds:



Stockfish and Komodo continue to lead together. Houdini and Stockfish drew their game, completing a full set of draws for the top 4 engines. Ginkgo closed the gap to Andscacs, but has yet to play Komodo and Houdini.
In the race for qualification it appears that Fizbo, Hannibal and Jonny are out. I ran a simulation to predict the qualifiers, you can see results after 17 rounds and after 18 rounds. The simulation predicts that Gull and Fire will qualify, and one of Booot and Chiron.


Some of the game highlights:

Gaviota - Houdini: A quiet game, evals stayed close to zero throughout the game, adjudicated in a RNN vs RBN position. Gaviota didn't blunder and Houdini had to settle for another draw.

Vajolet2 - Komodo: Vajolet2 had an eval advantage from the opening, Komodo equalized easily and evals became 0. The engines exchanged pieces until reaching a RB vs RB position and played until adjudication. Komodo back to second place 0.5 points behind Stockfish.

Hannibal - Andscacs: Hannibal attacked the king side leading to a R vs BN imbalance right from the srart of the game. Both kings remained uncastled, after exchanging queens and a pair of rooks Hannibal's king side attack was over and evals  came down to 0. The game reached a drawn R vs BN ending. Hannibal did its best against a strong opponent, still in the race but needs wins.

Gull - Fire: I had a live blog entry for this game. Gull had an eval advantage in the middlegame, with most of the action concerning a passer on the a file. After it was captured the engines exchanged pieces until reaching a drawn rook ending. Gull played until the 50-move draw, perhaps if it had tablebases it would have lowered its eval sooner.

Andscacs - Ginkgo: The engines exchanged pieces until reaching a rook ending, then continued to take out pawns.The game ended in a tablebase draw. Both engines with excellent qualifying chances.

Arasan - Hannibal: Evals were close to 0 for 30 moves, though the position on the board was very active. Arasan then got an advanced passer on the queen side, and after a few exchanges only QRB vs QRN were left and the passer looked very strong. The evals went over 2 for Arasan as Hannibal gave a rook for a bishop, and Arasan abandoned its passer for a strong king side attack and advancing pawns. After queens were exchanged it was game over for Hannibal. A surprising result, though Arasan has its moments. A real blow for Hannibal's qualifying chances.

Nemorino - Jonny: Jonny's eval of over 1.5 suggested it thought it had a big advantage. However the engines started to shuffle from move 25, and nothing changed in the game besides a few pawn moves and piece exchanges. After more than 120 moves the engines had enough, they opened the position and Jonny got a perpeual check draw. Jonny losing another 0.5 point in the race.

Komodo - Chiron: The engines exchanged pieces at a fast pace, at move 35 only BN vs BN were left and shuffling began. Komodo had an eval advantage which grew to around 1 after exchanging knights and winning a pawn. The remaining bishops had opposite colors and Chiron held the position easily, it just took more tham 150 shuffling moves to reach adjudication. Chiron with a precious half point.

Stockfish - Booot: The engines ran out of pieces fast, only N vs B left on move 24. The rest was just waiting for adjudication. Booot can be happy with the draw, Stockfish gives Komodo a chance to catch up at the top.

Vajolet2 - Houdini: Another exchange-fest, only B vs N remaining at move 29. Houdini still thought it had something but had to settle for a draw.

Jonny - Komodo: The game seemed to be heading for a draw, with many exchanges and evals close to 0. In the endgame Jonny gave a rook for a knight and pawns, leading to a N vs R ending. It appeared that Jonny had a strong fortress protecting the entry points and guarding the pawns. However, Komodo found a crack by applying pressure and using zugzwangs. After the rook penetrated the pawn line it was a matter of time for Jonny's fortress to crumble. Komodo is a master in these situations. Jonny will probably not qualify.


Featured game: Houdini - Stockfish
Stage 1, round 17
link to game on TCEC

The opening was an italian pianissimo, should be very drawish. Stockfish's moves were far from drawish, it opened up the king side, exposing its king. On move 14 the black king was the most forward black piece, king safety out the window. A very loud pianissimo.



Houdini was quite happy about this, with evals near 0.5. It tried to attack the vulnerable black king but wasn't effective enough. Stockfish managed to defend while counter-attacking the white king.



The rest of the game was less wild. The engines exchanged queens and a pair of rooks, evals returned to 0 and finally the inevitable draw. Stockfish played a very sharp game but held it together. No decisive games between the top engines in stage 1.

Wednesday, November 1, 2017

Season 10, stage 1 qualifying simulation after round 18

I reran the simulation at the end of round 18, There are 6 known results that don't have to be simulated. The full explanation of how the simulation is run can be found in my previous post.

There are small changes in the simulation results compared to the round 17 results. Gull and Fire qualify with high probability, the last qualifier is either Chiron or Booot. The result of game 232 (Chiron-Booot) may be crucial. Also, Chiron has an advantage in SB score in case of a tie break with Booot, but this may change.

The remaining games
  • Gull (12 pts) - 1 Hard, 3 Easy, 1 Within (Fizbo)
  • Fire (11.5 pts) - 2 Hard, 3 Easy, 0 Within 
  • Booot (11.5 pts) - 1 Hard, 1 Easy, 3 Within (Chiron, Jonny, Hannibal)
  • Chiron (11 pts) - 1 Hard, 3 Easy, 1 Within (Booot)
  • Hannibal (10 pts) - 2 Hard, 2 Easy, 1 Within (Booot)
  • Fizbo (10 pts) - 1 Hard, 3 Easy, 1 Within (Gull) 
  • Jonny (9.5 pts) - 1 Hard, 3 Easy, 1 Within (Booot)
Results of 10000 simulations
Average final scores, sorted:
  1. Gull - 15.03865
  2. Fire - 14.2973
  3. Chiron - 14.02615
  4. Booot - 14.02035 
  5. Fizbo - 13.02395
  6. Hannibal - 12.54555 
  7. Jonny - 12.5394
Gull looks sure to qualify, Fire has a small margin of safety, Booot and Chiron are neck-and-neck, the rest have no chance. Of course no engine qualifies on average score...

Percent of simulations to qualify, including tie breaks:
  1. Gull - 97%
  2. Fire - 86%
  3. Chiron - 68%
  4. Booot - 65%
  5. Fizbo - 15%  
  6. Jonny - 5%
  7. Hannibal - 5%
 Score for 3rd place including tie breaks:
  • 13 or less - less than 1%
  • 13.5 - 15%
  • 14 - 47%
  • 14.5 - 32%
  • 15 or more - less than 6%