The joy of computer chess
 0135116198

Citation preview

David Levy

The Joy of Computer Chess

David Levy

P R E N T IC E -H A LL, Inc., Englewood Cliffs, New Jersey 07632

Library o f Congress Cataloging in Publication Data Levy, David N. L. The joy of computer chess. “ A Spectrum Book.” Bibliography: p. Includes index. 1. Chess — Data processing. G V 1 449.3.L48 1984 ISBN 0-13-51 1627-9 ISBN 0-13-511619-8 (pbk.)

I.

Title.

794.1 ' 7

84-3400

© 1984 David Levy. All rights reserved. No part of this book may be reproduced in any form or by any means without permission in writing from the publisher. A Spectrum Book. Printed in Great Britain. 10

9

8

7

6

5

4

3

2

1

ISBN 0 - 1 3 - 5 1 1 b 2 7-4 ISBN Q - 1 3 - S l l b n - a

{PB K. }

This book is available at a special discount when ordered in bulk quantities. Contact Prentice-Hall, Inc., General Publishing Division, Special Sales, Englewood Cliffs, N .J. 07632.

Prentice-Hall International, Inc., London Prentice-Hall of Australia Pty. Limited, Sydney Prentice-Hall Canada Inc., Toronto Prentice-Hall of India Private Limited, New D elhi Prentice-Hall of Japan, Inc., Tokyo Prentice-Hall of Southeast Asia Pte. Ltd., Singapore Whitehall Books Limited, W ellington , New Zealand Editora Prentice-Hall do Brasil Ltda., Rio de Janeiro

Contents

1 Position Representation and Move Generation Move Generation 3 2 Position Evaluation 7 Material 7 Mobility 8 Development and Castling 13 Centre Control 18 King Attack 20 King Safety 22 Pawn Structure 25 Piece Attack and Piece Defence 27 Endgame Features 31 How to Adjust the Weightings 34 3 Tree Searching 38 The Minimax Method 38 The Alpha-Beta Algorithm 43 The Killer Heuristic 48 The Alpha-Beta Window 50 Iterative Deepening 51 4 Search Strategies 53 The Shannon Type-А Strategy Swapoff 54 The Shannon Type-В Strategy Forward Pruning 59 Transposition Tables 60

53 58

5 Best Computer Games 62 CHESS 4.6 v Michael Stean 62 CHESS 4.6 v Hans Berliner 64 CHESS 4.6 v Lawrence Day 65

v

1

CONTENTS

CHESS 4.6 v Zvonko Vranesic 67 Walter Browne v CHESS 4.6 69 BLITZ 6.5 v B E L L E 71 SAVANT v CHESS CHAMPION MK V 72 FID ELIT Y EX PER IM EN T A L v PHILIDO R EX PER IM EN T A L 6 How Strong Can Computers Become? Chess Problems 78 Why Not a World Champion? 79 Zugzwang 81 The Horizon Effect 82 The Concept ‘Never’ 84 Very Similar Positions 85

75

7 How to Play Against Chess Programs 87 How to Play to Win Against Computer Programs CHESS 4.7 v David Levy 88 David Levy v CHESS 4.7 90 How to Improve Your Chess 93 The Openings 94 The Middle-Game 95 The Endgame 97 How to Rate Yourself using your Program 98 How to Enjoy your Chess Program 100 8 What to Look for in a Chess Computer 101 Input and Output 101 Co-ordinate Entry 101 Sensor Boards 102 Magnetic Sensor Boards 103 Magic Boards 104 Move Entry by Cursor Control 104 Touch Sensitive LCDs 104 Robotic Movement 105 Chess Specific Features 106 Legal Move Verification 106 Pawn Promotion 107 Understanding Draws 107 Offering Draws 108 Playing Strength 108 Openings Book 108 Hardware Features 109 Is it Modular? 109 Mains/Battery Operation 109 Power-Down Memory 109 vi

87

73

CO NT ENTS

Chessboard 110 Chess Clocks 110 Sound 110 Printer 110 Speech 111 Other Features 111 Clear Move Entry 111 How Many Playing Levels? 111 A User Adaptable Level 112 Losing Level 112 Tournament Playing Schedules 112 Move Now 113 Analysis 113 Style of Play 113 Simultaneous Play 113 Solving Chess Problems 113 Next Best Move 113 Swap Board 114 Auto Play Mode 114 Action Replay 114 Enter Position (or Set-Up) Mode 114 Position Verification 114 Multi-Move 115 Teaching the Moves 115 Take Back 115 Step Forward 115 Recording Games on Cassette (or Disk) Messages 116 LCD

Glossary

117

Bibliography Index

119

127

Index of Players

131

vii

115

Preface

This book is for chess enthusiasts, computer enthusiasts and, above all, for computer chess enthusiasts. The chess player will enjoy playing over the games, and he will learn a lot of detail about how computer programs play chess, how they ‘think’, what are their strengths and weaknesses, and how to use and enjoy a chess playing program to best advantage. The computer enthusiast who is interested in writing a program for his own computer will find sufficient information in this book to enable him to perform such a task from start to finish, and sufficient ideas to provide endless hours of pleasurable experiment. The computer chess enthusiast will enjoy the book for all sorts of different reasons. Within a few years there will be a personal computer and/or a chess enthusiast in almost every home in the civilized world, and the subject matter of this book will then have become of universal interest. I have tried to make the text easy to understand, both for chess enthusiasts who have no computer knowledge whatsoever and for computer literates who know no more than the rules of chess. My purpose in writing this book has been to bring the joy of computer chess to the millions of people who realise what a wonderful game chess is, and to the millions who have their own computer or who are thinking of buying one. I very much hope that I will succeed in this aim. If you are interested in being kept up to date with what is happening in the world of computer chess, I would advise you to join the Inter­ national Computer Chess Association (ICCA). The membership fee is currently $10 per year, which includes a regular newsletter. Write to: William Blanchard, Bell Labs Room 4A165, Naperville-Wheaton Road, Naperville, IL 60566, U.S.A.

David Levy

London, May 1983

1 Position Representation and Move Generation

The first problem to overcome when planning to program a computer to play chess, is how to tell the computer what chess is. It is one thing for a human to gaze at a chessboard, see where the pieces are located and understand the relationships between the various pieces, but a computer is merely a device that can store and manipulate numbers. So how, exactly, do we teach a computer what chess is all about? The human recognizes the chess pieces by their shape and size. The pawns are the smallest and the kings and queens the largest. One player’s pieces are one colour, his opponent’s pieces are another colour. All of this must be conveyed to the computer so that it can understand where the pieces are on the board and can calculate which moves the pieces may make. This is accomplished by assigning a different number to each piece type. A simple scheme might assign the number 1 to a pawn, 2 to a knight, 3 to a bishop, 4 to a rook, 5 to a queen and 6 to a king. A white piece can be designated by a positive number, a black piece by a negative num­ ber, and an empty square by zero. Using this method of piece represen­ tation, the initial position in a game of chess would look like this: Black

-4

-2

-3

-5

-6

-3

-2

-4

-1

-1

-1

-1

-1

-1

-1

-1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

4

2

3

5

6

3

2

4

White

It is not difficult to appreciate, when studying the above diagram, that the program can always detect whether a particular square is occupied, and if 1

POSITION R E P R E S E N T A T I O N AND MOVE G E N E R A T I O N

so by what piece (and of which colour), simply by testing the number stored in the relevant location. The above representation is the simplest possible, but it fails to convey everything that we might wish to know about the position. For example, it is always useful to know whether a player has still got the right to castle, and if so, whether he can still castle king-side, or queen-side, or both. This may appear to be obvious from the position, but such is not the case. One well known British Master once wrote a theoretical article on a very sharp variation of the Pirc Defence, in which, around the 20th move, he introduced a startling innovation based on the idea of castling at a particular moment. Unfortunately, as many of his readers were only too delighted to point out, the king in question had already moved from its original square and returned there, before the recommended castling move. In an even more unusual incident, played in a match between Hungary and France in 1982, the player of the black pieces (International Master Kouatly) moved his rook from a8 to d8, then moved it back to a8, and later, when his king was in real difficulties, he castled queenside. His opponent, Grandmaster Sax, did not remember that the rook had moved, and so he did not draw attention to the matter, but won anyway. Since most chess players would notice if such a thing happened, it is essential for your computer program to know when castling is legal and when it is not. One way to do this is to keep three 'flags’ for each player, one for the king, and one for each of the rooks. If the flag is set at 1 it might indicate that the king or rook in question had already moved (or in the case of a rook it might mean that the rook had been created as a result of pawn promotion). If the flag was set at 0 it might mean that the piece in question had never moved. Another method would be to include this information in the numerical representation of the pieces themselves. For example, instead of using the values given above, we could assign: 0 1 2 3 4 5 6 7 8

for for for for for for for for for

an empty square a pawn a knight a bishop a rook which had never moved a rook which had moved a queen a king which had never moved a king which had moved

This representation, in conjunction with the use of negative values for Black pieces, is sufficiently detailed to provide almost all the information about the pieces that might be needed by the program. The only other point to remember, is that the program must be able to remember whether 2

POSITION R E P R E S E N T A T I O N AND M O V E G E N E R A T I O N

the last move played was a double pawn move, otherwise it will not be able to play according to the en passant rule.

MOVE G EN ERA TIO N There are three essentially different ways in which one can generate a list of the legal moves from any chess position. We shall now examine each of these in turn, so as to understand the relative advantages and disadvantages of each method. a) Move Generation by Square Offset: This method relies on the existence of a simple relationship between the address of a square occupied by a particular piece, and the addresses of the squares to which that piece might be able to move. I use the word ‘might’, because when generating a list of legal moves, what we actually do is to generate a list of those moves which would be legal were it not for the concept of check and the concept that one is not permitted to capture one’s own pieces. We thus generate a list of ‘pseudo-legal’ moves, and the program then has various methods of coping with the question of whether or not each move in this list is, in fact, legal. In order to understand this method, it is useful to consider a board representation which assigns a two digit value to each square. The follow­ ing example shows a board in simple form: 18

28

38

48

58

68

78

88

17

27

37

47

57

67

77

87

16

26

36

46

56

66

76

86

15

25

35

45

55

65

75

85

14

24

34

44

54

64

74

84

13

23

33

43

53

63

73

83

12

22

32

42

52

62

72

82

11

21

31

41

51

61

71

81

Let us now imagine a king on the square 54. The rules of chess dictate that the king can move to any adjacent square which is not attacked by an enemy piece and which is not occupied by a piece of the same colour. The list of pseudo-legal moves for the king on square 54 is therefore: 45,55,65,44, 64, 43, 53, 63 or to put it more generally, if the king is on square k, then the squares on its pseudo-legal move list are: k—9, k+1,k +11,k —10, k+10, k —11,k—1,k+9 3

