Grail (C++)  1.1.1
A multi-platform, modular, universal engine for embedding advanced AI in games.
grail::simulation::SimulatedGameHeuristic Class Referenceabstract

Interface that encapsulates an algorithm responsible for action-selection inside SimulatedGame (MCTS). This action-selection is performed in certain situations instead of sampling from the whole action space. The goal is to reduce the combinatorial complexity or just provide scripted behavior in certain moments of the game. More...

#include <ISimulatedGameHeuristic.hh>

Inheritance diagram for grail::simulation::SimulatedGameHeuristic:

Public Member Functions

virtual std::unique_ptr< ISimulatedGameActionGetAction () const =0
 If @IsHeuristicSituation() function returns true, then this method returns action to be executed.
 
virtual bool IsHeuristicSituation (const ISimulatedGameUnit &unit) const =0
 This function tests whether the heuristic should apply in the current moment in the game. More...
 

Detailed Description

Interface that encapsulates an algorithm responsible for action-selection inside SimulatedGame (MCTS). This action-selection is performed in certain situations instead of sampling from the whole action space. The goal is to reduce the combinatorial complexity or just provide scripted behavior in certain moments of the game.

Member Function Documentation

◆ IsHeuristicSituation()

virtual bool grail::simulation::SimulatedGameHeuristic::IsHeuristicSituation ( const ISimulatedGameUnit unit) const
pure virtual

This function tests whether the heuristic should apply in the current moment in the game.

Parameters
unit
Returns
If true then the action will be chosen accordint to the heuristic. If false: it will be chosen according to the MCTS selection formula.

Implemented in grail::simulation::DecisionTree.


The documentation for this class was generated from the following file: