Skip to content

References

What reinfors builds on. Legal redistribution notices live separately in the repository's THIRD-PARTY-NOTICES.

Algorithms

Per-algorithm sources are maintained in one place — the algorithms catalogue, generated from rf.catalog (each entry's Sources line covers the base algorithm and the implemented variants: CFR+ and external-sampling MCCFR for rf.solvers.Cfr, Deep CFR for rf.solvers.DeepCfr, decoupled UCT for simultaneous-move search, Bootstrapped DQN for the multi-head design). SelectiveExpectimax is in-house design: uncertainty-guided selective expansion over classical expectimax search.

Encodings and layouts

Validation and comparison

  • Mandatory internal suites (rules, legality, codec round-trips) run in CI unconditionally, alongside targeted no-panic boundary sweeps.
  • Optional OpenSpiel oracles: the poker suites compare against pyspiel when it is installed (pytest.importorskip — a development-time oracle, not a CI gate). The pinned chess observation layout is used by the companion reinfors-benchmarks repository for its matched cross-stack experiments; the benchmark protocol and results live there.