Research · Viveka v3.0
Viveka v3: where to look, then what to play
Sigmoid Vedanta Technologies · October 2026 · Supersedes v2 (archived) and v1 (archived) · Companion to the calculator
Abstract
We split the board into four quadrants, seen from the side to move, and ask two questions in order: where should the move be made, and which move there. Each question gets one equation with at most three variables and a fitted constant, so that both can be computed at the board:
Φ is a free energy: material at stake in the quadrant (U) plus T times the log of the number of moves into it (N). S is a utility in pawns: material won after the exchange (M), check (K), and centralisation (C). The constants were fitted on 12,141 Stockfish positions and rounded to T = 1.5, α = 1.25, β = 0.25. On 5,587 positions from 21 openings never used in fitting:
- The two quadrants with the highest Φ contain Stockfish's depth-22 best move in 78% of positions (top one: 48%).
- When a player proposes the three best moves of the top three quadrants, S chooses a move that loses 26 cp on average, inside our 30 cp target. With two quadrants it loses 36 cp.
- The result depends on the candidates. With weaker candidates (the best move plus two sensible ones) the loss is 37 cp in three quadrants, and 33 cp over the whole board.
1. Why a third version
v2 reached 65 cp on this test set, but at a cost: an eight-pattern scan of every legal move, an eleven-term score and a safety check. That is more arithmetic than a player can do at the board. v3 starts from three constraints:
- at most three variables per equation;
- the player's own intuition proposes the candidates, and the method only localises and ranks;
- positions with fewer than eight men are excluded; those endgames are better served by technique than by a scoring rule.
Each equation also gets a single named constant, fitted once and then fixed, in the way a physical law carries one.
2. Data
The data are the Stockfish 19 engine positions of v2: every legal move scored at depth 15, and the engine's top three at depth 22. As before, the best move and the loss of every move come from the hybrid label (depth 22 for the top three, depth 15 below them), and the loss is capped at 1,000 cp. Excluding positions with fewer than eight men leaves 12,141 training positions and 5,587 test positions (2,100 opening, 2,040 middlegame, 1,447 endgame). The test openings are the same 21 held out since v1. No human games are used.
Quadrants. Seen from the side to move: Q1 is our half on the queenside (files a–d), Q2 our half on the kingside (e–h), Q3 their half on the queenside, Q4 their half on the kingside. A move belongs to the quadrant of its destination square. For each position and quadrant we computed 23 candidate variables: pieces and pawns of each side, loose and hanging material, attacks, control, kings, passed pawns, checks, captures, moves into the quadrant, and the squares of the opponent's last move.
3. Where the best move lands
Across the training positions the depth-22 best move lands in:
- Q1 own-queenside: 35%
- Q2 own-kingside: 36%
- Q3 enemy-queenside: 16%
- Q4 enemy-kingside: 13%
Our own half dominates in the opening (development, castling) and the enemy half grows in the endgame (Figure 1). Three further observations shaped the equations.
- A fixed quadrant is not enough, and neither is the right one. Always looking only at the most common quadrant, the best move available there is still 99 cp worse on average than the true best. Even when told the right quadrant (about 11 moves), the v2 formula choosing among its moves loses 56 cp. Candidates matter as much as location.
- Material at stake is the best single signal. Ranked one variable at a time, enemy material we can win comes first (43% accuracy), followed by the count of loose targets and the number of our moves into the quadrant.
- Opportunity and danger point to the same place. Our own hanging material is the next material signal (40% on its own), because the best move often rescues a piece. Both are material at stake, and the search below pairs them.

4. The quadrant equation
Search. We first searched every combination of one, two and three of the 23 variables, fitting each as a conditional logit over the four quadrants with 5-fold cross-validation by opening. The criterion was the loss of the best move left in the chosen quadrant. The best three were enemy loose material, our hanging material and our moves into the quadrant:
| Variables | Top quadrant correct | Best move left there (cp) |
|---|---|---|
| enemy material you can win (U, part 1) | 43% | 63 |
| enemy material you can win (U, part 1) + your moves into the quadrant (N) | 47% | 46 |
| enemy material you can win (U, part 1) + your material they can win (U, part 2) + your moves into the quadrant (N) | 48% | 41 |
| All 23 variables (linear ceiling) | 50% | 38 |
Twenty more variables buy only 3 cp, so three is close to what any linear rule over these variables can do. The binding limit is having one quadrant. With the top two the loss of the best move left falls to 13 cp.
Theory. Treat each quadrant as a macrostate of the position. It has an energy, E = −U: the material that can change hands there is a well the game tends to fall into. It also has an entropy, S = ln Ω, where Ω = 1 + N counts the ways to act there (N moves, or none). In statistical mechanics the most probable macrostate is the one with the lowest Helmholtz free energy F = E − T·S, and its probability is proportional to e−F/τ. The quadrant equation is the negative free energy:
with U = enemy loose material + our hanging material, both in pawns (1, 3, 3, 5, 9), counting a piece as loose when it can be won by an exchange. ln(1 + N) is the Boltzmann entropy of the quadrant (k = 1). The constant T is a temperature: the exchange rate between a pawn at stake and options. Because 1.5·ln 2 ≈ 1.04, at T = 1.5 each doubling of the moves into a quadrant is worth about one pawn at stake. This also makes the term easy to compute: 1.5·ln(1 + N) ≈ log2(1 + N), that is 1, 2, 3, 4 for N = 1, 3, 7, 15.
Equation (1) fixes the ratio of the two material weights at 1 and the shape of the options term at a logarithm. The free fit gave a larger weight to loose than to hanging material and a linear N. The cost of the constraint is small:
| Quadrant rule (training openings, out of fold) | Best move left, top quadrant | Top two quadrants |
|---|---|---|
| Options only, ln(1 + N) | 66 | 23 |
| Material at stake only, U | 50 | 14 |
| Free energy, T = 1.5 | 45 | 14 |
| Free linear fit (3 weights) | 41 | 13 |
T was chosen on the training openings for the two-quadrant step, from a grid of eight values (Figure 2). The curve is flat between 0.75 and 2. In 62% of positions nothing is at stake anywhere, and Φ then reduces to ranking quadrants by the number of moves into them.

How much it narrows. Because Φ favours busy quadrants, the top quadrant holds 13 of the 32 legal moves on average and the top two hold 24 (77%). The quadrant step is less a filter than an order of attention: look here first.
5. The move equation
Setting. Within the chosen quadrants the player proposes three candidates. We modelled three levels of intuition, all generated from the engine's own ranking of the moves in those quadrants: strong (the three best), good (the best plus two of the next seven) and club (three of the eight best, so the best move is often missing). The move equation was searched and fitted on good-intuition candidate sets in the top two quadrants, and tested on all three.
Search. Every combination of one, two and three move variables that can be judged at a glance or counted was tried (5-fold cross-validation by opening, conditional logit with soft targets from winning chances):
| Variables | CV loss, good intuition (cp) | strong (cp) |
|---|---|---|
| material won after the exchange, minus what is left hanging (M) | 58 | 42 |
| rings closer to the centre (C) + material won after the exchange, minus what is left hanging (M) | 53 | 39 |
| gives check (K) + rings closer to the centre (C) + material won after the exchange, minus what is left hanging (M) | 50 | 38 |
The same three variables won under both intuition models. Allowing variables that need short calculation, the tier v2 relied on, picks enemy pieces attacked after the move; material after resolving every exchange on the board; the opponent's safe replies, and loses 44 cp instead of 50. We kept the glance-level set: resolving every exchange and counting the opponent's safe replies is calculation, not mental arithmetic, and it is what made v2 too heavy.
Theory. S is a utility measured in pawns:
- M, material. The capture (or promotion) value minus the most the opponent can then win from us by an exchange. Since v1, this expected material change has been the first term selected; it carries the unit, so its weight is 1.
- K, check. A forcing move removes most of the opponent's options. v2 found the opponent's safe replies to be the second most informative quantity after material; check is its glance-level proxy. α is the value of check in pawns.
- C, centralisation. Rings towards the centre, counting the board as four concentric rings (d4–e5 is ring 0, the edge ring 3), so C runs from −3 to +3. Castling counts 0. It stands in for the mobility and space that v2's positional evaluation valued (Figure 2 of v2: the best move gains mobility and space). β is the value of one ring in pawns.
6. The three constants
| Constant | Fitted | Used | Meaning |
|---|---|---|---|
| T (temperature) | grid | 1.5 | a doubling of options in a quadrant ≈ one pawn at stake |
| α (check) | 1.13 | 1.25 | a check is worth about a pawn and a quarter |
| β (centre) | 0.21 | 0.25 | four rings of centralisation ≈ one pawn |
α and β were fitted on all training openings and rounded to the nearest quarter. Rounding changed the training loss from 51.0 to 51.1 cp.
7. Results
Held-out openings, 5,587 positions. Each cell is the average loss in centipawns of the move chosen by S among three candidates in the top quadrants by Φ. Cells inside the 30 cp target are marked.
| Candidates | Top quadrant | Top 2 | Top 3 | All 4 |
|---|---|---|---|---|
| Strong: the region's three best moves | 71 | 36 | 26 | 22 |
| Good: its best move + two of its next seven | 83 | 47 | 37 | 33 |
| Club: three of its eight best, at random | 137 | 103 | 87 | 81 |