POSITION R E P R E S E N T A T I O N AND MO VE G E N E R A T I O N

We can now see how easy it is to generate the list of pseudo-legal moves, merely by adding the various offsets (-9, +1, +11, -10, . . . etc.) to the address of the square currently occupied. Having done this, we can examine the contents of the squares whose addresses are given by these offset expressions (k—9, k+1, k+11, . . . etc.), and if a square is occupied by a piece of the same colour, we can remove it from the pseudo-legal move list, since it is not truly legal. We should also consider how best to determine whether a pseudo-legal move leaves or puts the king of the moving player in check. There are two ways to handle this problem. One is to test the offset address in order to deter­ mine whether that square is attacked by an enemy piece. The other is to wait until the program considers replies to the moves just generated, and then to see whether any of these replies is a capture of the king, in which case the program knows that the previous move was illegal. The second method may sound illogical, but since the proportion of pseudo-legal moves which put or leave the king in check is small, the method is not unsatisfactory. Having seen how to generate a pseudo-legal move list for a king, it is not a difficult extension to do the same for the other pieces. In the case of sliding pieces (bishops, rooks and queens), once an offset square has been found to be empty, we know that the sliding piece can move onto it, and hence across it, and so the program can apply the same offset again, in order to generate the next square in the same direction for that piece. Thinking about this method a little further, it soon becomes obvious that we have a problem at or near the edge of the board. If the king were to be on square 58, instead of 54, then adding 1 or 11, or subtracting 9, would produce an offset which did not have an address on the board. This problem is dealt with by allowing the offsets to produce addresses outside the normal board area, but having those addresses filled with some number to indicate that the address is an ‘out of bounds’ square. Reverting to the very first diagram in this chapter, we could assign (say) —7 to the out of bounds squares. Once an offset address produced a square containing a —7, the program would know that there was no purpose to be gained by looking one square further in the same direction. For this technique to be workable, we obviously need a one square margin around the edge of the board, to cater for kings, queens, rooks and bishops, in other words, we need a 10 X 10 board. But since the knight has its own way of moving, we must actually cater for a margin of two squares, as a knight on an edge square can produce an offset which is two files or ranks away from the square on which it currently stands. Do we therefore need to cater for a 12 X 12 board? The answer is ‘no’, because we can envisage the board as a 10 X 12 cylinder, on which the file which is two files to the left of the а-file, actually occupied the same place in the computer’s memory as the file which is two files 4

POSITION R E P R E S E N T A T I O N AND MO VE G E N E R A T I O N

to the right of the h-file. This 1 0 X 12 board is a useful way to save in the program.

RAM

b) Table Driven Move Generation: A possibly (though not always) faster method of move generation, utilizes tables in which the programmer can store the addresses of the offsets, in order to avoid calculating them. The offsets can be stored in groups, with all the offsets in one particular direction being stored to­ gether, and then the offsets for a different direction, and so on. Let us consider a scheme which will work for a rook situated on the square 54. The program determines that there is a rook on that square, and then it jumps to the address which represents the top, left hand entry in the following table: 55

56

57

58

00

00

00

53

52

51

00

00

00

00

44

34

24

14

00

00

00

64

74

84

99

00

00

00

The program now sees that the first square to which the rook can move in one particular direction, has address 55. It examines square 55 and provided that it is empty, it looks further in the same direction and finds square 56. It can then go on to find squares 57 and 58, provided that none of the intervening squares is occupied. Next it finds a square whose address is given as 00, which the program has been told means that there are no more squares to examine in that particular direction. Once it finds a 00 square, or an occupied square, it proceeds to the first address on the next line (in this case 53), and so on, until it comes to the 99 square which means ‘no more squares in this direction, and no more directions to look at’. The program then knows that it has generated the complete pseudo-legal move list for the rook currently standing on square 54. Table-driven move generation can be faster than the previous method described above, but of course the tables do occupy a lot of space in the program memory, and these two factors of speed and space must be weighed against each other. c) Incremental Updating of Move Lists: A third method of move generation utilizes either of the first two methods, in a manner which is faster but which consumes more r a m . This method involves storing the pseudo-legal move lists for each piece, and then updating those lists in the light of changes that take place on the board. The logic is that approximately two-thirds of all the pieces on the board at any one time are completely unaffected by whatever move is 5

POSITION R E P R E S E N T A T I O N AND MO VE G E N E R A T I O N

made, and so their pseudo-legal move lists are similarly unaffected. Let us consider a simple example: Diagram 1

White Black 1 e2-e4 e7-e5 2 £)g1-f3 Af8-b4 Black’s last move, putting the bishop on b4, affects the moves of only a few of the pieces: The black bishop which moved is obviously affected. The black king is affected because it can now move to the square previously occupied by the bishop. The white pawn on b2 is affected because it can no longer advance to b4. For all the other pieces on the board (29 of them), the pseudo-legal move lists remain unchanged. In fact, we can formulate a simple set of rules to determine which pieces are affected by a move: 1) The piece which is moved. 2) A piece which is captured. 3) A piece which previously attacked the square occupied by the moving piece. 4) A pawn which was one square behind the square just vacated by the moving piece, or two squares (for an unmoved pawn). 5) A piece which previously attacked the square to which the moving piece moved. 6) A pawn which is one square behind the square to which the piece has just moved, or two squares (for an unmoved pawn). The program merely needs to test for the above conditions, and then create new pseudo-legal move lists for those pieces that have been affected by the previous move. 6

2 Position Evaluation

In order to be able to play chess well, a computer program need only know the rules of the game and how to evaluate any position which may arise. The rules themselves are not difficult to program, and are implicit in the legal move generator. What poses the real difficulty is the evaluation of chess positions.

M A T ER IA L It is well known that the most important feature in chess is material, that is to say, the actual pieces on the chessboard. Other things being equal, the player who is ahead in material will usually win the game. Beginners are told that the pieces have different values which can be measured in multiples of a pawn: pawn knight bishop rook queen king

= 1 = 3 = 3 = 5 = 9 above all value

Some chess books teach that the bishops are usually slightly more valuable than knights, unless the position is rather closed, and so a more reliable scale of values would rate bishops as being worth 3 1/4 or З 1/2, in comparison to the knight’s 3. If we wrote a computer program that incorporated only a legal move generator and this simplest form of evaluation information, and which assigned a value of (say) 1,000 to the king, then even without looking ahead at all the program could play something reminiscent of chess. It would always capture its opponent’s pieces where possible, even though the capture might not be safe, and when there was a choice of capture it would always capture the most valuable piece; but apart 7

POSITION E V A L U A T I O N

from those circumstances its moves would be chosen at random, since it would have only one criterion on which to base its decisions — material. Anyone who has played chess will know that there is far more to the game than merely capturing your opponent’s pieces. A large number of different features add to the complexity and richness of the game, and a strong chess player must take all of these features into account when deciding on which move to make. A good chess program must also employ more features in its evaluation mechanism, and these features must be weighted in some sensible manner in order to provide a realistic measure of the merit of chess position. The device which does this in a game playing program is called an ‘evaluation function’ or ‘scoring function’. During the remainder of this chapter we shall consider a number of fea­ tures which might be added to an evaluation function for a chess program. We shall assume throughout this chapter that the material values assigned to each of the pieces are the traditional 1, 3 , 3, 5, 9, with the king having some suitably large value to indicate that ‘capture’ of one’s own king must be avoided at all costs.

M O BILITY After material, the next most important feature in chess is mobility. Mobility is the total number of moves that can be made by one’s pieces, and this simple count provides an excellent measure of one’s freedom of movement. In order to avoid the temporary situation of check having a disastrous effect on the evaluation function, we include all pseudolegal moves in the count, even if they leave the king in check. In order to see how we might combine material and mobility in an evaluation function, let us assume that each unit of mobility (i.e. each move) is worth one-tenth of a pawn. The evaluation function will then take the form: score = material + (0.1 X mobility) We can examine the validity of such a function by plotting changes in the score throughout a master game. I have chosen to do this at five move intervals for the most famous game of the 1972 Fischer-Spassky match, the 6th game. White: Fischer Black: Spassky

Queen's Gambit Declined 1 c2-c4 e7-e6 2 3g1-f3 d7-d5 Ac1-g5 0-0 Material is equal.

3 d2-d4 3g8-f6

8

4 Sb1-c3 Af8-e7

5

POSITION E V A L U A T I O N

White’s mobility is 39. Black’s mobility is 29. Score = 0.1 X (39-29) = 1 So our scoring function would assess White’s advantage in mobility as being worth one pawn. 6 e2-e3 h7-h6 7 Ag5-h4 b7-b6 8 c4xd5 £)f6xd5 9 Ah4xe7 i^d8xe7 10 £)c3xd5 e6xd5 Material is equal. Ф ° White’s mobility is 32. Black’s mobility is 37. Score = 0.1 X (32-37) = -0.5 So now our scoring function puts Black half a pawn ahead. 11 §a1-c1 Ac8-e6 12 #d1-a4 c7-c5 13 #a4-a3 §f8-c8 14 £f1-b5 a7-a6 15 d4xc5 b6xc5 Material is equal. White’s mobility is 44. Black’s mobility is 35. Score = 0.1 X (44-35) = 0.9 Once again the scoring function shows White with a positional advantage of almost one pawn. 16 0-0 Sa8-a7 17 £b5-e2 £>b8-d7 18 £)f3-d4 #e7-f8 19 £d4xe6 f7xe6 20 e3-e4 d5-d4 Material is equal. White’s mobility is 40. Black’s mobility is 33. Score = 0.1 X (40-33) = 0.7 White is still ahead. 21 f2-f4#f8-e7 22 e4-e5 Sc8-b8 23 Ae2-c4 &g8-h8 24 &a3-h3 £>d7-f8 25 b2-b3 a6-a5 Material is equal. White’s mobility is 35. Black’s mobility is 34. Score = 0.1 X (35-34) = 0.1 White’s advantage appears to have gone right down, so that now the program would assess Fischer as being only very slightly ahead. 26 f4-f5 e6xf5 27 Sf1xf5 Of8-h7 28 Sc1-f1 #e7-d8 29&h3-g3 §a7-e7 30 h2-h4 §b8-b7 Material is equal. White’s mobility is 45. Black’s mobility is 25. Score = 0.1 X (45-25) = 2.0 The ‘program’ thinks that White’s advantage is worth two pawns. 31 e5-e6 §b7-c7 32 #g3-e5 #d8-e8 33 a2-a4 #e8-d8 34 gf1-f2 &d8-e8 35 Sf2-f3 ^e8-d8 Material is equal. 9

