if(trialFitness BETTER_THAN fitnesses[solutionPosID])
{
posBetter = true;
bias = 0.2f*bias + 0.4f*(dif+bias);
}
else
{
trialFitness = negFitnesses[solutionPosID];
if(trialFitness BETTER_THAN fitnesses[solutionPosID])
{
negBetter = true;
bias = bias - 0.4f*(dif+bias);
}
}
if(posBetter || negBetter)
{
successes[solutionPosID]++;
fails[solutionPosID] = 0;
biases[solutionPosID] = bias;
fitnesses[solutionPosID] = trialFitness;
}
else
{
successes[solutionPosID] = 0;
fails[solutionPosID]++;
}