Grail (C++)  1.2.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
DatasetSample.hh
1 // Copyright QED Software 2023.
2 
3 #ifndef GRAIL_DATASET_SAMPLE_H
4 #define GRAIL_DATASET_SAMPLE_H
5 
6 #include "../ISimulatedGameAction.hh"
7 #include "../DecisionTree/DTConsiderationType.hh"
8 
9 #include <memory>
10 #include <string>
11 #include <vector>
12 
13 namespace grail
14 {
15 namespace simgames
16 {
17  namespace dt
18  {
19  template <class T>
20  class IDecisionStringSerializer;
21  }
22 
23 namespace learn
24 {
25 
31  {
32  virtual ~DatasetSample();
33 
34  DatasetSample(const DatasetSample& sample);
35 
37  DatasetSample(std::unique_ptr<ISimulatedGameAction> decision, std::initializer_list<float> data);
38 
40  DatasetSample(std::unique_ptr<ISimulatedGameAction> decision, const std::vector<float>& data);
41 
42  ISimulatedGameAction* GetDecision() const;
43 
44  std::string ToString(dt::IDecisionStringSerializer<ISimulatedGameAction>& actionSerializer) const;
45 
47  std::vector<float> data;
48 
49  private:
50  std::unique_ptr<ISimulatedGameAction> decision = nullptr;
51  };
52 }
53 }
54 }
55 
56 #endif //GRAIL_DATASET_SAMPLE_H
grail::simgames::learn::DatasetSample
Represents elements stored in DataSet. They consist of a vector of consideration values and decision ...
Definition: DatasetSample.hh:30
grail::simgames::ISimulatedGameAction
Base class for all actions in SimulatedGame. Derive from it for your actions.
Definition: ISimulatedGameAction.hh:41
grail::simgames::dt::IDecisionStringSerializer
Definition: IDecisionSerializers.hh:20
grail::simgames::learn::DatasetSample::data
std::vector< float > data
Values measured for considerations.
Definition: DatasetSample.hh:47