1 #ifndef GRAIL_C45_VALUE_DECISION_COUNTER_H
2 #define GRAIL_C45_VALUE_DECISION_COUNTER_H
4 #include "C45GameActionCounter.h"
5 #include <unordered_map>
11 class ISimulatedGameAction;
18 const std::unordered_map<float, int>& getSampleCountByKey()
const;
22 double getTotalSampleCount()
const;
24 size_t geKeyCount()
const;
26 void observeKey(
float key);
30 double calculateEntropy()
const;
32 int getCount(
float key)
const;
34 double calculateGainPortion(
double globalEntropy);
37 std::unordered_map<float, int> sampleCountByKey;
38 std::unordered_map<float, C45GameActionCounter> decisionCounterByKey;
39 double totalSamples = 0;
The whole class should be INTERNAL; part of the private interface.
Definition: C45ValueDecisionCounter.h:15
Base class for all actions in SimulatedGame. Derive from it for your actions.
Definition: ISimulatedGameAction.hh:41