⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 input_gen.c

📁 一个不错的GA-NN的神经网络模型的示范代码。适合入门学习
💻 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 + -