This is a temporary, read-only recovery of the chessprogrammingwiki while a longer-term plan is worked out. Editing is not possible right now, but will be again soon.
Chess Programming Wiki All pages Other namespaces

RankCut

Home * Search * Selectivity * Reductions * RankCut

Korean Rank badge 1Korean Rank badge 1


  1. Korean Rank badge, 1850-1900, V&A Museum (no. FE.272-1995), Wikimedia Commons↩︎

RankCut,
a probability based depth reduction technique introduced by Yew Jin Lim and Wee Sun Lee in 2006 1. It estimates the probability of discovering a better move later in the search by using the relative frequency of such cases for various states during the search. These probabilities are pre-computed off-line using several self-play games. RankCut can then reduce search effort by performing a shallow search when the probability of a better move appearing is below a certain threshold. RankCut requires good move ordering and fail-soft to work well. Further elaborated by Yew Jin Lim in his 2007 Ph.D. thesis 2, RankCut was successfully implemented with Crafty and Toga II.

Contents
  1. RankCut Pseudocode
  2. Crafty
  3. See also
  4. Publications
  5. External Links
  6. References

RankCut Pseudocode

3

RankCutReSearch = false;

int RankCut(State & state, int α, int β, int depth) {
  if ((depth == 0) || isTerminal(state))
    return Evaluate(state);
  pruneRest = false;
  score = −∞;
  while (move = NextMove(state) ) {
    r = 0;
    features = determineFeatures(state);
    if (pruneRest || (probability(features) < threshold) ) {
      r = depthReduction(state);
      pruneRest = true;
    }
    score = −RankCut(successor(state, move), −β, −α, depth−1−r);
    if (RankCutReSearch && (score > α) && pruneRest)
      score = −RankCut(successor(state, move), −β, −α, depth−1);
    if (score ≥ β )
      break;
    if (score > α) {
      pruneRest = false;
      α = score;
    }
  }
  return score;
}

Crafty

In the case of Crafty 19.19, The probability computation considers following features:

See also

Publications

References

Up one level


  1. Yew Jin Lim, Wee Sun Lee (2006). RankCut - A Domain Independent Forward Pruning Method for Games. AAAI 2006↩︎

  2. Yew Jin Lim (2007). On Forward Pruning in Game-Tree Search. Ph.D. thesis, National University of Singapore↩︎

  3. based on pseudocode pp. 90 in Yew Jin Lim (2007). On Forward Pruning in Game-Tree Search. Ph.D. thesis, National University of Singapore, pdf↩︎

What links here

Contributors: GerdIsenberg.