The MacHack Attack by Bill Wall
In 1957, Alex Bernstein created the first really complete chess program at IBM. It ran on an IBM 704, one of the last vacuum tube computers. It took about 8 minutes to make a move.
In 1958, Alan Newell, John Shaw, and Herbert Simon developed the chess program CP-1. It was written in a high-level language and took about an hour to make a move. Its most important innovation was the alpha-beta tree search.
In 1959, MIT freshmen Alan Kotok (1942-2006), Elwyn Berlekamp, Michael Lieberman, Charles Niessen, and Robert A. Wagner started working an a chess-playing program while students of Professor John McCarthy (1927- ) at the Massachusetts Institute of Technology (MIT). They started with Bernstein’s program, then added alpha-beta pruning to minmax at McCarthy’s suggestion to improve the plausible move generator. They wrote in Fortran, and a single move could take five to twenty minutes to complete.
In 1962, the first MIT chess program was written. It was the first chess program that played regular chess credibly. It was chiefly written by Alan Kotok for his Bachelor of Science thesis project, assisted by John McCarthy (father of artificial intelligence) of MIT. The program ran on an IBM 7090, looking at 1,100 positions per second. The program was able to beat chess beginners. Kotok, at age 20, published their work in MIT Artificial Intelligence Memo 41 and his bachelor’s thesis.
Kotok went on to become one of DEC’s leading computer designers (chief architect of the PDP-10), and created the first video game and the gaming joystick.
In 1965, McCarthy, who was now a professor at
In 1965, Dr. Hubert Dreyfus, a professor of philosophy at
MIT, later at
MacHack (Mac Hack or Mac Hac) was a computer chess program written by Richard Greenblatt, with assistance from Donald Eastlake, in the
1960s at MIT. It is sometimes known as
the Greenblatt Chess Program. MacHack VI was the
first chess program (a
The name came from Project MAC (Multilevel Access Computer or Machine-Aided Cognition), which was a research project located at MIT. The number VI refers to the DEC PDP-6 (200KHz) machine for which it was written. DEC built the PDP-6 and gave the first prototype to Project MAC. The PDP-6 had a speed of about 225,000 instructions per second.
Greenblatt was very interested in artificial intelligence (AI). He decided to use the computer operating system to actually do something in AI. He had seen Kotok’s chess playing program and knew it was bad. Since he was also a chess player, it was only logical that he work on a chess program that would go beyond Kotok’s chess programming effort, as well as other AI chess projects that had been attempted at various labs around the country.
Greenblatt wrote the program after reading an MIT Artificial Intelligence memo on the limitation of computer chess. He said he intended to write a chess-playing program good enough to beat a human. Greenblatt’s thesis advisor, Marvin Minksy, tried to discourage Greenblatt, telling him that there was little home of making progress in chess-playing software. Greenblatt managed to get four hours of PDP-6 time a day, then wrote code off-line when he wasn’t on the machine. He began his work in November, 1966.
Greenblatt added 50 heuristics (rules of thumb for making a move) to an older chess program written by Kotok. MacHack was written in MIDAS macro assembly language on the PDP-6 computer that DEC donated to MIT. Greenblatt wrote the chess program using only 16K of memory for the PDP-6 computer. It evaluated about 10 positions per second.
MacHack was the first computer program to implement a transposition table and an opening ‘book.’ This innovation let the computer take advantage of the fact that about 25% of all move sequences transpose to the same end position. Greenblatt was able to get his program playing chess in one week. The program was debugged and given features over the next few months. It used a plausible move generator to restrict the number of moves examined at each ply. It examined 15 moves at ply one, 15 at ply two, 9 at ply three, and 9 at ply four. In order to search to a five-ply depth, the program had to deal with a game tree of 127,575 moves.
Greenblatt was offered a B.S. degree from MIT if he would write a thesis about his chess program. He never did write his thesis.
Greenblatt later founded Lisp Machine, Inc., and is considered one of the founders of the hacker community.
In 1967, several MIT students and professors (organized by Seymour Papert) challenged Dreyfus to play a game of chess against MacHack VI. Dreyfus accepted. Herbert Simon, an AI pioneer, watched the match. He said “It was a wonderful game - a real cliffhanger between two woodpushers with bursts of insights and fiendish plans…great moments of drama and disaster that go in such games.” Dreyfus was being beaten by the computer when he found a move which could have captured the enemy queen. The only way the computer could get out of this was to keep Dreyfus in checks with his own queen until he could fork the queen and king, then exchange them. And that’s what the computer did. Soon, Dreyfus was losing. Finally, the computer checkmated Dreyfus in the middle of the board.
In the spring of
1967, MacHack VI became the first program to beat a
human (1510 USCF rating) in a rated event, the Boston Amateur
VI won two games and drew two games. MacHack VI was strong in the opening and middle game, but
its endgame was very weak. The weak
endgame was due to its center-controlled heuristic interfered with the
advancing passed pawns.
By the end of the year, it had played in four chess tournaments. It won 3 games, lost 12, and drew 3. In 1967 MacHack VI was made an honorary member of the US Chess Federation. The MacHack program was the first widely distributed chess program, running on many of the PDP machines. It was also the first to have an opening chess book programmed with it.
By the end of 1967, MacHack (Machack) VI was rated 1493 by the U.S. Chess Federation. By the end of 1968, MacHack VI was rated 1529. The average rating in the USCF was around 1500.
By 1969, MacHack played in 18 chess tournaments and had played over 100 completed games.
Later, MacHack was available on all PDP-10 computers (400,000 instructions per second). A version was made available on many time-sharing computer services using DEC PDP series computers. This led to a rapid proliferation of chess programs. Within three years of MacHack VI’s debut, at least eight new programs appeared. This led to the first tournament for computer programs in 1970. MacHack remained active in chess competitions through 1972.