The picker. To separate the picker from the candidates, the same candidate sets were given to other pickers. With strong candidates in the top two quadrants:
- random pick: 72 cp;
- v3's S (3 variables): 36 cp; v1 (6 terms): 35 cp; v2 (11 terms): 33 cp;
- Stockfish at one ply: 28 cp; the best of the three: 14 cp.
S recovers most of what the larger formulas do with a fraction of the arithmetic. With S, 79% of choices are within 30 cp of the best move and 8.1% lose more than a pawn. In three quadrants: 84% and 5.6%.

8. Where it falls short
- The target needs strong candidates. 30 cp is reached with strong intuition in three or four quadrants. With good intuition the best is 33 cp, and with club intuition 81 cp. The equations localise and rank; they do not generate the candidates.
- Middlegames, not endgames, carry the loss. Earlier versions lost most in endgames. With positions under eight men excluded, the two-quadrant, good-intuition loss is 29 cp in openings, 62 cp in middlegames and 52 cp in endgames.
- Not a whole-board evaluator. Applied to every legal move with no quadrant step and no candidates, S loses 93 cp, against 65 for v2's eleven terms and 359 for a random move. Three variables cannot discard every bad move; they can choose well among good ones.
- No adaptive shortcut. We tested examining the second quadrant only when its Φ is close to the first. On the training openings, always examining both was best.
- Intuition is simulated. The three intuition models are drawn from the engine's own ranking, not measured from players. A study with real players' candidate lists is the natural next step.
9. In the trainer: automatic prediction and live validation
After every move in the trainer, the site shows what the method would have played. That requires an automatic stand-in for step 2, which the method leaves to the player. We compared candidate rules on the 5,494 held-out positions, each with every legal move evaluated, using the site's own code:
| Candidates, then the highest S | Mean loss | ≤ 30 cp | > 100 cp |
|---|---|---|---|
| A random legal move (no S) | 361.1 cp | 20% | 62% |
| Every legal move (no quadrant step) | 88.3 cp | 56% | 22% |
| Every move in the top two quadrants: no intuition | 98.1 cp | 54% | 24% |
| The glance scan's top 5 in the top two quadrants | 100.7 cp | 54% | 24% |
| Stockfish's top 3 anywhere | 20.2 cp | 88% | 4% |
| Stockfish's top 3 within the top two quadrants: strong shortlist | 24.9 cp | 85% | 5% |
The trainer reports the two highlighted rules side by side: with a strong shortlist and with no intuition at all. A player's own result with the method lies between them, and the gap is the value of candidate-finding. Three details keep the comparison fair. Ties in S go to the move the glance scan ranks first, never to the engine's order: engine order would have flattered the strong shortlist by 2.7 cp. Every move is evaluated exactly as the trainee's own move is, from the stored depth-22 line or a search of that move from the same root. Positions with fewer than eight men are recorded but kept out of the figures.
Restricting a strong shortlist to the top two quadrants costs about 5 cp, because the best move lies outside them in about one position in five. For a player, the quadrant step pays for itself by making the search smaller; for an engine-made shortlist it is a small handicap, and we report it rather than hide it.
Validation. The trainer's prediction code was checked against an independent implementation of both rules on all 17,369 positions of the practice pool: 2,08,428 checks (same quadrants, shortlist and picks; the pick has the highest S; ties go to the first move in scan order; deterministic output), with 0 failures.
A running record. Every training move stores the position, all four quadrants' U, N and Φ, the shortlist with its scores, the player's move in the method's terms, every loss, the player's rating and time, and the study's reference labels, under a pseudonymous key. The live figures on the method page come from these records. They also give what this study lacked: real players' candidate choices, to test the intuition models of Section 7 and to refit T, α and β.
10. Reproducibility and versions
The pipeline is Python with fixed seeds: quadrant variables (quadrant_data.py), the excluded-endgame dataset (quad_prep.py), the insights, the exhaustive quadrant and move searches, the free-energy temperature scan, and the final fit and test (quad_final.py). The calculator and drills use a TypeScript port of both equations, checked against the Python values on 300 positions (1,130 quadrants, 9,470 moves, no mismatches). v1 and v2 and their book editions are archived unchanged at /research/viveka/v1 and /research/viveka/v2. Code and data are available to researchers on request (sigmoidvedantatechnologies@gmail.com).