Experienced users of the Fritz12 and Rybka4 chess playing programs should already be aware of the variety of ways to “handicap” the chess engine so that an average chessplayer can get a competitive game without getting his or her head torn off by the engine playing at full-bore strength; the interface provides a “Friend” mode as well as “Handicap and fun” mode for this purpose. However, a few novice chessplayers have expressed a desire to play against an easier engine. If you’re one of those players we’ve got you covered there, too, with a simple download – and best of all (well, to me at least), the engine has some really cool history behind it.
One could write a book about this engine’s programmer (and, in fact, there are several available); Alan Turing was a brilliant British cryptanalyst who, during World War II, helped to break the German “Enigma” code. After the war he turned his attentions to computer science, and his ideas and theories were instrumental in developing the modern computer – in fact, you’ll frequently hear Turing referred to as “the Father of Computer Science”.
One of Turing’s side projects was an early chessplaying program. According to computer chess historian David Levy, Turing was the first person to write a working chess program. While that’s technically true, there’s a hitch: there were very few computers in existence at that time (circa 1950) and it was hard to get any actual time using one – there was a large demand for access, and computers were expensive to run. Thus Turing’s program existed only on paper as a set of rules a computer would follow when deciding on the best move (these rule sets are today referred to as “algorithms”).
Turing’s “engine” did play one recorded game (in 1951) in which Turing himself had to perform all of the mathematical calculations manually. He would first calculate all legal moves for the moving side, followed by every possible reply by the opponent (that alone is a huge heap of work, since it easily can amount potentially to hundreds of evaluations). Then he would calculate some variations even deeper if any moves qualified as a “considerable move” (in Turing’s terminology); his list of such moves included capture an undefended piece; recapture a piece, capture a defended piece with one of lower value, checks, and mate threats.
He’d calculate such variations as far ahead as he was able until a “dead” position was reached (one in which none of his “considerable” moves applied); today we call such positions in which there are no immediate tactics “quiescent” positions.
What were the mathematical criteria Turing used to evaluate positions? Here’s a list derived from How Computers Play Chess by David Levy and Monty Newborn (Computer Science Press, 1991; p. 35):
Mobility: For the pieces other than Kings and pawns, add the square roots of the number of moves that the piece can make, counting a capture as two moves.
Piece safety: If a Rook, Bishop, or Knight is defended once, add 1 point; add 1.5 points if it is defended twice.
King mobility: Use the same method as above, but don’t count castling.
King safety: Deduct x points for a vulnerable King, with x being the number of moves that a Queen could move if it were on the same square as the one occupied by the King.
Castling: When evaluating a move, add 1 point if castling is still possible after the move is made. Add another point if castling is immediately possible or if the castling move has just been performed.
Pawn credit: Score 0.2 points for each square advanced, plus 0.3 points for each pawn defended by one or more non-pawns.
Checks and mate threats: Score 1 point for the threat of mate and a half-point for a check.
Point Values for Material: Pawn=1, Knight=3, Bishop=3.5, Rook=5, Queen=10
Turing himself admitted that these rules would make for a weak chess program, and blamed it on himself being a weak chessplayer. Admittedly there are some strange evaluations in this algorithm, but there are interesting ideas here as well.
What I find fascinating about this story is that nobody (to my knowledge) ever bothered to create an actual computer program using Turing’s algorithm for more than fifty years after Turing devised it. A few years ago, though, the programming team at ChessBase decided to create a ChessBase-format engine based on Turing’s “hand simulation”.* Predictably, it played very badly. But then some brainy mug decided to release the engine to the public: Turing’s chess engine can now be downloaded and used as a chess sparring partner in Fritz12, Rybka4, or any of the other chess playing programs which ChessBase offers (as well as an analysis engine in ChessBase 11, though why you’d want it for that purpose is beyond me).
*The ChessBase programmers made a few additions to Turing’s algorithm, as some situations (such as stalemate) weren’t covered in his original instruction set.
The reason you might want to download and install the engine (which the ChessBase programmers have named Turing, for obvious reasons) is that it’s an ideal sparring partner for beginning chessplayers who might still find Fritz12 or Rybka4 too much to handle even when played in a handicap mode. It’s also a great chess engine for children to use when they’re just starting out as chessplayers; little kids love to win.
Here’s the link to the Turing chess engine; it’s free, by the way:
Just download the .exe file and then run it to install the engine. After it’s installed, you should see it as a selectable engine in the Fritz/Rybka interface’s scrolling list:
Just load the engine right from the list as you would any other and…
Have fun! – Steve Lopez
Chessplayers who have purchased their ChessBase brand software from USCFSales can receive free technical support and advice on their purchases straight from me; just shoot me an e-mail (firstname.lastname@example.org), but please remember to include the USCFSales order number from your ChessBase software purchase. – Steve
Copyright 2011, Steven A. Lopez. All rights reserved.