When the root's search at a depth fails high, the search that follows
runs one ply shallower for each fail high since the depth opened or last
failed low, and a fail low restores the full depth. The window schedule
is unchanged. The move a fail high names was the depth's answer after a
full depth re-search at 89 of 100 resolved fail-high depths on the games
suite at 100,000 nodes, and 22 of 25 on the bench, so that re-search was
spent mostly confirming it. Replayed one depth at a time from the same
state, the shorter re-search made the depths that fail high cheaper on
every position of both suites (a median of 0.53 and 0.55 of their nodes)
and answered a different move at 12 of 100 and 4 of 25 of them. Those
replays price one depth and not what the shallower answer leaves for the
next.
A depth can now be answered by a search up to three plies shallower than
its number: a side fails at most three times, and a window opens narrow
only from depth five, so no search runs under two plies. The protocol's
info line and the next window's centre take that answer as the depth's.
A shortened search stopped by the limits does not replace the floor the
fail high left, since its partial best comes from a shallower search. The
swap stays for a search at the full depth.
The switch is `fail_high_reduction`, on by default and off in the
reference, where the window alone changes only what a depth costs. It
rides on `aspiration`.
The fixed depth suites read the shallower answers, which is what the
positions were spent on: the tactical count falls from 228 to 217 of 300
at depth six, above the floor of 210 and more than the largest earlier
single step down (eight), and the strategic total from 104,298 to
102,482. The bench falls 10.2%, most of it in the middlegame (532,079 to
139,793), lucena, kiwipete and rook and pawns, with the sharp middlegame
up 34%. Two session tests that cut a search inside a depth's re-search
have their budgets moved to land inside the shortened one, and the one
that no longer reaches a swap is renamed for what it tests.
Elo: not measured
Bench: 9958190
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0133NvZMXKrttWcNCNU9xXjZ
When the root's search at a depth fails high, the search that follows
runs one ply shallower for each fail high since the depth opened or last
failed low, and a fail low restores the full depth. The window schedule
is unchanged. The move a fail high names was the depth's answer after a
full depth re-search at 89 of 100 resolved fail-high depths on the games
suite at 100,000 nodes, and 22 of 25 on the bench, so that re-search was
spent mostly confirming it. Replayed one depth at a time from the same
state, the shorter re-search made the depths that fail high cheaper on
every position of both suites (a median of 0.53 and 0.55 of their nodes)
and answered a different move at 12 of 100 and 4 of 25 of them. Those
replays price one depth and not what the shallower answer leaves for the
next.
A depth can now be answered by a search up to three plies shallower than
its number: a side fails at most three times, and a window opens narrow
only from depth five, so no search runs under two plies. The protocol's
info line and the next window's centre take that answer as the depth's.
A shortened search stopped by the limits does not replace the floor the
fail high left, since its partial best comes from a shallower search. The
swap stays for a search at the full depth.
The switch is
fail_high_reduction, on by default and off in thereference, where the window alone changes only what a depth costs. It
rides on
aspiration.The fixed depth suites read the shallower answers, which is what the
positions were spent on: the tactical count falls from 228 to 217 of 300
at depth six, above the floor of 210 and more than the largest earlier
single step down (eight), and the strategic total from 104,298 to
102,482. The bench falls 10.2%, most of it in the middlegame (532,079 to
139,793), lucena, kiwipete and rook and pawns, with the sharp middlegame
up 34%. Two session tests that cut a search inside a depth's re-search
have their budgets moved to land inside the shortened one, and the one
that no longer reaches a swap is renamed for what it tests.
Elo: not measured
Bench: 9958190
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_0133NvZMXKrttWcNCNU9xXjZ