chore(edu): update bean statuses and write self-play chapter content

Archive self-play beans, update shader/LLM parent beans to completed,
and add self-play chapter content to ml-self-play.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
main
Elijah Voigt 3 months ago
parent 0690327296
commit 814d1f50cb

@ -1,11 +1,14 @@
---
# edu-3yw9
title: 'Write §2: Monte Carlo Tree Search — algorithm explained'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T22:48:46Z
parent: edu-coqp
---
Step-by-step walkthrough of MCTS: selection (UCB1), expansion, simulation/rollout, backpropagation. Include a worked example on a small game tree.
## Summary of Changes\n\nWrote full content for §2 covering MCTS algorithm: the four phases (selection, expansion, simulation, backpropagation), UCB1/UCT formula, worked ASCII tree example, and strengths/limitations.

@ -0,0 +1,14 @@
---
# edu-453h
title: 'Write §13: The full AlphaGo Zero training loop'
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-16T01:35:06Z
parent: edu-coqp
---
Reading lesson: generate → train → evaluate → promote. Discuss the ELO-based model selection step and why it matters.
## Summary of Changes\n\nWrote full content for §13 covering the complete AlphaGo Zero training loop: self-play with temperature, training, evaluation gate, and the iterative improvement cycle with complete Rust implementation.

@ -1,11 +1,16 @@
---
# edu-4v13
title: 'Write §8: Exercise 2 — play Tic-Tac-Toe with pure MCTS'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T23:04:14Z
parent: edu-coqp
---
Exercise: wire MCTS to the game logic from Exercise 1 and run a match. Show sample output, discuss iteration count vs strength.
## Summary of Changes
Wrote full content for §8: Exercise 2 with MCTS vs MCTS tournament (100 games, iteration count experiments), human vs MCTS CLI game, experimentation prompts, and readiness checklist.

@ -1,11 +1,14 @@
---
# edu-5go8
title: 'Write §3: Why self-play? The AlphaGo Zero insight'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T22:51:31Z
parent: edu-coqp
---
Explain the key insight: a capable engine can be its own teacher. Historical context (AlphaGo vs AlphaGo Zero) and why the approach generalises.
## Summary of Changes\n\nWrote full content for §3 covering the evolution from Deep Blue to AlphaGo Zero, the self-play insight, the virtuous training cycle, and how we'll adapt the approach for Tic-Tac-Toe.

@ -0,0 +1,16 @@
---
# edu-7lu6
title: 'Write §12: Exercise 4 — replace rollout with the value network'
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-16T01:31:54Z
parent: edu-coqp
---
Exercise: substitute random rollout in MCTS with a neural-network value estimate; compare strength before and after.
## Summary of Changes
Wrote full content for §12: Exercise 4 covering PUCT formula, replacing random rollouts with value network evaluation, adding policy priors to MCTS nodes, modified MCTS code, and pure vs network-guided MCTS comparison.

@ -0,0 +1,14 @@
---
# edu-brtk
title: 'Write §14: Exercise 5 — 1000 self-play games; observe improvement'
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-16T01:40:32Z
parent: edu-coqp
---
Capstone exercise: run the full self-play loop for 1000 games; plot win-rate over iterations; discuss what worked and what didn't.
## Summary of Changes\n\nWrote full content for §14: Exercise 5 — the capstone exercise running 1000 self-play games, tracking diagnostics, validating convergence to perfect play, and providing next steps for further learning.

@ -1,11 +1,11 @@
---
# edu-coqp
title: 'edu: write Machine Learning chapter (self-play game AI, Alpha Go Zero style)'
status: in-progress
status: completed
type: feature
priority: low
created_at: 2026-03-10T23:30:01Z
updated_at: 2026-03-13T20:03:44Z
updated_at: 2026-03-16T01:40:56Z
---
## Background
@ -44,3 +44,5 @@ A self-play reinforcement learning course. The practical focus is implementing a
- `edu/src/ml-self-play.md`
- Add to `edu/src/SUMMARY.md` under a `# Machine Learning` section
## Summary of Changes\n\nAll 14 sections written (7,622 lines total). The chapter covers:\n- Part 1 (§1-3): RL fundamentals, MCTS algorithm, AlphaGo Zero insight\n- Part 2 (§4-6): Tic-Tac-Toe as learning vehicle, Rust game state, Exercise 1\n- Part 3 (§7-8): MCTS implementation in Rust, Exercise 2 (pure MCTS play)\n- Part 4 (§9-12): NN from scratch, training on MCTS data, PUCT-guided MCTS\n- Part 5 (§13-14): Full self-play training loop, capstone exercise

