Passing tests for Batch

This commit is contained in:
2022-06-12 21:43:35 +02:00
parent ae1c765dbb
commit 5a7053fb5d
3 changed files with 159 additions and 27 deletions

View File

@@ -1,9 +1,39 @@
use std::collections::HashMap;
use trueskill_tt::*;
fn main() {
let t_a = Player::new(Gaussian::new(29.0, 1.0), 25.0 / 6.0, GAMMA, N_INF);
let t_b = Player::new(Gaussian::new(25.0, 25.0 / 3.0), 25.0 / 6.0, GAMMA, N_INF);
let mut agents = HashMap::new();
let g = Game::new(vec![vec![t_a], vec![t_b]], vec![0, 1], 0.0);
let p = g.posteriors();
for k in ["a", "b", "c", "d", "e", "f"] {
let agent = Agent::new(
Player::new(
Gaussian::new(25.0, 25.0 / 3.0),
25.0 / 6.0,
25.0 / 300.0,
N_INF,
),
N_INF,
f64::NEG_INFINITY,
);
agents.insert(k.to_string(), agent);
}
let b = Batch::new(
vec![
vec![vec!["a"], vec!["b"]],
vec![vec!["c"], vec!["d"]],
vec![vec!["e"], vec!["f"]],
],
vec![vec![1, 0], vec![0, 1], vec![1, 0]],
0.0,
agents,
0.0,
);
let post = b.posteriors();
println!("{} {}", post["a"].mu(), 29.205);
println!("{} {}", post["a"].sigma(), 7.194)
}