From f009a278ea4c6954cca991a9a975a13864e9889b Mon Sep 17 00:00:00 2001 From: Matuush Date: Sun, 3 Nov 2024 14:36:46 +0100 Subject: [PATCH] Cleaned retrospective learning --- solver.hpp | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/solver.hpp b/solver.hpp index 7ad1f89..67c701d 100644 --- a/solver.hpp +++ b/solver.hpp @@ -135,21 +135,13 @@ public: } bool learn_back(Historic_guess hist) { - bool something_to_learn = true; - - hist = clean(hist); - // TODO Actually learn - - return something_to_learn; - } - void learn(vector p_guess, vector p_response) { bool something_to_learn; // A bit of cleaning - auto cleaned = clean({p_guess, p_response}); + auto cleaned = clean(hist); vector guess = cleaned.guess; vector response = cleaned.response; - + // None of these colors are there if(response[0] == 0 && response[1] == 0) { empty(guess); @@ -165,15 +157,20 @@ public: // At least only on the right spot else if(response[0] == 0) { if_not_here_then_nowhere(guess); - // TODO maybe I can guess which one is right something_to_learn = true; } - // TODO nonzero / nonzero + // Nonzero / nonzero else { something_to_learn = true; } + return something_to_learn; + } + void learn(vector p_guess, vector p_response) { + // Learn something new + bool something_to_learn = learn_back({p_guess, p_response}); + // Learn from previous guesses for(int i = 0; i < history.size(); i++) if(!learn_back(history[i])) {