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

#include <Arena.hh>

Public Member Functions

virtual void Evaluate (std::vector< std::unique_ptr< EvoScript >> &onceEvaluatedPlayers, std::vector< std::unique_ptr< EvoScript >> &neverEvaluatedPlayers)=0
 This function's responsibility is to evaluate EvoScripts and assign the value to them using setFitness(). If your method of evaluation is deterministic and absolute (i.e. fitness only depends on the EvoScript object itself) then you might ignore the @onceEvaluatedList. If your method is non-deterministic or relative (e.g., tournament-based) to the whole population, then you might evaluate @onceEvaluatedList again within the scope of the current population. More...
 

Detailed Description

The Arena class is an interface for the evaluator of the quality of players represented by EvoScripts. It is used either stand-alone or in the in the evaluation phase of Evolutionary Algorithm optimization

Member Function Documentation

◆ Evaluate()

virtual void grail::evolution::Arena::Evaluate ( std::vector< std::unique_ptr< EvoScript >> &  onceEvaluatedPlayers,
std::vector< std::unique_ptr< EvoScript >> &  neverEvaluatedPlayers 
)
pure virtual

This function's responsibility is to evaluate EvoScripts and assign the value to them using setFitness(). If your method of evaluation is deterministic and absolute (i.e. fitness only depends on the EvoScript object itself) then you might ignore the @onceEvaluatedList. If your method is non-deterministic or relative (e.g., tournament-based) to the whole population, then you might evaluate @onceEvaluatedList again within the scope of the current population.

Parameters
onceEvaluatedListEvoScript objects that have been evaluated at least once in previous iterations. The evaluation might need to be updated.
neverEvaluatedListEvoScript objects that have never been evaluated. Assign Fitness to them in this method.

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