Machine Unique Chess

What I found in the positions

I used Stockfish and Maia to look for strong moves that a model of human play rarely chooses. That gave me a collection of positions to study, and eventually this trainer.

Here are the examples, the selection method, and the checks that changed my interpretation. I don’t yet know whether practicing these positions improves play in new ones; that needs a controlled study.

Where the project stands

The trainer you can use
320 positions from the original collection: four examples and 36 practice positions in each of eight groups. The expanded collection below has not replaced this material. Try a group.
The expanded collection
248,810 observations: 124,405 White to move and 124,405 Black to move. The completed first screen identified 4,345 distinct candidate positions. How I assembled and screened them.
The deeper checks
Every legal move has been checked at depths 20 and 24 in all 4,345 candidates. 1,398 retained the full selection criterion. New candidates still need chess review and explanations before joining the trainer. Read the full depth checks.
Adding the preceding moves
The paired context audit is complete for 96 selected development positions; 83 retained the full criterion with real history. What changes with history.
The first fresh-data analysis
Saved model predictions cover 64/64 selected source-game moves. The original bounded run stopped for review with 2 incomplete root searches. Coverage and exclusions.
A separate longer-budget check
The supplemental searches are complete for 2 originally capped development roots. Separate results and limits.

Full-run status comes from the published snapshot dated . This page is not a live progress feed.

Three positions to look at

I chose these examples because the lines help explain the moves. Each was checked at Stockfish depth 20, with at least 70 centipawns between its first two choices. They aren’t part of the random audit below. Each also has a second position from a different game to practice on; those pairs haven’t been tested as a measure of learning.

Look beyond the advancing pawn

Black has a pawn on a3. Would you push it, or improve another piece first?

Black to move. Choose a move before opening the answer.

r . . . r . . .
. . . . . p k .
. . . b . . p p
. N n P . . . .
. . P . p . . P
p p P . P . . .
. . . . . . P .
R B . R . . K .
Show the answer and continuations

Stockfish chooses Nb7. Maia-2 at 1900 favours a2 (model probability 39.1%).

Depth-20 evaluation from black's perspective: engine move +3.87, Maia's favourite +0.28 pawns. These are search estimates.

Engine continuation: Nb7 · h5 · gxh5 · Nxd6 · Nxd6 · c5 · b2 · Ra2 · Nb5 · d6.

After Maia's favourite: a2 · Nxd6 · Reb8 · Nb5 · Ra4 · d6 · Nd3 · Bxd3 · exd3 · Rd2.

Read the explanation

Maia's favourite is the direct pawn push ...a2. The engine instead retreats the knight from c5 to b7, where it protects the bishop on d6. In the engine line, Nxd6 can now be answered by ...Nxd6; after the immediate pawn push, White takes on d6 without that knight recapture. The retreat has a concrete defensive purpose. It does not establish that all positions in this group share one new concept.

Practice Pattern 1

Consider the pawn move before the capture

The bishop can capture the knight on e5. Is that the move you would choose?

Black to move. Choose a move before opening the answer.

r n b q r . k .
p . p . . p p .
. p . b . n . p
. . . P N . . .
. . P P . p . .
. . N . . . . .
P P . . B . P P
R . B Q . R K .
Show the answer and continuations

Stockfish chooses g5. Maia-2 at 1900 favours Bxe5 (model probability 90.3%).

Depth-20 evaluation from black's perspective: engine move -1.18, Maia's favourite -2.70 pawns. These are search estimates.

Engine continuation: g5 · Bf3 · a5 · b3 · Qe7 · Nb5 · Bf5 · Qd2 · Nbd7 · Bb2.

After Maia's favourite: Bxe5 · dxe5 · Rxe5 · Bxf4 · Re8 · Qd3 · Na6 · Qg3 · Bf5 · Bxh6.

Read the explanation

Maia strongly favours ...Bxe5. Stockfish prefers ...g5, which supports Black's pawn on f4. In the alternative line, ...Bxe5 dxe5 ...Rxe5 Bxf4 lets White take the undefended f4-pawn. The pawn move changes that tactical detail: a bishop taking on f4 would face ...gxf4. This is one concrete difference to inspect in the continuations, not a complete explanation of the engine evaluation. A quiet move can have a tactical purpose.

Practice Pattern 4

A rook move while the knight is attacked

White's f3-pawn attacks the knight on g4. Does Black have to move that knight?

Black to move. Choose a move before opening the answer.

r . . . . . k .
. . . R p p . p
p B n p . . p .
. . . . . . . .
. . P . P . n .
. . b . . P . .
P . . . B . P P
. . . . . R K .
Show the answer and continuations

Stockfish chooses Rb8. Maia-2 at 1900 favours Nge5 (model probability 53.5%).

Depth-20 evaluation from black's perspective: engine move -0.60, Maia's favourite -3.14 pawns. These are search estimates.

Engine continuation: Rb8 · fxg4 · Rxb6 · Kh1 · Kf8 · Rc7 · Bd4 · Bd1 · h6 · Rc8+.

After Maia's favourite: Nge5 · Rb7 · Nd4 · Kf2 · Ne6 · Be3 · Nc6 · Rfb1 · Rc8 · Bd1.

Read the explanation

Maia's favourite, ...Nge5, moves the attacked knight. Stockfish chooses ...Rb8, putting the rook on the same file as White's bishop on b6. In the saved continuation, ...Rxb6 follows fxg4. This illustrates a concrete trade-off to calculate, not a general rule to leave pieces attacked.

Practice Pattern 6

What “machine unique” means here

I use “machine unique” as shorthand for this filter. It doesn’t mean the move is impossible for a person to find. A position qualifies when Stockfish 17.1 at depth 16 gives its chosen move an evaluation at least 100 centipawns above Maia-2's favourite at 2000, and Maia-2 assigns the engine move at most 5% probability at each of 1100, 1400, 1700, and 2000.

This filter selected 5,155 of 123,405 positions (4.18%) across nine mining batches. Sources include Lichess rated-game archives and the Lichess Elite Database, sampled at intervals during games. The corpus balances rating bands, but differs across batches in dates and time controls. It is not a random sample of all chess play. Ratings refer to the source Lichess pools; I haven’t converted them to FIDE ratings.

A sampling mistake I found: all 123,405 positions in this original corpus are Black to move. Sampling every fourth ply before a move always landed on Black’s turn. I’ve fixed the samplers and kept the old results identified as version 1. The new run below includes both sides; the original figures and trainer still describe the earlier collection.

Some of the original games were played by bots. Recovering the source games identified BOT tags in 17,931 original positions, including 886 of the 5,155 selected positions and 38 trainer positions. The historical agreement rates below mix human and bot accounts. They cannot be read as human success rates, especially in the highest rating bands. Source audit

The criterion compares the engine move with one model favourite. It does not require a unique good move. In 2,034 positions (39.5%), the saved runner-up is less than 20 centipawns behind. Missing the exact engine choice does not necessarily mean making a mistake.

The trainer uses a stricter curated subset: when built, its examples also had to retain the engine move at depth 18 with a runner-up gap of at least 70 centipawns. That extra check does not apply to every position in the research corpus.

What was played in the source games

The recorded move matched the exact engine choice in 1,199 selected positions. Another move was recorded in 3,956 cases, including 1,532 with the moving account rated at least 2500. The data calls those nonmatches the “hard core.” Some alternative moves were good too, so these counts alone don’t tell us how well someone played or understood the position.

Historical source-game agreement, including bot accounts
Lichess ratingPositionsMatchesRate95% interval
≤200083155 6.6%5.0–8.3%
2000–2200847110 13.0%11.0–15.3%
2200–2400822131 15.9%13.4–18.6%
2400–2600857146 17.0%14.3–19.7%
2600–2800902247 27.4%24.2–30.6%
>2800896510 56.9%53.6–60.6%

Separating the sources changes the picture. Above 2800, the recorded move matched the old engine choice in 53/257 (20.6%) selected positions from recovered games without BOT tags, compared with 455/636 (71.5%) in bot-tagged games. This uses recovered ratings and historical answers; it remains a selected archive comparison.

