/* C Programming, Project 6 */
#include <stdio.h>
#include <stdlib.h>
#define POP 50
int main(void)
{
double parent[3],parentFit,offspring[POP][3],oFit[POP];
int gen,i,j;
for (i=0;i<3;i++)
parent[i] = initPetPar();
parentFit = IQEval(parent[0], parent[1], parent[2]);
for (gen=1;gen<300;gen++) {
for (i=0;i<POP;i++) {
for (j=0;j<3;j++)
offspring[i][j] = parent[j] + (double)rand()/RAND_MAX*4-2.0;
oFit[i] = IQEval(offspring[i][0], offspring[i][1], offspring[i][2]);
}
for (i=0;i<POP;i++) {
if (oFit[i>parentFit) {
for (j=0;j<3;j++) {
parent[j] = offspring[i][j];
}
parentFit = oFit[i];
}
}
printf("%10.4f %10.4f %10.4f, parentFit=%10.4f\n", parent[0], parent[1], parent[2], parentFit);
}
system("pause");
return 0;
}
作業六題目
回到首頁
沒有留言:
張貼留言