Computer chess II
 0697099113

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

■ David E. Welsh •Boris Baczynskyj ■

COMPUTER

CHESS

COMPUTER

CHESS David E. Welsh Chairman U.S.C.F. Computer Chess Committee

Boris Baczynskyj

wcb Wm. С. Brown Publishers D u b u q u e , Iowa

Copyright © 1985 by Wm. C. Brown Publishers. A ll rights reserved Library of Congress Catalog Card Number: 85 60019 IS B N 0-697-09911-3 No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher.

Printed in the United States of America 10 9 8 7 6 5 4 3 2 1

CONTENTS Preface

In tr o d u c tio n .............................................................................................................................. xi 1. C ray B litz

The W in n e r — a n d New W o rld C h a m p io n .........................................

1

History ..................................................................................................................................

1

An Overview of Program Structure .................................................................................

6

#

Search Methods Position Evaluation General-Purpose Heuristics

Special Endgame Heuristics Hash Tables Parallel Processing

References .........................................................................................................................

18

2. The Levy C h alle n g e M atch 1984 ................................................................................ 19 The Levy Bet Extension ...................................................................................................

19

The Match Game 1 Game 2 Game 3 Game 4 Conclusions ....................................................................................................................... 31

3.

Brute-Force P r o g r a m s ................................................................................................... 34 Development of Programming C o n ce pts.....................................................................

34

Selective Search Programs The Move to Brute-Force Programs Advantages o f the Full-Width Search The Structure o f Full- Width Search Programs Program Structure ............................................................................................................ The Data Base Generating Moves Evaluating Positions The Tree Search Playing Characteristics and Weaknesses

39

References .......................................................................................................................... 52

• • •

III

4.

A d v an ce s in P r o g r a m m in g T e c h n iq u e ..................................................................... 53 Improvements in Tree Searching M e th o d o lo g y ............................................................ The History Heuristic Aspiration Searching The Nested Minimax Search Alternatives to the Alpha-Beta Algorithm Quiescence Searching

54

Parallel Processing A lg o rith m s......................................................................................... 61 Knowledge-Based Positional Move Selection Techniques ......................................... 64 Goal-Setting and Planning Algorithms ............................................................................ 68 Planner Constellation Pioneer .................................................................................................................................. 72 References ............................................................................................................................ 73

5.

P ro g ra m Profiles ..............................................................................................................

76

A Note on the USCF Ratings .............................................................................................. 76 ADVANCE 3. 0 AWIT BCP BEBE BELLE BOBBY MERLIN NOVAG X NUCHESS OSTRICH PATSOC 2.0 PHOENIX PION SCНАСH 2.7 SFINKS X SHY Summary Data on 1983 Programs ................................................................................... 97 CHAOS CONCHESS X FIDELITY X MEPHISTO X P H ILID O R iv

6.

A C h e s s p la y e r’s P erspective ........................................................................................100 Mixed Emotions ...................................................................................................................100 The Spracklens ................................................................................................................... ..101 O penings and E ndgam es.................................................................................................. ..103 Brilliancies and Blunders ...................................................................................................104 Travelling in Style ...............................................................................................................107 Computers and Humans ....................................................................................................108 A Com puter W orld Cham pion? ........................................................................................109 Annotating C om puter Games ......................................................................................... ..110

7. U.S. O pen ............................................................................................................................ ..112 8 . The Fredkin Incentive Prize Tournament 1983 and the 1983 New Jersey O pen ............................................................................177 9. The Third W orld M icrocom puter Chess C ham pionship .......................................... ..194 10. The Fourth W orld Com puter Chess C ham pionship .....................................................260

A p p e n d ix .................................................................................................................................... .350 I n d e x e s ......................................................................................................................................... .3 6 l

v

T H E U N IT E D STATES C H E S S F E D E R A T IO N The United States Chess Federation is the official U.S. affiliate of the International Chess Federation (FIDE), linking its members with chessplayers around the world. The USCF is a registered non-profit corporation whose objectives are to educate and instruct its members and the public about chess, to broaden and develop chess as an art and recreation; and to promote chess as a significant element of culture in America. The USCF’s most prominent activities are sanctioning and rating chess tournaments, and publishing Chess Life magazine—one of the best chess publications in the world. Less visible, though equally important, are activities such as supporting U.S. chess masters in international competition, chess education, and representing the U.S. in the International Chess Federation (FIDE). Membership in the USCF1is open to all, and the rates are very reasonable—the magazine alone is easily worth the membership fee. Benefits of membership include Chess Life, the right to play in USCF1 sanctioned tournaments and to acquire an official USCF rating, information on local chess clubs and publications, and the right to buy chess books and supplies at a significant discount through the USCF. To inquire about joining the USCF, write to: United States Chess Federation 186 Route 9W New Windsor, NY 12550 Attn: Membership Services Director

vi

PREFACE This volume is divided into two parts: a discussion of chess programs and annotated games. David Welsh, whose Computer Chess is this book’s direct antecedent, wrote the programming part; I was responsible for the games. Almost three years ago, I left Philadelphia’s chess community for computer chess in San Diego. Some of what happened to me in California is detailed in Chapter Six. Here, I would like to acknowledge those who came before—when chess, for me, was solely a human activity. I dedicate my part of this book to my father, Wolodymyr Baczynskyj, who taught me the moves when I was a child. At times, he must have rued the moment—chess, as a profession, is an often insecure and somewhat narrow pursuit. Yet he was always supportive, and enthusiastic when visiting tournaments to watch me play. Hundred of others—more involved in the game than he—taught, helped, and befriended me. The chess players of the Ukrainian-American Sport Organization Tryzub and the FranklinMercantile Chess Club first schooled me in the game some 25 years ago. During the last decade, members of these two Philadelphia clubs supported me as friends and students. Many a chess friend helped me get to tournaments all over the Northeast in my earless pre-California days. Also, I would like to thank the members of the world chess community who helped me get to the board on time. Some of them I saw only once, but that was when I received a ride in Tennessee, a bed in Berkeley, or shared a song in Israel. It is paradoxical that the most enduring value of chess, hardly a social game, is the friendships it engenders across barriers of playing strength, origin, and nationality. Finally, I am grateful to my co-author, who initiated and organized the book. Below, he says some kind words about my annotations. David neglects to add that what he received from me were several hundred legal-pad pages full of scribblings and variations. These he deciphered, edited and word-processed. Whatever merit this volume has in illum inating the intersection between computers and chess is largely David’s. He understands the game much better than I understand those machines. San Diego, California December, 1984

Boris Baczynskyj

It seems only yesterday that I first encountered a chess microcomputer—one of the original BORIS models—at a computer game store in 1978. Naturally I had to try it out. After about twenty moves I was three pieces ahead! An interesting toy, but my impression was that it didn’t really play chess—at least, not the kind of chess I was used to in USCF tournaments. Six years later, I ’ve just finished directing and playing in the U SCF’s first computer rating tournament, in which a chess microcomputer—the Novag SU PER CO N ST ELLAT ION — received an official Expert rating, the first ever for a commercially available machine. In vii

