Public members shown below
public:
UCGenome();
UCGenome(int id, int inputs, int outputs);
UCGenome(int id,
TArray<FNeuronGene> neurons,
TArray<FLinkGene> genes,
int inputs,
int outputs);
~UCGenome();
//copy constructor
// UCGenome(const UCGenome& g);
//assignment operator
// UCGenome& operator =(const UCGenome& g);
UFUNCTION(BlueprintCallable, Category = NEAT)
UCNeuralNet* CreatePhenotype();
UFUNCTION(BlueprintCallable, Category = NEAT)
void DeletePhenotype();
UFUNCTION(BlueprintCallable, Category = NEAT)
void InitializeWeights();
void AddLink(float MutationRate,
float ChanceOfRecurrent,
UCInnovation &innovation,
int NumTrysToFindLoop,
int NumTrysToAddLink);
void AddNeuron(float MutationRate,
UCInnovation &innovation,
int NumTrysToFindOldLink);
UFUNCTION(BlueprintCallable, Category = NEAT)
void MutateWeights(float mut_rate,
float prob_new_mut,
float fMaxPerturbation);
UFUNCTION(BlueprintCallable, Category = NEAT)
void MutateActivationResponse(float mut_rate,
float MaxPerturbation);
float GetCompatibilityScore(const UCGenome &genome);
UFUNCTION(BlueprintCallable, Category = NEAT)
void SortGenes();
bool Write(ostream &file);
bool CreateFromFile(const char* szFileName);
//overload '<' used for sorting. From fittest to poorest
friend bool operator <(const UCGenome& lhs, const UCGenome& rhs)
{
return (lhs.m_fFitness > rhs.m_fFitness);
}