Changes

Jump to: navigation, search

Mac Hack

416 bytes added, 15:00, 17 July 2020
no edit summary
Mac Hack VI was the first chess program which uses a [[Transposition Table|transposition table]], but not yet [[Iterative Deepening|iterative deepening]]. It regular searched five plies plus [[Quiescence Search|quiescence search]] and a conditional intermediate layer if own pieces were [[En prise|en prise]].
In his 1970 paper ''A New Hashing Method with Application for Game Playing'' <ref>[[Albert Zobrist]] ('''1970'''). ''A New Hashing Method with Application for Game Playing''. Technical Report #88, Computer Science Department, [https://de.wikipedia.org/wiki/University_of_Wisconsin%E2%80%93Madison The University of Wisconsin, Madison]], reprinted ('''1990''') in [[ICGA Journal#13_2|ICCA Journal, Vol. 13, No. 2]], [http://www.cs.wisc.edu/techreports/1970/TR88.pdf pdf]</ref>, where he introduced [[Zobrist Hashing|Zobrist hashing]], [[Albert Zobrist]] mentions a possible hashing method to obtain an integer which describes the board configuration, and then to [https://en.wikipedia.org/wiki/Division_algorithm divide] the integer by the hash table size and use the [https://en.wikipedia.org/wiki/Remainder remainder] as hash address and the [https://en.wikipedia.org/wiki/Quotient quotient] as key. However, the integer which describes the board may occupy many computer words, and the divide will be complicated and slow. Further the quotient may occupy several words as well, thus most of the transposition table would be occupied by these keys if [[Transposition Table#KeyCollisions|type 1 errors]] were to be avoided. While Zobrist mentions Mac Hack VI used a 32K hash table, he does not made it explicit that Mac Hack used this divide technique.  More recently, [[Robert Hyatt]], who had a chance to talk with Greenblatt several times, mentioned Mac Hack's hash function used a series of xor operations on occupied squares <ref> [http://www.talkchess.com/forum3/viewtopic.php?f=10&t=73644&start=50 Re: What are you allowed to learn from a GPL engine (eg. Stockfish) ?] by [[Robert Hyatt]], [[CCC]], June 02, 2020 (Engine Origins requires registration)</ref>.
=<span id="TypeB"></span>Type B=

Navigation menu