@ -0,0 +1,16 @@
---
# edu-e39n
title: 'Write §5: Representing game state in Rust'
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T22:56:30Z
parent: edu-coqp
---
Reading lesson: design of Board, Player, Move types. Discuss representation trade-offs (bitboard vs array). Show the full type definitions.
## Summary of Changes
Wrote full content for §5 covering Rust game state representation: Player enum, GameState struct, board indexing, Display impl, move generation, winner checking, and immutable apply_move design.

@ -0,0 +1,16 @@
---
# edu-iv0k
title: 'Write §9: Neural network architecture overview'
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T23:07:35Z
parent: edu-coqp
---
Conceptual lesson: shared convolutional trunk, policy head (move probabilities), value head (win probability). Diagrams encouraged. No code yet.
## Summary of Changes
Wrote full content for §9 covering neural network fundamentals from scratch: neurons/weights/biases, layers, forward pass, training intuition, and the dual-headed policy+value architecture for game AI with concrete TTT dimensions.

@ -0,0 +1,16 @@
---
# edu-k3tq
title: 'Write §4: Choosing a simple game — Tic-Tac-Toe'
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T22:53:54Z
parent: edu-coqp
---
Explain why Tic-Tac-Toe is ideal: small state space, deterministic, zero-sum, easily verifiable. Foreshadow how the same approach scales to Go/Chess.
## Summary of Changes
Wrote full content for §4 covering why Tic-Tac-Toe is the ideal learning vehicle: suitable game properties, game tree size, known optimal solution as validation target, and comparison with alternatives.

@ -0,0 +1,14 @@
---
# edu-lqky
title: 'Write §11: Exercise 3 — train the network on MCTS data'
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-16T00:32:55Z
parent: edu-coqp
---
Exercise: generate training examples (state, policy vector, value) from pure MCTS self-play; run one training epoch; log loss.
## Summary of Changes\n\nWrote full content for §11: Exercise 3 covering MCTS data generation pipeline, TrainingExample struct, mini-batch SGD training loop, loss tracking, network evaluation, and experimentation prompts.

@ -1,11 +1,14 @@
---
# edu-of9y
title: 'Write §7: Implementing MCTS in Rust'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T23:01:59Z
parent: edu-coqp
---
Walk through selection (UCB1 formula), expansion, simulation (random rollout), backpropagation. Show Rust code for the node structure and the four phases.
## Summary of Changes\n\nWrote full content for §7 covering MCTS implementation in Rust: arena-allocated node structure, all four phases implemented and explained, UCT calculation, main loop, and move selection.

@ -0,0 +1,14 @@
---
# edu-pvou
title: 'Write §10: Integrating a neural network crate'
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T23:11:44Z
parent: edu-coqp
---
Reading lesson: evaluate tch-rs vs candle for this use case; show how to define and initialise the network; basic forward-pass usage.
## Summary of Changes\n\nWrote full content for §10 covering from-scratch neural network implementation in Rust: Layer struct, forward pass with ReLU/softmax/tanh, illegal move masking, Xavier initialization, backpropagation, SGD training, and complete compilable code.

@ -0,0 +1,14 @@
---
# edu-wobk
title: 'Write §1: What is reinforcement learning?'
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T22:46:18Z
parent: edu-coqp
---
Cover: state, action, reward, policy, value function. Intuitive explanation with a game-playing example. No code.
## Summary of Changes\n\nWrote full content for §1 covering RL fundamentals: agent/environment loop, state/action/reward/policy/value concepts, contrast with supervised/unsupervised learning, and why RL fits games.

@ -1,11 +1,14 @@
---
# edu-ymux
title: 'Write §6: Exercise 1 — implement Tic-Tac-Toe game logic'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T22:58:06Z
parent: edu-coqp
---
Hands-on exercise: move generation, win detection, terminal-state check, displaying the board. Include starter code and expected test output.
## Summary of Changes\n\nWrote full content for §6: Exercise 1 with project setup instructions, 8 unit test specifications with collapsible solutions, a random-game main function, and a readiness checklist.

