Faster, but not stronger
Listen to this post6 min
Created by AI from the text of this post and read by a synthetic voice; not a word-for-word version, and it may contain errors.
Loading…
Created by AI from the text of this post and read by a synthetic voice; not a word-for-word version, and it may contain errors.Position and speed stay in this browser and are sent nowhere.
The recording could not be played. Open the audio file
Our last entry, "Forty-two hours, seven verdicts", reported passes and rejections for Coherent, the engine of Coherent Chess. It ended with a rejection, and the three runs after it were rejected too: four in a row. Between 2026-10-06, 10:10 UTC, and 2026-10-07, 05:19 UTC, the oracle played about 66,000 games for them, and none of the four changes made it into the engine. One of them is instructive: it was meant to make the engine faster, passed the first stage, then showed no gain in the second. The figures come from the oracle register; each run has its own run page with its results per stage.
A faster engine that did not win more
This change altered no chess knowledge. The engine's evaluation network keeps running sums that are updated move by move. A constant offset used to be added to these sums every time the network was evaluated; now the sums start with it already included. That saves a little arithmetic on every evaluation; the register contains no measurement of the speed itself. Given the same number of positions to search, the engine makes exactly the same decisions as before, according to the author's comparison on an earlier base version.
The short stage passed. The long stage reached the opposite verdict. The two intervals do not even overlap.
| Stage | Time per game + per move | Games | Duration | Result against the predecessor (Elo) |
|---|---|---|---|---|
| Short | 8 s + 0.08 s | 4,066 | 30 minutes | +8.63 ± 4.56 |
| Long | 40 s + 0.4 s | 20,386 | more than 13 hours | −0.44 ± 2.07 |
Why there is a second stage
Short and long stage of the 6 runs that got that far: only T-0164 fell to zero. Short stage, 8 s + 0.08 s per move, with 95 % half-width: T-0157 27.07, T-0158 2.75, T-0159 1.55, T-0161 3.07, T-0162 3.49, T-0164 8.63; Long stage, 40 s + 0.4 s per move, with 95 % half-width: T-0157 22.39, T-0158 9.58, T-0159 4.05, T-0161 5.83, T-0162 5.49, T-0164 -0.44.
A stage plays until the evidence for one of two hypotheses, "no gain" or "a small gain", reaches its bound. A test that stops as soon as it reaches its upper bound reports, on average, too large a gain. Our method entry puts this bias at about 1 to 2.5 Elo Strength difference to the opponent, estimated from the games, with a 95-percent half-width where the oracle reported one. Never an absolute rating. for real gains, and higher when the true gain is near zero. The faster-engine run stopped early in the short stage. That can explain part of the gap.
The rest, these games cannot settle. Perhaps the short stage was lucky. Perhaps a small saving in time counts for less when each move has five times as long. The two stages also use different opening books. What the register does show is that the long stage was not a formality: of six runs measured under the new conditions that reached it, five passed it and one did not. The last run under the old conditions fared the same way: its long stage came out lower than its short stage, and it was rejected. Among the five that passed, the long stage came out higher than the short one in four; that says little, because they are exactly the runs that passed.
The rule stays simple: a run passes only if both stages pass. The faster-engine change stays out of the engine.
A run passes only if both stages pass: 1. Short stage (8 s per game + 0.08 s per move) passed? (yes: go on; no: Rejected in the short stage); 2. Long stage (40 s per game + 0.4 s per move) passed? (yes: go on; no: Rejected in the long stage); 3. Run passes.
The other rejections
The first was described in the last entry: two shortcuts in a pruning margin, restricted to positions where no own piece is attacked by a cheaper enemy piece.
The second concerned search depth. When the parent reduced a child's search depth, the child could adjust that depth itself. If the reduction was at least three plies and, by static evaluation, the move had not weakened the side that made it, the child searches one ply deeper. If by static evaluation the move had cost that side more than 120 centipawns, a reduced child searches one ply less. The two thresholds were starting values chosen by the author, not tuned.
The third exempted one kind of capture from two pruning rules in the main search: capturing an enemy passed pawn that has reached the sixth or seventh rank. A quick exchange count only sees the material, not the promotion that the capture prevents. The author had named the risk beforehand: the rule also covers passed pawns that are already blocked or controlled, and could open expensive lines of search. Close to zero: no measurable gain, no measurable loss.
| Change | Games in the short stage | Result (Elo) |
|---|---|---|
| Pruning-margin shortcuts | 9,816 | −2.44 ± 3.53 |
| Depth adjustment by the child | 9,144 | −2.74 ± 3.67 |
| Capture of an advanced passed pawn | 22,462 | −0.34 ± 2.31 |
None of these three verdicts proves that the change does harm; all three intervals include zero. Each means the evidence favoured "no gain" over "a small gain", and the test is built to stop there.
The tally
Since the measurement conditions changed on 2026-10-04, the oracle has measured ten runs with games under the new conditions. Half of them passed and half were rejected: four of the five rejections came in the short stage and one in the long stage. Rejected runs leave the engine as it was and add nothing to the estimate of playing strength on the run pages; its latest value is still the one after the sixth of the ten runs, the last that passed before these four rejections.
Five passes followed by four rejections is not a turning point, just as the five passes were not a trend. Most ideas for a strong engine do not survive measurement, and a rejection costs games and time, not strength.