Refactor some stuff
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user