|
|
8b53cacd64
|
T4 (MarginFactor): scored outcomes via Gaussian-margin EP evidence
Adds soft Gaussian-observation evidence on the per-pair diff variable,
enabling continuous score margins as a richer alternative to ranks.
Public API:
- `Outcome::Scored([scores])` (non-breaking enum extension under
`#[non_exhaustive]`).
- `Game::scored(teams, outcome, options)` constructor parallel to
`Game::ranked`.
- `EventBuilder::scores([...])` fluent helper.
- `HistoryBuilder::score_sigma(σ)` knob (default 1.0, validated > 0).
- `GameOptions::score_sigma`.
- `EventKind` re-exported from `lib.rs` (annotated `#[non_exhaustive]`).
- New `InferenceError::InvalidParameter { name, value }` variant.
Internals:
- `MarginFactor` (`factor/margin.rs`): Gaussian observation factor that
closes in one EP step; cavity-cached log-evidence mirrors `TruncFactor`.
- `BuiltinFactor::Margin` dispatch arm.
- `DiffFactor` enum in `game.rs` lets `Game::likelihoods` and the new
`likelihoods_scored` share the per-pair link abstraction.
- Per-event `EventKind { Ranked, Scored { score_sigma } }` routed through
`TimeSlice::add_events`, `iteration_direct`, and `log_evidence`.
Tests: 88 lib + 27 integration (4 new in `tests/scored.rs`); existing
goldens byte-identical. Bench: `benches/scored.rs` baseline ~960µs for
60 events × 20-player pool with default convergence.
Plan: docs/superpowers/plans/2026-04-27-t4-margin-factor.md
Spec item marked Done.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-04-27 08:47:36 +02:00 |
|
|
|
a1f282a1c8
|
feat: added a Drift trait and a "default" ConstantDrift implementation
|
2026-03-16 12:06:04 +01:00 |
|
|
|
3a22b20a17
|
Added todo to readme, and documentation for quality function
|
2024-04-03 09:53:07 +02:00 |
|
|
|
a491f8de8d
|
Fix broken link in README
|
2023-01-09 14:37:07 +01:00 |
|
|
|
0b4b07d60e
|
Added more links to readme
|
2023-01-09 14:35:34 +01:00 |
|
|
|
2b83ee5ef9
|
Added benchmark for Batch
|
2022-12-19 07:42:08 +01:00 |
|
|
|
cd1079a811
|
Use and Index struct instead of str and String for player id
|
2022-06-27 10:16:12 +02:00 |
|
|
|
c9d9d59535
|
More things, better things, awesome
|
2022-06-18 23:39:42 +02:00 |
|
|
|
dc10504b80
|
Port from julia version instead
|
2022-06-18 22:27:38 +02:00 |
|
|
|
9b025fb53a
|
Use PlayerIndex instead of String
|
2022-06-14 22:51:11 +02:00 |
|
|
|
de4b324651
|
Remove Display impl, better to use Debug
|
2022-06-13 11:35:08 +02:00 |
|
|
|
87a64acb83
|
Added more functions to History
|
2022-06-13 11:27:49 +02:00 |
|
|
|
de58d01322
|
Initial commit.
|
2022-06-10 15:22:27 +02:00 |
|