#include #include #include #define POP_SIZE 30 int map[10][10]= {{0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0}, {0,0,2,1,1,1,0,0,0,0}, {0,0,1,0,0,1,1,1,0,0}, {0,0,1,0,0,0,0,1,0,0}, {0,0,1,0,0,0,0,1,0,0}, {0,0,1,1,1,1,0,1,0,0}, {0,0,0,0,0,1,1,1,0,0}, {0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0}}; int population[2][POP_SIZE][32]; int ap=0; double cross_rate=0.6; double mut_rate=0.001; int max=0; int max_iter=0; int iter=0; void init(void) { int i,j,r; for(i=0; imax) { max=m; max_iter=iter; } } for(i=0; icross_rate*RAND_MAX) continue; r=rand()/(RAND_MAX+0.0); p=1+31*r; for(j=p; j<32; j++) { tmp=population[ap][2*i][j]; population[ap][2*i][j]=population[ap][2*i+1][j]; population[ap][2*i+1][j]=tmp; } } } void mutacija(void) { int i,j; for(i=0; i