POSITION E V A L U A T I O N

White’s mobility is 42. Black’s mobility is 26. Score = 0.1 X (42-26) = 1.6 White still has a big advantage. 36 £c4-d3 #d8-e8 37 #e5-e4 £h7-f6 38 §f5xf6 g7xf6 39 §f1xf6 e4xd6

‘This computer is a genius’ said Stean, who was hoping for 27 £)d6xf5 e6xf5, when the knight on e4 is lost. 27 . . . 28 ^h1-h2 29 #a2-f2!

# c 6xd6 §f2xg2

Yet another tactical blow. Stean had expected 29 £)d6xe4 £>g3xe4, when Black has two minor pieces and a pawn for the queen, but CHESS 4.6 finds a mate threat (30 M2-f7+ &g8-h8 31 #f7-f8 mate) which forces an even greater material advantage.

Black threatens 25 . . . §g2xg5+, 25 . . . §g2xc2+ (winning the queen) and 25 . . . §g2-e2+ (win­ ning the rook), but CHESS 4.6 had seen this position coming and had everything under control. 25 4)g5-e4!

29 . . . 30 £)d6xe4 31 #f2-f3

Blocking the crucial diagonal. CHESS 4.6 had anticipated this move when playing its 21st move! 25 . . .

h7-h6 £)g3xe4

Winning two minor pieces for the rook, and emerging with queen against rook and pawn.

§g2-g4

Apparently winning a piece, since the knight cannot move from e4 and cannot be defended again.

31 32 33 34 35 36 37 38 39

26 c2-c4! Cutting off the b4 rook from the attack on the knight. 26 . . .

£)f5-g3+ §g4xe4

£)e7-f5

. .. 8e1 xe4 #f3-g4 ^g4xe6+ #e6xe4 &c6-e5 #e5xc5 #c5-c8+ тйгс8ха6

§b4-b8 §b 8-f8 Aa8xe4 &g8-h8 . S f 8-f6 § f 6-b6 ЗЬбхЬЗ d4xc6 as white in the Sicilian Defence (see page 87), once you are confident that you know how to take full advantage o f this strategic error you should avoid playing an early . . . £)b8-c6 in the Sicilian, and should experiment with other variations in which Black’s b8 knight is developed on d7, or in which Black plays . . . b7-b5 and . . . Ac8-b7 (or . . . ^d 8 -c7 ) before playing an isolated a-pawn, and so it will not always capture on с6. This piece o f advice can be made more general — try to avoid creating the same type o f position too frequently, after all variety is the spice o f life, d) Try to employ a wide variety o f openings and defences in your games, unless you are studying a particular opening or variation as described on pages 9 4 -9 5 . c) Do not always play at the same speed. You should play some quick games (only a few seconds per move for each player), some slow games (2-3 minutes per move) and some at intermediate speeds. This will provide you with variety in the type o f contest you are involved in, and it will also produce variety in the way in which the computer program plays. d) Take advantage o f all the features offered by your program. For example, if your program allows you to set up any position you wish, select a position from a master game published in a newspaper or chess book and see how you make out against the program from that position, first playing one colour then the other. e) If you ever begin to get bored, you will probably have been playing too many games against your program. Put it away fo r a week or two.

100

8 What to Look for in a Chess Computer

In this chapter I shall describe most o f the features that can be found in commercially available chess computers and in chess programs that are available for personal computers. The reader who is trying to decide which dedicated chess computer or which personal computer program to buy, will find it useful to think about these features and to decide which ones, for him, are the most important. He can then devise his own evaluation function, assigning a weighting to each o f those features which he considers desirable, and by using this evaluation function he can compare the various products on the market and decide which is the most suitable for his individual requirements.

INPUT AND OUTPUT There are various ways in which it is possible to enter moves into a com­ puterized chess player, and in which the electronic opponent can indicate its moves to the user. In this section we consider the various options. Coordinate entry The very first chess computers on the market all required the user to enter his moves by keying them into the computer using a form o f al­ gebraic chess notation. It is sufficient for a computer to know the location o f the square from which the piece moves (the ‘fro m ’ square), and the square to which it moves (the ‘to ’ square), and so the user need only key in these two pairs o f coordinates, and then press the ENTER key. Some users experienced d iffic u lty with this concept at first, perhaps because they were not serious chess players and had never before encountered chess notation o f any sort. Others, particularly those who lived in North America and Britain, were accustomed to descriptive notation and found it slightly annoying to have to change the habits o f a lifetime and adopt algebraic notation. But any intelligent person can understand algebraic notation after no more than 5 minutes study, so any resistance to the use o f chess notation was short lived, at least during the early days o f chess computers.

101

WHAT TO LOOK FOR IN A CHESS COMPUTER

The user would key in his moves on a keyboard that had eight keys specially for this purpose. Each o f the eight keys has two functions, and the function depends on what stage has been reached in the move entry process. When the user is about to start entering his move, the keys allow him to enter any o f the first eight letters o f the alphabet, a-h. Once he has pressed one o f these keys, the letter that he has indicated will normally appear on an electronic display so that it can be verified — the display will usually be either an LED (light emitting diode) display, which is most often red, or it might be an LCD (liquid crystal display) which usually appears in black and various shades o f grey. When the user has entered the letter part o f the ‘fro m ’ square, the eight move entry keys change their function and now correspond to the numbers 1-8. The user then presses a key to enter the number part o f the ‘fro m ’ square, and now the keys change function again so that the next keystroke will enter the letter part o f the ‘to ’ square. Finally, after changing function again, the keys will allow the entry o f the numerical part o f the ‘to ’ square. When the user has entered his move, and the display shows E2E4 or whatever, he presses the ENTER key and the computer should now verify that the user’s move is legal, before starting to compute its reply move. If the move is not legal the computer usually indicates this by showing four question marks in the display area, and possibly by producing an unpleasant tone (if it has a buzzer — see SOUND, page 110). Co-ordinate entry o f the user’s moves is still used today (1983) by some chess programs, and there is nothing whatsoever wrong with this method. There are, however, some other methods o f move entry which have gained popularity during the past few years. Sensor Boards Some computers use chess boards that have membrane keyboards beneath them. When a piece is pressed down on the centre o f a square, it ‘makes’ a switch in the membrane keyboard, which in turn indicates to the com­ puter which square has been identified. So by pressing down with his piece, the user is entering both o f the algebraic co-ordinates o f the ‘fro m ’ square. (Some chess computers have a plug-in board and when the user picks up his piece he must first press it down on its present square.) When the user moves his piece to its new square, and presses down on the centre o f this square with the piece, the computer registers the chosen ‘to ’ square and verifies the move for legality before starting to analyze its reply. Sensor boards have an obvious advantage over co-ordinate entry devices — the user moves his pieces in much the same manner as he does when playing chess against a human opponent. There is no need for the user to understand chess notation and so absolute beginners can actually learn chess by playing with a sensory chess computer.

102

WHAT TO LOOK FOR IN A CHESS COMPUTER

There are different ways in which a sensor board computer can indicate its responses to the user. One method is to have a coloured light ( l e d ) on each square o f the chessboard, and for the computer to indicate the ‘fro m ’ square and the ‘to ’ square by switching on these LEDs. Perhaps the LED on the ‘fro m ’ square will flash on and o ff while the LED on the ‘to ’ square remains on all the time. Another apprach is to have 16 LEDs located around two edges o f the board, eight corresponding to the files o f the chessboard (a-h) and eight corresponding to the ranks (1-8). When the computer wishes to indicate a square it does so by switching on the two LEDs corresponding to the rank and file o f the square, and the user locates the square in question by finding the intersection o f the two LEDs. This method is particularly appropriate for small chessboards where the indi­ vidual squares might be too small to accommodate an LED w ithout the square appearing crowded, and many o f the very inexpensive chess com­ puters on the market today employ this technique. One problem in using the 16 LEDs when the board is not small is that the user may find it d iffic u lt to locate certain squares which are far from the nearest LEDs. For example, if the LEDs are situated to the left o f the а-file and below the 1st rank, then if the computer indicates the square h8 the user’s eye must locate the intersection o f the h-file LED and the 8th-rank LED, and the distance from these LEDs to the intersection may cause the user slight problems if the chessboard is not small. For this reason, one improvement is to use 32 LEDs instead o f 16 and place them all round the board. The intersection o f the rank and file LEDs will always be relatively near to the closest LEDs, which eliminates the minor problem mentioned earlier, and this method also has the advantage o f allowing the user to continue to play with his chess computer if one o f the LEDs goes wrong — it will still be possible to identify the squares indicated by the computer by referring to the remaining, working LED in that rank or file. Magnetic Sensor Boards A further improvement on the membrane board sensor technology de­ scribed above, is to use a chess set with magnets in the base o f each piece, and with magnetic sensitive switches beneath each square o f the chess­ board. The program knows whether or not a particular square o f the board is occupied, by whether or not the corresponding switch has been activated by a magnet. Since the program knows which squares are oc­ cupied before a player begins to make his move, it can detect which piece the user wishes to move by noting which switch is next activated, and the square to which the piece is moved is the next one activated after that. So far as I am aware the first person to design such a board was David Cahlander, o f Control Data Corporation, who designed a board to connect to the Northwestern University programs (CHESS 4.0, CHESS 4.1, . . . etc.) which run on CDC computers. The attraction o f the magnetic sensory

103

WHAT TO LOOK FOR IN A CHESS COMPUTER

board is that the user is freed from the onerous task o f pressing down the moving piece on the ‘fro m ’ square and the ‘to ’ square. He simply picks it up and puts it down, and if the software is well written he can even slide a piece across the board w ithout the program getting confused by ‘seeing’ the piece move to several different squares during the course o f one move. This type o f board is extremely pleasant to play with, and I would recommend the extra investment in a really well made wooden board fo r those who can afford it. Magic Boards Magnetic sensory boards do not have the ability to recognize which piece is on each occupied square o f the board, they only know which squares are occupied and which are not. This information is sufficient to enable a program to work out what move is being made by the user, but it would be so much nicer if the program could recognize each piece, so that one could set up any position simply by placing the pieces on their squares, and the program would know what was where. Ken Thompson built such a board in 1980. Each piece has a coil in the base, and by using resonance techniques the hardware was able to find out, in effect, how many turns were on the coil situated above each square. The individual piece types each had their own individual number o f coils, and so recognition o f the pieces was an easy task. Up to now one company has attempted to market such a board, but the cost o f manufac­ ture puts the product out o f reach o f most pockets. Move Entry by Cursor Control Chess programs that run on personal computers will often have a chess­ board displayed on a television screen. The pieces will sometimes be moved by entering chess notation in the usual way, the ‘fro m ’ square and then the ‘to ’ square, on the computer keyboard. But an alternative method is to have a cursor on the screen, which starts life at the beginning o f a move at a particular part o f the screen, say the bottom left hand corner. The cursor is then moved, by means o f a joystick or using direction keys on the computer keyboard, until it is situated on the ‘fro m ’ square. The user then presses an ENTER key on the computer keyboard, or the joystick button, to indicate to the computer that this is the piece which should be moved. The user then employs the same method to move the cursor to the ‘t o ’ square, and once there he presses ENTER or pushes the joystick button again. This method has also been used with success in conjunction with an LCD chessboard, and since it requires no under­ standing o f chess notation it is likely to remain popular. Touch Sensitive LCDs One idea which was much vaunted during late 1981 was that o f touch sensitive LCD chessboard. This chessboard was approximately 3 inches 104

