📄 input_gen.c
字号:
#include "my_header.h"/* Hard Coded *//* 1% deviation */float rand_gen(int seed){ long int h; double temp; float ret; h = time(NULL); srand( ( (unsigned int)(h/2) )+ rand()/128 + seed); temp = (double) rand(); temp /= RAND_MAX; ret = (float)temp; return(ret);}int roulette(int num, float *fitness){ int k; double temp; float sum_fitness=0; for (k = 0; k < num; k++) { sum_fitness += fitness[k]; } temp = (double) rand_gen(num); temp *= sum_fitness; sum_fitness = 0; for (k = 0; k < num; k++) { sum_fitness += *(fitness+k); if (sum_fitness >= temp) { return(k); } } return(-1);}int dice_toss(int seed, int partition){ int k; double temp; double value; long int h; h = time(NULL); srand( (unsigned int) (h/2) + rand()/128 + seed); value=(double)rand()/RAND_MAX; temp=1.0/partition; for (k=partition; k+1; k--) { if (value > k*temp) { return(k); } } return(partition-1);}int coin_toss(int seed){ long int h; h = time(NULL); srand( (unsigned int) (h/2) + rand()/128 + seed); return((rand() > RAND_MAX/2) ? 1 : 0);}int main(void){int k,l,m,n,p;int sel;float input[16][35];float output[16];float temp_input[35];float temp;float fitness[16];FILE * file_ptr_in;FILE * file_ptr_out;int num;int num_input;int num_output;input[0][0]= 0;input[0][1]= 1;input[0][2]= 1;input[0][3]= 1;input[0][4]= 0;input[0][5]= 1;input[0][6]= 0;input[0][7]= 0;input[0][8]= 0;input[0][9]= 1;input[0][10]= 1;input[0][11]= 0;input[0][12]= 0;input[0][13]= 0;input[0][14]= 1;input[0][15]= 1;input[0][16]= 0;input[0][17]= 1;input[0][18]= 0;input[0][19]= 1;input[0][20]= 1;input[0][21]= 0;input[0][22]= 0;input[0][23]= 0;input[0][24]= 1;input[0][25]= 1;input[0][26]= 0;input[0][27]= 0;input[0][28]= 0;input[0][29]= 1;input[0][30]= 0;input[0][31]= 1;input[0][32]= 1;input[0][33]= 1;input[0][34]= 0;input[1][0]= 0; input[1][1]= 0;input[1][2]= 1;input[1][3]= 0;input[1][4]= 0;input[1][5]= 0;input[1][6]= 1;input[1][7]= 1;input[1][8]= 0;input[1][9]= 0;input[1][10]=0; input[1][11]=0; input[1][12]=1; input[1][13]=0; input[1][14]=0; input[1][15]=0; input[1][16]=0; input[1][17]=1; input[1][18]=0; input[1][19]=0; input[1][20]=0; input[1][21]=0; input[1][22]=1;input[1][23]=0;input[1][24]=0; input[1][25]=0; input[1][26]=0; input[1][27]=1; input[1][28]=0; input[1][29]=0; input[1][30]=0; input[1][31]=1; input[1][32]=1; input[1][33]=1; input[1][34]=0; input[2][0]= 0; input[2][1]= 1;input[2][2]= 1;input[2][3]= 1;input[2][4]= 0;input[2][5]= 1;input[2][6]= 0;input[2][7]= 0;input[2][8]= 0;input[2][9]= 1;input[2][10]=0; input[2][11]=0; input[2][12]=0; input[2][13]=0; input[2][14]=1; input[2][15]=0; input[2][16]=1; input[2][17]=1; input[2][18]=1; input[2][19]=1; input[2][20]=1; input[2][21]=0; input[2][22]=0; input[2][23]=0; input[2][24]=0; input[2][25]=1; input[2][26]=0; input[2][27]=0; input[2][28]=0; input[2][29]=0; input[2][30]=1; input[2][31]=1; input[2][32]=1; input[2][33]=1; input[2][34]=1; input[3][0]= 0;input[3][1]= 1; input[3][2]= 1; input[3][3]= 1; input[3][4]= 0;input[3][5]= 1; input[3][6]= 0;input[3][7]= 0;input[3][8]= 0;input[3][9]= 1; input[3][10]= 0;input[3][11]= 0;input[3][12]= 0;input[3][13]= 0;input[3][14]=1; input[3][15]= 0;input[3][16]= 0;input[3][17]=1; input[3][18]=1; input[3][19]= 0;input[3][20]= 0;input[3][21]= 0;input[3][22]= 0;input[3][23]= 0;input[3][24]=1; input[3][25]=1; input[3][26]= 0;input[3][27]= 0;input[3][28]= 0;input[3][29]=1; input[3][30]= 0;input[3][31]=1; input[3][32]=1; input[3][33]=1; input[3][34]= 0;input[4][0]= 0;input[4][1]= 0;input[4][2]= 0;input[4][3]= 1; input[4][4]= 0;input[4][5]= 0;input[4][6]= 0;input[4][7]= 1;input[4][8]= 1;input[4][9]= 0;input[4][10]= 0;input[4][11]= 1;input[4][12]= 0;input[4][13]= 1;input[4][14]= 0;input[4][15]= 1;input[4][16]= 0;input[4][17]= 0;input[4][18]= 1;input[4][19]= 0;input[4][20]= 1;input[4][21]= 1;input[4][22]= 1;input[4][23]= 1;input[4][24]= 1;input[4][25]= 0;input[4][26]= 0;input[4][27]= 0;input[4][28]= 1;input[4][29]= 0;input[4][30]= 0;input[4][31]= 0;input[4][32]= 0;input[4][33]= 1;input[4][34]= 0;input[5][0]= 1;input[5][1]= 1;input[5][2]= 1;input[5][3]= 1;input[5][4]= 1;input[5][5]= 1;input[5][6]= 0;input[5][7]= 0;input[5][8]= 0;input[5][9]= 0;input[5][10]= 1;input[5][11]= 0;input[5][12]= 0;input[5][13]= 0;input[5][14]= 0;input[5][15]= 1;input[5][16]= 1;input[5][17]= 1;input[5][18]= 1;input[5][19]= 0;input[5][20]= 0;input[5][21]= 0;input[5][22]= 0;input[5][23]= 0;input[5][24]= 1;input[5][25]= 1;input[5][26]= 0;input[5][27]= 0;input[5][28]= 0;input[5][29]= 1;input[5][30]= 0;input[5][31]= 1;input[5][32]= 1;input[5][33]= 1;input[5][34]= 0;input[6][0]= 0;input[6][1]= 1;input[6][2]= 1;input[6][3]= 1;input[6][4]= 0;input[6][5]= 1;input[6][6]= 0;input[6][7]= 0;input[6][8]= 0;input[6][9]= 1;input[6][10]= 1;input[6][11]= 0;input[6][12]= 0;input[6][13]= 0;input[6][14]= 0;input[6][15]= 1;input[6][16]= 1;input[6][17]= 1;input[6][18]= 1;input[6][19]= 0;input[6][20]= 1;input[6][21]= 0;input[6][22]= 0;input[6][23]= 0;input[6][24]= 1;input[6][25]= 1;input[6][26]= 0;input[6][27]= 0;input[6][28]= 0;input[6][29]= 1;input[6][30]= 0;input[6][31]= 1;input[6][32]= 1;input[6][33]= 1;input[6][34]= 0;input[7][0]= 1;input[7][1]= 1;input[7][2]= 1;input[7][3]= 1;input[7][4]= 1;input[7][5]= 0;input[7][6]= 0;input[7][7]= 0;input[7][8]= 0;input[7][9]= 1;input[7][10]= 0;input[7][11]= 0;input[7][12]= 0;input[7][13]= 0;input[7][14]= 1;input[7][15]= 0;input[7][16]= 0;input[7][17]= 0;input[7][18]= 1;input[7][19]= 0;input[7][20]= 0;input[7][21]= 0;input[7][22]= 1;input[7][23]= 0;input[7][24]= 0;input[7][25]= 0;input[7][26]= 0;input[7][27]= 1;input[7][28]= 0;input[7][29]= 0;input[7][30]= 0;input[7][31]= 0;input[7][32]= 1;input[7][33]= 0;input[7][34]= 0;input[8][0]= 0;input[8][1]= 1;input[8][2]= 1;input[8][3]= 1;input[8][4]= 0;input[8][5]= 1;input[8][6]= 0;input[8][7]= 0;input[8][8]= 0;input[8][9]= 1;input[8][10]= 1;input[8][11]= 0;input[8][12]= 0;input[8][13]= 0;input[8][14]= 1;input[8][15]= 0;input[8][16]= 1;input[8][17]= 1;input[8][18]= 1;input[8][19]= 0;input[8][20]= 1;input[8][21]= 0;input[8][22]= 0;input[8][23]= 0;input[8][24]= 1;input[8][25]= 1;input[8][26]= 0;input[8][27]= 0;input[8][28]= 0;input[8][29]= 1;input[8][30]= 0;input[8][31]= 1;input[8][32]= 1;input[8][33]= 1;input[8][34]= 0;input[9][0]= 0;input[9][1]= 1;input[9][2]= 1;input[9][3]= 1;input[9][4]= 0;input[9][5]= 1;input[9][6]= 0;input[9][7]= 0;input[9][8]= 0;input[9][9]= 1;input[9][10]= 1;input[9][11]= 0;input[9][12]= 0;input[9][13]= 0;input[9][14]= 1;input[9][15]= 0;input[9][16]= 1;input[9][17]= 1;input[9][18]= 1;input[9][19]= 1;input[9][20]= 0;input[9][21]= 0;input[9][22]= 0;input[9][23]= 0;input[9][24]= 1;input[9][25]= 1;input[9][26]= 0;input[9][27]= 0;input[9][28]= 0;input[9][29]= 1;input[9][30]= 0;input[9][31]= 1;input[9][32]= 1;input[9][33]= 1;input[9][34]= 0;//=======================input[10][0]= 0;input[10][1]= 0;input[10][2]= 1;input[10][3]= 0;input[10][4]= 0;input[10][5]= 0;input[10][6]= 1;input[10][7]= 0;input[10][8]= 1;input[10][9]= 0;input[10][10]= 0;input[10][11]= 1;input[10][12]= 0;input[10][13]= 1;input[10][14]= 0;input[10][15]= 1;input[10][16]= 0;input[10][17]= 0;input[10][18]= 0;input[10][19]= 1;input[10][20]= 1;input[10][21]= 1;input[10][22]= 1;input[10][23]= 1;input[10][24]= 1;input[10][25]= 1;input[10][26]= 0;input[10][27]= 0;input[10][28]= 0;input[10][29]= 1;input[10][30]= 1;input[10][31]= 0;input[10][32]= 0;input[10][33]= 0;input[10][34]= 1;//========================//=======================input[11][0]= 1;input[11][1]= 1;input[11][2]= 1;input[11][3]= 1;input[11][4]= 0;input[11][5]= 0;input[11][6]= 1;input[11][7]= 0;input[11][8]= 0;input[11][9]= 1;input[11][10]= 0;input[11][11]= 1;input[11][12]= 0;input[11][13]= 0;input[11][14]= 1;input[11][15]= 0;input[11][16]= 1;input[11][17]= 1;input[11][18]= 1;input[11][19]= 0;input[11][20]= 0;input[11][21]= 1;input[11][22]= 0;input[11][23]= 0;input[11][24]= 1;input[11][25]= 0;input[11][26]= 1;input[11][27]= 0;input[11][28]= 0;input[11][29]= 1;input[11][30]= 1;input[11][31]= 1;input[11][32]= 1;input[11][33]= 1;input[11][34]= 0;//==========================//=======================input[12][0]= 0;input[12][1]= 1;input[12][2]= 1;input[12][3]= 1;input[12][4]= 0;input[12][5]= 1;input[12][6]= 0;input[12][7]= 0;input[12][8]= 0;input[12][9]= 1;input[12][10]= 1;input[12][11]= 0;input[12][12]= 0;input[12][13]= 0;input[12][14]= 0;input[12][15]= 1;input[12][16]= 0;input[12][17]= 0;input[12][18]= 0;input[12][19]= 0;input[12][20]= 1;input[12][21]= 0;input[12][22]= 0;input[12][23]= 0;input[12][24]= 0;input[12][25]= 1;input[12][26]= 0;input[12][27]= 0;input[12][28]= 0;input[12][29]= 1;input[12][30]= 0;input[12][31]= 1;input[12][32]= 1;input[12][33]= 1;input[12][34]= 0;//==========================//=======================input[13][0]= 1;input[13][1]= 1;input[13][2]= 1;input[13][3]= 1;input[13][4]= 0;input[13][5]= 0;input[13][6]= 1;input[13][7]= 0;input[13][8]= 0;input[13][9]= 1;input[13][10]= 0;input[13][11]= 1;input[13][12]= 0;input[13][13]= 0;input[13][14]= 1;input[13][15]= 0;input[13][16]= 1;input[13][17]= 0;input[13][18]= 0;input[13][19]= 1;input[13][20]= 0;input[13][21]= 1;input[13][22]= 0;input[13][23]= 0;input[13][24]= 1;input[13][25]= 0;input[13][26]= 1;input[13][27]= 0;input[13][28]= 0;input[13][29]= 1;input[13][30]= 1;input[13][31]= 1;input[13][32]= 1;input[13][33]= 1;input[13][34]= 0;//==========================//=======================input[14][0]= 1;input[14][1]= 1;input[14][2]= 1;input[14][3]= 1;input[14][4]= 1;input[14][5]= 0;input[14][6]= 1;input[14][7]= 0;input[14][8]= 0;input[14][9]= 1;input[14][10]= 0;input[14][11]= 1;input[14][12]= 0;input[14][13]= 0;input[14][14]= 0;input[14][15]= 0;input[14][16]= 1;input[14][17]= 1;input[14][18]= 1;input[14][19]= 0;input[14][20]= 0;input[14][21]= 1;input[14][22]= 0;input[14][23]= 0;input[14][24]= 0;input[14][25]= 0;input[14][26]= 1;input[14][27]= 0;input[14][28]= 0;input[14][29]= 1;input[14][30]= 1;input[14][31]= 1;input[14][32]= 1;input[14][33]= 1;input[14][34]= 1;//==========================//=======================input[15][0]= 1;input[15][1]= 1;input[15][2]= 1;input[15][3]= 1;input[15][4]= 1;input[15][5]= 0;input[15][6]= 1;input[15][7]= 0;input[15][8]= 0;input[15][9]= 1;input[15][10]= 0;input[15][11]= 1;input[15][12]= 0;input[15][13]= 0;input[15][14]= 0;input[15][15]= 0;input[15][16]= 1;input[15][17]= 1;input[15][18]= 1;input[15][19]= 0;input[15][20]= 0;input[15][21]= 1;input[15][22]= 0;input[15][23]= 0;input[15][24]= 0;input[15][25]= 0;input[15][26]= 1;input[15][27]= 0;input[15][28]= 0;input[15][29]= 0;input[15][30]= 1;input[15][31]= 1;input[15][32]= 1;input[15][33]= 0;input[15][34]= 0;//==========================fitness[0]=1.0;fitness[1]=1.0;fitness[2]=1.0;fitness[3]=1.0;fitness[4]=1.0;fitness[5]=1.0;fitness[6]=1.0;fitness[7]=1.0;fitness[8]=1.0;fitness[9]=1.0;fitness[10]=4.0;fitness[11]=4.0;fitness[12]=4.0;fitness[13]=4.0;fitness[14]=4.0;fitness[15]=4.0;num=500;num_input=35;num_output=16;n=1; //maximun number of wrong bitsfor (k=0; k< num; k++){ sprintf(char_buffer,"input%d",k); file_ptr_in = fopen(char_buffer,"w"); sprintf(char_buffer,"output%d",k); file_ptr_out = fopen(char_buffer,"w"); sel=roulette(num_output,fitness);// printf("sel=%d\n",sel); for (l=0; l< num_input; l++) { temp_input[l] = input[sel][l];// printf("temp_input[%d]=%f\n",l,temp_input[l]); } p=dice_toss(sel,n); for (l=0; l< p; l++) { m=dice_toss(p,num_input); temp_input[m] = (temp_input[m] > 0.5) ? 0 : 1; } for (l=0; l< num_input; l++) { sprintf(char_buffer,"%2.6f\n",temp_input[l]); fputs(char_buffer,file_ptr_in);// printf(char_buffer); } for (l=0; l< num_output; l++) { temp = (l == sel) ? 1 : 0; sprintf(char_buffer,"%2.6f\n",temp); fputs(char_buffer,file_ptr_out);// printf("\n%s",char_buffer); } fclose(file_ptr_in); fclose(file_ptr_out);}return(1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -