Many years ago, I was a reasonably active person in computer chess and OTB (over-the-board) chess playing, though admittedly I was more interested in the computer science behind chess rather than my own chess playing strength. I owe this resurgence in my interest to my daughter as her interest in the game has grown. I’ve broken out the nice pieces, chess clock, and of course, software!
I’ve been searching for casual chess meetups in the Greensboro, NC area, and haven’t had much luck (if you know of any, let me know).
When I left the chess scene (approaching a decade ago), endgame tablebases were becoming very popular for chess engine play – and to my surprise, tablebases haven’t really changed much. Tablebases represent perfect endgame knowledge as a database (loosely); the idea being that chess engines can do a lookup to see if a given position is won or lost, without having to evaluate the rest of the game. 3, 4, and 5 piece tablebases are quite common. Size quickly becomes a factor: I believe a complete 6-piece tablebase approaches 1 TB in size.
While a 5-piece tablebase doesn’t leave a lot of material on the board (remember, 2 of those 5 pieces are each player’s king), a chess engine can probe the data with more pieces on the board to gauge the strength in a position. For example, if there are 7 pieces on the board, and white has an opportunity to exchange a piece, it can instantly look up whether that exchange is a won or lost position.
This is quite a bit different than opening knowledge. In general, chess engines don’t play opening moves. Authors create opening books based on grandmaster-level games and the engine or GUI automatically plays those moves. I believe endgame knowledge is ultimately how chess will be solved – and perhaps this is an interesting area for cloud computing. Of course, it took until 2007 for checkers to be solved, so solving chess isn’t going to happen in the near future. Generating the endgame tablebases isn’t so much of a problem, it’s the storage – and storing this data in the cloud, opening it up via some sort of API for chess engines, would be great to see if the latency could be dealt with. (I wish I had something more concrete to say about that with Azure as a solution!)
Chess engines, the heart of a chess app, are stronger than ever. Some of them, like Stockfish, are even open source. 10 years ago, free engines may have been weak, but today, Stockfish and others can beat many of the commercial engines. In my next post, I’ll discuss some of the problems I perceive with one of the largest Chess software companies: ChessBase.