本文整理汇总了C++中Gene::copy方法的典型用法代码示例。如果您正苦于以下问题:C++ Gene::copy方法的具体用法?C++ Gene::copy怎么用?C++ Gene::copy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gene
的用法示例。
在下文中一共展示了Gene::copy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mutateProper
Genome* SelfAdaptiveMutation::mutateProper(Genome* target) {
std::vector<Gene*> genes = target->getGenome();
std::vector<Gene*> results;
for (unsigned int i = 0; i < this->initialGenomeLength; i++)
results.push_back(genes[i]->copy());
double rhoZero = HierRNG::gaussian(0, 1);
for (unsigned int index: this->stdDevIndices) {
Gene* target = genes[index];
double stdDev = target->getIndex();
double tauResult = this->tauPrime * rhoZero
+ this->tau * HierRNG::gaussian(0, 1);
stdDev *= this->useTauPlusOneCorrection ?
pow(stdDev, tauResult) : exp(tauResult);
results.push_back(target->copy(stdDev));
}
for (unsigned int i = 0; i < this->initialGenomeLength; i++) {
Gene* original = results[i];
double newIndex = original->getIndex();
newIndex = newIndex
+ results[this->initialGenomeLength + i]->getIndex()
* HierRNG::gaussian(0, 1);
results[i] = original->copy(newIndex);
delete(original);
}
return new Genome(results, target->getSpeciesNode());
}