In my last post I looked at Alan Turings paper machine from the 50s, and played a game against a modern Chessbase implementation of the engine.
Today I will move forward to the 60s. Alans engine never saw a real implementation on computers from that time, but others did try. One notable implementation from the 50s is the MANIAC I, although this implementation "cheated" by only implementing a simplified version of chess, called Los Alamos chess. In this variant, the board is only 6x6 squares, the bishops are removed, pawns may not move two squares on their first move, and en passant and castling were removed.
(image from Wikipedia)
But in the 60s computers were finally playing full blown chess. The earliest implementations were fairly weak, but in january 1967 the world would bear witness to the first computer playing in an actual tournament. The program were entered into the tournament as "Robert Q", but the actual program was called MAC Hack 6, also known as "the Greenblatt chess program", from it's creator Richard Greenblatt. The program was running on a DEC PDP-6.
In the tournament hall, an operator would be seated next to a teletype terminal. He would feed moves into the terminal, get a response from the computer, and make the moves on the board. The computer would not offer draws, but the operator was permitted to offer draws on the computers behalf. The computer would also take draw requests, and either accept or decline.
So, how did it play? Well, the first tournament didn't really go too well. After losing four straight games, the last game went into an even endgame against a senior player. Knowing the endgame was the computers weak point, the operator decided to offer a draw, and the human player accepted, thus awarding the computer its first half point ever scored.
Later tournaments went better. The program went through a number of refinements and tuning in the following time, while actively participating in tournaments. It even earned a real USCF rating, which grew from around 1200 to 1400 during its active period. During 1967 the computer played in four tournaments, completing 18 games, which resulted in 3 wins, 3 draws and 12 losses.
The results may not be too impressive by themselves, but the fact remain that this was a gamechanger: Finally computers were playing real chess, and they could beat human players. First blood had been drawn!
Here is the game that is credited as the first computer win in a tournament game, against an un-named player with a 1510 rating:
So would you like to test your wits against the very first computer program to play chess in a tournament? Of course you would! And guess what: You can! The program was ported to the PDP-10, and this PDP-10 version received widespread distribution. And the PDP-10 can be emulated. So if you are the adventorous enough I suggest you head over to this link to get set up. Basically, the steps you need to follow are:
1) Download a suitable emulator, I used SIMH
2) Download and set up a suitable TOPS-10 environment
3) Download the backup tape images containing the chess program
4) Extract and play
Be warned, however, that you must not be afraid to tinker with command line interfaces and typing cryptic commands to achieve your goal. But if you follow the steps outlined in the link above you should be fine.
Another warning: This program is half a century old, and chess notation back then was somewhat different from what it is today. This program uses ye olde descriptive notation, rather than the algebraic notation most of us are familiar with. So you will need to grasp this in order to play against the program.
Once the program is up and running you do have a couple of options. You can tweak the skill of the program by setting not only the search depth, but also the search width. The documentation mentions two sets of parameters for these: Depth 4, width 7 7 6 (meaning 7 moves are evaluated on the first two plies, and then 6 for the remaining) is called the "hack mode", and this is the default setting when you first start the program. However, this mode is prone to commit some tactical errors, as the following game demonstrates:
There is also the tournament setting, which apparently is the one used during tournaments. This setting uses depth 6 and width 15 15 9 9 7. At this setting the computer plays significantly stronger, but it can still be beaten:
Here's what this game looks like in descriptive notation:
A note on time usage: At tournament settings, the program could spend up to a couple of minutes to calculate a move running on it's original hardware. But emulating this on a modern computer is significantly faster. On my old computer most moves takes only a couple of seconds at tournament settings, and at hack settings most moves are played instantly. I have also tested upping the ply depth to 8. After leaving the book it then takes around 20 seconds per move, but a few moves into the game the program crashes. I am not really sure if this is due to limitations in the program, in the emulator, or both. Theoretically it should be possible to make the game play stronger on current hardware, but so far I have failed at this.
Apart from this the program definitely plays some decent chess, so if you can get over the descriptive notation I can definitely recommend trying it. It also seems to follow all the rules of chess, except one: Underpromotion. I have not been able to produce an underpromotion, and can find no documentation about how to create one. In the game above you see the notation state "P/KR7*R/KN8=Q", which means the pawn on h7 (kings rook 7) takes the rook on g8 (kings knight 8) and transforms to a queen. For sakes of testing, I tried taking back this move and replacing it with "P/KR7*R/KN8=R" to see if it would give me a rook, but I still got a queen.
So, that should be it for this time. Any thoughts and input is welcome. Also, stay tuned for my next post, where I expect to be moving into the 70s, and chess on home computers!