Enhanced Transposition Cutoff

Home * Search * Transposition Table * Enhanced Transposition Cutoff



Enhanced Transposition Cutoff (ETC) , an attempt to get a cutoff from the transposition table, even though an entry may not exist for the current position. Entries may exist for children of the current position and one of these could be used to produce a cutoff without having to expand the current node. This is done by looping over the legal moves calculating the hash keys and doing a transposition table lookup with them in the hopes that one of these will produce the desired cutoff. One enhancement of this idea is to try only the strongest moves, perhaps the first several that are deemed to have potential.

In cases where a cutoff cannot be found, a fairly substantial amount of time is wasted, so in general it should not be applied at shallow depths of the tree where the small sub-tree savings may not justify the extra work. Example code for Enhanced Transposition Cutoff is rather difficult to find. One possible source is Fruit version 1.5. However, this technique is not used since version 2.0, as tests have shown that it hurts Fruit's strength.

=Maximizing Transpositions= Quote from Aske Plaat, Jonathan Schaeffer, Wim Pijls and Arie de Bruin in Nearly Optimal Minimax Tree Search? : The reduction in search tree size offered by ETC is, in part, offset by the increased computation per node. For chess and checkers, it appears the performing ETC at all interior nodes is too expensive. A compromise, performing ETC at all interior nodes that are more than 2 ply away from the leaves, results in most of the ETC benefits with only a small computational overhead. Thus, ETC is a practical enhancement to most Alpha-Beta search programs.

We also experimented with more elaborate lookahead schemes. For example, ETC transposes the right portion of the tree into the left. ETC can be enhanced to also transpose from left to right. At an interior node, look up all the children’s positions in the transposition table. If no cutoff occurs, then check to see if one of the children leads to a position with a cutoff score that has not been searched deep enough. If so, then use the move leading to this score as the first move to try in this position. Unfortunately, several variations on this idea failed to yield a tangible improvement.

=See also=
 * Beta-Cutoff
 * Repetitions
 * Transposition

=Publications=
 * Aske Plaat, Jonathan Schaeffer, Wim Pijls, Arie de Bruin (1994, 2014). Nearly Optimal Minimax Tree Search? Technical Report, University of Alberta, arXiv:1404.1518
 * Aske Plaat, Jonathan Schaeffer, Wim Pijls, Arie de Bruin (1996). Exploiting Graph Properties of Game Trees. AAAI-96

=Forum Posts=

1995 ...

 * Hash Table test (re: move ordering) by Robert Hyatt, rgcc, February 8, 1996
 * Trick Marsland by Robert Hyatt, rgcc, February 15, 1996
 * Tree search issues! by Magnus Heldestad, rgcc, May 26, 1997 » MTD(f)
 * Re: Tree search issues! by Robert Hyatt, rgcc, May 26, 1997
 * Re: Tree search issues! by Aske Plaat, rgcc, May 27, 1997


 * ETC hashing discussion by Robert Hyatt, rgcc, May 28, 1997
 * Enhanced Transposition Table Cutoffs by Andrea Zinno, rgcc, July 30, 1997
 * Enhanced Transposition Cutoff by Peter Fendrich, CCC, May 18, 1998
 * ETC by Daniel Homan, CCC, August 17, 1999

2000 ...

 * Programmers: ETC by Peter McKenzie, CCC, February 13, 2003
 * Enhanced Transposition Cutoff by Stuart Cracraft, CCC, July 28, 2004

2005 ...

 * Enhanced Transposition Cutoff by kongsian, CCC, April 10, 2007
 * Enhanced Transposition Cutoff by hcyrano, CCC, November 11, 2008

2010 ...

 * Mult-cut, SE and ETC by Ricardo Gibert, CCC, August 05, 2010 » Multi-Cut, Singular Extensions

=References=

Up one Level