30 September 2017

Engine Trouble

Talk about a disastrous tournament! If this crosstable is too small to read, all you have to know is that my result is shown on the last line, the one with all the zeroes.

LSS: FC-2015-F-00001

A few months ago I used the red rectangle gimmick in another post, Correspondence Chess and Chess960 (May 2017), where I explained,

This observation indicates that the top players used more advanced hardware (and perhaps software) than the others. Their engine setups are all calculating roughly the same variations, so it's difficult to get an advantage over each other. The [others] used less advanced setups that couldn't keep up with the top players. In other words, correspondence chess has evolved to the point where the players have little to add to the chess content of the games. Their role is to pursue a more powerful environment for their engines. What can be learned about chess960 from this?

That's all very nice, but how did I manage to finish with such a poor result (and lose 100 rating points in a single event)? It was through an unfortunate combination of several factors.

Strong opponents. The tournament was the final section of the LSS 2015 Chess960 Championship, a three-stage elimination tournament. All of the players, including me, finished first or second in both a preliminary tournament and a semifinal tournament. The eventual winner also won the site's 2014 Chess960 Championship. I had played him in four previous chess960 games, achieving a total score of +0-3=1.

Insufficient engine power. Although I follow the evolution of chess engines, I make no effort to maintain a state-of-the-art setup. The PC I use to run the engines (I use several PCs and several engines for different tasks) is now seven years old and the engines are between three and five years old. Once in a while I'll upgrade something, but it's never a priority. The outcome is easy to foresee: if my engine is calculating to a depth of N ply, while my opponent's engine is calculating to N+5 ply, I will eventually be out-calculated.

Too many games. At the same time I started the ten games shown in the crosstable, I started six games in the 2016 semifinal tournament. These were on top of another six games that were already in progress. Normally, I make up for my weakness in engine power by working hard on the games, but this only works for a small number of games, around 10-12 maximum. I play correspondence chess to improve my overall chess ability, which requires that I choose the moves myself rather than let an engine do it for me.

Fast time control. The LSS chess960 games use a countdown time control, which I last discussed in Passive vs. Active Play (May 2015). I try to play these games at the rhythm of a move per day, but with so many games, I end up spending 2-3 days per move (and still getting bad positions).

Too many vacations! The LSS chess960 rules only allow two weeks vacation per tournament, but my wife had scheduled five weeks vacation during the time the tournament was to be held. I used a couple of LSS vacation days at the beginning and end of each real vacation, but sometimes 3-4 vacation days would slide by without any work on my games. There are too many other things to do on vacation besides playing chess.

I should have declined the opportunity to play so many games in these circumstances against good players, but I wanted to see if I could handle the pressure. I set myself the goals of finishing with an even score in the 2015 final and of qualifying from the 2016 semifinal. I failed miserably on the first goal, but succeeded on the second. The 2016 final tournament starts soon, but I probably won't participate. I've taken enough psychological punishment for one year. No one likes to lose!

Why mention these tournaments on this blog? First, because I had several pairs of games -- the same start position against the same opponent playing White in one game and Black in the other -- where I reached uncomfortable positions in both games after 10-15 moves. That means there is something wrong with my approach to chess960 openings. Second, because I would like to investigate what sort of engine setup I would need to improve my result. I'll do that on my main blog.

23 September 2017

Start by Placing the Bishops!

Looking for code to generate a chess960 start position randomly? Don't overlook Generate Chess960 Starting Position (rosettacode.org): 'You are encouraged to solve this task according to the task description, using any language you may know.'

The page currently offers 35 solutions in programming languages from A to Z (literally, AutoHotkey to zkl), but I have no idea how many different algorithms are used. Some algorithms appear to be suspect, especially those that start by placing the RKR, then fill in the other pieces.

The reason is that although there are 56 different RKR patterns, some of them have 18 associated start positions, others have only 12. The difference occurs when the RKR all start on the same square color. For more about this, see Castling Patterns Visualized (September 2010).


Later: After I wrote this post, I noticed that the 'Task' on the Rosetta Code page is wrong. Instead of

The purpose of this task is to write a program that can randomly generate any one of the 960 Chess960 initial positions.

it should say something like 'randomly generate with equal probability'. Specification errors are worse than coding errors!