WHAT TO LOOK FOR IN A CHESS COMPUTER

square, and showed representations o f each piece made from a number o f LCD segments on each square o f the board. By means o f special tech­ nology the user was able to indicate the ‘fro m ’ square and ‘to ’ square o f his moves simply by touching those squares on the LCD board with his finger, and the program would know which squares he was indicating. A t least, that was the idea. It turned out that the technology was rather unreliable in a consumer environment, and the product containing this LCD was initially a failure. I see no reason why this technology cannot be made reliable in the future, but one other disadvantage exists with this method — repeated touching o f the surface o f the LCD makes it dirty, and d irt shows up rather badly on an LCD. Robotic Movement An idea which caught the imagination o f the public as long ago as Feb­ ruary 1979, is that o f having a robot move the pieces for the computer. A t that time I had been invited to play a demonstration game on German television against the Northwestern University program, and with the help o f David Cahlander the program, playing on a computer in M in­ neapolis, was linked by satellite to an enormous robot arm located in the studio in Hamburg. In fact the arm was so big that a micro-switch was used to prevent it from stretching too far forward and hitting me on the head. I sat in a soundproof glass booth, facing the Swedish built robot. Between us was the Cahlander magnetic chessboard. Whenever the pro­ gram moved, the robot would return to its ‘co n tro l’ position and then it infallibly picked up the program’s piece and moved it to its new square. When the program made a capturing move the robot would first pick up my piece, the one being captured, and deposit it in the box at the side o f the board. Finally, when the game was drawn after some 10 hours play (which had been interrupted several times because o f breakdowns in the satellite communications), the robot pushed forward its pincers to shake hands with me! The popularity o f the event can be judged from the fact that some 70,000 people wrote in to the television station to obtain copies o f the game score together with annotations supplied by both players. Soon after that programme was screened, two companies started work on robot arms that were to be an integral part o f commercially available chess computers. Both o f these products are relatively expensive, and neither has been a commercial success. More recently, the Milton-Bradley Company has produced a robotic chess computer which works in a different way. Instead o f having an arm to move the pieces from above the board, the Milton-Bradley ‘GrandMaster’ (called the Phantom in England) uses an electro-magnetic mech­ anism situated beneath the board, out o f sight o f the user. The electro­ magnet moves along two axes and can therefore be placed below any 105

WHAT TO LOOK FOR IN A CHESS COMPUTER

part o f the chessboard. When the electro-magnet is switched on it takes control o f whichever piece is situated directly above it, since each piece has a magnet in its base. The piece is then slid across the board to its new square. Captured pieces are put on special locations at the side o f the board, so that when a game is over the robot knows where all the pieces are and can set them up ready for the next game. If part o f the board becomes crowded, or if a knight needs to move across an occupied square, the robot simply moves any obstructions out o f the way, slides the piece to its new square, and then replaces the obstructions on their original locations. This is real magic, and the price o f the magic is much more affordable than that o f the robot arms. Another advantage o f this particu­ lar approach is that because the mechanism is hidden from view, it is much less likely to be damaged by careless handling, whereas it is very easy for someone to accidentally knock a robot arm out o f alignment.

CHESS SPECIFIC FEATURES Legal Move Verification As I mentioned in an earlier chapter, it is by no means unknown for a chess computer to allow illegal moves by the user, or to make illegal moves itself. Fortunately this statement was far more significant during the early days o f commercially available chess computers, but there are still products on the market, made by some o f the best known manufac­ turers, which cannot obey all the rules about castling. I feel that this is inexcusable, and I would advise the reader against buying any chess computer which cannot follow the rules for castling and en passant cap­ tures, or which cannot cope with the promotion o f pawns to queens. If you do find that you have bought such a product, take it back to the shop and demand your money back, and if you have any d ifficu lty with the shop you should threaten (or take) legal action, via the appropriate government or local authority department. After all, if someone sells you a chess computer it ought to be able to play legal chess! One o f the aspects o f move legality which has scope for some smart programming, is the recognition o f an illegal or impossible move at an early stage o f the move entry process. The way that legal move verification usually works is that when the user presses the ENTER key, or does whatever signifies completion o f his move, the program then checks for legality and signifies if the user has tried to make an illegal move. It would be neater if the program could recognize illegal move tries at the earliest possible stage. For example in the initial position, if the user started o ff by keying in A1 (the square occupied by a white rook), the program should immediately give an illegal move warning because the piece located on A1 cannot move. Few programs have this level o f sophistication in their legal move verification process, yet it is not d iffic u lt to program.

106

WHAT TO LOOK FOR IN A CHESS COMPUTER

Another aspect o f legal move verification which is important is to ensure that the program knows all the rules regarding castling. It is not enough to know that a player may not castle when the king is in check or will cross over or land on a square where it would be in check. It is also essential to remember that once the king has moved and then re­ turned to its original square, it may never castle during the remainder o f the game. Both the ‘CHESS CHAMPION Mk I I ’ and another chess computer containing a pirated version o f the ‘ BORIS’ program failed in this respect. Pawn Promotion All chess programs that I know o f which are currently on the market, cater for promoting pawns to queens when they reach the far side o f the board. One o f the stronger programs o f recent years would not allow more than one queen by each player at any one time, and if you are writing a chess program you should ensure that such bugs are tested for. Most chess programs nowadays allow the user to underpromote, that is to say, the user may choose to promote a pawn to a knight, rook or biship. This is hardly ever needed (in my entire chess playing career I needed to underpromote only once), but it is a sensible feature to include in a chess program. It is not so im portant if the program itself cannot underpromote, but it is more important fo r the user to have some means o f underpromoting even if it requires the use o f the Set-Up or EnterPosition mode after making the pawn move. Understanding Draws There are various ways in which a game o f chess can end in a draw, and the better and more expensive chess computers can usually cope with most or all o f these situations. A program which can count can know quite easily whether or not 50 moves have passed since the last pawn move or the last capture, and it can declare a draw if and when this does occur. Detecting a draw by stalemate is also not d iffic u lt, and a program which recognizes stalemate in the game tree will have the ability to make stale­ mate considerations part o f its look-ahead strategy. Probably the most d iffic u lt area is that o f draws by threefold repetition, because in order for them to be detected properly the program must compare the current position with every position at 2-ply intervals back as far as the previous pawn move or capture. This may require storing more o f the game record than the chess com puter’s memory will allow, but at the very least a chess computer costing more than (say) £80 ought to be able to detect draws where the repetition has occurred during the past 6-ply, i.e. back and forth and back and forth, and preferably somewhat further back than that. Otherwise the program is likely to allow a draw by repetition w ithout realising that it is doing so. It is useful for chess programs to be able to recognize when a game is 107

WHAT TO LOOK FOR IN A CHESS COMPUTER

drawn through lack o f mating material. For example, i f there are just the two kings remaining on the board, or if one side has king and bishop against king, it is nice for the computer to announce the draw. One chess computer, which sold extremely well during 1982, even goes so far as to announce a draw if it remains with king, bishop and knight against king, since the program knows that it does not have the ability to force mate with that material configuration! Offering Draws Against a few select chess programs the user can offer a draw. This is usually done by making the draw offer at the same time as entering the user’s move, parallelling the situation in a human v human game played under tournament rules, where one’s draw offer should accompany one’s move. The program then considers its reply move, and evaluates the resulting position, so that if the resulting position has a negative score (i.e. worse than a draw) the program will accept the offer. (Some programs have a ‘contempt factor’ which requires them to refuse the draw offer unless they are behind by some fixed measure, say half a pawn.) Playing Strength After ensuring that your chess program understands the legal niceties o f the game, the next most im portant feature to consider is almost certain to be its playing strength. If you are a beginner or a very very weak player, and have no aspirations to become somewhat stronger, then all you need is a program which is capable o f beating you on at least one o f its playing levels. On the other hand, if you are interested in improving your play, you will want to buy the strongest program that your pocket allows. How can you find out which program is the strongest? Nearly all chess computer manufacturers would have you believe that their programs are the strongest. If you see any advertising copy that makes claims o f this kind, and then you buy the product and discover later that the claims are unfounded, you should complain vociferously. After all, chess is one o f those few areas where it is possible to prove if A is stronger than В — simply play a match between the two. For a more worthwhile guide to the strength o f a chess program I would recommend that you try to find out what computer chess tournaments the program has competed in and which it has won, and also find out whether the program has an official rating awarded by a national chess federation. Openings Book Most chess programs nowadays, except the very smallest, have their own openings book to ensure that the user can enjoy a variety o f different openings and defences. The most useful inform ation here is how many moves are in the openings book. It is possible to get a little variety if the answer is 100 or more, though you obviously cannot expect depth. If the 1 08

WHAT TO LOOK FOR IN A CHESS COMPUTER

number o f book moves is anything between 150 and 500 then you can have quite a lot o f variety, and some o f the more important variations will probably go to a depth o f 6 moves or more. If there are more than 500 moves most chess enthusiasts should be satisfied, and with 2,000 or more all but 1% o f the w o rld ’s chess players will be perfectly happy.