@ -1,10 +1,11 @@
---
# edu-10m1
title: '§9 Exercise 2: draw a coloured triangle'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:52Z
updated_at: 2026-03-13T19:54:52Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,10 +1,11 @@
---
# edu-1nox
title: §17 Signed Distance Fields for font rendering
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:55:11Z
updated_at: 2026-03-13T19:55:11Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,10 +1,11 @@
---
# edu-2ak3
title: §3 What is WGSL? Syntax overview
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:41Z
updated_at: 2026-03-13T19:54:41Z
updated_at: 2026-03-16T02:30:27Z
parent: edu-4u7w
---

@ -1,10 +1,11 @@
---
# edu-2sqo
title: '§13 Compute pipelines: dispatching work groups'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:55:02Z
updated_at: 2026-03-13T19:55:02Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,10 +1,11 @@
---
# edu-3l9h
title: §7 Vertices, buffers, and the vertex shader
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:49Z
updated_at: 2026-03-13T19:54:49Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,11 +0,0 @@
---
# edu-453h
title: 'Write §13: The full AlphaGo Zero training loop'
status: todo
type: task
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
parent: edu-coqp
---
Reading lesson: generate → train → evaluate → promote. Discuss the ELO-based model selection step and why it matters.

@ -1,11 +1,11 @@
---
# edu-4u7w
title: 'edu: write chapter on shader programming'
status: in-progress
status: completed
type: feature
priority: low
created_at: 2026-03-10T23:30:00Z
updated_at: 2026-03-13T19:54:32Z
updated_at: 2026-03-16T02:32:28Z
---
## Background
@ -50,3 +50,7 @@ A practical introduction to GPU shaders, written with Rust as the host language.
- `edu/src/shaders.md`
- Add to `edu/src/SUMMARY.md` under a `# Graphics` section
## Summary of Changes
All 18 sections written with full educational content covering the GPU execution model, wgpu setup, vertex/fragment shaders, textures, compute shaders, and advanced topics. ~4400 lines of content including full Rust+WGSL code examples, ASCII diagrams, and 5 hands-on exercises.

@ -1,10 +1,11 @@
---
# edu-5g0l
title: '§1 CPU vs GPU: parallel execution model'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:37Z
updated_at: 2026-03-13T19:54:37Z
updated_at: 2026-03-16T02:30:27Z
parent: edu-4u7w
---

@ -1,10 +1,11 @@
---
# edu-6jjp
title: '§5 Exercise 1: create a window and clear it to a colour'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:44Z
updated_at: 2026-03-13T19:54:44Z
updated_at: 2026-03-16T02:30:27Z
parent: edu-4u7w
---

@ -1,11 +0,0 @@
---
# edu-7lu6
title: 'Write §12: Exercise 4 — replace rollout with the value network'
status: todo
type: task
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
parent: edu-coqp
---
Exercise: substitute random rollout in MCTS with a neural-network value estimate; compare strength before and after.

@ -1,10 +1,11 @@
---
# edu-7m8d
title: '§18 Resources: Learn WGPU, Shadertoy, The Book of Shaders'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:55:12Z
updated_at: 2026-03-13T19:55:12Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,10 +1,11 @@
---
# edu-9lda
title: '§16 Post-processing effects (bloom, blur): conceptual overview'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:55:11Z
updated_at: 2026-03-13T19:55:11Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,11 +0,0 @@
---
# edu-brtk
title: 'Write §14: Exercise 5 — 1000 self-play games; observe improvement'
status: todo
type: task
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
parent: edu-coqp
---
Capstone exercise: run the full self-play loop for 1000 games; plot win-rate over iterations; discuss what worked and what didn't.

@ -1,10 +1,11 @@
---
# edu-bycd
title: §11 Texture coordinates (UVs), texture creation, sampler config
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:56Z
updated_at: 2026-03-13T19:54:56Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,10 +1,11 @@
---
# edu-cr0w
title: '§10 Exercise 3: animate the triangle using a time uniform'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:54Z
updated_at: 2026-03-13T19:54:54Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,11 +0,0 @@
---
# edu-e39n
title: 'Write §5: Representing game state in Rust'
status: todo
type: task
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
parent: edu-coqp
---
Reading lesson: design of Board, Player, Move types. Discuss representation trade-offs (bitboard vs array). Show the full type definitions.

