Changes

Jump to: navigation, search

Transposition Table

1,953 bytes added, 12:13, 16 January 2020
no edit summary
<span id="KeyCollisions"></span>
==Key Collisions==
Key collisions or type-1 errors are inherent in using signatures with far less bits than required to encode all reachable chess positions. A key collision occurs when two different positions map the same hash key or signature <ref>[http://www.talkchess.com/forum/viewtopic.php?t=40062 TT Key Collisions, Workarounds?] by [[Clemens Pruell]], [[CCC]], August 16, 2011</ref> <ref>[http://www.talkchess.com/forum/viewtopic.php?t=44082 how to measure frequency of hash collisions] by [[Daniel Shawul]], [[CCC]], June 16, 2012</ref> . When storing only a partial key, the chance of a collision greatly increases. To accept only hits where [[Hash Move|stored moves]] are [[Pseudo-Legal Move|pseudo-legal]] decreases the chance of type-1 errors. On his computer chess page <ref>[http://www.cse.buffalo.edu/~regan/chess/computer/ Computer Chess - Hash Collisions in Chess Engines, and What They May Mean...] by [[Kenneth Wingate W. Regan]]</ref>, [[Kenneth Wingate W. Regan|Ken Regan]] broached on chess engine bugs, anomalies and hash collisions, and mentions a [[Shredder|Shredder 9.1]] game where a key collision might have caused a strange move <ref>[http://www.chessgames.com/perl/chessgame?gid=1352348 Pablo Lafuente vs Shredder (Computer) (2005)] from [http://www.chessgames.com/index.html chessgames.com]</ref> <ref>[http://www.chessbase.com/newsdetail.asp?newsid=2525 Current tournaments – Sanjin, Biel, Argentina, Israel], [[ChessBase|ChessBase News]], July 21, 2005</ref> .
<span id="bits"></span>
==Bits Required==
* [http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/77ec7b3a94555fb4/d8019f5c3716cd1a hash table fail high/fail low problem] by [[Robert Hyatt]], [[Computer Chess Forums|rgcc]], November 26, 1996
'''1997'''
* [httphttps://groups.google.com/groupd/msg/rec.games.chess.computer/browse_frm0sIKY_dfLUs/thread/d2c20a63f75f2d4b Qw9J1ECWeBoJ Hash functions for use with a transition table] by [[Tim Foden]], [[Computer Chess Forums|rgcc]], March 5, 1997» [[Transposition Table]]: [httphttps://groups.google.com/groupd/msg/rec.games.chess.computer/msg0sIKY_dfLUs/9b240379394bc968 aMlLOXkDJJsJ Re: Hash functions for use with a transition table] by [[Ronald de Man]], [[Computer Chess Forums|rgcc]], March 7, 1997 » [[BCH Hashing]]
* [http://groups.google.com/group/rec.games.chess.computer/browse_frm/thread/1d601e208c97c395 Handling of repetition (draw) in transposition table] by Bjarke Dahl Ebert, [[Computer Chess Forums|rgcc]], June 9, 1997 » [[Repetitions]]
* [https://www.stmintz.com/ccc/index.php?id=10317 double hash tables] by [[Chris Whittington]], [[CCC]], October 01, 1997
* [https://www.stmintz.com/ccc/index.php?id=10471 Hash collisions (was Re: Let's analyze move 36)] by [[Daniel Homan]], [[CCC]], October 08, 1997 » [[#Collisions|Collisions]]
* [https://groups.google.com/d/msg/rec.games.chess.computer/S70uojQGHNU/vU-xEHCfFl0J Using values from transition tables] by [[Tim Foden]], [[Computer Chess Forums|rgcc]], October 13, 1997
'''1998'''
* [https://www.stmintz.com/ccc/index.php?id=13810 Fast hash algorithm] by John Scalo, [[CCC]], January 08, 1998
* [http://www.talkchess.com/forum/viewtopic.php?t=33084 Zero window TT entry] by [[Vlad Stamate]], [[CCC]], March 05, 2010 » [[Null Window]]
* [http://www.talkchess.com/forum/viewtopic.php?t=33514 Null-move pruning and the hash table] by [[Robert Purves]], [[CCC]], March 28, 2010 » [[Null Move Pruning]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=34606 Crafty Transpostion Table Question] by [[Eric Stock]], [[CCC]], May 30, 2010 » [[Crafty]], [[Shared Hash Table#Lockless|Lockless Hashing]]
* [http://www.talkchess.com/forum/viewtopic.php?t=39481 TT behavior] by [[Karlo Bala Jr.]], [[CCC]], June 25, 2011
* [http://www.talkchess.com/forum/viewtopic.php?t=36099 working!] by [[Robert Hyatt]], [[CCC]], September 17, 2010 » [[Principal Variation#SeparateTT|Separate TT for the PV]]
* [http://www.talkchess.com/forum/viewtopic.php?t=41640 Mate score in TT] by [[Marco Costalba]], [[CCC]], December 28, 2011 » [[Score#MateScores|Mate Scores]]
'''2012'''
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=52138 Question on TT] by [[Giuseppe Cannella]], [[Computer Chess Forums|Winboard Forum]], January 06, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=41917 Stockfish hash implementation] by [[Jon Dart]], [[CCC]], January 10, 2012 » [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=42833 cache alignment of tt] by [[Daniel Shawul]], [[CCC]], March 11, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=43172 Hash table division] by [[Ed Schroder|Ed Schröder]], [[CCC]], April 05, 2012
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=43769 TT question?] by [[Fermin Serrano]], [[CCC]], May 19, 2012 » [[Quiescence Search]]
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=52394 hashtables] by [[Daniel Anulliero]], [[Computer Chess Forums|Winboard Forum]], May 22, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=44082 how to measure frequency of hash collisions] by [[Daniel Shawul]], [[CCC]], June 16, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=57255 most similar hashes of two positions] by [[Alexandru Mosoi]], [[CCC]], August 12, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=57348 The cost of transposition table instrumentation] by [[Steven Edwards]], [[CCC]], August 23, 2015
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=57634 atomic TT] by lucasart, [[CCC]], September 13, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=57603 Transposition table test positons] by [[Robert Pope]], [[CCC]], September 11, 2015 » [[Test-Positions]]
* [http://www.talkchess.com/forum/viewtopic.php?t=57924 Hash cache] by [[Harm Geert Muller]], [[CCC]], October 12, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=64021 Hash Tables Deep Blue] by Gustavo Mallada, [[CCC]], May 18, 2017 » [[Deep Blue]]
* [http://www.talkchess.com/forum/viewtopic.php?t=64274 Hash table] by [[Daniel José Queraltó]], [[CCC]], June 12, 2017
* [http://www.talkchess.com/forum/viewtopic.php?t=64522 Improving hash replacing schema for analysis mode] by [[Daniel José Queraltó]], [[CCC]], July 05, 2017 » [[Transposition Table#ReplacementStrategies|Replacement Strategy]], [[Persistent Hash Table]]
* [http://www.talkchess.com/forum/viewtopic.php?t=64564 TT aging] by [[Marco Pampaloni]], [[CCC]], July 09, 2017
* [http://www.talkchess.com/forum/viewtopic.php?t=64604 Equidistributed draft] by [[Alvaro Cardoso]], [[CCC]], July 14, 2017
* [http://www.talkchess.com/forum/viewtopic.php?t=64688 cutechess-cli: not restarting an engine because of tt] by [[Folkert van Heusden]], [[CCC]], July 22, 2017 » [[Cutechess-cli]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65327 Size of Transposition Table Entry] by [[Jason Fernandez]], [[CCC]], September 29, 2017
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=65903 TT in Qsearch] by [[Laurie Tunnicliffe]], [[CCC]], December 05, 2017 » [[Quiescence Search]]
* [http://www.talkchess.com/forum/viewtopic.php?t=66135 Transposition table based pruning idea] by [[Jerry Donald]], [[CCC]], December 25, 2017 » [[Pruning]]
* [http://www.talkchess.com/forum/viewtopic.php?t=66183 hashing in chess4j] by [[James Swafford]], [[CCC]], December 30, 2017 » [[chess4j]]
'''2018'''
* [http://www.talkchess.com/forum/viewtopic.php?t=66640 Marcel Duchamp endgame "splits" engines / hash phenomenon] by [[Kenneth Wingate W. Regan|Kenneth Regan]], [[CCC]], February 19, 2018 » [[:Category:Marcel Duchamp|Marcel Duchamp]]
* [http://www.open-chess.org/viewtopic.php?f=5&t=3170 Do You Track Hash Table Efficiency?] by OneMoreTime, [[Computer Chess Forums|OpenChess Forum]], April 07, 2018
* [http://www.talkchess.com/forum/viewtopic.php?t=67049 Mate scores in TT (a new?... approach)] by Vince Sempronio, [[CCC]], April 09, 2018
* [http://www.talkchess.com/forum/viewtopic.php?t=67102 Draw scores in TT] by [[Srdja Matovic]], [[CCC]], April 14, 2018 » [[Draw]], [[Score#DrawScore|Draw Score]]
* [http://www.talkchess.com/forum/viewtopic.php?t=67131 Depth extensions and effect on transposition queries] by [[Kenneth Jones]], [[CCC]], April 16, 2018 » [[Extensions]], [[Check Extensions]]
'''2019'''
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=69629 Playing transposition table moves in the Quiescence search] by [[Andrew Grant]], [[CCC]], January 17, 2019 » [[Quiescence Search]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70586 Prefetch and Threading] by [[Dennis Sceviour]], [[CCC]], April 25, 2019 » [[Memory]], [[Thread]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=70931 Hash collision?] by [[Tom King]], [[CCC]], June 05, 2019
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=71994 Looking for TT policy advice] by [[Vivien Clauzon]], [[CCC]], October 04, 2019 » [[#ReplacementStrategies|Replacement Strategy]]
* [http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72462 Probing the transposition table at depth 0] by [[Gonzalo Arro]], [[CCC]], November 29, 2019
=External Links=
* [https://en.wikipedia.org/wiki/Zobrist_hashing Zobrist hashing from Wikipedia]
* [https://en.wikipedia.org/wiki/G%C3%B6del_numbering Gödel numbering from Wikipedia]
* [http://www.cse.buffalo.edu/~regan/chess/computer/ Computer Chess - Hash Collisions in Chess Engines, and What They May Mean...] by [[Kenneth Wingate W. Regan]]
* [http://www.jamesswafford.com/2017/12/30/hashing-in-chess4j/ Hashing in chess4j] by [[James Swafford]], December 30, 2017» [[chess4j]]
* [[:Category:Tal Wilkenfeld|Tal Wilkenfeld]] - [https://en.wikipedia.org/wiki/Transformation_%28Tal_Wilkenfeld_album%29 Table For One], [https://en.wikipedia.org/wiki/YouTube YouTube] Video

Navigation menu