MCPcopy Create free account
hub / github.com/FidoProject/Fido / train

Function train

tests/reinforcement.cpp:14–27  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12static const double PERCENT_CORRECT = 0.70;
13
14void train(rl::Learner *learner) {
15 int correct = 0;
16 int selector;
17 for(unsigned int a = 0; a < NUM_TRIALS; a++) {
18 selector = rand() % 2;
19 int action = (int)learner->chooseBoltzmanAction({(double)selector}, 100)[0];
20 learner->applyReinforcementToLastAction((1 - 2*fabs(action-selector)) / 3.0, {(double)selector});
21
22 if((int)learner->chooseBoltzmanAction({0}, 0)[0] == 0) correct++; if((int)learner->chooseBoltzmanAction({1}, 0)[0] == 1) correct++;
23 }
24
25 std::cout << "Last selector: " << selector << "\n";
26 REQUIRE(correct / double(NUM_TRIALS*2) > PERCENT_CORRECT);
27}
28
29TEST_CASE("QLearn ", "[reinforcement]") {
30 srand(time(NULL));

Callers 1

reinforcement.cppFile · 0.85

Calls 2

chooseBoltzmanActionMethod · 0.45

Tested by

no test coverage detected