HARDWARE FEATURES Is it Modular? As chess programs get stronger and stronger many enthusiasts are anxious that their products can be upgraded whenever a new version o f the pro­ gram appears. This is possible if the chess computer is ‘modular’ in some way, in other words, if the present program can be easily removed (by the user or the shop) and a new program put in its place. If you are con­ cerned about playing strength you may also be concerned about modu­ larity, so when you buy your chess computer ask not only whether it is modular, but whether the manufacturer has any other modular products on the market and if so, whether he has made available any new modules since the product was launched. It is all very well having a modular unit, but if no more modules are going to be produced by the manufacturer . . . Mains/Battery Operation Some chess computers are only operated by battery. Others may only be operated from a mains power adaptor. Some can run o ff either. If your machine allows battery operation you should look in the advertising and on the packaging to see how long you can expect from the life o f your batteries. The differences can be quite staggering. Some chess computers will run for only a few hours (anything from 2 to 12 would be considered quite normal). Others, which employ the lowest power CMOS microchips, can have a battery life o f anything up to a few hundred hours. If a power adaptor is required (or is an option) your chess computer manufacturer will probably have ensured that the adaptor complies with all o f your national safety regulations, but if the adaptor seems to get very hot when you have been playing for some time, have it examined for safety. Power-Down Memory Some chess computers use very low power memories so that you can switch to a special power-down mode in the middle o f a game, and return to the game hours, days or even weeks later, when the computer will have retained the current board position. This feature is particularly useful when playing with a power adaptor, in case the adaptor is kicked or otherwise accidentally disconnected from the computer, when the position will be lost unless there is a low power memory-save feature.

109

WHAT TO LOOK FOR IN A CHESS COMPUTER

The chess computers that incorporate this feature usually allow sufficient storage for the computer to remember not only the position, but also the moves o f the game (or at least the last few moves), and the status o f castling rights. LCD Chessboard

If you want to play chess w ithout the need to carry a chess set with you, and if you do not like the small plug-in chess computers that are available at very low prices, an LCD chessboard is ideal for you. You may find with some LCD chessboard computers that the representation o f the pieces is not to your taste, so before buying you should look at what is available. Just switch on for the start o f a game and see whether you like the look o f the pieces. The computer will almost certainly use a cursor method for move entry, and there are different ways o f implementing such a cursor, so you should also try to make a few moves in the shop, before you buy, so that you can decide whether you are happy with the particu­ lar approach being used. Chess Clocks Serious chess players are interested in playing games where both sides have the same amount o f thinking time at their disposal. For this reason some chess computers and some personal computer chess programs have a built in chess clock. The method o f displaying the times usually requires some hardware, such as an LCD, and this is why I have included chess clocks in this section, though it is software which measures how much time has elapsed between moves. It is useful, if you do have a chess clock, to be able to turn the clock on and o ff independently o f whether a game is in progress. This is so that if you interrupt a game you can stop the clock and when you come back to the board you can start it. Sound Most chess computers have a buzzer, and ideally this can be switched on and o ff at w ill. The purpose o f the buzzer is usually to act as an audible feedback when you key in a move or when you press down a piece on a membrane keyboard, and in this way the buzzer helps you to know that you have pressed the key properly. The other use o f the buzzer is to warn you, with a sour tone, when you have tried to make an illegal move. Printer For the serious enthusiast it is nice to be able to print out the moves o f a game as it is in progress, together with a diagram o f the position on the chess board whenever you wish. Or you may prefer to print out the whole o f the move record at the end o f the game. Some chess computer manufacturers have allowed for this facility

110

WHAT TO LOOK FOR IN A CHESS COMPUTER

by including these features in their software and by supplying small printers which can be purchased as peripherals, to connect to the chess computer. Some o f the chess programs available for personal computers also include software to allow the use o f a printer. If you are particularly interested in the printer capability o f a program, you should find out exactly what can be printed and when, and see how this compares with the corresponding features on rival products. Speech A few chess computers incorporate speech synthesis, so that the com­ puter speaks the moves and announces check with an electronic voice. This is just a gimmick, and adds to the cost o f your product. If you do buy a computer with this facility, do ensure that the speech can be switched o ff if you wish.

OTHER FEATURES Clear Move Entry It must be possible and easy for you to change your mind during the move entry process. A chess program should have some simple method o f enabling you to clear the move entry at any time up to the moment o f completion o f the move. A chess program that calls for co-ordinate move entry should allow you to press a CLEAR ENTRY key at any time prior to pressing ENTER. A sensory computer should allow you to clear a move that is partly entered. How Many Playing Levels? It is said that when a chess computer salesman walks into a big store and asks the chief buyer to take a look at his new product, one o f the first questions that the salesman is asked is ‘How many levels does it have?’ If the answer is big he sells a lot o f chess computers. If it is small he sells few or none. In fact there is very little reason why one need have more than about 8 levels o f play on any chess computer. There should be an instantaneous level (no more than 1 second per move), there should be a level at about 5 seconds per move, another at 10-15 seconds per move, perhaps three levels ranging from 20-30 seconds up to 120-150 seconds per move, a 3 minute per move level for tournament play and an ‘in fin ite ’ level fo r those who want to play one move per day against their computer or who wish to see how the computer’s analysis will change given an enormous amount o f thinking time. It is very easy, but rather unnecessary, to program more than 8 levels, and when buying a chess program I would advise you to settle for 4 or more levels if you are paying £50 or less, and 8 or more levels above that price point.

111

WHAT TO LOOK FOR IN A CHESS COMPUTER

A User Adaptable Level A recent innovation in chess computers is the inclusion o f a user adapt­ able level o f play. When the user plays quickly the program plays quickly. If the user’s average rate o f play slows down, then so does that o f the program. Very many people move rather quickly at first when playing against a program, but when they find the position d ifficu lt, they slow down to a crawl, even though the poor program may still be constrained to respond in 5 or 10 seconds. With a user adaptable level this cannot happen — the user slows down to think because he is in trouble, the computer slows down as well, and the user suddenly realises that he has been trying to take more time than his opponent. Losing Level When I was advising Texas Instruments on the development o f the ‘Video Chess’ program for their 99/4 home computer, there was a manager in the group at Lubbock, Texas who could never beat the program no matter how hard he tried, even at the lowest level. He found this discouraging, and so I added a losing mode to the program. When playing against this mode it is virtually impossible for the user to lose. The program does not make one terrible move after another, it just does not play very well, and it makes sure that it does not checkmate you unless it has no other option. After the T .l. manager played against this level for a game or two he was de­ lighted, and then he became so encouraged that he managed to start beating the program at its lowest non-losing level, and enjoyed chess and the program very much more thereafter. I tell this story so that the reader may see the advantages o f having such a level o f play in one’s chess program. Tournament Playing Schedules Instead o f playing against a certain level o f d ifficu lty, it is more natural in a strong program to constrain the computer to respond according to a specified rate o f play, as in a human competition. This may be done by setting a series o f time controls, such that for each time control the computer must make a prescribed number o f moves within a certain total amount o f time. The ‘CHESS CHAMPION Mk V and Mk V I ’ for ex­ ample, allow this to be done for 8 different time controls within one game (after the 8th control, the same rate is repeated until the end of the game). Thus it is possible to set the computer to play (say) 40 moves within the first 120 minutes, then 20 moves during the next 60 minutes, then 10 moves in the next 30 minutes, and so on. It is also possible, on the same products, to set fixed timings for every move, so that the user can play speed chess against the program which is constrained to move every 5 seconds or every 10, or at any other desired rate.

112

WHAT TO LOOK FOR IN A CHESS COMPUTER

Move Now It is useful to be able to interrupt a program while it is thinking, and to force it to make the best move it has discovered up to that moment in time. This is because the program might be thinking on a slow rate o f play, and the user might get tired o f waiting for its reply. For this reason most chess programs allow the interruption o f the computer’s thought process. Analysis It is nice to be able to interrogate the computer, to find out what it is thinking about. With some programs the computer can be made to display the move it currently thinks is best, and in some cases it will also show what move it considers to be your best reply to its intended move. It may also tell you how well it thinks it is doing, by displaying a score to show how many pawns, or what fraction o f a pawn, it thinks it is ahead or behind. Style o f Play Some human players are very aggressive in their style o f chess, and enjoy attacking at every opportunity. Others are more strategic in nature. Some are quite passive. One option which is not very widely available is being able to choose the program’s style o f play, and even to be able to change that style during the game. The user can thus gain experience o f attacking against a passive opponent, and o f defending against an aggressive one. Simultaneous Play Yes, it is possible. The ‘CHESS CHAMPION Mk V ’ and ‘Mk V l ’ can play up to 12 games simultaneously. The Mk V did so against two groups o f schoolboys in Brighton, England, in December 1981, and achieved 9 wins, 2 draws and 5 losses, for an overall score o f just under 72%. Solving Chess Problems Most chess programs can solve problems. If you are particularly interested in chess problems you will want your program to be able to solve mates as deeply as possible, certainly up to 6 or 7 moves ahead, and you will be interested in whether or not the program can solve problems involving underpromotion. If you are a real problem enthusiast you will want your program to be able to find ‘cooks’, i.e. problems that have more than one solution. This can be accomplished by use o f a ‘Next Best’ feature. Next Best Move After a program has made its move, you may want to reject that move for some reason and ask it to think again, and to make a different move. The Next Best feature allows just that — the program searches again and

113

WHAT TO LOOK FOR IN A CHESS COMPUTER

finds the best move other than the one it announced previously. If you do not like the second move chosen you can ask again, and it will choose the next best, and so on, right down through the entire list o f legal moves. When the program is in problem solving mode and finds the solution to a mate problem, if you invoke the Next Best feature it will look again and find a cook if one exists. If there is more than one cook it will eventu­ ally find them all, before finally announcing that there are no more mates. Swap Board If you are playing on an LCD chessboard or a television screen, when you are Black you will probably prefer to have the black pieces at the bottom of the board, moving upwards, and the white pieces at the top o f the board, moving downwards. This can be done if there is a facility for swapping round the board. Auto Play Mode Here the computer plays against itself, making one move after another for each side. When a game is over it starts a new one. Action Replay Football is not the only game exciting enough to warrant an action replay from time to time. This feature allows you to see the whole course o f the game, from the start up to the present position, played through at a speed o f a few seconds per move (you may even be able to choose the rate o f replay). This feature is particularly attractive when a television screen or LCD chessboard is being used, so that you can sit back and enjoy the replay w ithout having to move any pieces. Enter Position (Set-Up) Mode It is very useful to be able to enter a chess position and start the program thinking from that position. This feature is essential when using your program to solve chess problems, and it is useful for setting up interrupted games or games taken from chess books, magazines or newspaper columns. It is nice, when setting up a special position, to be able to say (when appropriate) that one side or the other (or both) may still castle, and to record how many moves, if any, have been played since the last pawn move or capture. It is also useful if the program can check that you have not tried to set up an illegal position, in which, for example, there are the wrong number o f kings on the board, or the side to move next can capture the enemy king, or there are pawns on the first or 8th rank. Position Verification If the computer is not displaying the current board position on an LCD chessboard or a television screen, it is important that you can verify the

114

WHAT TO LOOK FOR IN A CHESS COMPUTER

