本文整理汇总了C++中EvolutionaryAlgorithm::evolutionaryLoop方法的典型用法代码示例。如果您正苦于以下问题:C++ EvolutionaryAlgorithm::evolutionaryLoop方法的具体用法?C++ EvolutionaryAlgorithm::evolutionaryLoop怎么用?C++ EvolutionaryAlgorithm::evolutionaryLoop使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EvolutionaryAlgorithm
的用法示例。
在下文中一共展示了EvolutionaryAlgorithm::evolutionaryLoop方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main2
int main2()
{
// Start graphics thread
Graphics graphics;
graphics.startThread();
Sleep(1000);
// Arduino setup
EvolutionaryAlgorithm ea;
int counter = 0;
bool loop = true;
while (loop)
{
// Print population
std::vector<Individual> pop = ea.children;
std::cout << pop.size() << std::endl;
//Vecotr of scores
std::vector<double> score;
// For each population
for (unsigned i = 0; i < pop.size(); i++)
{
Individual ind = pop[i];
std::cout << "----" << "\n";
//Get stop position from camera
posMutex.lock();
Vec2 startPos = currentPosition;
posMutex.unlock();
graphics.setData(ind.genotype);
//Calculate score
double individualScore = (double)getVirtualScore2(ind.genotype);
std::cout << "Score: " << individualScore;
if (individualScore > 90.0)
{
loop = false;
graphics.saveAsImage("finished");
}
counter++;
graphics.saveAsImage(std::to_string(counter));
score.push_back(individualScore);
}
//Send score to algoritm
ea.evolutionaryLoop(score);
}
// Shutdown the software, wait for threads
std::cout << "Shutting down..." << std::endl;
cameraThreadRunning = false;
graphics.join();
return 0;
}