Refactor some stuff

This commit is contained in:
2022-06-15 13:26:03 +02:00
parent 0a3327f076
commit 36c3366990
4 changed files with 10 additions and 5 deletions

View File

@@ -113,7 +113,7 @@ impl Game {
(o, t, d, tie, margin) (o, t, d, tie, margin)
} }
fn likelihood_analitico(&mut self) -> Vec<Vec<Gaussian>> { fn likelihood_analytical(&mut self) -> Vec<Vec<Gaussian>> {
let (o, t, d, tie, margin) = self.graphical_model(); let (o, t, d, tie, margin) = self.graphical_model();
self.partial_evidence(&d, &margin, &tie, 0); self.partial_evidence(&d, &margin, &tie, 0);
@@ -256,7 +256,7 @@ impl Game {
}) })
.collect::<Vec<_>>(); .collect::<Vec<_>>();
} else { } else {
self.likelihoods = self.likelihood_analitico(); self.likelihoods = self.likelihood_analytical();
} }
} }

View File

@@ -7,6 +7,7 @@ pub struct DiffMessages {
} }
impl DiffMessages { impl DiffMessages {
#[inline]
pub fn p(&self) -> Gaussian { pub fn p(&self) -> Gaussian {
self.prior * self.likelihood self.prior * self.likelihood
} }

View File

@@ -14,16 +14,16 @@ pub struct Player {
pub prior: Gaussian, pub prior: Gaussian,
pub beta: f64, pub beta: f64,
pub gamma: f64, pub gamma: f64,
prior_draw: Gaussian, pub draw: Gaussian,
} }
impl Player { impl Player {
pub fn new(prior: Gaussian, beta: f64, gamma: f64, prior_draw: Gaussian) -> Self { pub fn new(prior: Gaussian, beta: f64, gamma: f64, draw: Gaussian) -> Self {
Player { Player {
prior, prior,
beta, beta,
gamma, gamma,
prior_draw, draw,
} }
} }
} }

View File

@@ -9,18 +9,22 @@ pub struct TeamVariable {
} }
impl TeamVariable { impl TeamVariable {
#[inline]
pub fn p(&self) -> Gaussian { pub fn p(&self) -> Gaussian {
self.prior * self.likelihood_lose * self.likelihood_win * self.likelihood_draw self.prior * self.likelihood_lose * self.likelihood_win * self.likelihood_draw
} }
#[inline]
pub fn posterior_win(&self) -> Gaussian { pub fn posterior_win(&self) -> Gaussian {
self.prior * self.likelihood_lose * self.likelihood_draw self.prior * self.likelihood_lose * self.likelihood_draw
} }
#[inline]
pub fn posterior_lose(&self) -> Gaussian { pub fn posterior_lose(&self) -> Gaussian {
self.prior * self.likelihood_win * self.likelihood_draw self.prior * self.likelihood_win * self.likelihood_draw
} }
#[inline]
pub fn likelihood(&self) -> Gaussian { pub fn likelihood(&self) -> Gaussian {
self.likelihood_win * self.likelihood_lose * self.likelihood_draw self.likelihood_win * self.likelihood_lose * self.likelihood_draw
} }