--- license: apache-2.0 tags: [chess, policy, onnx, zugwise] --- # 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.