this event, I played four games against the machine and scored just one win and one draw, despite all my knowledge of computer weaknesses. Other strong players received similar shocks. Chess microcomputers have come a long way since BORIS. Progress in the mainframe programs has been less spectacular: the top programs have advanced only about 200 Elo points in strength since 1978. One reason for this is that the programmers can’t work on them full time. Even if they wanted to, and their institutions would fund the research, the computer time is simply too expensive. (The computer on which CRAY BLITZ runs is billed at $50,000.00 per hour!) It also becomes more difficult to make improvements as the level of play increases. But progress is being made, and we now have our first computer masters: BELLE and CRAY BLITZ. Nevertheless, computer chess has a long way to go before the programs can compete successfully in International tournaments, as David Levy showed by trouncing CRAY BLITZ in the latest Levy Challenge Match. Programmers are beginning to understand that there is more to playing master chess than efficient searching algorithms and fast hardware. The necessity for programs to have some strategic direction in their play is being realized, and significant research on the subject is now underway. From some of this research we can discern the misty outlines of the chess programs of the future: knowledge-based move selection, pattern recognition, goal-setting and planning algorithms, detailed advice texts and huge lookup tables for playing “book” endgames. Perhaps the future even holds a selective search that really and reliably works— in which case we will then have a computer World Chess Champion. There’s a great deal of work to be done to turn such dreams into reality, and it will be interesting to see how it goes and how long it takes. The annotations for all the games were written by Boris Baczynskyj, although I did some editing in preparing the manuscript. In my opinion, these annotations offer the reader something nearly unique in the chess literature. Most chess players, naturally, are not masters. Although they may avidly play over master games to gain as many lessons as possible from them, such games usually do not contain the elementary mistakes which the average player makes in his games. Knowing how to avoid these mistakes—and how to exploit them when one’s opponent makes them—is a key element in chess progress, and, in my opinion, this is what most chess players should try to learn first. The fine points of master play are valuable, of course, but won’t do much for a player who leaves pieces hanging! But where does an aspiring player go to find annotated examples of chess at a sub-master level? There are a few such examples in most introductory chess books, and some good ones in two books by Euwe and Meiden (Chess Master us. Chess Amateur and The Road to Chess Mastery), but not much more. Chess books are usually written by masters, and even when they try to address the needs of the amateur reader, they simply don’t consider many of the erroneous lines of play that the average player is likely to fall into. If masters spent their time thinking about such things, they wouldn’t be masters! Boris Baczynskyj’s contributions have made this volume a real treasure chest of practical information for the average player. Here we see the whole range of chess mistakes—from elementary tactical blunders to subtle strategic shortcomings—being made by chess programs of widely varying strength, from the weak amateur level to the National Master level. These mistakes, as well as the alternative better lines of play, are discussed in detail by a very •••

VIII

strong master who is also an outstanding chess teacher. Typing these annotations into my word processor, I had to follow the game position to do the diagrams, and so I studied each game probably more carefully than most readers will. It was a genuine chess course, instructive as well as highly interesting. As a player whose rating currently fluctuates around the Elo 2000 level, I gained many valuable chess lessons from Boris’ outstanding annotations. Each reader is urged to play the games over carefully and to try to follow the sub-variations on another chessboard if possible. The result will be unparalleled insights into the playing qualities of chess programs, and a noticeable improvement in one’s own play, plus a good appreciation of how a chess master thinks when playing the game. David E. Welsh

Los Angeles, California November 1984

ix

X

The

Cray

Blitz

program m ing

team. L, Albert Gower; R, Robert

Hyatt. S tandin g: Harry

N elson.

IN T R O D U C T IO N Like the first volume in this series (Computer Chess, published in 1983 by Wm. C. Brown), this book has been written for the chessplayer who would like to have a better understanding of computer chess. In this volume we describe the theoretical aspects of computer chess and annotate the tournament games played by chess programs in greater detail, building on the introductory treatment of the first volume. As a result, we think that both chess players and programmers with an interest in computer chess will find much in here to interest them. The book begins with a description of the present World Computer Chess Champion, CRAY BLITZ—how the program was developed, details of its structure, and how it won the world championship to take its place as the strongest chess program. The second chapter describes what happened when CRAY BLITZ challenged David Levy in the latest installment of the Levy Challenge Match series. After Levy decisively defeated CRAY BLITZ, computer scientists began to realize that the strategic shortcomings of mainframe chess programs could not be remedied just by adding another ply or two of search depth, and would have to be overcome before any program could compete successfully at an International Master level, much less in the (human) World Chess Championship. The third chapter describes how the brute-force, full-width search program evolved, why this approach has displaced selective searching as the predominant method in chess programs, and how it works. The methods used in most programs are outlined and some exceptions are also described. This “state of the art” discussion lays the groundwork for the fourth chapter, in which recent advances in programming technique—improved tree-searching algorithms, parallel processing methods, knowledge-based move selection algorithms, goalsetting and planning algorithms, and the like—are discussed in considerable detail. In these areas of current research, the shape of the chess programs of the future may be discerned. The fifth chapter presents program profiles, a popular feature of the first volume. Detailed descriptions of sixteen of the twenty-two programs which participated in the 1983 World Championship are given, with summary descriptions of the others. The sixth chapter, written by FIDE master Boris Baczynskyj, describes a chess master’s experiences as consultant to the largest manufacturer of chess microcomputers. This fascinating glimpse into the world of computer chess from a player’s perspective will not only interest chessplayers, but should also contain many useful insights for the programmer. It also introduces Boris as your annotator for the games which comprise the rest of this volume. The seventh chapter presents annotated games from the 1983 U.S. Open, in which BELLE stunned the competitive chess world by defeating one master after another, while CONSTELLATION became the first microcomputer program to defeat a master in tournament play. Chapter Eight presents the 1983 Fredkin Incentive Match, with its unique “Turing Test” format, as well as the games BELLE played in the 1983 New Jersey Open, where it won its National Master rating.

xi

The ninth chapter presents games from the 1983 World Microcomputer Chess Championship held in Budapest, won by the Fidelity E L IT E . Chapter Ten concludes with the 1983 World Computer Chess Championship, in which C R A Y B L IT Z upset B E L L E to win the title over a field of twenty-two programs. The Appendix presents unannotated scores for all the games in the three previous World Computer Chess Championship tournaments. As in the first volume in the series, figurine algebraic notation—the system that is becoming the international standard in chess publications—is used throughout. The reader unfamiliar with this notation will find a complete description in Computer Chess. Some symbols are used in the annotations which do not appear in the first volume. These follow the format used in the Encyclopedia o f Chess Openings, the principal chess reference work consulted. For completeness, a description of each symbol used in the annotations in this volume follows. ?? —A very bad move; a blunder ? —A bad move; a mistake ?! —A dubious or weak move !? —An interesting move; clever but perhaps double-edged ! —A particularly strong or unusually clever move !! —A very fine or brilliant move + —Check +- — White has a winning advantage -

—White has a significant advantage

i

—White has a slight advantage —The game is even; sometimes used to indicate a draw

= —Black has a slight advantage

7 — Black has a significant advantage -+ — Black has a winning advantage

1 - 0 — White has won 0 - 1 — Black has won Vi - Vi— A draw As in the first volume, to economize on space, game scores have been given in paragraph form. To aid the reader in distinguishing the game moves from the annotations, the moves in the game score are in bold fa c e type. After the name of the opening system for each game, its Rabar classification number is given. This is the system used in ECO. xii