@ -1,10 +1,11 @@
---
# edu-exby
title: '§15 Exercise 5: GPU-accelerate a particle simulation'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:55:05Z
updated_at: 2026-03-13T19:55:05Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,10 +1,11 @@
---
# edu-ga8p
title: §8 Interpolation and the fragment shader
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:50Z
updated_at: 2026-03-13T19:54:50Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,10 +1,11 @@
---
# edu-hrfy
title: '§6 The render loop: swap chains, frames, command encoders'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:44Z
updated_at: 2026-03-13T19:54:44Z
updated_at: 2026-03-16T02:30:27Z
parent: edu-4u7w
---

@ -1,11 +0,0 @@
---
# edu-iv0k
title: 'Write §9: Neural network architecture overview'
status: todo
type: task
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
parent: edu-coqp
---
Conceptual lesson: shared convolutional trunk, policy head (move probabilities), value head (win probability). Diagrams encouraged. No code yet.

@ -1,10 +1,11 @@
---
# edu-j35d
title: §4 What is wgpu? Cross-platform graphics API in Rust
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:43Z
updated_at: 2026-03-13T19:54:43Z
updated_at: 2026-03-16T02:30:27Z
parent: edu-4u7w
---

@ -1,11 +0,0 @@
---
# edu-k3tq
title: 'Write §4: Choosing a simple game — Tic-Tac-Toe'
status: todo
type: task
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
parent: edu-coqp
---
Explain why Tic-Tac-Toe is ideal: small state space, deterministic, zero-sum, easily verifiable. Foreshadow how the same approach scales to Go/Chess.

@ -1,11 +0,0 @@
---
# edu-lqky
title: 'Write §11: Exercise 3 — train the network on MCTS data'
status: todo
type: task
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
parent: edu-coqp
---
Exercise: generate training examples (state, policy vector, value) from pure MCTS self-play; run one training epoch; log loss.

@ -1,11 +0,0 @@
---
# edu-pvou
title: 'Write §10: Integrating a neural network crate'
status: todo
type: task
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
parent: edu-coqp
---
Reading lesson: evaluate tch-rs vs candle for this use case; show how to define and initialise the network; basic forward-pass usage.

@ -1,10 +1,11 @@
---
# edu-r52d
title: '§2 The programmable pipeline: vertex, fragment, compute shaders'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:39Z
updated_at: 2026-03-13T19:54:39Z
updated_at: 2026-03-16T02:30:27Z
parent: edu-4u7w
---

@ -1,11 +1,11 @@
---
# edu-u2w7
title: 'edu: write chapter on creating and training a simple LLM'
status: in-progress
status: completed
type: feature
priority: low
created_at: 2026-03-10T23:30:00Z
updated_at: 2026-03-13T22:01:43Z
updated_at: 2026-03-16T02:32:26Z
---
## Background
@ -48,3 +48,7 @@ A practical course on building a small language model from scratch in Rust, cove
- `edu/src/llm-from-scratch.md`
- Add to `edu/src/SUMMARY.md` under the `# Machine Learning` section
## Summary of Changes
All 14 sections written with full educational content covering language modeling basics, the Transformer architecture, model assembly with candle, training, and reflection. ~1900 lines of content including code examples, ASCII diagrams, and exercises.

@ -1,10 +1,11 @@
---
# edu-uxa1
title: §14 Storage buffers and read/write access from WGSL
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:55:04Z
updated_at: 2026-03-13T19:55:04Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

@ -1,11 +0,0 @@
---
# edu-wobk
title: 'Write §1: What is reinforcement learning?'
status: todo
type: task
created_at: 2026-03-13T20:03:17Z
updated_at: 2026-03-13T20:03:17Z
parent: edu-coqp
---
Cover: state, action, reward, policy, value function. Intuitive explanation with a game-playing example. No code.

@ -1,10 +1,11 @@
---
# edu-xv9j
title: '§12 Exercise 4: render a textured quad'
status: todo
status: completed
type: task
priority: normal
created_at: 2026-03-13T19:54:58Z
updated_at: 2026-03-13T19:54:58Z
updated_at: 2026-03-16T02:30:28Z
parent: edu-4u7w
---

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save