Skip to content

Commit 330a16f

Browse files
CopilotAPN-Pucky
andauthored
Count DB-hit results as skipped simulations
Agent-Logs-Url: https://github.com/APN-Pucky/tyrant_optimize/sessions/03a3ddb6-482c-420a-a814-67476ef400e2 Co-authored-by: APN-Pucky <4533248+APN-Pucky@users.noreply.github.com>
1 parent 0a53c64 commit 330a16f

2 files changed

Lines changed: 5 additions & 20 deletions

File tree

‎algorithms.cpp‎

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,6 @@
55

66
using namespace tuo;
77

8-
inline unsigned skipped_simulations_increment(Process& proc, unsigned num_iterations)
9-
{
10-
if (num_iterations == 0 || !use_db_load)
11-
{
12-
return num_iterations;
13-
}
14-
std::vector<std::array<std::string, 3>> const vhashes = proc.hashes();
15-
EvaluatedResults db_results{EvaluatedResults::first_type(vhashes.size()), 0};
16-
if (!proc.check_db(vhashes, num_iterations, db_results))
17-
{
18-
return 0;
19-
}
20-
return num_iterations;
21-
}
22-
238
inline bool try_improve_deck(Deck* d1, unsigned from_slot, unsigned to_slot, const Card* card_candidate,
249
const Card*& best_commander, const Card*& best_alpha_dominion, std::vector<const Card*>& best_cards,
2510
FinalResults<long double>& best_score, unsigned& best_gap, std::string& best_deck,
@@ -58,7 +43,7 @@ inline bool try_improve_deck(Deck* d1, unsigned from_slot, unsigned to_slot, con
5843
auto & prev_results = emplace_rv.first->second;
5944
if (!emplace_rv.second)
6045
{
61-
skipped_simulations += skipped_simulations_increment(proc, prev_results.second);
46+
skipped_simulations += prev_results.second;
6247
}
6348

6449
// Evaluate new deck
@@ -100,7 +85,7 @@ inline FinalResults<long double> fitness(Deck* d1,
10085
auto & prev_results = emplace_rv.first->second;
10186
if (!emplace_rv.second)
10287
{
103-
skipped_simulations += skipped_simulations_increment(proc, prev_results.second);
88+
skipped_simulations += prev_results.second;
10489
}
10590

10691
// Evaluate new deck
@@ -235,7 +220,7 @@ DeckResults hill_climbing(unsigned num_min_iterations, unsigned num_iterations,
235220
if (best_score.n_sims >= num_iterations || best_gap > 0)
236221
{ break; } // exit main climbing loop
237222
auto & prev_results = evaluated_decks[best_deck];
238-
skipped_simulations += skipped_simulations_increment(proc, prev_results.second);
223+
skipped_simulations += prev_results.second;
239224
// Re-evaluate the best deck
240225
d1->commander = best_commander;
241226
d1->alpha_dominion = best_alpha_dominion;
@@ -907,7 +892,7 @@ void recursion(unsigned num_iterations, std::vector<unsigned> used, unsigned poo
907892
auto & prev_results = emplace_rv.first->second;
908893
if(!emplace_rv.second)
909894
{
910-
skipped_simulations += skipped_simulations_increment(proc, prev_results.second);
895+
skipped_simulations += prev_results.second;
911896
}
912897
auto compare_results= proc.evaluate(num_iterations, prev_results);
913898
auto current_score = compute_score(compare_results, proc.factors);

‎sim_test.cpp‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ BOOST_AUTO_TEST_CASE(test_db_skipped_counter_on_hit)
552552
Result cached(run_sim(sizeof(cached_argv) / sizeof(*cached_argv), cached_argv));
553553
unsigned long cached_skipped{0};
554554
BOOST_REQUIRE_MESSAGE(try_get_skipped_simulations(std::get<1>(cached), cached_skipped), "Failed to parse skipped simulations from cached output");
555-
BOOST_CHECK_MESSAGE(cached_skipped == 0, "Expected zero skipped simulations on DB-only hit, got " + std::to_string(cached_skipped) + ". Warmup skipped: " + std::to_string(warmup_skipped));
555+
BOOST_CHECK_MESSAGE(cached_skipped > 0, "Expected skipped simulations to include DB-hit results, got " + std::to_string(cached_skipped) + ". Warmup skipped: " + std::to_string(warmup_skipped));
556556
}
557557
BOOST_AUTO_TEST_SUITE_END()
558558
BOOST_AUTO_TEST_SUITE_END()

0 commit comments

Comments
 (0)