COPElAND & PRINz | 343
ChessBase’s Turing engine
Turing’s description of Turochamp Mark 2 was precise enough for ChessBase to turn it straight
into programming code. It was Friedel’s project, but he handed over the coding work to
ChessBase programmer Mathias Feist. Feist, Friedel said, is ‘completely obsessed with Turing’.
‘Wasn’t it just brilliant of Turing to invent a quiescence search on paper?’, Feist enthused.^51
The project ran into a problem, though. Once Feist had the program running, he tried to
reproduce Game 2 (neither he nor Friedel knew of the existence of Game 1, the original game
between Glennie and Turochamp). But the program would not duplicate the moves recorded
by Turing: ‘There were many deviations’, Friedel said. Searching the program for errors
achieved nothing, so Friedel appealed to legendary chess programmer Ken Thompson for help.
Thompson is credited with creating the original Unix operating system, but his attempts to rep-
licate Turing’s game were a failure. In the end, Friedel telephoned Michie to ask for assistance.
No one familiar with Glennie’s statement that Turing ‘made a few mistakes in following his
rules’ will be surprised by Michie’s answer to Friedel:
He said to me, ‘You are trying to debug your program. You should debug Turing!’
Turing even got White’s very first move wrong. ‘If you apply the rules, the paper machine plays
1.e3, not 1.e4’, Feist says.^52 Friedel concluded happily:
Turing was just being careless and our machine was playing the moves he intended to play.
Kasparov beat the Turing Engine effortlessly on stage. The game was over so quickly you
could have missed it in a blink. Smiling insouciantly, Kasparov checkmated the program in
sixteen fast-paced moves:
Game 4 Kasparov against Turing.^53
White (machine) Black
- P—K 3 [e3] Kt—KB 3 [Nf6]
- Kt—QB 3 [Nc3] P—Q 4 [d5]
- Kt—R 3 [Nh3] P—K 4 [e5]
- Q—B 3 [Qf3] Kt—B 3 [Nc6]
- B—Q 3 [Bd3] P—K 5 [e4]
- B × P [B×e4] P × B [d×e4]
- Kt × P [N×e4] B—K 2 [Be7]
- Kt—Kt 3 [Ng3] O—O [0–0]
- O—O [0–0] B—KKt 5 [Bg4]
- Q—B 4 [Qf4] B—Q 3 [Bd6]
- Q—B 4 [Qc4] B × Kt/R [B×h3]
- P × B [g×h3] Q—Q 2 [Qd7]
- P—KR 4 [h4] Q—R 6 [Qh3]
- P—Kt 3 [b3] Kt—KKt 5 [Ng4]
- R—K 1 [Re1] Q × P/7 ch. [Q×h2+]
- K—B 1 [Kf1] Q × BP mate [Q×f 2#]