Zugwise move prior
A small residual policy network that reports what fraction of club-level human players played each legal move. Zugwise uses it to break near-ties between handwriting-OCR candidates when reconstructing a scoresheet โ it answers "what did the player write?", never "what should they have played?".
- Architecture: 8 blocks x 128 filters, 17 input planes, 4096 move classes
- Move index:
from*64 + to, both squares in the side-to-move-flipped frame - Output: raw logits; renormalise over LEGAL moves only
- Top-1 move match (held out): 0.4836
Input encoding
17 planes x 64 squares, board FLIPPED so the side to move always plays up the board (lc0/Maia convention, so no side-to-move plane):
0-5 side-to-move pieces P N B R Q K
6-11 opponent pieces P N B R Q K
12-13 side-to-move castling kingside, queenside
14-15 opponent castling kingside, queenside
16 en-passant target square
No history planes: measured, Maia gave the identical top move on 42/42 real positions with and without move history.
Training data
lichess open database (CC0). No Maia weights or GPL-covered code are used or derived from, which is the point โ this model exists so Zugwise can ship a human move prior under a permissive licence.
Intended use and limits
Built to rank OCR candidates for scoresheet reconstruction, not to play chess. It is deliberately small and rating-matched to club play; a strong-play policy would be worse for this task, not better.