1 CRAY BLITZ The W inner—and New World C ham pion H IS T O R Y In 1975, Robert Hyatt, an instructor in the Computer Science Department at the University of Southern Mississippi, began working on a computer chess program which he named BLITZ. The program was written in Fortran with a small am ount of assembly language coding for heavily utilized routines, and ran on U SM ’s Xerox Sigma-9 computer in Hattiesburg, Mississippi. The initial version of BLITZ embodied m any of the concepts pioneered in Northwestern University’s CH ESS 4.5 program, developed by David Slate and Larry Atkin. In 1976, BLITZ IV entered the Seventh North American Computer Chess Cham pionship in Houston, Texas. H yatt’s program made a tactical error in the first round against DU CH ESS, which soon won a piece and the game. In the second round, BLITZ IV was given a bye, but the program then won its next two games (against ET A O IN S H R D L U and WITA), to finish in a three-way tie for second place with BLACK K N IG H T and CH AOS. At the time of this successful debut, BLITZ IV was using 128K of memory and had an opening “book” of about 3,000 positions. Throughout 1977, 1978, and 1979, Hyatt continued to improve his program, adding m any of his own innovations and keeping it current with the latest knowledge in the field. During this period, music professor Albert Gower (a correspondence chess player and fellow member of the USM chess club) became interested in the program and joined the BLITZ programming team, m aking important contributions to the opening “book”. In 1977, BLITZ V tied for fifth place in the ACM tournament with a 2-2 score, losing to D U C H E SS and CHAOS. In 1978, BLITZ 6.5 tied for third with a 2.5-1.5 score, losing only to BELLE, drawing with DU CH ESS, and defeating BS6676 and AWIT. In the 1979 ACM event, BLITZ 6.9 slipped to a tie for seventh place with a 1.5-2.5 score, losing to C H ESS 4.9 and CH A O S, drawing with SA R G O N 3, and again defeating BS6676. By this time, the BLITZ program had played in a number of USCF-rated tournaments in the Hattiesburg-New Orleans area and had a U SCF rating of 1690. After the uninspiring finish in the 1979 ACM tournament, Hyatt and Gower realized that BLITZ was going nowhere unless the program could be transported to a faster computer. Hyatt then approached Cray Research, which agreed to support BLITZ with computer time. The code was converted to run on the Cray-1 supercomputer, with the assistance of David Darling and Derek Robb of Cray Research, and the program was renamed C R A Y BLITZ. The Cray supercomputers have an unusual architecture, and special coding techniques are required to realize their full potential. Naturally, all of this work could not be accomplished immediately, and the 1980 version of C RA Y BLITZ did not make good use of the computer’s capabilities. For this reason, and because of assorted technical difficulties associated with the changeover, the program did not perform up to expectations during the 1980 ACM

1

tournament. CRAY BLITZ lost to BELLE and CH AOS, defeating CU BE 2.0 (also running on a Cray-1) and BEBE to tie for fifth place. In the speed tournament, however, C RA Y BLITZ was invincible: it won nine straight games, including its last-round contest with BELLE. In 1981, work continued on optimizing the program for the Cray-1 , and in September of that year CRAY BLITZ won the Mississippi State Closed Cham pionship with a perfect 50 score, defeating a hum an master in the process. For this achievement, CRAY BLITZ received a provisional USCF rating of 2258. By this time, C RA Y BLITZ was running more than ten times as fast as the old BLITZ program, and was consistently doing six ply searches. Harry Nelson, of Lawrence Livermore National Laboratory, then became interested in CRAY BLITZ. He obtained a copy of the program through Cray Research for the purpose of comparing it to CHESS 4.5. Nelson also had access to a copy of this version of the Slate-Atkin Northwestern University program, running on a CDC 7600. He was surprised to find that CRAY BLITZ only processed 3,000 nodes/second, while CH ESS 4.5, then six years old, processed 4,000 nodes/second. In many respects, CRAY BLITZ appeared to have more “chess knowledge” than CHESS 4.5, although the Northwestern program’s endgame technique seemed to be better. Because the C R A Y -1 is a much more powerful computer than the CDC 7600, it seemed odd that CRAY BLITZ would run slower than CHESS 4.5. So Nelson used an execution-time profiler to analyze the program, and found that it was spending twenty-five percent of its time in executing a single twenty-line subroutine (ATTACK), which determines whether a square is under attack. He also found other examples of inefficient coding in the program, generally supporting the old programming adage that ninety-five percent of the execution time is spent running five percent of the code. Nelson then rewrote the ATTACK subroutine in Cray Assembly Language (CAL) in September 1981. This one small coding change reduced the execution time of the subroutine by seventyfive percent and speeded up the program itself by about nineteeen percent. When Nelson told Hyatt about this and offered the CAL version of ATTACK to the CRAY BLITZ team, it was cordially accepted. Nelson was invited to join the team as an observer for the 1981 North American Computer Chess Cham pionship tournament in Los Angeles. In this event, CRAY BLITZ won three straight games and then lost a heartbreaker to BELLE, to finish in a tie for second place. By this time, it had become clear that CRA Y BLITZ was nearly equal to BELLE in playing strength. After the ACM tournament, Hyatt came to the Lawrence Livermore National Laboratory and spoke at the DAS Computer Science seminar. Harry Nelson had now been accepted as a member of the CRAY BLITZ team, and his influence began to be felt as more of the highly utilized subroutines were recoded into CAL. In this recoding effort, Nelson was also able to vectorize some of these routines, using the C R A Y -1 architecture more efficiently. Together with some improvements made by Hyatt in the Fortran code, this led to a doubling of the program’s speed without reducing the amount of analysis for each position. By the time of the 1982 ACM tournament, CRAY BLITZ was exam ining 5000 to 8000 nodes/second, and was consistently doing seven ply searches. Because of its large transposition table and 2

