ismcts-bc-ceiling-2026-05-11 was filed under "Other"; promote it to a proper SO-ISMCTS section between Deep CFR and Engine/Performance so the catalog actually reflects the project's two algorithm families. As more ISMCTS notes accrue they have an obvious home.
5.9 KiB
5.9 KiB
Research Notes Catalog
This file catalogs permanent research notes in docs/research/. AGENTS.md is
the workflow document for deciding where new documentation belongs.
Deep CFR
- Lost Cities Deep CFR selectivity ideas — Consolidates selectivity failure hypotheses, diagnostics, and interventions before expensive architecture changes. (2026-05-10)
- Deep CFR 512x3 2000-iteration baseline analysis — Finds advantage loss improving while evaluated average-policy quality degrades, requiring current-vs-average diagnostics. (2026-05-08)
- Batched and parallel evaluation in Deep CFR — Batching games and parallelizing opponents cuts CUDA evaluation overhead after entropy stays on device. (2026-05-08)
- Deep CFR evaluation profiling — Defines runtime counters that separate policy inference, encoding, opponent logic, and engine costs. (2026-05-08)
- Deep CFR evaluation performance — Shows serial batch-size-one CUDA evaluation is slower than CPU until evaluation is batched. (2026-05-08)
- Deep CFR legacy parity and hyperparameter mapping — Maps legacy features, architecture, and traversal knobs needed for meaningful reproduction comparisons. (2026-05-08)
- Deep CFR runtime: legacy vs. current implementation — Attributes current speedups to Cython traversal, batched evaluation, and opponent-parallel execution. (2026-05-08)
- Deep CFR performance optimization and scaling — Concludes small models regress under AMP or compile; interleaved traversal is the real win. (2026-05-08)
- Advantage memory split performance optimization — Splitting advantage reservoirs by player removes linear sample filtering and stabilizes iteration time. (2026-05-08)
- Deep CFR performance profile: advantage training bottlenecks — Identifies shared-memory player filtering as the original advantage-training scaling bottleneck. (2026-05-08)
- Deep CFR regret matching fallback and early over-opening — Shows uniform all-negative fallback frequently fires early and over-samples expedition-opening actions. (2026-05-08)
- Deep CFR reproducibility policy — Sets debug versus research reproducibility expectations and required matched-seed reporting practice. (2026-05-08)
- Deep CFR reproducibility — Traces same-seed multi-worker divergence to completion-order-sensitive reservoir insertion and sampling. (2026-05-08)
- Deep CFR v0: architectural parity and performance gaps — Confirms functional parity while naming synchronous recursive policy inference as the scaling bottleneck. (2026-05-08)
- Deep CFR Cython traversal architecture — Explains mutation-based Cython traversal, chance sampling, and non-leaking information-state encoding. (2026-05-08)
- Option A benchmark and structural ceiling — Shows centralized inference regressed because sync-blocking recursion capped realized GPU batch size. (2026-05-08)
- Post-A optimization calculus — Defers compile and TensorRT until model scale or evaluation density makes inference compute-bound. (2026-05-08)
- Deep CFR package architecture and design rationale — Documents the Cython/Python module split that follows traversal hot paths versus orchestration. (2026-05-07)
- Batched traversal inference decision — Records the initial Option A rationale and why later benchmarks redirected work toward interleaving. (2026-05-07)
- Deep CFR v0 subsystem coverage vs. legacy reference — Establishes that remaining legacy gaps are tooling and performance, not core algorithm correctness. (2026-05-07)
- Opponent policy: network vs. self-play league — Explains why a live network opponent collapses while snapshot leagues preserve stationarity. (2026-05-07)
- Outcome-sampling MCCFR advantage target — Defends zero unsampled-action targets as the textbook importance-weighted outcome-sampling estimator. (2026-05-07)
- Regret-matching all-negative fallback — Keeps uniform as the safe default while documenting argmax-tiebreak's unsettled early-training effects. (2026-05-07)
- Strategy memory recording location — Concludes traverser-node strategy samples are fine for outcome sampling, but external sampling needs OpenSpiel flags. (2026-05-07)
SO-ISMCTS
- SO-ISMCTS BC ceiling — Finds behavior cloning remains the ceiling under current search and compute budgets. (2026-05-11)
Engine / Performance
- Classic game port architecture — Describes the standalone Cython classic engine as the stable rules layer for all consumers. (2026-05-08)
- Fast engine optimization architecture — Prioritizes C-level APIs, contiguous allocation, and zero-copy extraction for high-throughput RL. (2026-05-08)
- Optimization sequencing — Orders runtime, traversal, model-scale, and inference optimizations to avoid invalidating experiments. (2026-05-07)
Other
- Julia port evaluation — Rejects a full Julia port for now because GPU MLP inference misses the threshold. (2026-05-10)
- Test coverage strategy for Python and Cython modules — Recommends Python-first coverage and isolated Cython tracing to protect performance artifacts. (2026-05-08)