🐼 PANDA CHESS CLUBBUILD · TEST · REMATCH

Browser edition · no installation · one active workshop tab

15-MINUTE INSTRUCTOR-LED ROUTE

How does our opponent
become a better player?

Explain one layer. Try it. Inspect what changed. The engine’s name is a version, not a rating.

1 / A ladder of playable ideas · 3 minutes

Random Chess Player Panda 🐼

Choose a legal move. Following rules does not mean making a good decision.

Material Goblin

Count pieces after candidate moves. Greed can miss the opponent’s reply.

Positional Scout

Add hand-written preferences for center activity, pawn structure and king shelter. These are rules we supply, not learned knowledge.

Can adding one more half-move of search change a greedy capture?

Try the bot ladder →

2 / Search is an experiment about the future · 3 minutes

Your move→Their best reply→Your best reply→Evaluate the leaf

Minimax chooses the best move against a strong reply. Alpha-beta stops branches that cannot change that answer. Move ordering tries promising branches first. Iterative deepening finishes depth 1, then 2, then 3 until the node budget is used.

Does pruning change the answer or only the amount of work?

Compare identical positions and fully completed depths. A budget can stop a deeper iteration. “Cutoffs” counts cutoff events; “moves skipped” counts immediate moves skipped there, not an invented count of entire unseen subtrees.

3 / What the neural model sees · 3 minutes

12 × 8 × 8 piece planes+Turn, castling, en passant, half-move clock→32 hidden neurons→Position score

Each input says where a piece is or describes game state. Connections have adjustable weights. Hidden neurons combine inputs nonlinearly, allowing the score to depend on patterns rather than five piece prices. The student network starts from seeded random weights.

Our targets come from saved Stockfish evaluations in the Lichess archive. We transform centipawns with tanh(cp / 400) into a bounded teaching scale. The output is not a calibrated win probability. Search converts it back to evaluation units.

Why does knowing the target during training not give the answer away during play?

4 / Make a challenger · 3 minutes

Predict training boards→Compare with teacher→Backpropagate errors→Adjust weights→Check new boards

One epoch is one full-batch gradient update in this small implementation. Compare training and validation error, then save a model version. During play, our search calls that saved network; it does not call Stockfish. A small dataset and network can still produce a poor player.

If the loss falls but the bot loses more games, did we improve the engine?

Train a network, then enter it in the arena →

5 / Evidence, champion, rematch · 3 minutes

The arena freezes engine versions, uses paired openings and swaps colors. It records wins, draws, losses, unfinished games and PGNs. Games stopped at the move limit stay unfinished; they are not counted as draws or losses. Compare the named players’ results under the same search settings.

Promotion requires at least 40 completed games against the current champion, no caps, and a paired bootstrap score interval above 50%. This is a conservative development gate, not proof of broad strength. Use more varied, independent evaluation before making a human-strength claim.

Today: supervised neural training + our search + saved arena evidence.
Later: collect club-game labels → train another challenger → rematch.

Self-play game collection is possible by pairing networks in the arena. Training from their outcomes, live Stockfish re-labeling, transposition tables, quiescence, books, tablebases and policy/MCTS are future work. They are not silently active here.

Browser storage & privacy

Models, saved games, arena history and project settings stay in this browser. Download your project before deleting them. This removes only this chess site’s saved work; other sites, downloaded ZIPs and the browser’s normal runtime cache are unaffected.