(C++)  1.0.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
SimulatedGameThinkingUnit.hh
1 #ifndef GRAIL_SIMULATED_GAME_THINKING_UNIT_H
2 #define GRAIL_SIMULATED_GAME_THINKING_UNIT_H
3 
4 #include "ISimulatedGameUnit.hh"
5 #include "ISimulatedGameAction.hh"
6 #include <vector>
7 #include <memory>
8 
9 namespace grail
10 {
11  namespace simulation
12  {
13  class SimulatedGameRuntime;
14  class OfflineLearner;
21  {
22  public:
23  virtual ~SimulatedGameThinkingUnit();
24  bool IsStochastic() const final;
25 
27  std::vector<std::shared_ptr<OfflineLearner>> OfflineLearners = {};
28 
29  private:
30  void ObserveNode(const SimulatedGameNode* node) final;
31 
32  friend class SimulatedGame;
33  };
34  }
35 }
36 #endif //GRAIL_SIMULATED_GAME_THINKING_UNIT_H
Base class of a unit in the SimulatedGame framework. A unit represents part of the game-state and pef...
Definition: ISimulatedGameUnit.hh:27
The main interface class for the SimulatedGame reasoner based on the MCTS algorithm....
Definition: SimulatedGame.hh:29
This class should not be visible to developers at all.
Definition: SimulatedGameNode.h:24
A base class of a unit related to a rational/intelligent player. MCTS chooses actions for this kind o...
Definition: SimulatedGameThinkingUnit.hh:21
bool IsStochastic() const final
For grail-internal use only.
Definition: SimulatedGameThinkingUnit.cpp:20
std::vector< std::shared_ptr< OfflineLearner > > OfflineLearners
Add or remove objects for OfflineLearning. See @OfflineLerner and Offline Learning in SimulatedGames.
Definition: SimulatedGameThinkingUnit.hh:27