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

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

?? bp.cpp

?? 用人工神經網絡實現格林碼的編碼
?? CPP
字號:
// Bp.cpp: implementation of the Bp class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Bp.h"

//#include "Sample.h"
#include "stdio.h"
#include "stdlib.h"
#include "math.h"

#include "time.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Bp::Bp()
{
	f=fopen("BPN.txt","w");

}

Bp::~Bp()
{

}


void Bp::InitializeRandom()
{
	time_t t;
	srand((unsigned)time(&t));
}

int Bp::RandomInt(int low,int high)
{
	return rand()%(high-low+1)+low;
}

double Bp::RandomReal(double low,double high)
{
	return ((double)rand()/RAND_MAX)*(high-low)+low;
}


void Bp::InputMultV(double input[],int n,double (*Vmatrix)[H],int h,double output[])
{
	//對應有n個輸入端 ,n*h輸入層連接矩陣,h個隱單元   h個隱單元得輸出

	int i;

	for(i=0;i<h;i++)
		output[i]=0.0;


	for( i=0;i<h;i++)
		for(int j=0;j<n;j++)
		{
			output[i]=output[i]+input[j]*Vmatrix[j][i];

		}

}

void Bp::HMultoutput(double hidden[],int h,double (*Wmatrix)[M],int m,double output[])
{ 
	//對應有h個隱單元,h*m輸出層連接矩陣,m個輸出單元
	int i;
	for(i=0;i<m;i++)
		output[i]=0.0;

	for(i=0;i<m;i++)
		for(int j=0;j<h;j++)
		{
			output[i]=output[i]+hidden[j]*Wmatrix[j][i];
		}
}

double  Bp::NetFunction(double net)
{
	double f;
	f=1.0/(1.0+exp(-net));
	return f;

}

void Bp::netoutput(Sample *question[],int questionnum,double(*w)[M],double(*v)[H],int h)
{
	int scount;
	double outhidden[H];
	double outlast[M];

	int hunit;
	int outunit;

	for(scount=0;scount<questionnum;scount++)
	{
		int m=question[scount]->outputnum;

		InputMultV(question[scount]->x,question[scount]->inputnum,v,h,outhidden);
		for( hunit=0;hunit<h;hunit++)
			outhidden[hunit]=NetFunction(outhidden[hunit]);
		

		HMultoutput(outhidden,h,w,m,outlast);
		for( outunit=0;outunit<m;outunit++)
		{
			outlast[outunit]=NetFunction(outlast[outunit]);
			//question[scount]->y[outunit]=outlast[outunit];
			if(outlast[outunit]<0.5)
				question[scount]->y[outunit]=0.0;
			else 
				question[scount]->y[outunit]=1.0;
		}
		
	}
}


void Bp::bpnet(double alph,Sample *samples[],int samplenum,double (*w)[M],double(*v)[H],int h)
{
	double neterror;
	int loopcount;
	int scount;

	double outhidden[H];
	double outlast[M];

	double detaout[M];
	double detahidden[H];

	int outunit;
	int hunit;
	
	neterror=1.0+EPSILON;
	loopcount=0;

	while(neterror>EPSILON && loopcount<MAX_LOOP)
	{
		loopcount++;
		neterror=0.0;
		for(scount=0;scount<samplenum;scount++)
		{
			int m=samples[scount]->outputnum;

			InputMultV(samples[scount]->x,samples[scount]->inputnum,v,h,outhidden);
			for( hunit=0;hunit<h;hunit++)
				outhidden[hunit]=NetFunction(outhidden[hunit]);
		

			HMultoutput(outhidden,h,w,m,outlast);
			for( outunit=0;outunit<m;outunit++)
				outlast[outunit]=NetFunction(outlast[outunit]);

			// 計算輸出層的權修改誤差

			for(outunit=0;outunit<m;outunit++)
				
			{
				detaout[outunit]=outlast[outunit]*(1.0-outlast[outunit])*
				                 (samples[scount]->y[outunit]-outlast[outunit]);
			
				//計算輸出誤差
			
				neterror=neterror+(samples[scount]->y[outunit]-outlast[outunit])*
					              (samples[scount]->y[outunit]-outlast[outunit]);
			}
			//計算隱層的權修改量
			for(hunit=0;hunit<h;hunit++)
			{

				double z=0.0;

				for(outunit=0;outunit<m;outunit++)
				{
					z=z+w[hunit][outunit]*detaout[outunit];
				}
				detahidden[hunit]=z*outhidden[hunit]*(1.0-outhidden[hunit]);
			}
			//修改輸出層權矩陣 
			for(hunit=0;hunit<h;hunit++)

				for(outunit=0;outunit<m;outunit++)
					
					w[hunit][outunit]=w[hunit][outunit]+alph*outhidden[hunit]*detaout[outunit];

		

			//修改隱層權矩陣
			for(int incnt=0;incnt<samples[scount]->inputnum;incnt++)
				
				for(hunit=0;hunit<h;hunit++)

					v[incnt][hunit]=v[incnt][hunit]+alph*samples[scount]->x[incnt]*
					                                     detahidden[hunit];

			



		

		}//for every sample



	}

}




void  Bp::application()
{
	

	double xarray[4];
	double yarray[2];

	Sample *samples[8];

	xarray[0]=0.0;
	xarray[1]=0.0;
	xarray[2]=0.0;
	xarray[3]=0.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	

	samples[0]=new Sample(4,2,xarray,yarray);
//-------------------------------------------------
	xarray[0]=1.0;
	xarray[1]=1.0;
	xarray[2]=0.0;
	xarray[3]=0.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	samples[1]=new Sample(4,2,xarray,yarray);
//---------------------------------------------------
	xarray[0]=1.0;
	xarray[1]=0.0;
	xarray[2]=0.0;
	xarray[3]=1.0;

	
	yarray[0]=0.0;
	yarray[1]=1.0;

	samples[2]=new Sample(4,2,xarray,yarray);
//-----------------------------------------------------
	xarray[0]=1.0;
	xarray[1]=1.0;
	xarray[2]=0.0;
	xarray[3]=1.0;

	
	yarray[0]=0.0;
	yarray[1]=1.0;

	samples[3]=new Sample(4,2,xarray,yarray);
//--------------------------------------------------
	xarray[0]=0.0;
	xarray[1]=0.0;
	xarray[2]=1.0;
	xarray[3]=0.0;

	
	yarray[0]=1.0;
	yarray[1]=1.0;

	samples[4]=new Sample(4,2,xarray,yarray);
//---------------------------------------------------
	xarray[0]=0.0;
	xarray[1]=1.0;
	xarray[2]=1.0;
	xarray[3]=0.0;

	
	yarray[0]=1.0;
	yarray[1]=1.0;

	samples[5]=new Sample(4,2,xarray,yarray);
//--------------------------------------------
	xarray[0]=0.0;
	xarray[1]=0.0;
	xarray[2]=1.0;
	xarray[3]=1.0;

	
	yarray[0]=1.0;
	yarray[1]=0.0;

	samples[6]=new Sample(4,2,xarray,yarray);
//------------------------------------------------
	xarray[0]=1.0;
	xarray[1]=0.0;
	xarray[2]=1.0;
	xarray[3]=1.0;

	
	yarray[0]=1.0;
	yarray[1]=0.0;

	samples[7]=new Sample(4,2,xarray,yarray);
//-----------question----------------------------

    Sample *question[8];
	xarray[0]=0.0;
	xarray[1]=1.0;
	xarray[2]=0.0;
	xarray[3]=0.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	
	question[0]=new Sample(4,2,xarray,yarray);
//----------------------------------------
	xarray[0]=1.0;
	xarray[1]=0.0;
	xarray[2]=0.0;
	xarray[3]=0.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	question[1]=new Sample(4,2,xarray,yarray);
//---------------------------------
	xarray[0]=0.0;
	xarray[1]=0.0;
	xarray[2]=0.0;
	xarray[3]=1.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	question[2]=new Sample(4,2,xarray,yarray);
//-----------------------------------------
	xarray[0]=0.0;
	xarray[1]=1.0;
	xarray[2]=0.0;
	xarray[3]=1.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	question[3]=new Sample(4,2,xarray,yarray);
//-----------------------------------------
	xarray[0]=1.0;
	xarray[1]=0.0;
	xarray[2]=1.0;
	xarray[3]=0.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	question[4]=new Sample(4,2,xarray,yarray);
//-------------------------------------------
	xarray[0]=1.0;
	xarray[1]=1.0;
	xarray[2]=1.0;
	xarray[3]=0.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	question[5]=new Sample(4,2,xarray,yarray);
//-----------------------------------------
	xarray[0]=0.0;
	xarray[1]=1.0;
	xarray[2]=1.0;
	xarray[3]=1.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	question[6]=new Sample(4,2,xarray,yarray);
//------------------------------------------------
	xarray[0]=1.0;
	xarray[1]=1.0;
	xarray[2]=1.0;
	xarray[3]=1.0;

	
	yarray[0]=0.0;
	yarray[1]=0.0;

	question[7]=new Sample(4,2,xarray,yarray);
	
for(int outloop=0;outloop<TEST_LOOP;outloop++)
{

	InitializeRandom();
	

	int i;
	int j;
	int n=samples[0]->inputnum;
	double w[10][2];
	double v[4][10];
	for(i=0;i<10;i++)
		for(j=0;j<2;j++)
			w[i][j]=RandomReal(-3.0,3.0);


	for(i=0;i<4;i++)
		for(j=0;j<10;j++)
			v[i][j]=RandomReal(-3.0,3.0);
	bpnet(0.5,samples,8,w,v,10);

	netoutput(question,8,w,v,10);

	

	fprintf(f,"\nthe %dth test result\n  ",outloop);
	for(i=0;i<8;i++)
	{
		fprintf(f,"\nquestion %d \n",i);

		fprintf(f,"input:  %6.3f",question[i]->x[0]);
		
		fprintf(f,"%6.3f ",question[i]->x[1]);
		fprintf(f,"%6.3f ",question[i]->x[2]);
		fprintf(f,"%6.3f \n",question[i]->x[3]);

		fprintf(f,"output: %6.3f ",question[i]->y[0]);
	    fprintf(f,"%6.3f \n",question[i]->y[1]);


	}

	
	

}
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产日产图区| 中文字幕在线免费不卡| 国产婷婷一区二区| 亚洲午夜久久久| 成人性生交大片免费看视频在线 | 久久精品国产网站| 成人激情校园春色| 精品成a人在线观看| 午夜精品久久一牛影视| 不卡一区二区三区四区| 26uuu国产电影一区二区| 亚洲123区在线观看| 95精品视频在线| 国产午夜精品福利| 另类的小说在线视频另类成人小视频在线| 99r国产精品| 国产日韩欧美电影| 国产麻豆精品视频| 欧美一区二区三区白人| 亚洲3atv精品一区二区三区| 97精品久久久久中文字幕| 国产亚洲制服色| 国产综合久久久久影院| 日韩欧美一区二区视频| 日韩精品亚洲一区| 91精品久久久久久久91蜜桃 | 99精品国产99久久久久久白柏| 精品免费国产二区三区 | 国模套图日韩精品一区二区| 欧美一区二区视频观看视频| 亚洲va欧美va国产va天堂影院| 在线视频一区二区三| 亚洲人成伊人成综合网小说| 91玉足脚交白嫩脚丫在线播放| 国产精品久久久久天堂| av亚洲精华国产精华精| 一区在线观看视频| www.色精品| 玉足女爽爽91| 欧美性感一区二区三区| 亚洲gay无套男同| 欧美丰满美乳xxx高潮www| 日韩成人精品在线| 欧美二区三区的天堂| 日韩 欧美一区二区三区| 91精品国产综合久久精品| 日韩av不卡在线观看| 欧美成人精品福利| 国产成人午夜片在线观看高清观看| 久久久久国产精品厨房| 成人黄色777网| 亚洲一区二区三区四区中文字幕| 欧美三级在线播放| 久久精品国内一区二区三区| 精品久久久久久久久久久久久久久久久| 另类小说欧美激情| 欧美激情一区二区在线| 色婷婷久久久综合中文字幕 | 日韩电影在线看| 精品日韩一区二区三区免费视频| 国产一区啦啦啦在线观看| 国产精品久久久久久一区二区三区 | 国产精品资源站在线| 国产精品久久三区| 欧美巨大另类极品videosbest| 经典三级一区二区| 国产精品不卡一区| 欧美日韩黄色一区二区| 激情六月婷婷综合| 亚洲色图19p| 精品少妇一区二区三区视频免付费| 99久精品国产| 国内精品视频666| 亚洲欧美一区二区久久| 日韩欧美成人午夜| 97se亚洲国产综合自在线不卡| 美国欧美日韩国产在线播放| 国产精品三级视频| 欧美一二三区在线| 91麻豆123| 国产成人在线视频网站| 午夜a成v人精品| 亚洲视频一区在线观看| 精品精品欲导航| 欧美性猛片aaaaaaa做受| 成人永久aaa| 国产综合色精品一区二区三区| 亚洲自拍另类综合| 国产精品国产三级国产普通话99| 日韩欧美国产系列| 欧洲精品一区二区| 99麻豆久久久国产精品免费 | 国产成人免费视频网站| 午夜一区二区三区视频| 亚洲欧洲av另类| 中文天堂在线一区| 久久亚洲综合色| 日韩视频中午一区| 欧美日韩国产在线观看| 在线观看日韩电影| 色综合色综合色综合色综合色综合| 国产精品1区2区| 精品一区二区三区av| 天堂在线一区二区| 亚洲成av人片一区二区| 亚洲国产sm捆绑调教视频 | 中文字幕 久热精品 视频在线 | 一本色道久久综合精品竹菊| 国产成人精品影视| 国产激情91久久精品导航| 久久99九九99精品| 久久精品999| 精品一区二区三区在线播放视频| 蜜臀精品久久久久久蜜臀| 日本不卡一二三| 久久精品久久综合| 国产一区三区三区| 成人一区二区三区在线观看| 粉嫩av亚洲一区二区图片| 国产成人精品影视| 成人精品视频一区二区三区| aaa亚洲精品| 欧洲精品中文字幕| 欧美一区二区国产| 精品国产一区a| 亚洲国产成人一区二区三区| 国产精品国产三级国产aⅴ入口| 国产精品国产三级国产三级人妇| 中文字幕一区二区三区蜜月 | 久久99最新地址| 国产一区二区三区电影在线观看| 成人自拍视频在线| 色噜噜久久综合| 欧美一区午夜视频在线观看| 日韩一区二区电影在线| 久久久欧美精品sm网站| 亚洲天堂成人在线观看| 亚洲午夜精品17c| 美女在线一区二区| 成人一级片网址| 欧美午夜不卡在线观看免费| 欧美一区二区三区爱爱| 国产亚洲欧美在线| 一区二区三区电影在线播| 免费成人结看片| 不卡影院免费观看| 欧美日韩高清影院| 久久久久久久久久久99999| 亚洲色图色小说| 毛片基地黄久久久久久天堂| 成人动漫视频在线| 制服.丝袜.亚洲.中文.综合| 国产欧美精品国产国产专区| 亚洲成a人v欧美综合天堂下载| 国模无码大尺度一区二区三区| 91老师片黄在线观看| 日韩精品一区二区三区中文精品 | 不卡的av在线播放| 欧美日本韩国一区二区三区视频| 精品国产91乱码一区二区三区| 中文字幕在线不卡一区 | 丁香亚洲综合激情啪啪综合| 欧美熟乱第一页| 国产无一区二区| 日韩极品在线观看| 91美女视频网站| 久久只精品国产| 日韩av电影一区| 一本到不卡精品视频在线观看| 精品国产露脸精彩对白| 亚洲自拍欧美精品| 精品一区二区三区免费毛片爱| 色综合天天狠狠| 国产午夜精品理论片a级大结局| 日本成人在线看| 欧美午夜电影一区| 最新欧美精品一区二区三区| 国产精品影视在线观看| 日韩欧美国产1| 日韩电影网1区2区| 欧美丝袜第三区| 亚洲在线中文字幕| 99久久99久久精品免费观看| 国产日韩欧美制服另类| 久久成人羞羞网站| 91精品中文字幕一区二区三区| 亚洲伦理在线精品| 91在线精品一区二区| 国产网红主播福利一区二区| 免费亚洲电影在线| 777久久久精品| 视频一区二区中文字幕| 欧美色视频一区| 亚洲电影第三页| 在线观看视频一区| 亚洲成人动漫精品| 在线不卡中文字幕| 偷拍日韩校园综合在线| 欧美精品日韩综合在线| 午夜精品福利一区二区三区av|