📄 cgenome.cpp
字号:
#include "CGenome.h"
CGenome::CGenom(int num_bits)
{
num_bit = num_bits;
dFitness = 0;
int n = 0;
int i = 0,j = 0;
for(i = 0; i < num_bits; i++)
{
do
{
n = rand()%num_bits;
for(j = 0; j < i; ++j)
{
if(n == vecBits[j])
{
break;
}
}
}while(j != i);
vecBits.push_back(n);
}
}
void CGenome::ShowBits()
{
for(vecBits_it = vecBits.begin(); vecBits_it != vecBits.end(); vecBits_it++)
{
cout<<*vecBits_it+1<<' ';
}
UpdateFitnessScore();
cout<<"Fit: "<<dFitness<<endl;
}
void CGenome::UpdateFitnessScore()
{
int i = 0,j = 0;
double wrong = 0;
for(i = 0; i < num_bit; i++)
{
for(j = i+1; j < num_bit; j++)
{
if(vecBits[i]-i == vecBits[j]-j || vecBits[i]+i == vecBits[j]+j)
{
wrong++;
}
}
}
dFitness = 1/(wrong+1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -