Minimax implemented without getting weight

This commit is contained in:
Matúš Púll 2024-12-26 21:17:42 +01:00
parent cfbe716587
commit 16e1acc51d
2 changed files with 16 additions and 4 deletions

View file

@ -34,7 +34,19 @@ void Solver::learn(vector<int> guess, Response response) {
int Solver::get_weight(vector<int> guess) { int Solver::get_weight(vector<int> guess) {
return 0; return 0;
} }
// TODO Weighed_guess Solver::minimax(vector<int> carry) {
Weighed_guess Solver::minimax(vector<vector<int>> *possibilities, vector<int> *chosen, int index) { if(carry.size() == N)
return {0, {}}; return {get_weight(carry), carry};
Weighed_guess best = {-1, {}};
for(int col = 0; col < M; col++) {
carry.push_back(col);
Weighed_guess next = minimax(carry);
if(next.weight > best.weight)
best = next;
carry.pop_back();
}
return best;
} }

View file

@ -22,5 +22,5 @@ public:
private: private:
void generate_set(vector<int> carry); void generate_set(vector<int> carry);
int get_weight(vector<int> guess); int get_weight(vector<int> guess);
Weighed_guess minimax(vector<vector<int>> *possibilities, vector<int> *chosen, int index); Weighed_guess minimax(vector<int> carry);
}; };