Refactor some stuff
This commit is contained in:
@@ -113,7 +113,7 @@ impl Game {
|
||||
(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();
|
||||
|
||||
self.partial_evidence(&d, &margin, &tie, 0);
|
||||
@@ -256,7 +256,7 @@ impl Game {
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
} else {
|
||||
self.likelihoods = self.likelihood_analitico();
|
||||
self.likelihoods = self.likelihood_analytical();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ pub struct DiffMessages {
|
||||
}
|
||||
|
||||
impl DiffMessages {
|
||||
#[inline]
|
||||
pub fn p(&self) -> Gaussian {
|
||||
self.prior * self.likelihood
|
||||
}
|
||||
|
||||
@@ -14,16 +14,16 @@ pub struct Player {
|
||||
pub prior: Gaussian,
|
||||
pub beta: f64,
|
||||
pub gamma: f64,
|
||||
prior_draw: Gaussian,
|
||||
pub draw: Gaussian,
|
||||
}
|
||||
|
||||
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 {
|
||||
prior,
|
||||
beta,
|
||||
gamma,
|
||||
prior_draw,
|
||||
draw,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,18 +9,22 @@ pub struct TeamVariable {
|
||||
}
|
||||
|
||||
impl TeamVariable {
|
||||
#[inline]
|
||||
pub fn p(&self) -> Gaussian {
|
||||
self.prior * self.likelihood_lose * self.likelihood_win * self.likelihood_draw
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn posterior_win(&self) -> Gaussian {
|
||||
self.prior * self.likelihood_lose * self.likelihood_draw
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn posterior_lose(&self) -> Gaussian {
|
||||
self.prior * self.likelihood_win * self.likelihood_draw
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn likelihood(&self) -> Gaussian {
|
||||
self.likelihood_win * self.likelihood_lose * self.likelihood_draw
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user