Nothing could stop us

This commit is contained in:
Rendo 2025-11-09 14:38:51 +05:00
commit 2ebfe38bac

View file

@ -23,7 +23,34 @@ impl Learner {
iterations: iterations.unwrap_or(200),
}
}
fn get_similarity(expected_output: Vec<f64>, real_output: Vec<f64>) -> Result<f64, ()> {
pub fn iterate(&self) -> Formula {
let mut formulas: Vec<(Formula, f64)> = vec![];
for _ in 0..self.formulas_per_iteration {
let mut formula = self.best_algorithm.clone();
Learner::mutate_formula_randomly(&mut formula);
let outputs = formula.run(self.inputs.clone());
formulas.push((
formula,
Learner::get_similarity(&self.expected_outputs, &outputs).unwrap(),
));
}
formulas
.iter()
.max_by(|x, y| {
if x.1 > y.1 {
std::cmp::Ordering::Greater
} else if x.1 < y.1 {
std::cmp::Ordering::Less
} else {
std::cmp::Ordering::Equal
}
})
.unwrap()
.0
.clone()
}
fn mutate_formula_randomly(formula: &mut Formula) {}
fn get_similarity(expected_output: &Vec<f64>, real_output: &Vec<f64>) -> Result<f64, ()> {
if expected_output.len() != real_output.len() {
return Err(());
}