From 05c0f4e37c4790978c67187b485402cefb052217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20R=C3=B6ger?= Date: Tue, 18 Aug 2026 22:38:47 +0200 Subject: [PATCH] improve remaining guess estimation --- src/lib/solver.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/lib/solver.rs b/src/lib/solver.rs index 539c65c..71e7d32 100644 --- a/src/lib/solver.rs +++ b/src/lib/solver.rs @@ -70,6 +70,14 @@ impl Solver { }); } + fn estimate_guesses(&self, expected_information_gained: f64) -> f64 { + if self.possible_solutions.len() == 1 { + 1.0 + } else { + 1.0 + self.possible_solutions.equal_likelieness_entropy() - expected_information_gained + } + } + pub fn evaluate_word(&self, word: &str) -> WordStats { let solution_probability = self.possible_solutions.word_probability(word); @@ -79,9 +87,7 @@ impl Solver { let expected_score_after_guess = score * solution_probability + (1.0 - solution_probability) - * (score - + (self.valid_words.equal_likelieness_entropy() - expected_information_gained) - .log2()); + * (score + self.estimate_guesses(expected_information_gained)); WordStats { word: word.to_string(),