Grail (C++)  1.2.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
IVectorizer.hh
1 // Copyright QED Software 2023.
2 
3 #ifndef GRAIL_IVECTORIZER_H
4 #define GRAIL_IVECTORIZER_H
5 
6 #include <vector>
7 
8 namespace grail
9 {
10 namespace simgames
11 {
12  class ISimulatedGameUnit;
13 
14 namespace learn
15 {
19  struct IVectorizer
20  {
27  virtual bool IsLearnableSituation(const ISimulatedGameUnit& unit) const = 0;
28 
32  virtual std::vector<float> Vectorize() const = 0;
33 
34  virtual ~IVectorizer() = default;
35  };
36 }
37 }
38 }
39 
40 #endif //GRAIL_IVECTORIZER_H
grail::simgames::learn::IVectorizer::Vectorize
virtual std::vector< float > Vectorize() const =0
Returns the current values for all consideration (conditions) that will be used in a decision tree la...
grail::simgames::learn::IVectorizer::IsLearnableSituation
virtual bool IsLearnableSituation(const ISimulatedGameUnit &unit) const =0
Look at the state of your units and decide whether the current unit should learn in this situation....
grail::simgames::learn::IVectorizer
Classes implementing this interface provide training data in the offline learning process.
Definition: IVectorizer.hh:19
grail::simgames::ISimulatedGameUnit
Base class of a unit in the SimulatedGame framework. A unit represents part of the game-state and pef...
Definition: ISimulatedGameUnit.hh:28