AtomicDB

Sign in Register

Repetition

A line that comes back to a position it has already been through counts as a draw (value 0). But that only applies along the line you are playing, never to the position itself.

Why repetition belongs to a line

  • The same position can be reached by different move orders (a transposition). AtomicDB stores it once: positions are deduplicated by FEN with the move counters erased.
  • So the explorer is a transposition graph, not a tree, and the graph itself cannot say that a position occurred twice. Only a walk through it can.
  • A repetition therefore belongs to a path, not to a position. The same position reached by another move order is not a repetition, and nothing stored on the position says otherwise.
  • The repetition chip appears when the line you are currently playing revisits a position it has already been through.

What a repetition is worth

  • A line that returns to a position it has already been through contributes exactly 0 where it returns, with zero quality.
  • Zero is what the line is worth. Zero quality is what the claim deserves: nobody has ever searched whether the repetition is forced, so it is an assertion about a walk over pointers (the stored moves), not a measurement.
  • Every position on the way back still chooses among all of its moves. The side that does not want the draw leaves the loop wherever it has something better, and the side that can play the repeating move itself is never worse off than that draw.
  • A loop is never worth more than its best way out.
Exact rules for loops
  • Between two moves worth the same, a move whose chain of backed moves reaches a real analysis wins over one whose chain runs into a loop, and that one over a move that comes back to the position itself.
  • No position is left standing round a loop that one of its positions can leave for the same value.
  • A returning line is only worth its value because somebody leaves the loop later, so the move that leaves is the one a position stands on and recommends. Following the best move does not go round a loop it could leave.
  • Nor is a loop ever worth more than its best way out: the moves that only go round it bring no value of their own, nor does a move whose line runs straight back into it. A loop nobody wants to leave is a draw, and the distance shown is counted from the way out.

When a repetition can decide a position

  • It can never settle a position that is not fully covered. While replies nobody has opened are still there, "the mover has nothing better than repeating" is a guess, not a verdict. The position keeps its own measure and buys the analysis that answers the question either way.
  • Where the coverage is complete, a 0 that wins against fully analysed siblings is a real drawing line, and a parent standing on it is standing on the truth.
  • A position published on a repetition draw shows that same draw on the row it comes from, wearing the repetition chip. A header quoting a draw that no row displays would be a bug.
  • Repetitions are switched off in navigation, not merely labelled. A move that would re-enter the line you are playing shows as a disabled row with the chip.
  • A stored line is shown only up to its first self crossing. Reach that position through the line above it instead.

← Backed values The queue →