position in the com puter’s memory as being the same as the position you have on your own chessboard. There are various ways o f implementing such a verification process — it is worth reading the instruction manual before you buy in order to find out whether the method employed on a particular chess computer is to your liking. Multi-Move You may sometimes wish to enter into your program a sequence o f moves for both sides, before commencing play. You might do this if you wish to try playing some particular opening variation — rather than play one new game after another until you have the desired variation on the board, you can simply enter all the moves and then commence play. Teaching the Moves If you are a beginner and wish to learn the moves, you may find it easiest to learn from a book. But some chess programs can teach you the moves by showing, on request, all the legal moves that can be made by whatever piece you indicate. This facility is useful only for beginners but if you are a beginner you will learn the moves quickly and will not need this feature for very long. Take Back Not allowed in World Championship matches, but one o f my opponents in the 1970 Chess Olympiad actually did take back a move (it was a Brazilian player named Camara). When I complained he told me that it did not really matter whether his king went to this square or that one, so I pointed out that in view o f this profound statement he might as well leave it on the first square that he put it on (yes — his hand had quitted the piece). Your chess program may well be less uptight about taking moves back, and allow you this luxury. If it has a lot o f memory at its disposal it may let you take back many moves, perhaps right back to the start o f the game. If you think that you will want to use this feature a lot, find out how many moves o f take back are possible before you buy. Step Forward Having taken back one or more moves, you may then wish to go forward again to the position from which you started taking back, or to some intermediate point. It is here that the Step Forward feature is useful. Recording Games on Cassette (or Disk) There are various reasons why a serious chess enthusiast might wish to record a game, possibly an unfinished game, in a manner which allows him to load that game easily and quickly into his computer at a later date. If your computer has a cassette recorder or floppy disk, or if you intend to buy one, the ability to store games might appeal to you.

115

WHAT TO LOOK FOR IN A CHESS COMPUTER

Messages This feature is a little silly, or rather the way it has been used was silly. A few chess computers used their 8-digit LED to display all sorts o f childish messages at random moments. These messages included such gems as ‘Are there ladies present?', ‘Are you rated?’ and ‘ Don’t tell David Levy about that move’. Unfortunately, not only did these messages take up program memory and thereby add to the retail cost o f the chess computer, it was impossible to switch them off.

116

Glossary

This glossary includes some chess terms whose meaning may not be obvious to non-chess players, and some computing and mathematical terms whose meaning may not be known to other readers. ADDRESS An indication o f where in computer memory a particular item o f data is located. ALG O R ITH M A method or technique which guarantees to find a sol­ ution to a problem if a solution exists, and which indicates that no sol­ ution exists if that is the case. B LITZ A fast form o f chess in which the players use chess clocks and each clock is set at 5 minutes to the hour at the start o f the game. Who­ ever uses up his 5 minutes first loses the game on time. CLOSED (POSITION) o f movement.

A position in which the pieces have little freedom

CORRELATION COEFFICIENT A statistical measure o f the extent to which tw o sets o f data are correlated. DEVELOPMENT The process o f moving one’s pieces, particularly the knights and bishops, o ff their original squares. Castling is usually con­ sidered to be part o f the development process. EXHAUSTIVE SEARCH The search o f the game tree to some fixed depth along every branch o f the tree not pruned by the alpha-beta al­ gorithm. FILE A vertical column o f squares on the chessboard, stretching from White’s side o f the board to Black’s. HEURISTIC A method fo r (hopefully) speeding up the search fo r a solution to a problem, though one which does not guarantee finding a solution. LINE

A synonym for variation (in a chess opening).

117

GLOSSARY

PINNED A piece is pinned if it is shielding another o f its own pieces from attack. If the pinned piece moves, the shield is lifted and the piece that was shielded is now liable to capture. PLY A half-move, for example White’s first move in a game, £>g1-f3, is a half-move. (Random Access Memory) The type of memory used as a tempor­ ary storage area during a program’s calculations. (It may be thought o f as a blackboard, which may be used for calculations and from which part or all o f the writing may be erased at will.) ram

RANK

A horizontal row o f squares on the chessboard.

ROMANTIC (OPENING) An opening in which development and open files and diagonals for the attacking pieces are more important than material considerations. A word usually used in connection with an opening that was popularized during the 19th century. STRATEGIC A style o f play in which the manoeuvering o f the pieces to better squares is the hallmark. TAC TICAL The opposite o f strategic. This style is typified by direct threats and forcing sequences o f moves, often involving one or more sacrifice. TEMPO A half-move, in the sense that a half-move is a unit o f time in chess. To say that a player won by one tempo means that had one o f his key pieces been one half-move further away from some vital square, then he would not have been able to win.

00 The mathematical sign for in fin ity. E (Sigma) The mathematical symbol for summation. When this symbol appears in fro n t o f an expression, it means 'the sum o f all such expressions’.

118

Bibliography

In two previous volumes on computer chess, Chess and Computers by David Levy (1976), and More Chess and Computers by David Levy and Monroe Newborn (1982), I gave extensive bibliographies in the English and Russian language. Here I am reproducing the contents o f both o f those bibliographies, and have rectified one or two important omissions and added those recent books and articles on the subject which I consider to be useful for anyone wanting to write their own program. Part One — English ACM (1971): Computer Chess Programs. Proceedings o f the 1971 Annual Conference, Association for Computing Machinery, pp. 97-113. Adelson-Velsky, G. М., Arlazarov, V. L., Bitman, A. R., Zhivotovsky, A. A. and Uskov, A. G. (1970): ‘ Programming a Computer for Playing Chess’. Russian Mathem atical Surveys, volume 25, number 2, pp. 221 262. Adelson-Velsky, G. М., Arlazarov, V. L., and Donskoy, М. V. (1975). ‘Some methods o f controlling the tree search in chess programs,’ A rtific ia l Intelligence 6, 361-371. Adelson-Velsky, G. М., Arlazarov, V. L., and Uskov, A. V. (1966): ‘ Pro­ gram Playing Chess’. A report on the Symposium on 'Theory and Com­ puting Methods in the Upper Mantle Problem ’. Original in Russian, English translation privately circulated. A kl, S. and Newborn, М. M. (1977). ‘The principal continuation and the killer heuristic.’ Proc. 1977 Annual Conf. o f the Asoc. Comput. Mach. 466-473. Arbuckle, Т., Belsky, M. A., Bernstein, A. and Roberts, M. de V. (1958): ‘A Chess Playing Program for the IBM 704 Computer’. Proceedings o f the Western J o in t Computer Conference, pp. 157-159. (Panel discuss­ ion pp. 171-172). Arlazarov, V. L. and Futer, A. V. (1978). ‘Computer analysis o f a Rook end-game,’ Machine Intelligence 9 (J. E. Hayes, D. Michie, and L. I. Milulich, eds.) University o f Edinburgh Press.

119

B IB LIO G R A P H Y

Arnold, G. and Newborn, М. M. (1972): A Chess Playing Program: THE OSTRICH. Privately circulated. A tkin, L. (1975): CHESS 3.6: A Chess Playing Computer Program. M.Sc. dissertation. Computer Science Department, Northwestern University. A tkin, L., Gorlen, K. and Slate, D. (1972): Chess 3.5 Privately circulated. A tkin, R. H. (1972): ‘ Multidimensional Structure in the game o f Chess’. International Journal o f Man-Machine Studies , volume 4, pp. 341 — 362. A tkin , R. H. and Witten, I. H. (1973): ‘Mathematical Relations in Chess’. In Computer Chess — Proceedings o f a One Day Meeting on Chess Playing by Computer, Ed. Bell, A. G., Chilton: Atlas Computer Lab­ oratory pp. 37-79. Baudet, G. M. (1978). ‘On the branching factor o f the alpha-beta pruning algorithm,’ A rtific ia l Intelligence 9, 177-199. Baylor, G. W., and Simon, H. A. (1966): ‘A Chess Mating Combinations Program’. Proceedings o f the Spring Jo in t Computer Conference, pp. 431-447. Bell, A. G. (1970): ‘How to Program a Computer to Play Legal Chess’. Computing Journal, volume 13, pp. 208-219. Bell, A. G. (1972): In ‘Games Playing with Computers’, Bell, A. G., London: Allen & Unwin. Benko, P. (1978): T h e “ Am ateur” World Champion: An interview with Max Euwe,’ Chess Life and Review 33, 410-413. Berliner, H. J. (1970): ‘ Experiences Gained in Constructing and Testing a Chess Program’. Proceedings o f the International Electrical and Elec­ tronic Engineering Symposium on Systems Science and Cybernetics. Berliner, H. J. (1973): ‘Some Necessary Conditions for a Master Chess Program’. Proceedings o f the 3rd International Jo in t Conference on A rtific ia l Intelligence, pp. 77-85. Berliner, H. J. (1974): Chess as Problem Solving: The Development o f a Tactics Analyzer. Ph.D. dissertation. Computer Science Department. Carnegie-Mellon University. Berliner, H. J. (1975): ‘A new subfield o f computer chess,’ SIG ART Newsletter, No. 53, 20-21. Berliner, H. J. (1976): ‘Outstanding performances by CHESS 4.5 against human com petition,' S IG A R T Newsletter, No. 60, 12-13. Berliner, H. J. (1977): ‘Two games from the Minnesota Open,’ S/G ART Newsletter, No. 62, 9-10. Berliner, H. j. (1977): ‘CHESS 4.5 vs Levy,’ SIG AR T Newsletter No. 62, 11 . Berliner, H. J. (1 9 7 8 ):‘A chronology o f computer chess and its literature,’ A rtific ia l Intelligence 10, 210-214. Berman, V., Ruben, I., Swartz, F., Toikka, W. and Winograd, J. (1973): CHAOS. Privately circulated.

120

B IBLIO GR APHY