Confidence intervals use 1,000 bootstrap resamples of source games within each band. They do not account for repeated players or systematic differences between datasets. Rating bands exclude their lower bound and include their upper bound, except the first band.

Checking Maia-3 at higher ratings

Maia-3 ranked moves on 77 selected positions and 56 controls at five rating settings. On the selected positions, the engine move's top-five inclusion rose from 28.6% at 1100 to 57.1% at 2600; top-one agreement at 2600 was 2.6%. This smaller ranking experiment did not re-filter the full corpus using probabilities through 2600.

Higher top-five inclusion suggests the model ranks the move more favourably at higher ratings. It does not reveal whether a person considered the move and rejected it.

Many of the moves are quiet

Among positions meeting the same minimum 100-centipawn gap, the low-probability group has more quiet moves and fewer captures or checks. Thirty binary chess features distinguish the low- and high-probability groups at AUC 0.851 (five folds grouped by game; 7,853 positions in the two extreme groups). AUC measures ranking discrimination: 0.5 is chance-level ranking and 1 is perfect ranking.

Share with each feature; groups are defined by Maia-2
Engine moveAt most 5%BetweenAt least 30%
No capture or check87.2%79.8%49.4%
Retreats at least two ranks7.8%5.9%4.5%
Moves to the board edge38.9%30.9%26.4%
Captures10.9%16.3%43.4%
Gives check3.9%5.5%11.3%
Meets the material-exposure proxy20.5%9.2%5.4%

The groups share a minimum gap, not identical positions or stakes. They were not matched on rating, phase, time control, or batch. The classifier predicts a model-defined label; it does not establish why humans miss moves. The material-exposure proxy is not a measurement of “no compensation.” A quiet move can begin a tactical combination.

Eight groups for practice

I grouped the first 1,745 positions using their layer-10 representations in Leela Chess Zero, then assigned the remaining 3,410 to the nearest group centre. That covers all 5,155 selected positions. I kept eight groups as a manageable way to organise practice, not because the analysis had discovered eight new chess concepts.

Inspect the grouping and motif evidence

At eight groups, silhouette is 0.0715 against 0.0078 for independently shuffled embedding dimensions. Absolute separation is small. This null destroys correlations as well as cluster structure, so the comparison alone does not establish meaningful chess categories.

Six groups are more stable under resampling than eight. Other clustering methods give different partitions and many noise points. The k=8 permutation result, p = 0.009, describes how often the null procedure produced a statistic at least as extreme as observed. It is exploratory across several choices of k, without a multiple-comparison correction.

On an earlier 646-position subset and 400 controls, twelve motif directions reconstructed the average selected-versus-control direction with R² = 0.46. Per-position reconstruction was similar for selected positions and controls (means 0.20 and 0.18). The unexplained component is residual to this particular basis; it is not proof of knowledge beyond chess vocabulary.

GroupPositionsExact matchesQuiet moves
Pattern 1924 29.9%85.4%
Pattern 2444 9.5%88.1%
Pattern 31149 23.6%88.7%
Pattern 4431 22.3%88.9%
Pattern 5258 26.0%76.7%
Pattern 6829 24.1%92.8%
Pattern 7861 20.3%85.1%
Pattern 8259 27.8%81.5%

Checking the results

Some answers change at greater depth

I reanalysed eight positions per rating band with Stockfish 17.1, using a seeded random sample from 48 different games. All 48 reached depth 20 in every search. The original move remained first in 35/48.

Of 44 positions without mate scores, the original move still beat Maia-2's 2000 favourite by at least 100 centipawns in 42/44. In the same subset, 12 actual game moves matched the original answer; 14 were within 20 centipawns of the best score found by the audited searches.

The sample is small and stratified. Searches use one thread, 128 MB hash, a cleared hash for each search, and a three-second cap. Mate cases are excluded only from centipawn comparisons. Restricted searches can disagree; “best found” is the maximum across the audited candidates, not a proof of optimality. Maia probabilities were not recomputed for changed engine moves, so this is not a fresh mining run.

The selection rate depends on the thresholds

I tried twelve combinations of the probability and evaluation thresholds on the same data. The selected count changes with those choices. The 4.18% figure belongs to the original filter; it isn’t an estimate of how often these positions occur in chess generally.

See all twelve threshold checks
Minimum gapMaia ceilingSelectedCorpus shareExact agreement
50 cp1%2,536 2.06%16.1%
50 cp2.5%5,381 4.36%18.1%
50 cp5%9,074 7.35%20.5%
50 cp10%14,584 11.82%23.9%
100 cp1%1,519 1.23%18.5%
100 cp2.5%3,108 2.52%20.5%
100 cp5%5,155 4.18%23.3%
100 cp10%8,236 6.67%26.6%
200 cp1%755 0.61%21.1%
200 cp2.5%1,530 1.24%22.6%
200 cp5%2,499 2.03%25.3%
200 cp10%3,917 3.17%29.3%

These checks reuse rounded probabilities and saved evaluations. They do not establish that every feature association or cluster survives a changed threshold.

Did Leela’s representations improve prediction?

The updated comparison fits the embedding's principal-component transformation using only each training fold. On 1,745 selected positions, the full baseline—surface features, engine evaluations, Maia probabilities, and player rating—scores AUC 0.755. Adding 40 embedding components scores 0.732.

I tried two to forty components; none improved on the full baseline. I can’t claim an added predictive benefit from the representations in this comparison. That doesn’t settle what Leela knows: it only tells us what these models could use on this dataset. I also tried the component counts on the same folds, so a firmer comparison needs separate model selection data.

A concept-extraction attempt did not transfer

An earlier experiment fitted sparse directions on Leela rollouts using an adaptation of Schut et al.'s optimisation approach. None of the 30 individually fitted directions generalized under the held-out separation check. Group fitting achieved 1.00 in-group and 0.515 held out. The rollout method, representation and evaluation differed from the AlphaZero study. After that result, I used the representations to organise practice groups. I don’t treat those groups as successfully extracted concepts.

How much to trust the test score

The saved difficulty model reaches AUC 0.845 and Brier score 0.160 across the original corpus, with five folds grouped by game. It predicts exact agreement with the engine in source games. Those data include bot accounts, so this score does not establish performance on human players alone.

The trainer's fixed-rating estimates and test placement use a refit on the full corpus, including trainer positions. Those item curves have not been calibrated against independent participant responses. A website practice session differs from playing under a game clock; the displayed placement is exploratory, not a measured Lichess or FIDE rating.

The 2,000-position pilot

The earlier pilot contains 2,000 positions from 1,662 games, evenly split between White and Black. Half come from slower club games and half from elite archives. I saved the preceding moves for every position, along with available clocks, and separated source games before selection. Later recovery found that 281 Black pilot states already occurred in the historical corpus; the expanded audit records that earlier development exposure.

This time I’m asking how likely the model is to choose any acceptable move, and how much its likely choices lose. A rare first choice isn’t enough if a common alternative is just as good. Stockfish 18 screens the positions; Maia-3 supplies complete move probabilities with and without history, alongside Maia-2 for comparison.

The first screen shortlisted 48 positions under the stated competitive-position, acceptable-move and expected-loss criteria. Deeper checks determine which can become new puzzles. The searches have time limits, and unexamined moves remain explicit in the probability bounds.

Stricter checks retained 13 of 19 reviewed positions, requiring every legal move to reach depths 20 and 24 and the complete acceptable-move set to stay the same. These checks cover new positions and historical teaching candidates.

I also rechecked 64 historical candidates and 64 matched controls. The new screen retained 26/64 candidates and 1/64 controls. This comparison uses FEN-only policies because those saved rows lack verified move history. It is a selected audit, not an estimate of how common these positions are in all games.

At the fixed 2000 setting, adding history changed Maia-3’s first choice in 322/2000 positions. That shows why I’m keeping the comparison. It doesn’t establish how often a person would solve the same position when presented as a puzzle.

The club games come from a bounded prefix of June 2026; the elite sample uses September–November 2025 and mixed time controls. Clocks are saved but are not inputs to the current model. The sample separates games and selected board states, not players or all openings. New methods · Counts, thresholds and hashes

Filling in the White side

