^ Click here to remove ads! ^

MacHack Attack

Submitted by billwall on Tue, 05/13/2008 at 2:33pm.

 

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 B.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 Stanford University since 1962, visited the Soviet Union.  There, a group at the Moscow Institute for Theoretical and Experimental Physics (ITEP), challenged his chess program to a match with their chess program, later called KAISSA.  A match was held over nine months in 1966-67.  The Kotok-McCarthy program lost the match 3-1.

 In 1965, Dr. Hubert Dreyfus, a professor of philosophy at MIT, later at Berkeley, was hired by RAND Corporation to explore the issue of artificial intelligence.  He wrote a 90-page paper called “Alchemy and Artificial Intelligence” (later expanded into the book What Computers Can’t Do) questioning the computer’s ability to serve as a model for the human brain.  He also asserted that no computer program could defeat even a 10-year-old child at chess.

 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 Shannon type B program) to play in human tournaments.  It was also the first to be granted a chess rating, and the first to draw and win against a person in tournament play.

 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 adviser, 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.

 On January 21-23, 1967, MacHack VI played in the Massachusetts Amateur Championship in Boston.  It was the first time an electronic computer played chess against human beings under regular tournament conditions.  Technical advice in the programming was given by Larry Kaufman (1966 American Open winner), Alan Baisley, and Robert A. Wagner.  They were all highly rated chess players and MIT students.  The computer played all five rounds and ended up with a score of 0.5-4.5, one draw (against J. Conroy, rated 1412) and four losses.  The program pulled off some nice combinations, but was weak in the endgame.  After the tournament, MacHack VI’s provisional rating was 1239 (Class D).  (Chess Life, February, 1967, page 23).

 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 championship.  Machack 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.

Here is MacHack's first draw in competition.  It was drawn by perpetual check.  The human missed a winning line. 

 

 


 


» posted in Fun & Trivia
 

Comments:

by ADK - 5 days ago
Santa Clarita, CA United States
Member Since: Aug 2007
Member Points: 5098

NICE read!, It was Informative!!!

ADK


by a2h - 33 days ago
Hyderabad India
Member Since: May 2008
Member Points: 24

interesting n informative Laughing


by billwall - 51 days ago
Palm Bay, FL United States
Member Since: May 2007
Member Points: 1952

You might find some early source code at

http://www.computerhistory.org/

 

A few people collect early chess source code.  You might wan't to ask on some of the rec.game.chess forums. 


by PawnFork - 51 days ago
St. Louis United States
Member Since: Nov 2007
Member Points: 299

Great article and thanks for adding the notes on what the other achievements of the pioneers of programming.  Would you know where I could find the source code for early programs?

 

BTW, Your book on the Orangutan is the most popular title in my chess library, having been loaned to friends time and again till now I think I'd have to call it lost.


by billwall - 51 days ago
Palm Bay, FL United States
Member Since: May 2007
Member Points: 1952
1412 is the USCF or U. S. Chess Federation rating.  1500 is about average.  1412 is class C (1400 to 1600).
by Mygame5377 - 52 days ago
columbus ohio United States
Member Since: Feb 2008
Member Points: 112
what is the 1412?

by luqmaan - 52 days ago
Cleveland, Ohio United States
Member Since: Sep 2007
Member Points: 131
Bill Wall is Off the Wall in a brilliant way. Thanks for all of your efforts.
by leonelcm - 52 days ago
Mexico City Mexico
Member Since: Feb 2008
Member Points: 149
Very interesting and illustrative article, thanx for posting it billwall...
by johnny263 - 52 days ago
dallas United States
Member Since: Nov 2007
Member Points: 22

chesster2:

are computers not programmed to be able to make perpetual check?  maybe not computers this early in programming?  i'm asking an honest question - all the talk of computer chess machines around here lately has gotten me kind of interested.  anyone else know?


by Decoy321 - 52 days ago
Brabant Netherlands
Member Since: Sep 2007
Member Points: 199
I hate playing the 2N defence with black, black could get into some deep trouble.
by God2 - 53 days ago
Malaysia
Member Since: Feb 2008
Member Points: 1082

Fantastic!!

the draw method!!!!


by darkveggie - 53 days ago
United States
Member Since: Feb 2008
Member Points: 48
This article makes me glad I live in an age where a computer weighs less than I do.

Good article.  I always played Two Knights Defense ... 5. Nxd5 (?!) 6. Nxf7 (!?) like a Fried Liver attack

... inviting disaster, usually, as Black.

 

 

 

 

 

 


by chesster2 - 53 days ago
NY, NY United States
Member Since: Aug 2007
Member Points: 61
Obviously black, white made the perpertual check.
by billwall - 53 days ago
Palm Bay, FL United States
Member Since: May 2007
Member Points: 1952
MacHack is Black
by salt2001 - 53 days ago
Nova Scotia Canada
Member Since: Aug 2007
Member Points: 8
what color is machack?
 

Add your comment:

Join Chess.com for free to add your comment! Already a member? Then login now to comment.