Esempio n. 1
0
//Polynomial Function Fitness
void Functions::fitnessPoly(Predictor &predictor){
	float a = 1;
	float b = 2;
	float c = 3;
	float d = 4;
	float fitness = 0;

	for(int i = 0; i < SAMPLESIZE; i++){
		float x = rand()%XRANGE - (XRANGE/2); //Choosing random x's as a sample
		float y1 = a*pow(x,3) + b*pow(x,2) + c*x + d;
		float y2 = predictor.getA()*pow(x,3) + predictor.getB()*pow(x,2) + predictor.getC()*x + predictor.getD();

		fitness += pow(y2-y1,2);
	}
	fitness /= SAMPLESIZE;

	predictor.setFitness(fitness);
}