Chess engine for Fritz by Mathias Feist and Ken Thompson which implements the famous paper machine by Alan Turing. The orginal set of rules was incomplete and unclear in several points, which are discussed below.
1. no mention was made of stalemate; detection was added with a positional evaluation of 0.0, which seemed to be the most logical.
2. a move gets a bonus if threatening mate in 1; a threat obviously means a nullmove for the other side which is illegal if the move was giving check. Still it may be a mate in 1 move. This was ignored, the move just gets the bonus for a checking move.
3. algorithm enhanced so that the engine may play with both sides, i.e. everything logically negated if black to move.
4. iterative deepening added to allow higher search depths.
5. a recapture is not made entirely clear: it is considered to be a capture to the same square as the previous move.
6. rule d) is not clear about checks/enemy pieces; a wKe1 and a wPe4 give the vulnerability of e2+e3, but a bPe4 gives an additional vulnerability of e4. Doesn't sound logical.
7. calculating the material value is impossible if one side is left with the king only. A division by zero would occur. In this case the material value is material+1.0 of the other side.
The algorithm is based on material value, at the root moves with equal material values are resolved by positional values which are shown as the evaluation. This is not completely satisfying since the positional values are rather "jerky" and the more important material values are hidden.
You download a setup program which allows you to install the engine in the Fritz directory
Download the Turing Engine
Alan Turing Plays Garry Kasparov At Chess 58 Years After His Death
Garry Kasparov versus Alan Turing's 1950 chess program