I added 123,405 real White-to-move positions. With the original collection and the earlier pilot, the expanded file now has 124,405 White and 124,405 Black observations. The new White sample follows the corrected Black sample's rating-band and game-phase counts within the slower-game and elite groups.

These are counts of saved observations. The Black side contains 886 repeated board states, retained to keep the original records traceable. The White states are distinct. Positions from the same game are also related, so the number of rows is larger than the number of independent examples.

All 248,810 observations have now had the same first-pass Stockfish 18 and Maia-3 analysis. The models receive the current board, without prior moves or clocks, because those details could not be recovered for every original position.

The screen produced 4,353 candidate observations. They cover 4,345 distinct board states. It uses a fixed search budget and leaves unexamined moves explicit. Each candidate needs deeper, all-move checks and chess review before joining the trainer.

For a closer comparison, I also selected 45,326 positions per colour from recovered games without BOT tags. Each group has the same counts by source cohort, rating band, game phase, time-control class and source month, with repeated states removed. This remains a comparison of selected archive games; it does not measure learning or puzzle-solving ability.

Matched archive subset: recovered games without BOT tags
Side to moveObservationsFirst-pass candidatesCandidate percentage
White45,326 736 1.62%
Black45,326 734 1.62%

The new sample includes 95 additional White turns from cached June games and 143 slower-game positions from the 2025 elite archives. Their sources are labelled; the full collection is not exactly matched by month or time control.

Some source histories remain unresolved. Previously used games retain their development history; assigning a new split does not turn them into fresh test data. Expansion methods · Dataset counts · Screening results

Checking the first 200 candidates

I selected 100 White and 100 Black candidates from 200 different games without BOT tags. Known public training games were excluded. Each legal move was searched separately at depths 20 and 24, giving 14,208 move searches.

116 positions passed the engine-stability checks. The complete set of moves within 20 centipawns of the best stayed the same at both depths, and none of their legal moves had a mate-valued score. Of these, 62 also kept the original candidate criterion: a roughly balanced evaluation, low Maia probability for the acceptable moves, and a large average evaluation loss under Maia's predicted moves at both depths.

Selected games without BOT tags: one position per game
Side to moveCheckedStable acceptable set, no mate scoresStable + selection criterion
White100 6035
Black100 5627

These are engine checks. The surviving positions still need explanations and chess review before joining the trainer. A mate in a poor alternative causes rejection under this conservative rule, but does not by itself make a position useless. The sample was balanced by colour and limited to one position per game; it was not matched on every other feature.

Selection and verification methods · Counts, failure reasons and runtime

Checking the full candidate set

The full run covers all 4,345 distinct candidates, including the first 200 whose searches were reused after validation. Every legal move receives the same independent depth-20 and depth-24 searches. Unlike the initial 200-position sample, this includes all source groups and can include several positions from one game. Bot-tagged and previously public sources remain labelled.

The full checks are complete. 2,379 positions met the engine-stability rule: their complete sets of moves within 20 centipawns of the best were unchanged at both depths, and no legal root move had a mate-valued score. Of these, 1,398 also retained the full selection criterion.

The selection criterion requires a best evaluation within ±200 centipawns, at most 10% Maia probability on the acceptable moves, and at least 50 centipawns of expected loss under Maia's predicted moves, with loss capped at 300 centipawns per move. These conditions must hold at both depths and, for Maia, at both the 1700 and 2000 settings.

Full candidate census: all source groups
Side to moveCheckedStable acceptable set, no mate scoresStable + selection criterion
White2,106 1,177680
Black2,239 1,202718
All candidates4,345 2,3791,398

These counts describe the screened candidate pool. The positions can share source games, and the White and Black groups were not matched on every feature. The results do not measure human solving rates or learning. These remain candidates for chess review; they have not been added to the trainer.

Full-run method · Verified full results, source groups and runtime

Does the preceding play change the model’s choices?

Follow-up reported ; saved research snapshot, not a live progress feed.

I selected 96 development positions from the earlier candidate pool, balanced across colour and game phase. I compared Maia-3 with the current board alone and with the last eight real source-game states. The same pinned model runs both conditions, with clocks disabled. The saved Stockfish depth-20 and depth-24 root evaluations stay fixed and FEN-only: history changes the model input, not the engine’s board-history context.