Bernstein, A. and Roberts, M. de V. (1958): ‘Computer vs Chess Player’. S cientific Am erican , volume 198, pp. 96-105. Boos, G. (1972): The Viking. Privately circulated. Botvinnik, М. M. (1970): Computers, Chess and Long-Range Planning. London: Longman. Byrne, R. (1978): ‘ Fischer vs. the com puter,’ The New York Times. July 30, p. 30. Cahlander, D. (1977): ‘The computer is a fish, or is it? ’ SIG AR T News­ le tte r, No. 62, 8-9. Campbell, M. S. and Marsland, T. A. (1982): A Comparison o f M inim ax Tree Search A lgorithm s. Edmonton, Alberta: Technical Report TR82-3, University o f Alberta, Computer Science Department. Carlson, F. R. and Zobrist, A. L. (1972): The USC Chess Program. Pri­ vately circulated. Carlson, F. R. and Zobrist, A. L. (1973): ‘An Advice-taking Chess Com­ puter’. S cientific Am erican , volume 228, number 6, pp. 93-105. Ceruti, F. and Smith, R. (1972): SCHACH. Privately circulated. Chase, W. G. and Simon, H. A. (1973): ‘Skill in Chess'. American Scientist, volume 61, number 4, pp. 394-403. Clarke, M. R. B. (1973): ‘Some Ideas for a Chess Compiler’. In A rtific ia l and Human Thinking, edited by Elithorn, A. and Jones, D., pp. 189198. Amsterdam: Elsevier. Clarke, M. R. B. (Ed.), (1977): Advances in Computer Chess. Edinburgh: Edinburgh University Press. Clarke, M. R. B. (1980): Advances in Computer Chess 2. Edinburgh: Edinburgh University Press. Clarke, M. R. B. (1983): Advances in Computer Chess 3. Oxford: Pergamon Press. Crocker, S. D., Eastlake, D. E. Ill and Greenblatt, R. D. (1967): T h e Greenblatt Chess Program’. Proceedings o f the Fall Jo in t Computer Conference, pp. 801-810. Cooper, D. W. and Kozdrowicki, E. W. (1973): ‘COKO III: The CooperKoz Chess Program’. Communications o f the ACM, volume 16, pp. 411-427. Douglas, J. R. (1978). ‘GM Walter Browne vs. CHESS 4 .6 ’ Chess Life and Review 33, 363-364. ‘ First microcomputer chess tournament,’ (1978). Chess Life and Review 33,311. Frey, P. (Ed.) (1977): Chess S k ill in Man and Machine. New York: Springer-Verlag. Frey, P. and A tkin , L. (1978-79): ‘Creating a Chess Player’. Byte, volume 3, numbers 10-12; volume 4, number 1. Gillogly, J. J. (1972): ‘The Technology Chess Program’. A rtific ia l In te lli­ gence, volume 3, pp. 145-164.

121

B IBLIO GRAP HY

Goldwater, W. (1977): ‘My game and animadversions,’ Chess Life and Review 32,323-314. Good, I. J. (1968): ‘A Five year Plan for Automatic Chess’. Machine Intelligence 2, Eds. Dale, E. and Michie, D., pp. 89-118. Edinburgh: Oliver and Boyd. Good, I. J. (1969): ‘Analysis o f the Machine Chess Game J. Scott (White), ICL-1900 versus R. D. Greenblatt, PDP 10. Machine Intelligence 4, Eds. Meltzer, B. and Michie, D., pp. 267-269. Edinburgh: Edinburgh University Press. G riffith , A. K. (1976): ‘ Empirical exploration o f the performance o f the alpha-beta tree search heuristic,’ IEEE Trans, on Computers, 6-10. Hayes, J. and Levy, D. N. L. (1976): The World Computer Chess Cham­ pionship. Edinburgh: Edinburgh University Press. Huberman, B. J. (1968): ‘A Program to Play Chess End Games '.S ta n fo rd Technical Report CS 106. Kalme, С. I. (1974): ‘The Basic Search Routine for Selecting a Move in Chess’. Indiana Mathematical Psychology Program report. Kalme, С. I. (1974): ‘ Incorporating Chess Knowledge Within the Frame­ work o f Computer Chess’. Indiana Mathematical Psychology Program report. Kalme, С. I. (1974): ‘Teaching Chess at the Human and Machine Levels’. Indiana Mathematical Psychology Program report. Kaplan, J. (1977): ‘ L e t’s go, big beige machine ! ’ Sports Illustrated , August 22, p. 42. Kister, J., Stein, P., Ulam, S., Walden, W. and Wells, M. (1957): ‘ Experi­ ments in Chess’. Journal o f the Association fo r Com puting M achinery , volume 4, pp. 174-177. Kitov, A. I. and Krinitsky, N. A. (1962): ‘The Solution o f Chess Problems’ followed by ‘ Programme-contolled computers playing chess’. Elec­ tronic Computers, pp. 106-108. O xford: Pergamon. (This is a trans­ lation o f Elektronnye Tsifrovye M ashinii i Program-mirovannye pub­ lished in Moscow in 1959). Kotok, A. (1962): A Chess Playing Program fo r the IBM 7090. B.Sc. Thesis. Massachusets Institute o f Technology, Artificial Intelligence Project Memo 41. Kent, P. (1973): ‘A Simple Working Model’. Computer Chess — Pro­ ceedings o f a One Day Meeting on Chess Playing by Computer, Ed. Bell, A. F., pp. 15-27. Chilton : Atlas Computer Laboratory. Knuth, D. E., and Moore, R. N. (1975): ‘An analysis o f alpha-beta prun­ ing,’ A rtific ia l Intelligence 6, 293-326. Lasker, Edward. (1977): ‘But will it fly ? ’ Chess Life and Review 32, 314. Levy, D. N. L. (1971): ‘Computer Chess — A Case Study on the CDC 6600’. Machine Intelligence 6, Ed. Meltzer, B. and Michie, D., pp. 151-163. Edinburgh: Edinburgh University Press.

122

BIB LIO G R A P H Y

Levy, D. N. L. (1971): ‘Computer Chess — Past, Present and Future’. Chess Life and Review , volume 28, number 12, pp. 723-726. Levy, D. N. L. (1976): Chess and Computers. London: Batsford. Levy, D. N. L. (1976): /9 7 5 U.S. Computer Chess Championship. Rock­ ville, Maryland : Computer Science Press. Levy, D. N. L. (1977): /9 7 6 U.S. Computer Chess Championship. Rock­ ville, Maryland: Computer Science Press. Levy, D. N. L. (1977): ‘Invasion from cyberland,’ Chess Life and Review 32, 312-313. Levy, D. N. L. and Newborn, М. M. (1980): More Chess and Computers. Rockville, Maryland: Computer Science Press. (A corrected and up­ dated edition was published in 1982, bound together with ‘Chess and Computers’, and sold as ‘All About Chess and Computers’.) Marsland, T. A. (1976): ‘ 1976 Canadian computer-chess workshop,’ SIG AR T Newsletter, No. 60, 22. Marsland, T. A. (1977): ‘A comprehensive list o f computer chess litera­ ture’, Tech. Report TR77-4, Dept, o f Comput. Sci., Univ. o f Alberta. Marsland, T. A. (19-82): ‘A Quantitative Study o f Refinements to the Alpha-Beta A lg o rith m ’. Edmonton, Alberta: Technical Report TR82-6, University o f Alberta, Computer Science Department. Marsland, T. A. and Rushton, P. G. (1973): Mechanisms fo r Comparing Chess Programs. Privately circulated. Marsland, T. A. and Rushton, P. G. (1973): ‘A Study o f Techniques for Game Playing Programs’. Proceedings o f the World Organization o f General Systems and Cybernetics. London: Gordon & Breach. Maynard Smith, j. and Michie, D. (1961): ‘Machines that Play Games’. New Scientist, volume 12, pp. 367-369. Michalski, R. and Negri, P. (1975): ‘An experiment on inductive learning in chess endgames: the King-Pawn case,’ NATO Adv. Study Inst, on Machine Repres. o f Knowledge , Santa Cruz. Michie, D. (1966): ‘Game-Playingand Game-Learning Autom ata’. Advances in Programming and Non-Num erical C om putation , Ed. Fox, L., pp. 183-200 (incorporating an appendix by Maynard Smith, J., Rules o f Somac, pp. 196-200). Oxford: Pergamon. Michie, D. (1974): A Theory o f Evaluative Comments in Chess. University o f Edinburgh Machine Intelligence Project Memorandum MIP-R-105. Michie, D. (1976): ‘An advice taking system for computer chess,’ Com­ puter B ulletin, December 12-14. Michie, D. (1977): ‘David Levy challenge game, 1 April 1977,’ SIG AR T Newsletter, No. 62, 10-11. Michie, D., and Bratko, I., (1978): ‘Advice tables representations o f chess end-game knowledge,’ Proc. A/SB Summer Conference, Hamburg. Mittman, B. (1973): ‘Can a Computer Beat Bobby Fischer’. Datam ation , June 1973, pp. 84-87. Morrison, М. E. (1976): ‘4th Annual Paul Masson American Class Cham­

123

BIB LIO G R A P H Y

pionship,’ Chess Life and Review 31, 553. Newborn, М. M. (1975): Computer Chess. New Y ork: Academic Press. Newborn, М. M. (1977): T h e efficiency o f the alpha-beta search on trees with branch-dependent terminal node scores,’ A rtific ia l Intelligence 8, 137-153. Newborn, М. M. (1978): ‘Computer chess: recent progress and future expectations,’ Proc. Jerusalem Conf. on Inf. Tech. Newborn, М. M. (1979): ‘ Recent Progress in Computer Chess '.Advances in Computers, volume 18, pp. 59-117. Newell, A. (1955): T h e Chess Machine’ . Proceedings o f the Western Join t Computer Conference, pp. 101-110. Newell, A., Shaw, J. C. and Simon, H. A. (1959): ‘Chess Playing Programs and the Problem o f C om plexity’. IBM Journal o f Research and Develop­ m ent, volume 2, pp. 320-335. Reproduced in Computers and Thought, Ed. Feigenbaum, E. A. and Feldman, J. A., pp. 39-70. Newell, A. and Simon, H. A. (1965): ‘An Example o f Human Chess Play in the Light o f Chess Playing Programs’. In Progress in Biocybernetics, volume 2 Ed. Schade, j. P. and Weiner, N., pp. 19-75. Amsterdam: Elsevier. Pitrat, J. (1968): ‘ Realization o f a General Game-Playing Program’. {In ­ form ation Processing 68 ’ pp. 1570-1574. Amsterdam: North Hol­ land Publishing Co. Pitrat, J. (1971): ‘A General Game-Playing Program’. In ‘A rtific ia l In te l­ ligence and Heuristic Programming', Eds. Findler, N. V. and Meltzer, B., pp. 1 25-1 55. Edinburgh: Edinburgh University Press. Richter, H. (1976): T h e first German computer chess championship at Dortm und,’ SIG AR TN ew sletter, No. 56, 2. Scott, J. J. (1969): ‘A Chess-Playing Program’. In Machine Intelligence 4, Eds. Meltzer, B. and Michie, D., pp. 255-266. Edinburgh: Edin­ burgh University Press. Shannon (1950): ‘A Chess-Playing Machine’. S cientific Am erican, volume 182, pp. 48-51. Shannon (1950): ‘ Programming a Computer for Playing Chess’. Philosophi­ cal Magazine, volume 41 (7th series), pp. 256-275. Slate, D. and Mittman, B. (1978): ‘CHESS 4.6 — Where do we go from here?’ Proc. Jerusalem on Inform ation Tech. 84-88. Slater, E. (1950): ‘Statistics for the Chess Computer and the Factor o f M o b ility ’. Symposium on Inform ation Theory, pp. 150-152. London: Ministry o f Supply. Soule, S. and Marsland, T. A. (1975): ‘Canadian computer chess tourna­ ment,’ SIG AR T Newsletter, No. 54, 12-13. Spracklen, K. and Spracklen, D. (1978): Sargon. Rochelle Park, New Jersey: Hayden. Tan, S. (1972): Representation o f Knowledge fo r Very Simple Pawn Endings in Chess. Ph.D. thesis, Edinburgh University Department o f

