MacHack war ein Schachprogramm, das als ein Meilenstein in der Geschichte des Computerschachs gilt. Es wurde ab November 1966 von Richard Greenblatt, einem Schüler von Marvin Minsky, am MIT entwickelt.
Greenblatt wurde inspiriert durch das sogenannte Kotok-McCarthy Program, ein von 1959 bis 1962 am MIT entwickeltes Schachprogramm für den Großrechner IBM 7090. Er schrieb die erste Version des Programms in nur einer Woche und erhielt für Tests täglich vier Stunden Rechenzeit auf der institutseigenen PDP-6 zugeteilt. In der Folge wurden zahlreiche Programmfehler behoben und zusätzliche Funktionen eingebaut; dabei wurde das Programm über 200 mal neu kompiliert. Man bot Greenblatt an, seine Abschlussarbeit über Schachprogrammierung zu schreiben, die jedoch nie zustande kam.
Das 16 Kilobyte große, in Assemblersprache geschriebene Programm konnte 10 Stellungen pro Sekunde berechnen. Greenblatt implementierte 50 Heuristiken zur Ermittlung plausibler Züge. Im ersten und zweiten Halbzug der Suche wurden 15, im dritten und vierten Halbzug 9 Züge untersucht. Das Programm erreichte in Partien normalerweise eine Suchtiefe von fünf Halbzügen. Als erstes Programm verfügte MacHack über ein Eröffnungsbuch, das über 5.000 Halbzüge enthielt und von Larry Kaufman erstellt wurde. Außerdem konnte es 32.000 Stellungen in einer Hashtabelle speichern und bei der Bewertung von Stellungen, die durch Zugumstellung zustande kamen, darauf zurückgreifen. Die große Schwäche des Programms lag im Endspiel. Da es die Bedeutung des Zentrums hoch bewertete, wurden entfernte Freibauern regelmäßig unterschätzt.
Im Januar 1967 nahm MacHack VI als erstes Schachprogramm an einem Schachturnier teil, der Amateurmeisterschaft von Massachusetts. Es erzielte ein Remis aus fünf Partien und erhielt ein Rating von 1239.
Bei einer Demonstration am MIT konnte das Programm eine Partie gegen den als Kritiker künstlicher Intelligenz bekannten Hubert Dreyfus gewinnen. Augenzeuge Herbert Simon beschrieb das Geschehen als „wundervolle Partie zwischen zwei Klötzchenschiebern“ (das englische Wort woodpusher ist eine gängige Bezeichnung für schwache Spieler).
- Dreyfus - MacHack
- 1. e4 e5 2. Sf3 Sc6 3. Lc4 Sf6 4. Sc3 Lc5 5. d3 0–0 6. Sg5 Sa5 7. Ld5 c6 8. Lb3 Sxb3 9. cxb3 h6 10. Sh3 d5 11. exd5 Lg4 12. f3 Lxh3 13. gxh3 Sxd5 14. Sxd5 Dxd5 15. Ld2 Dxd3 16. b4 Le7 17. Tg1 e4 18. fxe4 Lh4+ 19. Tg3 Lxg3+ 20. hxg3 Dxg3+ 21. Ke2 Dxh3 22. Dg1 h5 23. Lc3 g6 24. Df2 h4 25. Df6 Dg4+ 26. Kd2 Tad8+ 27. Kc2 Dxe4+ 28. Kb3 De6+ 29. Dxe6 fxe6 30. Th1 Tf4 31. Le1 Tf3+ 32. Ka4 h3 33. b5 Td4+ 34. b4 cxb5+ 35. Kxb5 Ta3 36. Kc5 Td5+ 37. Kc4 b5 matt
Im Frühjahr 1967 gewann MacHack bei einem Turnier erstmals eine Partie gegen einen Spieler mit Wertungszahl. Insgesamt spielte das Programm in diesem Jahr 18 Turnierpartien gegen menschliche Spieler und erzielte dabei 3 Siege und 3 Remis bei 12 Niederlagen. Es wurde daraufhin zum Ehrenmitglied der United States Chess Federation ernannt. 1969 erreichte MacHack ein Rating von 1529.
Das Programm wurde auf die schnellere PDP-10 portiert und war auf mehreren Timesharing-Computern verfügbar. Es nahm bis 1972 an Schachturnieren teil. Im Jahr 1977 spielte der damals ansonsten inaktive Weltmeister Bobby Fischer drei Partien gegen MacHack VI, bei denen das Programm chancenlos war. Eine der Partien verlief wie folgt:
- Fischer - MacHack
- 1. e4 e5 2. f4 exf4 3. Lc4 d5 4. Lxd5 Sf6 5. Sc3 Lb4 6. Sf3 0–0 7. 0–0 Sxd5 8. Sxd5 Ld6 9. d4 g5 10. Sxg5 Dxg5 11. e5 Lh3 12. Tf2 Lxe5 13. dxe5 c6 14. Lxf4 Dg7 15. Sf6+ Kh8 16. Dh5 Td8 17. Dxh3 Sa6 18. Tf3 Dg6 19. Tc1 Kg7 20. Tg3 Th8 21. Dh6 matt
Literatur
- Richard D. Greenblatt, Donald E. Eastlake und Stephen D. Crocker: The Greenblatt Chess Program (AIM-174). Massachusetts Institute of Technology, April 1969
Weblinks
- Bill Wall: Early computer chess programs (Memento vom 24. Oktober 2012 im Webarchiv archive.today) (englisch)
- MacHack im Chess Programming Wiki (englisch)