libmcts
A Monte Carlo Tree Search Library
iselection_strategy.hpp
1 #ifndef ISELECTION_STRATEGY_H
2 #define ISELECTION_STRATEGY_H
3 
4 #include <random>
5 #include "inode.hpp"
6 
7 namespace mcts {
8 
9 // ----------------------------------------------------------------------
16 // ----------------------------------------------------------------------
17 template <typename Context, typename Config> class ISelectionStrategy {
18  typedef typename INode<Context, Config>::node_t node_t;
19 
20 public:
22 
23  // ----------------------------------------------------------------------
29  // ----------------------------------------------------------------------
30  virtual node_t *select(node_t *node) = 0;
31 
32  virtual ~ISelectionStrategy() {}
33 };
34 }
35 
36 #endif
interface for all selection strategies. A selection strategy selects one child of a parent node accor...
basic interface for a node in the tree. Every node has to implement this functions.
Definition: inode.hpp:18
virtual node_t * select(node_t *node)=0
select a child of node