亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bp.c

?? 用C語言寫的hopfeild算法,誤差精度為0.000001
?? C
字號:
/*----------------By ahzhming@163.com海闊天空-------------------------*/ 
#include <stdio.h> 
#include <math.h> 
#include <conio.h> 
#include <stdlib.h> 

#define nh 4 	//訓練的數據維數
#define ni 9 
#define nj 3 	//輸出訓練結果的數據維數
#define nk 30 		

#define nr 0.85		/*學習效率*/ 
#define EPS 0.00001 

float x[nk][nh],d[nk][nj],whi[nh][ni],wij[ni][nj],thi[ni],thj[nj]; 
int h,i,j,k; 
float xmin[nh],xmax[nh],dmin[nj],dmax[nj]; 
FILE *fp1,*fp2; 

void init(void); 
void startleaning(void); 
void testsample(void); 
void readw(void); 
void writew(void); 
float sigmoid(float a); 
double ranu(void); 

void init(void) 
{
	int min,max; 

	if(fp1==0) 
	{ 
 		clrscr(); 
 		printf("Can not find the learning sample file!\n"); 
 		exit(0); 
	}

	for(k=0;k<nk;k++) 
 	{ 
  		for(h=0;h<nh;h++) 	//讀訓練數據
   			fscanf(fp1,"%f",&x[k][h]); 
  		for(j=0;j<nj;j++) 	//讀輸出結果數據
  			fscanf(fp1,"%f",&d[k][j]); 
 	} 

 	for(h=0;h<nh;h++) 
 	{ 
 		min=1;
		max=1; 
  		for(k=0;k<nk;k++) 
   		{ 
    			if(x[k][h]<x[min][h]) min=k; 
    			if(x[k][h]>x[max][h]) max=k; 
   		} 
  		xmin[h]=x[min][h]; 
  		xmax[h]=x[max][h]; 
  		for(k=0;k<nk;k++)	/*歸一化*/ 
  			x[k][h]=(x[k][h]-xmin[h])/(xmax[h]-xmin[h]); 
 	}

	for(j=0;j<nj;j++) 
 	{ 
 	 	min=1;
		max=1; 
  		for(k=0;k<nk;k++) 
   		{ 
    			if(d[k][j]<d[min][j]) min=k; 
    			if(d[k][j]>d[max][j]) max=k; 
   		} 
   		dmin[j]=d[min][j]; 
  		dmax[j]=d[max][j]; 
  		for(k=0;k<nk;k++)/*歸一化*/ 
		d[k][j]=(d[k][j]-dmin[j])/(dmax[j]-dmin[j]);
 	} 
} 


/*----------------------------------------------------*/ 
void startlearning(void) 
{ 
	long int nt,n; 
	float t,error[nk],gerror,xj[nj],xi[ni],yj[nj],yi[ni],pxi[ni],pxj[nj]; 
	if(fp2==0) 
 	{ 
  		for(i=0;i<ni;i++) 
   		{ 
    			for(h=0;h<nh;h++) 
     				whi[h]=-0.1+0.2*ranu(); 
    			for(j=0;j<nj;j++) 
     				wij[j]=-0.1+0.2*ranu(); 
    			thi=-0.1+0.2*ranu(); 
   		} 
   		for(j=0;j<nj;j++) 
    		thj[j]=-0.1+0.2*ranu(); 
   		fp2=fopen("w.txt","w+"); 
 	} 
	else 
 		readw(); 

	/*學習開始*/ 
	printf("\t\nPlease enter the learning times:\n"); 
	scanf("%ld",&nt); 
	for(n=0;n<nt;n++)   /*學習次數*/ 
	{
		gerror=0; 
 		for(k=0;k<nk;k++)/*單樣本循環*/ 
  		{ 
    			for(i=0;i<ni;i++) 
    	 		{ 
      				t=0; 
      				for(h=0;h<nh;h++) 
       					t+=whi[h]*x[k][h]; 
      				xi=t+thi; 
      				yi=sigmoid(xi); 
     			} 
     			for(j=0;j<nj;j++) 
      			{ 
				t=0; 
				for(i=0;i<ni;i++) 
				t+=wij[j]*yi; 
				xj[j]=t+thj[j]; 
				yj[j]=sigmoid(xj[j]); 
			} 
      
      			for(j=0;j<nj;j++)/*輸出層單樣本點誤差變化率*/ 
			pxj[j]=yj[j]*(1-yj[j])*(yj[j]-d[k][j]); 
      			for(i=0;i<ni;i++)/*隱層單樣本點誤差變化率*/ 
       			{ 
				t=0; 
				for(j=0;j<nj;j++) 
 				t+=pxj[j]*wij[j]; 
				pxi=yi*(1-yi)*t; 
			}

			for(j=0;j<nj;j++) 
			{
				thj[j]=thj[j]-nr*pxj[j]; 
 				for(i=0;i<ni;i++) 
  				wij[j]=wij[j]-nr*pxj[j]*yi; 
			} 

      			for(i=0;i<ni;i++) 
			{
				thi=thi-nr*pxi; 
				for(h=0;h<nh;h++) 
 				whi[h]=whi[h]-nr*pxi*x[k][h]; 
			} 

			t=0; 
			for(j=0;j<nj;j++) 
				t+=(yj[j]-d[k][j])*(yj[j]-d[k][j])/2.0; 
			error[k]=t; 
			gerror+=error[k];/*全局誤差 g(lobal)error*/ 
		}/*單樣本循環結束*/ 
  		if(gerror<EPS) break; 
	}/* 學習循環結束*/ 

 	writew(); 
 	printf("\t\nGlobal error=%f\n",gerror); 
	printf("\t\nAre you satisfied with the global error?\n"); 
 	printf("Press any key to choose a next task!\n"); 
 	getch();
} 


/*-------------------------------------------------*/ 
void testsample(void) 
{
	float tx[nh],t,xj[nj],xi[ni],yj[nj],yi[ni]; 
	if(fp2==0) 
  	{ 
   		clrscr(); 
   		printf("\t\ncan not find the weight file:w.txt\n"); 
   		exit(0); 
  	}
 
  	readw(); 
  	printf("\t\nPlease enter the test data:\n"); 
  	for(h=0;h<nh;h++) 
  	scanf("%f",&tx[h]); 
  	for(h=0;h<nh;h++) 
   	tx[h]=(tx[h]-xmin[h])/(xmax[h]-xmin[h]); 

  	for(i=0;i<ni;i++) 
     	{ 
      		t=0; 
	      	for(h=0;h<nh;h++) 
       		t+=whi[h]*tx[h]; 
	      	xi=t+thi; 
      		yi=sigmoid(xi); 
     	} 

     	for(j=0;j<nj;j++) 
      	{ 
		t=0; 
		for(i=0;i<ni;i++) 
		t+=wij[j]*yi; 
		xj[j]=t+thj[j]; 
		yj[j]=sigmoid(xj[j]); 
	} 
   	printf("\t\nNetwork output:\n"); 
    
   	for(j=0;j<nj;j++) 
    	{ 
    		yj[j]=yj[j]*(dmax[j]-dmin[j])+dmin[j]; 
    		printf("%f ",yj[j]); 
    	} 
   	printf("\t\nAre you satisfied with the output?\n"); 
	printf("Press any key to choose a next task!\n"); 
   	getch(); 
}

/*----------------------------------------------*/ 
void writew(void) 
{ 
	rewind(fp2); 
	for(h=0;h<nh;h++) 
 	{ 
  		for(i=0;i<ni;i++) 
   		fprintf(fp2,"%8.3f ",whi[h]); 
   		fprintf(fp2,"\n"); 
 	} 
	fprintf(fp2,"\n"); 

	for(i=0;i<ni;i++) 
 	fprintf(fp2,"%8.3f ",thi); 
	fprintf(fp2,"\n\n"); 

	for(j=0;j<nj;j++) 
 	{ 
  		for(i=0;i<ni;i++) 
   			fprintf(fp2,"%8.3f ",wij[j]); 
  		fprintf(fp2,"\n"); 
 	}

	fprintf(fp2,"\n"); 
	for(j=0;j<nj;j++) 
 	fprintf(fp2,"%8.3f ",thj[j]); 
}

/*------------------------------------------------*/ 
void readw(void) 
{ 
	for(h=0;h<nh;h++)
	{
 		for(i=0;i<ni;i++) 
   			fscanf(fp2,"%f",&whi[h]); 
	}
	for(i=0;i<ni;i++) 
 		fscanf(fp2,"%f",&thi); 
	for(j=0;j<nj;j++)
	{ 
		for(i=0;i<ni;i++) 
  			fscanf(fp2,"%f",&wij[j]); 
	}
	for(j=0;j<nj;j++) 
 		fscanf(fp2,"%f",&thj[j]); 
}

/*--------------------------------*/ 
float sigmoid(float a) 
{
	return(1.0/(1+exp(-a)));
} 
/*----------------------------------*/ 

double ranu(void) 
{
	static double xrand=3.0; 
	double m=8589934592.0, a=30517578125.0; 

	lp: xrand=fmod(xrand*a,m); 
   	if(xrand>1.0) 
		return(xrand/m); 
   	else 
	{ 
		xrand=1.0;
		goto lp;
	} 
}

/*----------------------------------*/
void main() 
{ 
	fp1=fopen("sample.txt","r"); 
	fp2=fopen("w.txt","r+"); 
	init(); 
 	while(1) 
 	{
		clrscr(); 
	 	printf("\t\n    Please choose a next task...\n\n"); 
	 	printf("\t\n     (S) to start learning.\n"); 
	 	printf("\t\n     (T) to test samples.\n"); 
	 	printf("\t\n     (R) to resume learning.\n"); 
	 	printf("\t\n     (Q)uit.\n"); 
	 	switch(getchar()) 
 		{
			case 's':startlearning();break; 
		  	case 't': testsample();break; 
  			case 'r': startlearning();break; 
  			case 'q': exit(0);break; 
	 	} 
	} 
	fclose(fp1); 
	fclose(fp2); 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
波多野结衣在线一区| 欧美成人一区二区三区片免费 | 久久精品视频免费观看| 国产精品国产三级国产有无不卡| 亚洲免费资源在线播放| 激情综合网av| 欧美日韩在线亚洲一区蜜芽| 国产人伦精品一区二区| 偷拍亚洲欧洲综合| 成年人国产精品| 精品99一区二区| 日韩电影在线观看电影| 色94色欧美sute亚洲线路二| 国产偷国产偷亚洲高清人白洁| 日韩影视精彩在线| 欧美中文字幕亚洲一区二区va在线| 久久亚洲欧美国产精品乐播| 日韩中文字幕1| 欧美片网站yy| 亚洲午夜精品网| av在线播放一区二区三区| 2024国产精品| 久久91精品国产91久久小草| 欧美女孩性生活视频| 一区二区三区四区不卡在线| 91一区在线观看| 国产精品久久久久久久久搜平片 | 日韩免费成人网| 亚洲成av人片在线观看| 91免费国产视频网站| 亚洲精选在线视频| 91福利精品第一导航| 亚洲欧美日韩在线| 在线播放国产精品二区一二区四区| 亚洲欧洲成人精品av97| av在线不卡网| 一区二区高清免费观看影视大全| 成人毛片视频在线观看| 亚洲少妇30p| 91精品福利视频| 午夜电影久久久| 日韩欧美视频一区| 国产成人丝袜美腿| 国产精品久久久久久久岛一牛影视 | 91精品福利在线| 亚洲国产精品久久久男人的天堂| 欧美日韩视频在线一区二区| 五月激情综合网| 日韩精品最新网址| 丁香六月久久综合狠狠色| 亚洲天堂中文字幕| 欧美男男青年gay1069videost | 3d成人h动漫网站入口| 日本午夜一区二区| 精品国产一区二区三区av性色| 精品一区二区三区影院在线午夜| 欧美第一区第二区| 成人免费观看男女羞羞视频| 亚洲激情av在线| 精品三级在线看| 99久久亚洲一区二区三区青草| 亚洲国产美女搞黄色| 精品久久一区二区三区| 一本久道中文字幕精品亚洲嫩| 天堂一区二区在线| 国产婷婷色一区二区三区在线| 91猫先生在线| 91年精品国产| 蜜桃视频在线一区| 中文字幕综合网| 欧美一区二区日韩一区二区| 国产乱子轮精品视频| 一区二区三区丝袜| 久久一留热品黄| 欧美三级韩国三级日本三斤| 国产在线精品一区二区夜色| 亚洲精品免费在线观看| 精品日韩欧美在线| 色呦呦一区二区三区| 寂寞少妇一区二区三区| 亚洲免费在线看| 欧美mv日韩mv国产| 在线观看91精品国产入口| 国产成人综合精品三级| 亚洲国产成人高清精品| 国产精品久久久久永久免费观看 | 成人综合激情网| 亚洲国产精品久久人人爱蜜臀| 国产日本欧美一区二区| 精品国产欧美一区二区| 欧美最新大片在线看| 成人高清视频在线| 久久电影网电视剧免费观看| 亚洲午夜激情网站| 国产精品美女久久久久久久网站| 日韩精品中文字幕在线一区| 欧美另类久久久品| 在线一区二区三区四区| 一本色道综合亚洲| 北条麻妃一区二区三区| 国产麻豆精品95视频| 美女视频黄a大片欧美| 亚洲综合免费观看高清在线观看| 中文字幕精品一区二区精品绿巨人 | 丝袜美腿高跟呻吟高潮一区| 成人欧美一区二区三区白人| 久久久久九九视频| 国产亚洲午夜高清国产拍精品| 欧美大片在线观看一区| 欧美一级视频精品观看| 欧美丰满少妇xxxxx高潮对白| 欧洲一区二区三区在线| 欧美无人高清视频在线观看| 色婷婷国产精品| 91丨porny丨最新| 日本韩国精品在线| 在线观看日韩国产| 精品污污网站免费看| 欧美日韩久久不卡| 欧美日韩精品一区二区三区 | 久久精品日韩一区二区三区| 精品国产一区a| 精品福利在线导航| 国产色一区二区| 国产精品久久久久久亚洲伦| 亚洲色图欧洲色图婷婷| 一区二区三区电影在线播| 亚洲综合成人网| 日韩在线一区二区| 久久er99精品| 国产iv一区二区三区| 成人一区二区三区中文字幕| 成人av片在线观看| 91无套直看片红桃| 欧美日韩成人一区二区| 欧美日韩国产免费| 欧美r级电影在线观看| 中文成人av在线| 一级中文字幕一区二区| 日韩精品国产欧美| 国产一区二区主播在线| eeuss鲁片一区二区三区 | 99亚偷拍自图区亚洲| 91久久精品日日躁夜夜躁欧美| 91精品国产色综合久久ai换脸| 26uuu亚洲综合色| 亚洲人被黑人高潮完整版| 日韩中文字幕亚洲一区二区va在线| 久久精品国产99国产| 99久久国产综合精品女不卡| 在线观看日韩高清av| 久久久久国产精品麻豆ai换脸| 亚洲日本va在线观看| 精品一区精品二区高清| 色系网站成人免费| 精品国产在天天线2019| 亚洲三级电影网站| 黄色日韩三级电影| 色婷婷综合久久久中文一区二区| 日韩欧美一卡二卡| 亚洲乱码国产乱码精品精小说 | 婷婷亚洲久悠悠色悠在线播放| 国产美女精品在线| 欧美日韩国产另类一区| 国产精品动漫网站| 久久精品国产**网站演员| 欧洲色大大久久| 欧美激情一区不卡| 麻豆久久一区二区| 欧美综合天天夜夜久久| 国产日韩av一区| 日本少妇一区二区| 一本色道亚洲精品aⅴ| 国产精品无圣光一区二区| 日韩二区三区在线观看| 欧美日韩中文国产| 一区二区三区在线播| 国产成人在线视频网址| 精品久久久久一区| 婷婷久久综合九色综合绿巨人| 91在线国产观看| 中文字幕国产一区| 国产精品99久久久久久似苏梦涵 | 美女视频网站久久| 欧美老年两性高潮| 亚洲一区二区三区四区中文字幕| youjizz国产精品| 国产亚洲成年网址在线观看| 免费成人av在线| 欧美一区在线视频| 五月综合激情婷婷六月色窝| 日本乱人伦一区| 亚洲激情第一区| 91福利资源站| 亚洲地区一二三色| 在线成人免费观看| 天天综合天天综合色| 欧美人牲a欧美精品| 亚洲图片欧美色图| 7777精品伊人久久久大香线蕉的 |