124

BIB L IO G R A P H Y

Machine Intelligence and Perception. Tan, S. (1973): ‘A Knowledge Based Program to Play Chess End-Games’ . Computer Chess — Proceedings o f a One Day Meeting on Chess Playing by Computer, Ed. Bell, A. F., pp. 81-88. Chilton: Atlas Computer Laboratory. Turing, A. M. (1953): ‘ Digital Computers Applied to Games\ Faster than Thought, Ed. Bowden, В. V., pp. 286-295. London: Pitman. Whaland, N. D. (1978): ‘A Computer Chess T utorial’. Byte, volume 3, number 10, October 1978, pp. 168-181. Zuse, K. (1976): ‘Chess Program’. The Plankalkul, pp. 201-244. Bonn: Gesellschaft fur Mathematik unde Datenverarbeitung, Nr 106. (This is a translation o f the original German work written in 1945, and is o f historical interest as being the only theoretical work written prior to Shannon’s seminal paper.)

Part Two — Russian (This list does not include references to works for which an English trans­ lation exists and is mentioned above.) Adelson-Velsky, F. M. and Arlazarov, V. L. (1974): ‘Metodii Usilenya Shakhmatny Program’. Problem ii K ybernetiky , volume 29, Ed. Jablonskogo, S. V., pp. 167-168. Arlazarov, V. L. and Bitman, A. R. (1968): ‘Obigrayetlii Mashina Cheloveka?’ Shakhmatny v SSSR, number 2 1968, pp. 9-11. Belensky, V. (1964): ‘Yesheob Elektronnikh Shakhmatistakh’. Shakhmaty [Sahs), number 16 1964, pp. 21-26. Botvin nik, М. M. (1961): L yu di i Mashin i za Shakhmatnoy Doskoy. Shakhmaty v SSSR, number 3 1961, pp. 7 8 -8 0 . Botvinnik, М. M. ‘ Lyudi i Mashini za Shakhmatnoy Doskoy’. Shakhmaty v SSSR, number 3 1961, pp. 7 8 -8 0 . Botvinnik, М. M. (1975): О K ybernetitcheskoii Tseli Igri. Moscow: Sovetskoye Radio. Botvinnik, М. M. (1979): О Reshchenii Netochnikh Perebornikh Zadatch. Moscow: Sovetskoye Radio. Donskoy, М. V. (1974): ‘O Programmye, Igrayushei v Shakhmaty’. Problem ii K ybernetiky , volume 29, Ed. Jablonskogo, S. V., pp. 169-200. Gik, E. and Murakhveri, V. (1968): ‘Na Dvukh Lektsyakh M. Botvinnika’ . Shakhmaty v SSSR, number 8 1968, pp. 18-19. Gulyayev, A. (1970): ‘ Как Igrat с Mashinoy?’ Shakhmaty v SSSR, number 10 1 9 7 0 ,pp. 14-15. Korobinskogo, N. and Pekelisa, V. (1956): ‘Mashina Delayet V ib o r’. Nauka i Zhisn, number 6.

125

BI B LIO G R A P H Y

Korobinskogo, N. and Pekelisa, V. (1958): ‘ Bestrasstnii Partner’. Tekhnika — Molodezhi, number 3. Leonidov, K. (1961): M atch: Chelovek-Mashina. Leningradskaya Pravda, December 1st 1961. Polugayevsky, L. (1968): ‘Poebinok с Uralskim Robotom’. Shakhmaty v SSSR, number 8 1968, pp. 18-19. Smilga, V. (1956): ‘Vosmozhen li Shakhmatnii Avtomat?’ Shakhmaty и SSSR, number 6 1956, pp. 176-177. Tumanov, V. (1961): “ Luchshii Knod’ — Za 58 Sekund’. Bulletins o f the World Championship Match B otvinnik-Tal, 1961, number 8, pp. 4 -5 . Zagoriansky, E. (1959): ‘Mashina i Shakhmaty’. Shakhmaty и SSSR, num­ ber 3 1 9 5 9 ,pp. 6 8 -6 9 .

126

Index

Names o f computers are in capitals. Words preceded by an asterisk are in the glossary. action replay 114 ♦address 117 ♦algorithm 117 alpha-beta algorithm 43 alpha-beta window 50 analysis 1 13 auto play mode 1 14 BELLE 61, 71, 76 Berliner, Hans 64 ♦blitz 777 B LIT Z 6.5 77 BORIS 107 Bronstein 95 Browne, Walter 69 Cahlander, David 103, 105 castling 14 centre control 18 CHESS 4.0 103 CHESS 4.1 103 CHESS 4.6. 62, 64-5, 67, 69, 87 CHESS 4.7 88, 90, 92 CHESS CHAMPION Mk II 107 CHESS CHAMPION Mk V 72, 78, 97,

112-3 CHESS CHAMPION Mk VI 97, 112-3 chess clocks 1 10 clear move entry 111 ♦closed (position) 7 7 7 concept ‘never’, the 84 co-ordinate entry 101 ♦correlation coefficient 7 7 7 Csom 86 cursor control 104 Day, Lawrence 65

♦development 13, 117 Elo, Arpad 98 endgame, the 97 endgame feature 31 enter position 114 Estrin 16 evaluation penalty 33 ♦exhaustive search 7 77 F ID E L IT Y CHESS C H A LL E N G E R SENSORY 9 99 F ID E L IT Y E X P E R IM E N T A L 73 ♦file 7 77 Fischer, Bobby 8, 99 forward pruning 59 Glazkov 16 Golombek 80 G R A N D M A S TE R (PHANTOM) 105 Gurgenidze 29 ♦heuristic 7 7 7 horizon effect 82 how to enjoy your chess program 100 how to improve your chess 93 how to win against computer programs 87 how to rate yourself 97 Hubner, Robert 77 incremental updating 5 input and output 101 iterative deepening 57 KAISSA 61 killer heuristic 48

INDEX king attack 20 king cornering 32 king safety 22 Korchnoi 76 Kouatly 2

recording games on cassette or disk 775 robotic movement 105 ♦romantic (opening) 118 rule of the square 31

LCD chessboard 110 legal move verification 106 Levy, David 88, 90, 92 ♦line 117 losing level 112

Samuel, A rth u r 33, 35, 36 SARGON 2.5 99 S A V A N T 72 Sax 2 sback 36 sensor boards 102 Shannon, Claude 53 simultaneous play 110 Slater, Eliot 10 solving problems 78, 113 sound 7 10 Spassky 8 speech 7 7 7 sprev 36 Stean, Michael 62 step forward 7 75 ♦strategic 7 18 style o f play 7 13 swap board 7 14 swapoff 54

MacCracken, Dan 75 magic boards 104 mains/battery operation 109 MASTER 60 material values 7 McCarthy, John 75 messages 116 Michie, Donald 75 middle game, the, 95 minimax method 38 m obility 8 modular 109 move generation by square offset 3 move now 7 13 multi-move 115 Newborn, Monty 75, 119 next best move 113 Nunn, John 78 offering draws 108 openings, the 94 openings book 108 pawn promotion 107 pawn structure 25 percentage expectancy table 98 Pfleger, Helmut 76 PHILIDOR E X P E R IM E N TA L 73 ♦pinned 118 piece attack 27 piece defence 27 playing levels 111 playing strength 105 ♦ply 118 position representation 7 position verification 114 power-down memory 109 printer 7 10 ♦RAM 118 ♦rank 118

table driven move generation 5 ♦tactical 118 take back 7 75 ТаI 29, 80, 95 teaching moves 7 75 ♦tempo 118 Thompson, Ken 76 touch sensitive LCDs 104 transposition tables 60 Turing, Alan 76 understanding draws 107 user adaptable level 7 72 very similar positions 85 Vranesic, Zvonko 67 Wood, B.H. 86 X-ray attack 27 Yusupov 136 Zak 16 Znosko-Borovsky 76 zugzwang 81

128

Index of Players

BLITZ 6.5 v BELLE 77 Browne v CHESS 4.6 69 CHESS 4.6 v Day 65 CHESS 4.6 v Stean 62 CHESS 4.6 v Vranesic 67 CHESS 4.7 v Levy 88 Csom v Yusupov 86 Donchev v Semkov 23

F ID E L IT Y E X P E R IM E N T A L v PH ILID O R E X P E R IM E N TA L 73 Fischer v Spassky (game 6) 8 Gurgenidze v Tal 29 Levy v CHESS 4.7 90, 91 S A V A N T v CHESS CHAMPION Mk V 72

il

COMPUTERS/GAMES Take it from David Levy, the man who won every match he played against a computer for ten years. When it comes to today's computer games, the most challenging is an old favorite: chess! Now, in this up-to-the-minute, in-depth guide, he imparts intriguing knowledge about computer chess that's sure to make you a better player and a better programmer—whether you're a chess enthusiast, a computer buff, or both. This excursion into artificial intelligence describes all the principles of chess programming—w ith examples from actual games—so everyone can understand them. It explains how chess computers are programmed, including ways to represent pieces, generate and evaluate moves, and perform quick "search strategies'' that let the machine calculate a move's outcom e—as well as initiate many exciting game variations. You'll also learn many facts and techniques that w ill help you get the most from a chess computer: • insight into its current strengths and weaknesses (and how strong an opponent it could become) • how to use the chess com puter to rate, monitor, and dramatically improve your game • exactly ho w to play against it —and maybe even beat it! • exhaustive advice on what to look tor when buying a chess com puter • analysis o f some of the best man-versus-machine games ever played • and much more. In 1%8, International Master and professional chess writer David Levy bet four colleagues that he would not lose a match against a chess com puter for the next ten years. Then, in 1978, he played his final w inning match against the then-world champion: a machine called CHESS 4.7. Now chairman of Intelligent Software Ltd.—a computer software company in London, England — Levy has written innumerable magazine articles and more than thirty books, including five on com puter chess. Cover design by Debbie Naylor PRENTICE-HALL, Inc. Englewood Cliffs, New Jersey 07632

n