The paired audit and same-input controls are complete. Adding history retained the full candidate criterion in 83/96 positions; 13 lost it.

Selected development positions: current board compared with real history
Side to movePaired positionsCriterion retainedCriterion lost
White48 435
Black48 408

Maia’s first choice changed in 14/96 positions at the equal 1700 rating setting and 17/96 at 2000.

This deliberately selected development sample is not a population estimate or an independent test. It measures model sensitivity to context, not human puzzle solving or learning. None of these positions has been approved for the trainer by this audit.

Context audit counts, controls and frozen settings

Checking predictions against fresh source-game moves

Follow-up reported ; saved research snapshot, not a live progress feed.

The first analysis selects 64 positions from a 256-position cohort of August 2026 games: 16 for calibration development, 16 for evaluation and 32 targeted endgames. Selection was frozen before these results. The games come from a bounded chronological archive prefix, so this is not a random sample of the month. They postdate the pinned model’s published weights; that does not establish new players or novel chess patterns.

The original bounded run stopped for review. 2 root searches remain incomplete under its 30-second limit. The baseline below is preserved with those exclusions.

The baseline completed 2,873/2,875 planned root searches: 2,803 exact numeric results and 70 mate-valued results. Completed searches can still exclude a position from calibration.

Same-input model controls passed. Calibration uses the actual mover and opponent ratings, with clocks disabled in both conditions. The event being predicted is whether the recorded source-game move belongs to the complete set of moves within 20 centipawns of the best. A position qualifies only when every legal root has an exact numeric score at both depths 20 and 24, there are no mate scores, and the acceptable set is unchanged.

Original bounded run: full selected denominators
Analysis roleSelectedModel predictionsVerified for calibration
Calibration development16 16/16 9/16
Calibration evaluation16 16/16 9/16
Targeted endgames32 32/32 Not a calibration sample
Engine coverage, caps and exclusions

Each root search checks one legal move at one requested depth. Pending searches have no saved result; capped or interrupted searches have not reached their target. Bound scores and engine errors also remain unresolved.

Root searches, not counts of positions
Analysis roleExact numericPendingCapped / interruptedBound scoresMate scoresEngine errors
Calibration development108702010
Calibration evaluation1093000490
Targeted endgames623000200
Position outcomes: incomplete roots are counted before mate or stability checks
Analysis roleIncomplete rootsMate-valued rootUnstable acceptable setApproximate depth-14 screen
Calibration development2140
Calibration evaluation0430
Targeted endgames05027
Original bounded run · Calibration development: verified subset only
Model inputScored / selectedBrier scoreLog loss
Current board only9/16 0.16540.4953
Real move history9/16 0.18390.5300
Original bounded run · Calibration evaluation: verified subset only
Model inputScored / selectedBrier scoreLog loss
Current board only9/16 0.13670.4871
Real move history9/16 0.10370.3429

Brier score is the mean squared probability error; log loss penalises confident wrong predictions. Lower is better for both, but scores only describe each verified subset. Small samples, repeated players and related positions limit the conclusions. No probability adjustment has been fitted.

The targeted endgames receive an approximate depth-14 screen only. They cannot establish the depth-20/24 candidate criterion or qualify a new teaching group. These are source-game move diagnostics, not human puzzle-solving responses or learning outcomes; no new trainer positions are released here.

Fresh-data coverage, calibration scores and frozen settings

A separate check of the capped development searches

Supplement reported ; saved research snapshot, not a live progress feed.

After the original bounded run stopped, I set up a separate supplement for its 2 capped development root searches. Each receives a 120-second limit at depth 24. The original 30-second baseline remains unchanged above. Only the selected development roots receive the larger budget; the evaluation sample and approximate endgame screen are not rerun.

The supplemental searches are complete. Reaching the requested depth does not by itself make either affected position eligible for calibration: numeric scores and an unchanged acceptable set are still required.

Completed root searches: 2/2; incomplete: 0; retry limit reached: 0.

