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