sophisticated tree searching methods, the C RA Y BLITZ team reports that their program has been searching one ply deeper for every factor-of-3 speed increase. In the 1982 North American Computer Chess Cham pionship, C R A Y BLITZ drew with BEBE and BELLE, and defeated SAVANT X and PREST IG E X to finish in a four-way tie for first place. CRA Y BLITZ was awarded second prize on tiebreak. After this event, the CRA Y BLITZ team concentrated on getting ready for the 1983 World Cham pionship, with the particular goal of beating BELLE. Nelson recoded m any more subroutines into CAL, although the speed payoff was beginning to dim inish since the most heavily used routines had already been changed. He also redesigned the implementation of the transposition table, doubling its capacity. Meanwhile, Hyatt rewrote the basic search procedure to take advantage of the latest theoretical advances discussed at the ACM conference in Dallas. During these ACM conferences, the programming teams share information about the advances they have made during the previous year rather freely in informal get-togethers, discussions during boring endgames, and even technical papers—although at other times they are very secretive, hoping to spring surprises at the next tournament. The program’s opening library was reworked by Gower, who had concluded that it was unsuitable for competition with computers in general (and BELLE in particular). To try out the latest version of the program, C RA Y BLITZ entered the U.S. Open Speed Cham pionship in Pasadena, California on August 13, 1983. The program was running on the CRAY-M at Chippewa Falls, Wisconsin. The U.S. Open Speed Cham pionship traditionally consists of two events: a series of round-robin preliminary sections followed by a Swiss or round-robin final among the two top finishers in each preliminary section. A number of International Grandmasters and International Masters participated. Although its sensory board was not working due to travel stress, C R A Y BLITZ did quite well in the preliminaries, w inning thirteen and losing four to finish in a three-way tie for second in its section with two hum an players, both of whom were rated over 2450 and had lost to the program. C RA Y BLITZ thus qualified for the finals because it had beaten both its rivals. However, because the program’s scheduled machine time had been exhausted— along with H yatt’s typing muscles and the CRAY-M operator (whose shift had long since ended)—C RA Y BLITZ withdrew and did not play in the finals. Cray Research, meanwhile, had promised the use of the new C R A Y X-MP supercomputer for the World Cham pionship. This machine contains two processors with software features that permit programs to run on both processors at once—a feature generally referred to as “parallel processing”. If only one processor is used, the C R A Y X-MP is still thirty percent faster than a CRAY-1. To take advantage of this feature, Hyatt revised the search algorithm to use both processors, while Nelson coded the basic search in C A L and changed the other routines coded in C A L to permit parallel processing. The work was complicated considerably by the experimental status of the computer’s operating system, which had just been released and was full of “bugs”. In early October, the new version of CRA Y BLITZ was tested. It proved to be very fast (25,000 nodes/second) but highly unreliable. Few of the test problems ran correctly, and the system crashed sporadically. Nelson concluded that his C A L routine changes for parallel processing were incompatible with Cray’s operating system.

3

