Computational Intelligence Series Editor: Wolfgang Bibel · Rudolf Kruse · Bernhard Nebel Ernst A. Heinz Scalable Search in Computer Chess Algorithmic Enhancements and Experiments at High Search Depths Ernst A. Heinz Scalable Search in Computer Chess Computational Intelligence edited by Wolfgang Hillel and Rudolf Kruse The books In.this series conthDute to the long-"r~nge goal pfumlerstanrung and rea lizing intelligent behaviour in some envIronment. 'Thus t!;ley' covertopics from the disCiplines ofArtificial1ntetl,genceandCogni!:tve Science, combined also caJled In- ' tellectics, as well as from fierds interdJsciplinarilyieJ:at'ed with these. Computati(}' nallnteUigence cOmprises ba~ic k~Owledge as'wellas applications. Das rechnende Gehlrn by Patricia S. Church land 'lnd Terrence:r. Sejnows~i Neuronale Netze und Fuzzy..systeme by DetlefNauck,Frank Klawonn and Rudolf Kruse Fuzzy-Clusteranalyse by Frank Hoppner,. Frank KlaW\Jnn.and Rudol f Kruse Elnfiihrung In Evolutloniire,Algorlthmen by Volker Nissen Neuronale Netze by Andreas Scher.er Sehen und die Verarbeltung~vl.ueller Informatlonen by Hanspeter A. Mallo! Betriebswlrtscbaftllche.Anwendungen des Soft Computing by Biethabn et al. (Ed.) Fuzzy Theorle und Stochastlk by Rudolf Seising (Ed.) MultiobJecflve Heuristic Search by Pallab Dasgupta, P. P. Chakrabarti and S. C. DeSarkar The Efflclence ofTheorem Proving Strategies by David A. Plaisted an~ Yunshan Zhu Scalable Search in Computer Chess by Ernst A. Heinz Among others the following books were published in the series of ArtiRciallntelligence Automated Theorem Proving by Wolfgang Bibel (out of print) Fuzzy Sets and Fuzzy Logic Foundation of Application - from a Mathematical Point of View by Siegfried Gottwald . . Fuzzy Systems In Computer Science edited by Rudolf Kruse, Jorg G'ebhard arid {{ainerPalm Automatlsche Spracherkennung by Ernst Gunter Sthukat-Talamazzinl ; Deduktive Datenbanken by Armin B. Cremers, UJrike Grielhahn and RaJf Hinze Wissensreprasentation und Inferenz l by Wolfgang Bibel, Steffen Holldobler and Torsten ~Chaub . Ernst A. Heinz Scalable Search in Computer Chess Algorithmic Enhancements and Experiments at High Search Dephts I I vleweg Die Deutsche Bibliothek - CIP-Cataloguing-in-Publication-Data A catalogue record for this publication is available from Die Deutsche Bibliothek (http://www.ddb.de ) ISBN 978-3-528-05732-9 ISBN 978-3-322-90178-1 (eBook) DOI 10.1007/978-3-322-90 I 78-I Authors adress: [email protected] 1s l Edition 2000 All rights reserved © Springer Fachmedien Wiesbaden 2000 Originally published by Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, Braunschweig/ Wiesbaden,in 2000. No part of this publication may be reproduced, stored in a retrieval system or transmitted, mechanical, photocopying or otherwise without prior permission of the copyright holder. Printed on aCid-free paper v Preface This book presents the results of our past two-and-a-half years of research aimed at increasing the scalability and performance of game-tree search in computer chess. We elaborate on our respective works in the areas of (I) selective forward pruning, (II) the efficient application of game-theoretical knowledge, and (III) the behaviour of the search at increasing depths. The broad range of topics covered by the three distinct parts of the book seek to provide interesting material for everybody interested in the field of "Compu tational Intelligence", regardless of their individual focus (researcher, student, or other). The text does not require readers to know about chess and computer game-playing beforehand. The initial chapter entitled "Computer-Chess Primer" introduces all the necessary basics and fundamentals thereof. The remaining chapters, however, go far beyond those topics. They show how to make sophisticated game-tree searchers still more scalable at ever higher depths. Throughout the whole book, our high-speed and master-strength chess program DARKTHOUGHT serves as a realistic test vehicle to conduct numerous experiments at unprecedented search depths. The extensive experimental evalu ations provide convincing empirical evidence for the practical usefulness of the techniques presented by us. These results will certainly be of special interest to researchers and programmers of computer strategy-games alike (chess, checkers, Go, and Othello in particular). Last but not least, I like to mention that I am most grateful to the series editors for offering me the opportunity to publish my book under their auspices. Ernst A. Heinz - September 1999 VII Thanks • Prof. Dr. Walter F. Tichy remained committed to serve as my supervisor and provided continued support even after I switched topics from parallel com puting to computer chess in late 1996. From him I learned how to contribute to science and how to embrace the scientific community. • Prof. Dr. T. Anthony Marsland agreed to serve as my co-supervisor although he hardly knew me at the time of my request. In the end, he even shortened his personal holidays for the sake of letting me schedule my thesis defence smoothly. • Prof. Dr. Jaap van den Herik superbly edited my articles in the ICCA Jour nal. Our most pleasant and constructive cooperation markedly improved the quality of my writing. • Markus M. Gille dedicated much of his spare time to improve the implemen tation of our chess program DARKTHOUGHT. • Pawel Lukowicz and I first met in October 1987, shortly before our first term in Computer Science began at the University of Karlsruhe. We then lived together in the same flat for 6 years, earned our M.Sc. degrees together in early 1992, worked together in the same bureau for 7 years, and finally finished our Ph.D. studies together in mid-1999. We always had fun together and our fruitful discussions mostly clarified topics to the very last detail. • My parents Jutta Heinz and Prof. Dr. Ernst Heinz shielded me against hardship throughout my whole life. • Marianne J. S. Hardt makes it all worthwhile. She cheered me up when I was down although she had to endure my countless days of late-night work on computer chess during the past years. VIn Acknowledgements • A.s.E. GmbH loaned additional RAM for free during the 13th World Micro computer-Chess Championship (October 1995) and a 433 MHz DEC Alpha- 21164a PC-l64 workstation for free during the 14th World Microcomputer Chess Championship (October 1996). • DELTA Computer Products GmbH loaned a 500 MHz Compaq Alpha-21264 XP-lOOO workstation with 1 GB SDRAM for free during the 9th World Computer-Chess Championship (June 1999) and the 16th World Micro computer-Chess Championship (June 1999) thanks to the courtesy of Heinz Dieter Schutt, then Chief Marketing Officer of DELTA. • Digital Equipment Corp. (DEC) paid for two 500 MHz DEC Alpha-21164a PC-l64 workstations in March 1997 under external technology research con tract DE-0032-97 entitled "Optimization and Fine-Tuning of a Sophisticated Tree-Searching Application for 64-bit Alpha CPUs" as negotiated by the courtesy of Dr. Frank Severin, then Head of Digital's External Technology Group Europe. • Digital Equipment Corp. 's Workstation Division (in close collaboration with KryoTech Inc., see below) shipped a cooled 767 MHz Alpha-21164a Digital Personal Workstation prototype with 512 MB SDRAM from the USA to France and back for use by DARKTHOUGHT during the 15th World Micro computer-Chess Championship (October 1997). Together with the prototype they sent Jeff Forsythe over to Paris to attend the week-long championship where he provided superb service to anybody who needed help. Furthermore, Digital Equipment Corp. shipped an identically equipped 600 MHz Alpha- 21164a workstation from the USA to Germany for the final preparations of our team. Digital Equipment Corp. did all of the above for free thanks to the courtesy of Ron Locklin, then Vice President of Digital's World-Wide Workstation Marketing Division. • KryoTech Inc. (in close collaboration with Digital Equipment Corp., see above) provided a cooled 767 MHz Alpha-21164a Digital Personal Worksta tion prototype for use by DARKTHOUGHT during the 15th World Micro computer-Chess Championship (October 1997) thanks to the courtesy and greatly appreciated personal efforts of Rob diGiacomo, then Executive Vice President and Chief Marketing Officer of KryoTech Inc. Acknow ledgements IX • Sun Microsystems Inc. donated a 167 MHz UltraSparc Creator workstation for program development and 64-bit Sparc V9 benchmarking in February 1996 due to the courtesy of Eckhard Schaumann, then Head of Sun's German University Cooperation Unit. • The Gunther & Ingrid Schroff Foundation (administered by the Chancellor of the University of Karlsruhe), the Karlsruher Hochschulvereinigung, and the Institute for Program Structures and Data Organization (IPD, Chair Prof. Tichy) awarded several generous travel grants on the occasions of tour nament participations from the 8th World Computer-Chess Championship (May 1995) onwards. • The Institute for Program Structures and Data Organization (IPD, Chair Prof. Tichy) at the University of Karlsruhe provided abundant computing resources for our exclusive use throughout the whole work. Without these plentiful resources our extensive experiments with DARKTHOUGHT would have been impossible to undertake. • The International Computer-Chess Association (ICCA) paid for our air fares from Germany to Indonesia on the occasion of the 14th World Micro computer-Chess Championship (October 1996). • The editorial staff of the ICCA Journal provided outstanding cooperation and superb editing of my published material. • Peter W. Gillgasch, a former co-founder of IPD's computer chess group, belonged to the DARKTHOUGHT team until April 1996. His various con tributions are highly appreciated until today. As described in Section A.2 "Implementation History", DARKTHOUGHT still contains some source code written by Peter. • Andreas Junghanns from the University of Alberta (Canada) provided the detailed self-play results of the game-playing programs CHINOOK, KEYANO, PHOENIX, and THE TURK in electronic form. XI Contents Summary and Contributions 1 0 Computer-Chess Primer 7 0.1 The Game of Chess. . · . 7 0.2 Basic Search Techniques · . 11 0.2.1 Minimax and N egamax 11 0.2.2 Alpha-Beta · .. 13 0.2.3 Minimal-Window Search . 16 0.2.4 Quiescence Search 17 0.3 Advanced Search Techniques 20 0.3.1 Search Extensions 20 0.3.2 Transposition Tables 22 0.3.3 Move Ordering 22 0.3.4 Iterative Deepening 23 0.3.5 Aspiration Search 24 0.3.6 Forward Pruning . 24 I Forward Pruning without Tears 1 Adaptive Null-Move Pruning 29 1.1 Introduction. · . · . 29 1.2 Related Work . · . · . 31 1.3 Standard Null-Move Pruning 32 1.4 Recursively Adaptive Null-Move Pruning 34 1.4.1 Theory 35 1.4.2 Practice · . 36 1.5 Conclusion · . · . · . 39 1.6 Appendix - Experimental Setup 40 2 Extended Futility Pruning 41 2.1 Introduction. . . · . 41 2.2 Normal Futility Pruning 42 2.2.1 Theory · . · . 42 2.2.2 Practice · . · . 44 2.3 Futility Pruning at Pre-Frontier Nodes 44 2.3.1 Theory 44 2.3.2 Practice 45
Description: