Grail (C#)  1.1.1
A multi-platform, modular, universal engine for embedding advanced AI in games.
Grail.Evolution.EAOptimizer Class Reference
Collaboration diagram for Grail.Evolution.EAOptimizer:

Public Member Functions

 EAOptimizer (List< EvoScript > initialPopulation, Arena arenaEvaluation, Mutation mutation=null, Crossover crossover=null, Selection selection=null)
 The EA algorithm will maintain the size of the initial population after the selection phase. More...
 
void Run (int maxEpochCount=1)
 
List< EvoScriptGetPopulation ()
 
EvoScript GetBestIndividual ()
 
float CalculatePopulationAverageDiversity ()
 
int CalculatePopulationIdenticalFrontCount ()
 

Public Attributes

int PopulationSize => corePopulation.Count
 

Protected Attributes

Random random = new Random()
 
List< EvoScriptcorePopulation
 
List< EvoScripttempPopulation
 
int epochNumber = 0
 
int populationSize = 0
 
Mutation mutation = null
 
Crossover crossover = null
 
Arena arenaEvaluation = null
 
Selection selection = null
 

Properties

double ElitismRate = 0.2 [get, set]
 Percent of most fit individuals in a population that will be considered for the next population without any change. More...
 
ElitismType ElitismType = ElitismType.NONE [get, set]
 

Constructor & Destructor Documentation

◆ EAOptimizer()

Grail.Evolution.EAOptimizer.EAOptimizer ( List< EvoScript initialPopulation,
Arena  arenaEvaluation,
Mutation  mutation = null,
Crossover  crossover = null,
Selection  selection = null 
)
inline

The EA algorithm will maintain the size of the initial population after the selection phase.

Parameters
initialPopulationInitial population to the EA algorithm.
arenaEvaluation
mutation
crossover
selection

Property Documentation

◆ ElitismRate

double Grail.Evolution.EAOptimizer.ElitismRate = 0.2
getset

Percent of most fit individuals in a population that will be considered for the next population without any change.


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