Two weeks later—a week before the World Cham pionship—Nelson decided to go to Minnesota to work with the Cray experts on a crash program to resolve these difficulties. He identified and corrected a number of problems, but when the CRA Y BLITZ team assembled in New York on the first day of the tournament, the assembly-language version still wouldn’t run correctly. The best version they had that ran was a pure FO RTRAN implementation with no CAL code in it, which, even with parallel processing, achieved less than 10,000 nodes/ second. Moreover, it was not completely certain that this version ran correctly on both processors of the CRAY X-MP. One might think that the chess programmer with a machine such as the Cray X-MP at his disposal would be in hog heaven, with all that computing power to m anipulate—eight million sixty-four bit words of addressable memory allows huge hash tables and innumerable other efficiencies in programming. But there is a dark side to this too, as the reader has probably realized by now. It is very difficult to get computer time on a machine which is worth tens of thousands of dollars per hour. As a result, all of the program improvements which are made over a period of months have to be accumulated and then tried out and debugged in a mad scramble during the few hours of computer time that can be arranged for before a major computer chess event. That can be hard on the nerves. On Saturday afternoon, before the first round, Nelson and Hyatt worked frantically on their program. They were able to replace three important routines with the C A L versions, and verify that they ran correctly on a single processor, although it still was not clear that everything was working correctly in the parallel-processing mode. But then it was 7:00 p.m. and time for the first round to start. The CRAY BLITZ team had an important decision to make with no time to investigate further. Should they use parallel processing or abandon it? If the parallel processing code was not working properly, the program would probably make some relatively weak moves at times during its play, but it was unlikely that such a “bug” would completely crash the program. This was an important factor for the team to consider, since the opposing program—BCP— was not seeded very high, and even if disaster struck and the parallel processing code generated errors, CRAY BLITZ would have a reasonable chance of winning. Another important point was that there is no better way to test the reliability of a program than by playing a tournament game. Test problems are fine, up to a point, but they don’t catch everything. Debugging programs during the tournament (but NOT during a game) is a time-honored and perfectly legal procedure at these ACM events, and is not considered a change in the identity of an entrant, since all these programs are considered experimental. Without parallel processing, ('R A Y BLITZ would lose most or all of one ply in search depth and its chances of beating BELLE would vanish. Although there would be other opportunities to debug the code, the next game (if CRAY BLITZ won) would be a lot harder, and, after that, the Swiss system would see to it that every game would be critical. The chance to test the parallel processing code in a game at relatively small risk would have to be taken at once or lost. The CRAY BLITZ team elected to use parallel processing despite the uncertainty. It worked. BCP suffered from a program “bug” and used less than five seconds per move, so C RA Y BLITZ had an easy game which ended at about 11:00 p.m. Hyatt and Nelson breathed a 4

sigh of relief and went back to work debugging their program—a process which continued until 5:00 a.m. By that time they had everything working properly, except for some bugs in the C A L version of the SCO RE routine, which slowed the program down to C R A Y -1 speed in the single processor mode. The C RA Y BLITZ team was pleased to see that the CPU utilization factor for the BCP game and the test problems was 198 percent—parallel processing was working at nearly optimum efficiency. In the second round, on Sunday afternoon, C RA Y BLITZ was paired with a tougher opponent: Dan and Kathe Spracklen’s F ID E L IT Y X. This program was an experimental version of the PREST IG E microcomputer marketed by Fidelity Electronics, which at that time was generally considered to be the strongest microcomputer on the market. (An earlier and weaker version of the Prestige was rated 1868 by the USCF after the 1982 U.S. Open.) FID E L IT Y X was a formidable opponent capable of playing Elo 2000 chess. Despite the enormous disparity in computing power (FID E L IT Y X ran on an eight-bit 6502 microprocessor), C RA Y BLITZ could not expect to crush this opponent as it had the unfortunate BCP. The Spracklens are extremely talented and dedicated programmers, and they always have a computer with which to work. As a result, their chess programs, although much simpler than the “m ainfram e” programs, are very finely tuned and handcrafted for optimum performance. F ID E L IT Y X drew White and played an ambitious line of the English opening (the Fidelity opening book had been overhauled to master standards by Boris Baczynskyj) in which White accepted doubled d-pawns in return for cram ping the Black position. C R A Y BLITZ maneuvered a Knight to d3, and suddenly there were four Pawns on the d-file with Bishops of opposite colors. C RA Y BLITZ got its Rooks into action first and soon achieved a large positional edge which led to the rapid win of a Pawn. On its thirty-second move, FID E L IT Y X blundered, exchanging a sound pawn for CRA Y BLIT Z’s weak and almost indefensible forward d-pawn, and allowing C RA Y BLITZ to trade its Bishop for F ID E L IT Y X ’s Knight. After that the win, although it took another twenty moves, was not difficult. C R A Y BLITZ had performed well and had averaged over 20,000 nodes/second. The program was ready for the strongest opposition. The third round was played on Sunday night, and C R A Y BLITZ drew A D V A N C E 3.0, a strong British program running on a dedicated chess processor. C RA Y BLITZ won with unexpected ease after its opponent made a tactical blunder on the twelfth move. Meanwhile, N U C H E SS was m aking computer chess history by defeating B E L L E —the first game that B ELLE had lost in ACM competition since it was converted to a dedicated chess processor in 1978. In the fourth round, played on Monday evening, C R A Y BLITZ was paired against the victorious N U CH ESS. The game was a difficult struggle which resulted in a draw by repetition after seventy-seven moves. Meanwhile, BELLE had defeated C H A O S while BEBE won its third straight game. The last round was played on Tuesday night, and finally C RA Y BLITZ was paired against BELLE with first prize at stake. BEBE had been playing impressively against local masters in five-minute games, so it seemed probable that Tony Scherzer’s program would have a

5

good chance against NUCHESS. The CRAY BLITZ team, although not underrating BELLE, was confident because they knew B E L L E ’s opening “book’’ and had an innovation prepared. The game was exciting. CRAY BLITZ did get the better of the opening, w inning a Pawn on the twentieth move and holding it for a long time. Despite the nerve-wracking effects of a couple of program bugs, CRAY BLITZ kept the advantage, and finally BELLE had to resign after fifty-three moves. Meanwhile, BEBE won against N U CH ESS, to finish second while CRAY BLITZ became the new World Champion. The CRAY BLITZ team is not resting on its laurels. Although forthcoming improvements in the Cray line of supercomputers will increase the program’s playing strength without revisions to the program, the programming team is actively working on a variety of improvements. One of these is to restructure the opening book into two sections: one for use against humans, and the other for use against computers. Another innovation under development is the generalization of the parallel-processing coding to allow use of any number of processors. The program has several weak areas for which relatively simple fixes are known, and these will be implemented as time permits. Meanwhile, the CA L version of the SCO RE subroutine is being worked on, as is another heavily utilized routine which has not yet been coded in CAL. These improvements, together with modifications in the search routine for greater efficiency, have increased CRAY BLITZ’ search speed to between 40,000 and 50,000 nodes/ second. Meanwhile, Cray Research is introducing a new C RA Y X-MP system with four processors, which would double the computing speed again. By the 1984 ACM tournament, the CRAY BLITZ team expects to be searching at a rate of at least 100,000 nodes/second. A N O V E R V IE W O F P R O G R A M S T R U C T U R E S earch M ethods CRAY BLITZ is a brute force, S hannon-А program which searches a full-width game tree in the traditional manner: it employs the m inim ax algorithm, with the usual refinements of aspirative alpha-beta pruning and a staged iterative search. Like other programs of this type, CRAY BLITZ searches to a fixed depth, extends this with the quiescence search, and evaluates the terminal positions after the last ply. These evaluations are “backed up” through the game tree and are used by the alpha-beta algorithm to generate cutoffs. In ordering the moves to maximize the effect of alpha-beta pruning, CRAY BLITZ uses the killer heuristic to modify the move ranking generated by the last search iteration. Because the program searches to a depth of eight or more plies, sophistication in the move ordering heuristics is not as important as in more limited programs. The tree search generates most of the necessary information. In performing the full-width, fixed-depth part of its search, C RA Y BLITZ generally follows conventional methods. One innovation which has been introduced is that the program does not increment the ply count if the side on move is in check. Because there are not many legal moves to consider in such cases, the time spent in analysis of these additional variations is m inim al. The program also handles all captures on squares adjacent to the King in the same way. This has enabled CRAY BLITZ to find m ating combinations that it was previously unable to discover.

6

After the program reaches the last ply of its iterative full-width search, it looks further ahead using a selective quiescence search to reach a quiescent terminal position which it will evaluate. The quiescence search strategy is an extremely im portant part of a “brute force” program’s design, particularly so as search depths increase and the tactical complexity of the game tree increases. The conventional quiescence search strategy is to grow a subtree from each final-ply node, which includes capturing and checking moves only, until a position is reached in which no captures or checks are possible. Although this approach does eliminate m any tactical errors caused by scoring positions in which pieces are hanging, it may take many plies to reach a totally quiescent position. Meanwhile, the program will have been spending up to ninety percent of its total search time looking at a fantastic array of outlandish positions and moves, very few of which could ever happen in a real game. It is difficult to manage such a full-width quiescence search, and unless this kind of search is limited in depth (that is, stopped at an arbitrary lim it before a truly quiescent position is reached), it may very well “explode” and cause the program to lose on time, as happened to C H A O S in several games during the 1982 U.S. Open. Because the way in which the quiescence search is managed has such a large impact on the program’s speed and playing strength, it has received a great deal of attention from the C R A Y BLITZ team. The quiescence search used in C RA Y BLITZ is not full-width— that is, it does not include all legal captures and checking moves. Instead, C R A Y BLITZ uses a selective capture search which eliminates most of the legal captures as implausible, by analyzing them with a static exchange evaluator to decide which captures to include in its quiescence search. The evaluator does not pretend to be intelligent enough to discover the exact outcome of a capture move; instead, it simply classifies the capturing moves as (a) w inning material; (b) even; or (c) losing material. In the first part of the capture search (at ply depths up to twice the full-width search depth), both w inning and even captures are included, elim inating the great majority of possible captures, especially if the Queens are on the board. At greater depths, the tree is narrowed further by including only w inning captures. Because CRA Y BLITZ searches deeply enough that it rarely depends on the quiescence search to gain a material advantage, the program is really using the quiescence search for insurance against statically evaluating positions with tactical flaws, such as pieces being en prise. In this sense, the quiescence search simply refines the tactical accuracy of the basic fullwidth search. Because extensive testing has shown that both approaches—using all captures or just the plausible ones—result in evaluating some positions which are not quiet tactically, and because quantitative analysis indicates that neither method is clearly superior to the other, the C RA Y BLITZ team chose to use the fastest technique. By lim iting its quiescence search in this way, C RA Y BLITZ maximizes the number of positions which its full-width search can handle, and is able to search as much as one full ply deeper in positions which contain many improbable but legal capture moves. The static exchange evaluator on which the program depends to order its capture search is rather complex and took a lot of work to develop. In effect, this routine does a very narrow and fast tree search which is highly selective—it does not include unrelated captures elsewhere on the board—and considers only material balance. The static exchange evaluator is thus much faster than the equivalent branch evaluation during a full-width capture search. The results seem to indicate that the effort involved was well spent.

7

CRAY BLITZ also includes some selected checking moves in its quiescence search. Up to two additional plies of checking moves can be included, if there was a sequence of checks during the full-width search. Because CRAY BLITZ does not count checks in the depth of the full-width search, if such a checking sequence has occurred, the full-width search has already been extended appreciably. For example, if the program is working with a basic search depth of eight plies, and if a King is being chased around so that every move by one side (every other ply) is a check, then the basic search would reach a depth of twelve plies before beginning the quiescence search. In such cases, C RA Y BLIT Z’s quiescence search will continue the check sequence. To avoid an exponential explosion, the process has to stop somewhere, and so it is currently limited to an additional two checking moves (four plies), trying all checks which are not captures. (The capture search handles these.) The search routine then considers all legal moves for the side being checked. If there are none, the program knows that it has found a mate. C RA Y BLITZ is thus able to extend checking sequences to a depth of as much as sixteen plies in middlegame positions, and in evaluating “ King hunt” situations there is reason to believe that it is better than most Grandmasters. Because the capture search only allows consideration of w inning or even captures, C RA Y BLITZ is currently unable to detect winning sacrifices in checking sequences if they occur deeper than its full-width search extends (a maximum of twelve plies in middlegame positions). Such sacrifices, however, are rare—usually sacrifices occur at the beginning of a King hunt. The quiescence search also includes Pawn promotions and threats to promote. A promotion is treated in the same manner as a capture, since it changes the material balance. Although the full-width search includes underpromotions, the quiescence search assumes that a Pawn is always promoted to a Queen, unless a faster mate by underpromotion becomes visible. Moving a Pawn to the seventh rank so that it threatens to promote is treated as a kind of check in the quiescence search. The opponent has to choose between stopping the Pawn, capturing it, or the consequences of promotion. Terminating the quiescence search with a Pawn threatening to promote can obviously lead to serious tactical errors. The innovations in CRAY BLITZ’s quiescence search relative to Pawn promotions have significantly improved the quality of the program’s endgame play. P o s itio n E v a lu a tio n In most of the positions that actually occur during a game, the program’s tree search cannot find a way tor either side to get a material advantage, with “best” play. In such cases, the program’s play will be determined by the quality of its static positional evaluator. CRAY BLITZ has an evaluation function that, like those of other full-width search programs, is implemented as a series of terms which are combined to generate a position score. The first, and most important, term in the evaluation is material balance. Due to the action of the alpha-beta algorithm, most of the program’s tree searching decisions are made on the basis of material balance alone, and the positional part of the evaluation does not have to be computed. These rapid cutoffs eliminate the great majority of senseless capturing moves and moves leaving pieces en prise. Other positions may be evaluated exactly without reference

8

to positional features, since they are won, lost, or drawn by the laws of chess. The positional evaluator must distinguish between the rem aining positions, in which the material balance does not change and the game has not ended. Positional evaluation is simply an attempt to predict the kind of position that is desirable from a strategic point of view. From a rigorous mathematical viewpoint, there is no such thing as strategic value since chess games are won or lost as material is won or lost (if checkmate is taken to be the capture of the King), and every move is tactical in nature. Thus, game theoreticians do not recognize ideas such as positional concepts, plans, goals (except m ating the opponent) and other ideas which hum an players lump together under the label “strategy.” To a game theoretician, all lines of play are tactical in nature and those which are best from a hum an strategic viewpoint are simply those which have the best probability of ultimately leading to a favorable tactical result. Game theory defines a “strategy” to be a tactical line of play, and the best strategy is the one which leads to the best tactical result: i.e., w inning the game, if it is possible to do so. Although this approach is mathematically correct, the tactics involved in chess are so deep that it is impossible to analyze them exactly in practice. This is where strategic concepts enter the picture. Chess masters intuitively know a great deal about the probable ultimate tactical consequences of various types of chess positions. This knowledge has been generalized into an inexact, difficult to apply, yet vitally im portant set of strategic principles. Not all masters understand or can apply all of these principles, nor are they equally adept at recognizing the situations in which they are valid. In conducting a game on a strategic level, a chess master sets various goals which would be desirable to achieve: positional advantages which will lead ultimately to tactical advantages. He then tries to construct a strategic plan in order to realize these advantages. In the process, he must consider the goals and plans of the opponent as well. C R A Y BLITZ, of course, as yet is unable to do anything of the sort, and this is a serious weakness in the program’s play against hum an masters. The program attempts to conduct the game strategically by using various heuristics, or rules of thumb, to assess the strategic value of a position. Naturally, it is impossible to do so accurately within practical limits on the size and speed of the evaluation functions. Nevertheless, a well-designed and “tuned” static positional evaluator does give the program some positional sense. A deep tree search may enable the program to play fairly well positionally in situations which evolve relatively quickly, although long-range strategy remains beyond the program’s ken. There are essentially two groups of heuristics used in the positional evaluation. The first is a set of general-purpose heuristics which are used to play the middlegame, some of which are also retained during the endgame. The second is a set of special endgame heuristics which apply after material has been reduced, some of which replace a number of the heuristics in the general-purpose set and others that detect and evaluate a set of basic endgame situations. The general-purpose heuristics generate a positional score based on the Pawn structure and the positions of the various pieces. These scores are generally not interrelated: that is, the score for one piece usually does not depend on how well it is cooperating with the other pieces, although

9

there are a couple of exceptions. As a result, the piece cooperation which CRAY BLITZ achieves is somewhat random in nature, and leaves much to be desired from the viewpoint of hum an masters. The special endgame routines modify the position score as a result of the evaluation of these endgame situations. In some cases, they can generate scores which override all other positional factors and even the material balance score, as when a forced checkmate is detected. I. G eneral- P urpose H euristics a) P a w n scoring The evaluation of Pawn structure is a key feature in the development of a master level chess program. Although strong tactical play may be enough to beat club players, to compete against masters a program must be able to deal accurately with static positional features such as Pawn structure. Otherwise, no matter how good the program is tactically, a hum an master can force it into unfavorable situations in which the program has no tactical possibilities. Many programs that aim at m aximizing speed and search depth, such as commercially available chessplaying machines, do not attempt a truly sophisticated analysis of Pawn structure. The code necessary for this slows the program down and is also difficult to write. A few general rules must suffice. CRAY BLITZ, however, is designed to compete against master-strength players, and so performs a rather elaborate analysis of Pawn structure. The Pawn structure evaluation contains a number of terms, some major and others minor. The major terms include the detection and evaluation of isolated Pawns and backward Pawns, which are naturally vulnerable to attack since they cannot be defended by other Pawns. If such Pawns are on a half-open file, so that the opponent can attack them with the Queen or the Rooks, the penalty is increased proportionately. Another important term is the protection which the Pawns afford to the King. Weak squares in the vicinity of the King are dangerous; the opponent can attack those squares and perhaps use them as an avenue to pursue an attack on the King. C RA Y BLITZ accordingly uses a large amount of code to evaluate the quality of the K ing’s Pawn shield. These Pawn structure terms (and others not discussed) give the program just enough guidance to try to avoid weakening its own Pawn structure, and to try to force weaknesses in that of its opponent, particularly in the neighborhood of the King. b) K n ig h t scoring The Knights are relatively easy pieces to score; the program evaluates each Knight independently for center tropism, King tropism, and occupying outposts. Tropism is a computer chess term which defines the relationship between a piece and another piece or region of the board. The center and King tropism evaluations are made by a set of formulae which compute the distance to center of the board or the opponent’s King, penalizing the K night’s score for each rank and/or file in between.

