Thursday, May 31, 2012

Chess960: Chess education in the 21st century thanks to Mr Botvinnik

I grew up in an isolated part of the world that had no history or culture of playing chess. None of my family played chess or were even vaguely interested, none of my friends played it, nothing at school, no chess training colleges and the internet was only used for academic and military purposes. So I had to learn it from dusty old books, some of which I still cherish today.

Let me say something up front. I'm not a fan of the Botvinnik school! Personally I think the Botvinnik system of chess education is a curse upon chess and we will have to wait at least another couple of decades until the old fashion/imperialist/science oriented approach to chess education is finally out of the system. Unfortunately Kasparov and Kramnik are products of the Botvinnik school and as such are still supporters of it.

The Botvinnik system is responsible for the corrupt idea that it is good to study just a few Chess openings to very great depth. It has industrialised chess education. Yes it has been a great success, but it has been too successful because it has turned chess into a nerdy memory intensive male dominated game. Chess960 led by Bobby Fischer is actually a reaction against the Botvinnik approach I think.....

And here is the irony. I'm actually interested in computer chess just as Mr Botvinnik was! I started Chess too late when I was twenty years old after seeing Chessmaster 8000 in the shop window of the local game store. The love for Chess began.....better late than never. However reading theoretical books and combining it with a poor chess engine is not a good way to learn!

The problem was that the programmers did not properly dumb down Chessmaster and it would not emulate typical human tactical blunders. So I never really had it etched into my vision to see the typical patterns of tactical opportunity. Once I started playing real people, I wasn't seeing the typical tactical blunders that they and I make on a regular basis.

For me the journey has been to learn how to code in C++ and learn how to compile software, just so that I could materialize the engine I was always looking for as a young adult. Although these days with the internet there is not much use for a training chess engine, it's been a project.

This Stockfish960 training engine I've modified is almost the completion of everything I ever wanted in a training engine and it could not have been possible without the generosity of time of a community of people. I've had to hybridize the skill level concepts of Houdini and Stockfish to do it.
  1. It plays decent 960 openings for a couple of moves
  2. It makes decent tactical blunders to learn from
  3. It's struggles like a human in complex sharp tactical positions
  4. It improves like a human in quiet positions
  5. It absorbs time on the clock much like a human
  6. It allows active chess to be played against it
  7. It improves it's play just enough so that the endgame is a challenge for learning
  8. It's skill level advances so that you know where your limits are
  9. It will resign when the position is lost and it will accept a draw
The problem with the major engines out there today are these:
  1. Houdini patronizes the player by playing it's move instantly
  2. Houdini limits the depth but does not improve in the endgame much
  3. Houdini plays a lot of odd blunders that a human wouldn't make
  4. Stockfish weakens it's play positionally, but not so much tactically
  5. None of the engines play a decent Chess960 opening
The two issues that I still have to work on in Stockfish960 training engine are these:
  1. Very occasionally due to random chance, the Stockfish method for worsening the positional evaluation of the engine means that the engine might play a couple of non-human looking moves. It's a real challenge to remove these when they do happen because it is not a simple problem to perfectly simulate mediocrity with an engine.
  2. Houdini is absolutely brilliant at developing the queen in Chess960, but the Stockfish engine is wanting in that area. That will be a challenge to improve and hopefully the open source developers of Stockfish will address this issue one day. However for the purposes of chess960 training, it's not a big issue.
Anybody want to start an anti-Botvinnik revolution? 


Enjoy 960


  1. THANK YOU VERY MUCH for this modification and your enthusiasm!

  2. Thanks! Since I wrote this blog, the straight Stockfish engine continues to improve and so these days I need to make less and less changes to make it a more useful Chess960 training engine.