Grail (C++)  1.1.1
A multi-platform, modular, universal engine for embedding advanced AI in games.
DatasetSample.hh
1 #ifndef GRAIL_DATASET_SAMPLE_H
2 #define GRAIL_DATASET_SAMPLE_H
3 
4 #include "../ISimulatedGameAction.hh"
5 #include "../DecisionTree/DTConsiderationType.hh"
6 
7 #include <memory>
8 #include <string>
9 #include <vector>
10 
11 namespace grail
12 {
13  namespace simulation
14  {
15  template <class T>
16  class IDecisionStringSerializer;
17 
23  {
24  virtual ~DatasetSample();
25 
26  DatasetSample(const DatasetSample& sample);
27 
29  DatasetSample(std::unique_ptr<ISimulatedGameAction> decision, std::initializer_list<float> data);
30 
32  DatasetSample(std::unique_ptr<ISimulatedGameAction> decision, const std::vector<float>& data);
33 
34  ISimulatedGameAction* GetDecision() const;
35 
36  std::string ToString(IDecisionStringSerializer<ISimulatedGameAction>& actionSerializer) const;
37 
39  std::vector<float> data;
40 
41  private:
42  std::unique_ptr<ISimulatedGameAction> decision = nullptr;
43  };
44  }
45 }
46 #endif //GRAIL_DATASET_SAMPLE_H
grail::simulation::ISimulatedGameAction
Base class for all actions in SimulatedGame. Derive from it for your actions.
Definition: ISimulatedGameAction.hh:39
grail::simulation::IDecisionStringSerializer
Definition: IDecisionSerializers.hh:16
grail::simulation::DatasetSample
Represents elements stored in DataSet. They consist of a vector of consideration values and decision ...
Definition: DatasetSample.hh:22
grail::simulation::DatasetSample::data
std::vector< float > data
Values measured for considerations.
Definition: DatasetSample.hh:39