Alpha-Beta with Sibling Prediction Pruning in Chess
Total Page:16
File Type:pdf, Size:1020Kb
Alpha-Beta with Sibling Prediction Pruning in Chess Jeroen W.T. Carolus Masters thesis Computer Science Supervisor: Prof. dr. Paul Klint Faculteit der Natuurwetenschappen, Wiskunde en Informatica University of Amsterdam Netherlands 2006 1 Table of Contents Abstract..................................................................................................................................................... 4 Organization..............................................................................................................................................4 1 Introduction.............................................................................................................................................5 1.1 Chess computer history................................................................................................................... 5 1.2 Basics...............................................................................................................................................5 1.5 Complexity...................................................................................................................................... 7 2 Overview of search algorithms............................................................................................................... 8 2.1 Minimax.......................................................................................................................................... 8 2.2 Alpha-Beta.....................................................................................................................................10 2.3 Nega Max...................................................................................................................................... 11 2.4 Transposition tables (*).................................................................................................................13 2.5 Aspiration search (*)..................................................................................................................... 15 2.6 Minimal (Null) Window Search / Principle Variation Search (*).................................................15 2.7 Iterative deepening (*)...................................................................................................................16 2.8 Best first search (*)........................................................................................................................17 2.8.1 SSS*.......................................................................................................................................17 2.8.2 MTD(f).................................................................................................................................. 18 2.9 Forward pruning............................................................................................................................18 2.9.1 Null Move heuristic (*)......................................................................................................... 19 2.9.2 ProbCut .................................................................................................................................19 2.10 Move ordering (*)....................................................................................................................... 20 2.10.1 Killer heuristic..................................................................................................................... 20 2.10.2 Refutation tables.................................................................................................................. 20 2.10.3 History heuristic...................................................................................................................20 2.11 Quiescent search..........................................................................................................................20 2.12 Horizon effect..............................................................................................................................21 2.13 Diminishing returns.....................................................................................................................22 2.14 Search methods measured........................................................................................................... 22 3 Sibling Prediction Pruning Alpha-Beta.................................................................................................24 3.1 Evaluation function....................................................................................................................... 24 3.2 Maximum difference..................................................................................................................... 26 3.3 SPP Alpha-Beta.............................................................................................................................27 3.4 Expected behavior......................................................................................................................... 30 3.4.1 Evaluation function and MPD............................................................................................... 30 3.4.1 Move ordering....................................................................................................................... 31 3.4.2 Stacking................................................................................................................................. 32 3.4.3 Balance and material..............................................................................................................32 4 Test setup.............................................................................................................................................. 32 4.1 Search algorithms for comparison.................................................................................................33 4.2 Evaluation function dependencies.................................................................................................33 4.3 The test set.....................................................................................................................................34 4.3.1 The positions..........................................................................................................................34 4.4 Measurements................................................................................................................................35 2 4.5 Correctness.................................................................................................................................... 35 4.6 Testing environment & software used...........................................................................................36 5 Results...................................................................................................................................................36 5.1 Exceptional results........................................................................................................................ 37 5.2 Presentation & Interpretation of the results...................................................................................37 5.2.1 AB vs SPP............................................................................................................................. 38 5.2.2 ABT vs AB............................................................................................................................ 38 5.2.3 SPPT vs SPP..........................................................................................................................38 5.2.4 SPPT vs ABT.........................................................................................................................39 5.3 Correctness............................................................................................................................... 39 6 Conclusions...........................................................................................................................................39 7 Future investigation...............................................................................................................................40 Acknowledgments...................................................................................................................................41 Abbreviations.......................................................................................................................................... 41 References & Bibliography.....................................................................................................................42 Appendix A, Test Results........................................................................................................................ 44 Appendix B, Positions of the test set....................................................................................................... 51 3 Abstract A lot of computation time of chess computers is spent in evaluating leafs of the game tree. Time is wasted on bad positions. In this research, a method that predicts the maximum evaluation result of sibling chess positions is defined. The idea is to prune brothers of a bad position without information loss. The resulting algorithm is a forward pruning method on leafs of the game tree, which gives correct minimax results. A maximum positional difference of the evaluation function on siblings must be correctly measured or assessed for the algorithm to work properly. The results of this thesis