10

The King tropism score aims at keeping the Knights near the enemy King, where they are more dangerous and may find favorable opportunities for tactical maneuvers such as forks. The outpost evaluation awards a bonus for Knights posted in the center of the board, on a square which cannot be attacked by a Pawn. c) B ish o p sco rin g Bishops are evaluated in a similar manner for center and enemy King tropism, with the addition of two other factors: a bonus for having a Bishop and a penalty for a Bishop restricted by its own Pawns. Instead of trying to accurately evaluate the relative worth of Bishop and Knight in its material balance computations, C RA Y BLITZ considers them to be equal, which simplifies evaluation of exchanging sequences and alpha-beta cutoffs based on material. The Bishop, of course, is generally more valuable, and this superiority is reflected in the bonus for having a Bishop. The question of whether a Bishop is “good” or “bad” is of great importance in positional play, particularly in endgames. C RA Y BLITZ considers this by looking at the Pawns of the same side which are on the same color squares as the Bishop. This helps the program evaluate the relative value of a Bishop that is limited by its own Pawns. d) R o o k sco rin g Positional evaluation of the Rooks is more complex. They are not evaluated for center tropism— Rooks do not control more squares when centralized—but do receive a bonus for being on a central file or on the same file as the enemy King. The most im portant heuristics encourage the program to get a Rook on an open file. The bonus awarded for this is enough to make the program advance its Pawns to open up a file on which it has a Rook, which gives the program a real, if limited, positional goal when it can’t find anything else to do. It is also desirable for the program to get a Rook on a half-open file where it attacks an enemy Pawn, especially one which is being penalized for being vulnerable. As do other programs, C RA Y BLITZ gives Rooks a bonus for being on the seventh rank, where they can attack enemy Pawns effectively. If there is a passed Pawn on the board— either the program’s or its opponent’s—a Rook can also get a bonus for being behind it. e) Q ueen sco rin g The positional evaluation of the Queen is quite simple: it is penalized for distance from the enemy King. This is based on the view that the Queen, as the most valuable piece, is better used in support of other pieces except during an attack on the King. This tends to keep the Queen in the vicinity of the enemy King, ready to take advantage of opportunities for attack. f) K in g sco rin g The King scoring evaluation depends on how much material remains on the board, which

11

is how the program distinguishes between middlegames and endgames. In middlegames, the King is supposed to stay in one corner of the board, behind a shield of friendly Pawns. The safety of the King depends on the Pawn structure on these three contingent files; missing Pawns and weak squares lower the King safety term. Thus, the King tries to castle as soon as it is feasible, to the safer side as defined by Pawn structure and absence of open or halfopen files. This tends to keep the program from castling “into it” and getting mated, but has the disadvantage that CRAY BLITZ always expects castling as soon as possible. There are many positions in which the King is actually safer in the center, with the option of castling either way. This is the thing to do when the Pawns in the center are locked up and a flank attack is coming. Currently CRAY BLITZ misevaluates this kind of position, a factor which David Levy cunningly used in his match with the program. Such misevaluations are inherent in the use of heuristics, which are only oversimplified “rules of thum b” that may usually be right, but must sometimes be wrong! The King safety term is being reevaluated by the CRAY BLITZ team. II. Special E n d g a m e H euristics Computer programs have traditionally played worse in endgames than in openings and middlegames. This problem is partly due to the special nature of endgame play, and partly due to the difficulty that programmers have in understanding it and in finding ways to evaluate endgame strategies. The old BLITZ program used to have this problem. As progress was made in improving its middlegame play, Hyatt found that hum an opponents could afford to lose a Pawn in the middlegame and still win the game by outplaying the program in the endgame. The following position illustrates some of the problems involved in trying to play an endgame with general-purpose position scoring heuristics.

1.1 HUMAN

BLITZ 12

Here it is the program’s turn to move, and BLITZ sees that it can win material by checking with its Knight on c3 and then capturing the Rook. White then has two Fawns against one and the program thinks that it is winning. O f course, BLITZ is then hopelessly lost since Black cannot be stopped from Queening before White. A move such as 1 h5, on the other hand, would at least make a fight out of it. This kind of thing used to happen to BLITZ all the time, and finally Hyatt added an endgame evaluator which checks to see whether the King is in the square of a passed Pawn. The square of a passed Pawn is a square drawn on the chessboard, whose sides are equal to the distance between the Pawn and the eighth rank, as shown in the diagram. 1.2 HUMAN

CRA Y BLITZ The square is drawn between the opposing King and the Pawn. For example, if Black’s King were at a8, then the square of the Pawn would be drawn on the other side and would be limited by the edge of the board, so that it would not be a square but a rectangle. The rule of the square is very simple. If the side having the passed Pawn has the move, and the opposing King is not inside the square, the King cannot stop the Pawn. For example, in the diagram White to move wins by playing 1 c5; Black to move draws by moving into the square. Adding the “square of the Paw n” evaluation had a profound effect on the quality of the program’s endgame play, as the following position illustrates.

13

1.3

HUM AN

CRAY BLITZ Most chess programs would have some difficulty in w inning this position, tending to spend their time examining checking sequences and perhaps even eventually drawing the game. But CRAY BLITZ knows how to cut the Gordian knot with a simple, hum anlike solution: 1 # c 8+ c6 11 c3] 11 c3, and either the b or с file will be opened. But what if Black is no fool? W hat if he plays 9 ... c6 instead? [9 ... bxa4? 10 Фха4 doesn’t merit serious attention, because of the weaknesses created at c5 and a 6.] Then the Bishop at b7 may look silly, but there’s no quick way to capitalize on that. So, where is a prospective Pawn break? Aha! Advancing the с-pawn to c4 is the way. But the K night at c3 blocks it, and has to be moved first. Such reasoning m ight lead to one possible plan: 9 a4 c6 10 £>bl 0-0 11 £}bd2 followed by b3 and c4 (or if the opportunity presents itself, & d2-b3-c5 first). Now, what about the Kingside? Things there are more complicated because it’s the K ing’s residence and Black counterstrokes are possible, e.g., after ... f6. 9 A.g5 accomplishes nothing after 9 ... Wd7; suffice it to say that at some time in the distant future, h4 m ight

be good—with thoughts of softening up the Black K ing’s position after a later h5—and after an eventual h5xg6, there m ight even be a possible piece sacrifice on g6. A hum an master might reason that all this is for the future to determine, and for now 9 a4 is the move. But chess programs, even strong ones such as CRAY BLITZ, can’t yet duplicate this kind of Pawn break thinking.

... cxb5 13 A h 6 Still most logical is 13 Фе2, with the plan £scl-b3-c5 or -a5. C R A Y BLITZ is inviting Levy to play 13 ... ДхЬб?, after which 14 Wxh6, followed by £>g5, wins the hP a w n —a ty p ica l irre le v an t com puter variation. ... 0-0 14 A g 5 ? B randing the program’s last move as pointless. If CRAY BLITZ wants to explore its chances on the Kingside, it could try 14 £)e2 [or possibly 14 2 el first, to discourage f6] followed by £>g3, h4-h5 and perhaps £ih2-g4. An exchange of Bishops on g7 is also reasonable, but it can wait. ... I e 8 15 ЖаЗ?! White still has a fine position, but there is no connective tissue between the bare bones of the program’s moves. Correct is 15 #f4, with the idea of # h 4 [or possibly i i f 6], and Black would have to think twice about removing the Knight at d7 from the defense of the Kingside. After the move played, the Rook’s position invites that Knight jump. ... * b 6 ! 16 £ d l ?

9 b4!? With this move sprouts the first seed of White’s defeat. It weakens c4, which is readily accessible to the Knight at b8 by the route b8-d7-b6-c4. Objectively the move is far from bad: it gives White a clear positional edge, if followed up by 10 a4 and the K n ig h t maneuver &f3-d2-b3-c5 or -a5. However, CRAY B L IT Z ’s subsequent play h ig h lig h ts its detrimental aspects. ... * d 7 10 Wd2 10 a4! is best. ... * e 7 ? ! It would have been more accurate to play 10 ... h 6 first. 11 a4! c6 C RA Y BLITZ now has three alternatives to choose from to deal with the Queenside tension: a) M aintain it, keeping all options open; b) Close the position, eliminating all possibility of any Queenside play for Black; c) release the tension at once. The program selects the weakest continuation.

This only makes sense if White is going to play &e3 and £>g4, but there is no time for such a long-winded jaunt. The pace is quickening. 16 S e l is better, not only activating the Rook, but also setting up a concrete counter to 16 ... £sc4: 17 Дхс4 dxc4 [17 ... bxc4 18 £>a4] 18 £>e4, with a very strong Kingside attack in the offing, whether or not Black plays 18 ... Дхе4. Doubtless, Levy would have refrained from 16 ... £>c4, playing 16 ... Wc7 or 16 ... Ec8, after which 17 Wf4 m aintains White’s edge.

12 axb5? A positional blunder—just what Levy was hoping for. This move: a) invites Black to p la y ... £ib6-c4; b) cedes him a probably useful half-open с-file, while Black’s a-Pawn is easily defended; c) gives the Bishop at b7 more mobility. There are two better alternative schemes: 1) 12 a5, foreclosing the possibility of... £>b6; play would then turn to the Kingside, which should be fine with White, who has a space advantage there and might still do a bit of Queenside business by &a2-cl-b3-c5 at some point; 2) 12 Фе2, with the idea of £>cl-b3-c5. The in te n tio n would be to a m p lify the “badness” of the Bishop at b7 into a dom inant theme. W hite would play Дхс4 if Black maneuvers his Knight to c4. Then White would play to em phasize the superiority of his remaining minor pieces.

... * c 4 ! 17 Axc4 Forced to save the Exchange, but a positional concession. Black gets a strongpoint at d5, and the Bishop at b7 comes to life on the long diagonal.... dxc4 18 %b2? Where is this Knight heading? 18 Wf4 is still correct. ... Шс7 19 I f a l ? ! Pressure on the aPawn is not the right idea. C R A Y BLITZ would avoid playing 19 Wf4, because 19 ... &d5 20 Wh4 £sxb4 loses a Pawn [though after 21 .&f6, White has some coffeehouse possibilities]. The redemptive 19 & dl was more respectable. ... I e c 8 Threatening 20 ... c3.

22

2.2 P O S IT IO N AFTER 19 M O V ES

under a heavy siege. 21 gxf3 Since Black’s Knight becomes so pesky later in the game, White m ight consider elim inating it by 21 Jixe7. However, this try fails since Black replies 2 1 ... £ x g 2! 22 &xg2 [22 £ d 6 Wc6] Wxe7 and wins a Pawn, because 23 S x a6? is refuted by 23 ... Wb7+, etc. 21 ... * f 5 ! Black can’t save the Pawn even if he wanted to: 21 ... Wb7 22 Jixe7 Wxe7 23 S x a 6. Now the Knight becomes a powerhouse.22 Жх а б Н х аб 23 Жх а б # Ь 7 24 Жаб Wxf3 25 ЖхЬ5? The program ’s heuristics make its inhum an greed inevitable, as Levy well knows. Now White is up a Pawn, but probably lost; the Bishop is limited by its own Pawns, all on dark squares; the Knight has galloped off away from the action; the Black Queen and Knight are poised for the assault on the program’s King.

LEV Y

C RA Y BLITZ At this point, C R A Y BLITZ asked for a time check, and stated that it had used thirty-five minutes on its internal clock. With all the communications problems, one and a h alf hours had elapsed on the clock at the playing board! Hyatt now realized that the program was in serious trouble, since he was not allowed to alter its tim ing algorithm during the game. With a fifteen m inute “cushion” allowed, C R A Y BLITZ had to make the next twenty moves in fifteen minutes. This the program could do at the cost of a ply of search depth, but there was no way to tell it that extra time would continue to be lost on each move.

2.3 P O S IT IO N A F T E R W H IT E ’S 25TH MOVE LEVY

20 c3? This was W hite’s last chance to m a in ta in more or less equal chances, by playing 20 £id l. After a h alf dozen moves, C R A Y B L IT Z had the a d v a n ta g e . Each subsequent inaccuracy kept the program from increasing its advantage, or sloped its edge minutely downward. Before this move, the game was about equal, but now the curve plunges sharply.

C RA Y BLITZ ... h 6 26 A f4 # h 3 Threatening 27 ... £ih 5. Had Levy played that right away instead of 26 ... Wh3, the White King could escape after 27 h4 34 gxh4 £ f4 35 ФеЗ leaves Black nothing better than a draw

... A x f3 !! The canny Levy has patiently w atched the program drib ble aw ay its advantage. Now it is time to strike, with this attractive Pawn sacrifice. C R A Y BLITZ can “see” that it will gain a Pawn, but fails to appreciate that its King position will come

23

G am e 2 —A p r il 15, 1984

after 35 ... ДхЬ2+]. ... h4 At this point CRA Y BLITZ asked for another time check. The answer: 15 minutes left—or no time at all, deducting the “cushion”! Thinking that it was about to lose on time, the program went into instantaneous-move mode.

L evy- C R A Y BLITZ Queen’s Pawn Game D05 C R A Y BLITZ lost this game by forfeit before it was played. Its computer was down, and did not come on line until the program had only twenty minutes left on its clock. An exhibition game was then played with reduced time controls. C R A Y BLITZ played without its opening book since the game did not count, while Hyatt experimented with search times to find the best setting to allow for the delays being experienced.

30 A f4? The last chance to organize resistance is 30 W fl—but of course CRA Y BLITZ rejects this because it drops a piece.... Wf3! Now there is no adequate defense to the threat 31 ... h3, e.g. 31 & fl S a l 32 Wxal Whl+ 33 &e2 Wxal; or 31 2a5 2xa5 32 bxa5 h3 33 & fl [33 # f l Wxf4]g5! 34 £xg5[34 kd2 £g3+;34 Wdl Wxf4] £}g3+! 35 hxg3 [35 Фе1 Ще2 checkmate; 35 & gl №g2 checkmate] h2, and Black will get another Queen. CRAY BLITZ undoubtedly “sees” these variations, but now it’s too late. 31 h3 The only alternative to the above disastrous lines. ... Wxh3 32 Hxc4? Like a dying dinosaur, the program keeps “eating”! 32 S a5 had to be tried, though Black wins after 32 ... Пха5 33 bxa5 Wf3. ... W tS 33 A h 2 Or 33 &d2 h3 34 & fl [34 Wfl S al] h2 etc. ... h3 34 W fl Or 34 & fl #hl+.

l d4 * f 6 2 c3 O ff the beaten paths already. ... e6 2 d5 is more assertive. 3 * f 3 c5 4 e3 Ае7?! Labelling such a move an inaccuracy m ight seem harsh, but a flesh and blood chessplayer m ig h t well w onder w hether W hite’s restrained developm ent does not warrant a more ambitious development of this Bishop. 4 ... £>c6 is better, with a view toward 5 ... d5 and 6 ... ji.d6. 5 Wc2 0-0 More flexible is 5 ... £>c6 6 Ad3 d5, reserving the possibility of 7 ... #c7 to control e5, before committing the King to a permanent address. 6 A d3 d5 7 *bd2c4?!

2.4 P O S IT IO N AFTER W HITE'S 34TH M O V E LEVY

Releasing the tension in the center makes a later e4 by White more effective. Already, though, Black confronts a little problem: what to do after the natural 7 ... £\c6 8 £>e5—since 8 ... £>xe5? loses the h-Pawn; 8 ... g6 or 8 ... h 6 weakens the King position, m aking it more vulnerable to a Pawn-storming assault; and 8 ... Wc7 allows White to continue his Colle System (or Stonewall) attacking buildup by 9