Development positions only: original and supplemental coverage
Search budgetVerified / selectedIncomplete rootsMate-valued rootUnstable acceptable set
Original bounded run9/16 214
With supplemental searches10/16 015
Development diagnostics only; these small subsets are not pooled with evaluation
Search budgetModel inputScored / selectedBrier scoreLog loss
Original bounded runCurrent board only9/16 0.16540.4953
Original bounded runReal move history9/16 0.18390.5300
With supplemental searchesCurrent board only10/16 0.15260.4672
With supplemental searchesReal move history10/16 0.16710.4906

This supplement was chosen after seeing the capped baseline searches, so it is an exploratory budget-sensitivity check, not a fresh independent validation. The calibration event remains the recorded source-game move, not a human puzzle response. It establishes no learning effect or trainer approval.

Separate supplemental protocol, coverage and results

Does practicing these positions help?

I haven’t run a controlled learning study yet. The proposed experiment compares grouped and shuffled practice using the same positions, explanations and practice time. Only their order changes, so the comparison can test the value of seeing related examples together. Both groups will take a baseline test, an immediate test on different positions, and a delayed test about a week later. Test positions must come from different games than training positions.

The primary outcome will credit moves within 20 centipawns of an independently verified best score. Exact engine matches, time taken and performance on positive and boundary cases will be secondary outcomes. The proposed 24-person pilot is meant to check whether the study is workable and how uncertain the results are. It may be too small to establish a learning effect.

Read the revised study protocol. The allocation and material-review tools are built. The final private bank still needs stable answers, meaningful counterexamples and independent chess review before recruitment. Ordinary site use is not automatically enrolled in the study.

Methods and data

Each result has its own sample and evaluation
AnalysisSampleMethod / output
Mining123,405 → 5,155Stockfish depth 16; Maia-2 at four settings through 2000
Version-2 pilot2,000 positionsEqual sides; Stockfish 18 screening; complete Maia-3 policies with real history
Full colour expansion248,810 observationsEqual side counts; recovered source metadata; common FEN-only screening complete
Initial candidate depth checks200 positions / 200 gamesEvery legal move at depths 20 and 24; 62 retained the full criterion; chess review pending
Full candidate depth checks4,345 positions / 3,726 source gamesEvery legal move at depths 20 and 24; 1,398 retained the full criterion; chess review pending
Maia-3 ranking77 selected + 56 controlsTop one / top five at 1100, 1500, 2000, 2300, 2600
Motif reconstruction646 selected + 400 controls12 directions; average-direction R² 0.46
Grouping1,745 fitted + 3,410 assignedLeela layer 10; exploratory k=8
Feature contrast7,853 extreme-group positions30 binary features; five folds grouped by game
Difficulty model123,405 positionsExact-move target; five folds grouped by game
Engine audit48 positions / 48 gamesDepth 20; original answer, Maia favourite and played move
Learning study24 participants proposedProtocol only; no completed controlled result

Full details: methods and provenance, thresholds, counts and intervals, per-position engine audit, and embedding rerun. Input hashes and seeds are recorded. Large source archives and embedding caches are not bundled with the site.

The inspiration is Schut et al., Bridging the Human-AI Knowledge Gap: Concept Discovery and Transfer in AlphaZero. Their human study reports improvements on concept-prototype positions in four grandmasters. I adapted the idea using Stockfish, Maia and Leela. I haven’t replicated their learning result.

What I’ve corrected, and what still needs checking

I’ve corrected several claims in earlier versions of the write-up. The full mining run used Maia-2 through 2000; only the smaller Maia-3 experiment reached 2600. A different move isn’t automatically a mistake. Model rankings don’t show what a person was thinking, and variance left unexplained by my motif basis isn’t evidence of unknown chess knowledge.

Earlier difficulty evaluations also had placeholder elite-game IDs; the saved current model results use repaired IDs. Unresolved IDs can still be treated as singleton groups. The new audit found 605 repeated board states after removing move counters, despite full-FEN deduplication. Game grouping does not guarantee separation by player, transposition, opening or time period. Future confirmatory evaluations should address these overlaps.

The feature contrast remains observational; activation-level causal evidence and a controlled learning result are still missing. A separate time-period holdout, matched comparison groups and independently calibrated test items are priorities.