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

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

?? ann+ga.cpp

?? 使用遺傳算法訓練的神經網絡VC++源代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <ctype.h>
#include <iostream.h>//輸入輸出流
#include <iomanip.h> //控制輸入輸出的寬度
#include <fstream.h>// 文件流
//#include <string.h>
//定義控制參數
#define N   81 //學習樣本個數
#define IN  1 //輸入層神經元數目
#define HN  4 //隱層神經元數目
#define ON  1 //輸出層神經元數目
#define POPSIZE  50  //定義種群的大小
#define NVARS  (IN*HN+HN*ON+HN+ON)  //定義參數的個數
#define Z 200009  //保存舊權值
//隨機數發生器的宏定義
#define rdint(i)   (rand()%(int)(i))//產生隨機整數0~i之間
#define rdft()  ((double)rdint(16384)/(16383.0))//產生隨機實數0~1之間
#define rnd(a,b)  (rdint((int)(b)-(int)(a)+1)+(int)(a))//產生a~b之間的隨機整數

double  evaluate(double *prms);


double P[IN]; //單個樣本輸入數據
double T[ON]; //單個樣本教師數據
double W[HN][IN]; //輸入層至隱層權值,初始化時使用
double V[ON][HN]; //隱層至輸出層權值,初始化時使用
double Ww[HN][IN]; //輸入層至隱層權值,網絡訓練時使用
double Vv[ON][HN]; //隱層至輸出層權值,網絡訓練時使用
double X[HN]; //隱層的凈輸入
double Y[ON]; //輸出層的輸入
double H[HN]; //隱層的輸出
double O[ON]; //輸出層的輸出
double YU_HN[HN]; //隱層的閾值,初始化時使用
double YU_ON[ON]; //輸出層的閾值,初始化時使用
double YU_H[HN]; //隱層的閾值,網絡訓練時使用
double YU_O[ON]; //輸出層的閾值,網絡訓練時使用
double err_m[N]; //第m個樣本的總誤差
double a; //輸出層至隱層的學習效率
double b; //隱層至輸入層學習效率
double alpha;//動量因子
int flag=0;//標志位,用于標識是否進行總體樣本誤差的權值調整
double out[N][ON];//網絡輸出
static double pc=0.9,pm=0.15;

static int location[POPSIZE+1];     //排序后的個體的位置
static int gen;      //當前代數
static int maxgen;  //最大代數
static int change=0; //適應性沒有改進的代數
int v=0,u=0,uu=0,vv=0;
static double  maxlsquare=-1.0e50,minlsquare=1.0e50;//,fx; 
static double pc1=0.9,pc2=0.6,pm1=0.1,pm2=0.001;
static double pmt1,pmt2;
 
//定義一個放學習樣本的結構
struct {
double input[IN]; //網絡訓練的輸入數據	
double teach[ON]; //網絡訓練的教師數據
}Study_Data[N];//學習樣本

//定義用來保存每次計算的權值和閾值的結構
struct {
double old_W[HN][IN];  //保存HN-IN舊權!
double old_V[ON][HN];  //保存ON-HN舊權!
double old_YU_HN[HN]; 
double old_YU_ON[ON];
}Old_WV[Z];

struct  individual   //定義基因,種群中的一個個體
{
	double chrom[NVARS];      //定義需整定的網絡參數數組,即相關的權值和閾值組成的數組
	double lsquare;        //個體的評價度,存放的是評價函數的返回值,即誤差平方和的大小
	double r;             //個體的相關系數
	int  fitness;     //相關適應度
};

static individual newpop[POPSIZE+1];  //新種群
static individual oldpop[POPSIZE+1];  //老種群


//保存舊權值的函數
saveWV(int m,double *chrom0)  //m代表計算次數,即第m次運算后得到的權值和閾值
{
	int k=0;
   // cout<<"WV"<<endl;
	for(int i=0;i<HN;i++)
	{
		for(int j=0;j<IN;j++)
		{
			Old_WV[m].old_W[i][j] = chrom0[k++];
//		    cout<<Old_WV[m].old_W[i][j]<<"  ";
		}
//		cout<<endl;
	}
	
	for(int ii=0;ii<ON;ii++)
	{
		for(int jj=0;jj<HN;jj++)
		{
			Old_WV[m].old_V[ii][jj] =chrom0[k++];
  //          cout<<Old_WV[m].old_V[ii][jj]<<"  ";
		}
	//	cout<<endl;
	}
	
	for(int l=0;l<HN;l++)
	{
		Old_WV[m].old_YU_HN[l]=chrom0[k++];
//		cout<<Old_WV[m].old_YU_HN[l]<<"  ";
	}
//	cout<<endl;
    for(int ll=0;ll<ON;ll++)
	{
		Old_WV[m].old_YU_ON[ll]=chrom0[k++];
//	    cout<<Old_WV[m].old_YU_ON[ll]<<"   ";
	}
//	cout<<endl;
//	getchar();
	return 1;
}




//用于確定數組選擇區域函數,通過快速排序法實現,(二分法排序)

//locat數組中保存排序后的各個元素在原來數組中的位置,即原先的下標值
void quick_sort(double *item,int left,int right,int *locat) //<號升序>號降序 
      //item:需排序的數組,left:數組的下標下界, 
	  //right:數組的下標上界,locat:數組中各元素在原數組中的位置
      //求最大值則用升序,求最小值用降序
{
    double fa,fb;
    int i,j,k;

	i=left;j=right;
	fa=item[(left+right)/2];

	do{

		while((item[i]>fa)&&(i<right))i++;       //降序排列 
		while((fa>item[j])&&(j>left))j--;         


		if(i<=j)
		{
			fb=item[i];
			item[i]=item[j];
			item[j]=fb;

			k=locat[i];
			locat[i]=locat[j];
			locat[j]=k;

			i++;j--;
		}

	}while(i<=j);
	if(left<j) quick_sort(item,left,j,locat);
	if(i<right)quick_sort(item,i,right,locat);
}


void quick_sort_all(double *item,int left,int right,int *locat) //<號升序>號降序 
      //item:需排序的數組,left:數組的下標下界, 
	  //right:數組的下標上界,locat:數組中各元素在原數組中的位置
      //求最大值則用升序,求最小值用降序
{
    double fa,fb;
    int i,j,k;

	
	i=left;j=right;
	fa=item[(left+right)/2];

	do{

		while((item[i]<fa)&&(i<right))i++;   //升序排列
		while((fa<item[j])&&(j>left))j--;


		if(i<=j)
		{
			fb=item[i];
			item[i]=item[j];
			item[j]=fb;



			k=locat[i];
			locat[i]=locat[j];
			locat[j]=k;

			i++;j--;
		
		
		}

	}while(i<=j);
	if(left<j) quick_sort_all(item,left,j,locat);
	if(i<right)quick_sort_all(item,i,right,locat);
}


void quick_sort_length(double *item,int left,int right,int *locat) //<號升序>號降序 
      //item:需排序的數組,left:數組的下標下界, 
	  //right:數組的下標上界,locat:數組中各元素在原數組中的位置
      //求最大值則用升序,求最小值用降序
{
    double fa,fb;
    int i,j,k;

	i=left;j=right;
	fa=item[(left+right)/2];

	do{

		while((item[i]>fa)&&(i<right))i++;   //降序排列
		while((fa>item[j])&&(j>left))j--;


		if(i<=j)
		{
			fb=item[i];
			item[i]=item[j];
			item[j]=fb;
 
			k=locat[i];
			locat[i]=locat[j];
			locat[j]=k;

			i++;j--;
		}

	}while(i<=j);
	if(left<j) quick_sort_length(item,left,j,locat);
	if(i<right)quick_sort_length(item,i,right,locat);
}





void normalfitness(individual *pop)  //參數是種群數組newpop[]等
{
	double fit[POPSIZE];
	int i;
	double fitsum=0.0,fitave;

	for(i=0;i<POPSIZE;i++)
	{
		fit[i]=pop[i].lsquare;  //個體的適應性 
		location[i]=i;
		fitsum+=fit[i];
		}

	fitave=fitsum/POPSIZE;

	quick_sort(fit,0,POPSIZE-1,location);   //降序排列

	for(i=0;i<POPSIZE;i++)
	{
		pop[location[i]].fitness=2*(i+1);   //重新計算適應度,計算后原先誤差大的將變小
	                                       //因初始適應度是用評價函數的返回值表示的,而評價函數返回的是誤差,
	                                       //故原先的適應度大的表示實際誤差大,實際的適應性較差
	                                        //規格化運算后,適應度的值正比地 反映了該個體的適應程度
		pop[i].r=POPSIZE*fabs(pop[i].lsquare-fitave);
	//	printf(" r=%lf    ",pop[i].r);
	//	if((i+1)%5==0)printf("\n");
	}
//getchar();
}


///////////////////////////
//初始化權、閾值子程序/////
///////////////////////////
initial()
{
//隱層權、閾值初始化//
	//srand( (unsigned)time( NULL ) ); //以時間函數作為隨機數種子數
   // cout<<"intial"<<endl;
	for(int i=0;i<HN;i++)
	{
		for(int j=0;j<IN;j++)
		{	W[i][j]= (double)((rand()/32767.0)*2-1); 
	//	    cout<<W[i][j]<<"  ";
		}
	//	cout<<endl;
		// 初始化輸入層到隱層的權值,隨機模擬0 和 1 -1	
		//32767是rand()函數的最大值0x7fff
	}
	
	for(int ii=0;ii<ON;ii++)
	{
		for(int jj=0;jj<HN;jj++)
		{
			V[ii][jj]= (double)((rand()/32767.0)*2-1); //初始化隱層到輸出層的權值,隨機模擬0 和 1 -1
//			cout<<V[ii][jj]<<"   ";
		}
  //   cout<<endl;
	}
	
	for(int k=0;k<HN;k++)
	{
		YU_HN[k] = (double)((rand()/32767.0)*2-1);  //隱層閾值初始化 ,-1到1之間
//		cout<<YU_HN[k]<<"  ";
	}
//	cout<<endl;
	for(int kk=0;kk<ON;kk++)
	{
		YU_ON[kk] = (double)((rand()/32767.0)*2-1); //輸出層閾值初始化 ,-1到1之間
  //      cout<<YU_ON[kk]<<" ";	
	}
//	cout<<endl;
  return 1;
}//子程序initial()結束


void initpop(void)
{
	int i,j,k,q,p,ii,jj,kk;
	int qq=0;
    for(p=0;p<POPSIZE;p++)
	{
		initial();
		q=0;
		for(i=0;i<HN;i++)
			for(j=0;j<IN;j++)
				oldpop[p].chrom[q++]=W[i][j];  
		for(ii=0;ii<ON;ii++)
			for(jj=0;jj<HN;jj++)
                oldpop[p].chrom[q++]=V[ii][jj];
		for(k=0;k<HN;k++)
            oldpop[p].chrom[q++]=YU_HN[k];
        for(kk=0;kk<ON;kk++)
            oldpop[p].chrom[q++]=YU_ON[kk];
        oldpop[p].lsquare=evaluate(oldpop[p].chrom);//用評估函數的返回值作為個體的適應度
		oldpop[p].fitness=0;
		}
//	cout<<"initpop"<<endl;
//    qq=0;
//	for(int rr=0;rr<NVARS;rr++)
//	{
//		cout<<oldpop[0].chrom[qq++]<<"  ";
//		if((rr+1)%3==0)cout<<endl;
//	}
//	cout<<endl;	
	normalfitness(oldpop);//確定個體的選擇位置和規格化適應度
	oldpop[POPSIZE]=oldpop[location[POPSIZE-1]];
}




//初始化函數:
void initialize(void)     
{
	
	srand((unsigned )time(NULL));   //初始化隨機函數發生器
	location[POPSIZE]=POPSIZE;
	initpop();        //初始化種群
}



//獲取訓練樣本數據
double  lengthin,lengthout,maxin,minin,maxout,minout;

GetTrainingData()
{
	ifstream GetTrainingData ( "訓練樣本.txt", ios::in );
    int m,i,j;
	double maxinput,mininput,maxoutput,minoutput;
	for(m=0;m<N;m++)
	{
		for(i=0;i<IN;i++)
		{
			GetTrainingData>>Study_Data[m].input[i];  //取得輸入數據
            //cout<<Study_Data[m].input[i]<<endl;
		}
		for(j=0;j<ON;j++)
		{
			GetTrainingData>>Study_Data[m].teach[j];  //取得輸出數據
			//cout<<Study_Data[m].teach[j]<<endl;
		}
		//getchar();
	}
// 數據進行歸一化處理開始
          maxinput=Study_Data[0].input[0];
		  mininput=Study_Data[0].input[0];
          maxoutput=Study_Data[0].teach[0];
		  minoutput=Study_Data[0].teach[0];
  for ( m=0; m<N;m++)
  {
	  for( i=0;i<IN;i++)
	  {
		 
		  if (Study_Data[m].input[i]>maxinput)
		  maxinput=Study_Data[m].input[i];
		  if (Study_Data[m].input[i]<mininput)
		  mininput=Study_Data[m].input[i];
	  }
       for(j=0;j<ON;j++)
	   { 
		  
		   if (Study_Data[m].teach[j]>maxoutput)
		  maxoutput=Study_Data[m].teach[j];
		  if (Study_Data[m].teach[j]<minoutput)
		  minoutput=Study_Data[m].teach[j];

	   }

//cout<<maxoutput<<"   "<<minoutput<<endl;

  }

   for( m=0;m<N;m++)
   {  
	   for( i=0;i<IN;i++)
	   {
		   Study_Data[m].input[i]=(Study_Data[m].input[i]-mininput)/(maxinput-mininput);
	   }
       for( j=0;j<ON;j++)
	   {
           Study_Data[m].teach[j]=(Study_Data[m].teach[j]-minoutput)/(maxoutput-minoutput);
	  // cout<<Study_Data[m].teach[j]<<endl;
	   }
	  // getchar();
   }
 //數據歸一化結束


   maxin=maxinput;
   minin=mininput;
   maxout=maxoutput;
   minout=minoutput;
   lengthin=maxinput-mininput;
   lengthout=maxoutput-minoutput;
  GetTrainingData.close();

	return 1;
}

////////////////////////////////
////第m個學習樣本輸入子程序///
///////////////////////////////
input_P(int m)
{
for (int i=0;i<IN;i++)
{ P[i]=Study_Data[m].input[i];
  //cout<<P[i]<<"  ";
}
//getchar();
//獲得第m個樣本的數據
return 1;
}//子程序input_P(m)結束

/////////////////////////////
////第m個樣本教師信號子程序//
/////////////////////////////
input_T(int m)
{
for (int k=0;k<ON;k++)
 T[k]=Study_Data[m].teach[k];
return 1;
}//子程序input_T(m)結束


/////////////////////////////////
//隱層各單元輸入、輸出值子程序///
/////////////////////////////////
H_I_O(){
double sigma;
int i,j;
for (j=0;j<HN;j++){
sigma=0.0;
	for (i=0;i<IN;i++)
		sigma+=Ww[j][i]*P[i];//求隱層內積
		
X[j]=sigma - YU_H[j];//求隱層凈輸入,為什么減隱層的閥值(有公式可證明)
H[j]=1.0/(1.0+exp(-X[j]));//求隱層輸出 siglon算法
}
return 1;
}//子程序H_I_O()結束


///////////////////////////////////
//輸出層各單元輸入、輸出值子程序///
///////////////////////////////////
O_I_O()
{
double sigma;
for (int k=0;k<ON;k++){
 sigma=0.0;
 for (int j=0;j<HN;j++){
 sigma+=Vv[k][j]*H[j];//求輸出層內積
}
Y[k]=sigma-YU_O[k]; //求輸出層凈輸入
O[k]=1.0/(1.0+exp(-Y[k]));//求輸出層輸出
}
return 1;
}//子程序O_I_O()結束


////////////////////////////////////
//輸出層至隱層的一般化誤差子程序////
////////////////////////////////////
double d_err[ON];
double d_err_total[ON];

Err_O_H(int m)
{
double abs_err[ON];//每個樣本的絕對誤差都是從0開始的
double sqr_err=0;//每個樣本的平方誤差計算都是從0開始的
for (int k=0;k<ON;k++)
{
  abs_err[k]=T[k]-O[k];//求第m個樣本下的第k個神經元的絕對誤差
  sqr_err+=(abs_err[k])*(abs_err[k]);//求第m個樣本下輸出層的平方誤差
  d_err[k]=abs_err[k]*O[k]*(1.0-O[k]);//d_err[k]輸出層各神經元的一般化誤差

 // d_err_total[k]+=d_err[k];

}
err_m[m]=sqr_err/2;//第m個樣本下輸出層的平方誤差/2=第m個樣本的均方誤差
return 1;
}//子程序Err_O_H(m)結束


////////////////////////////////////
//隱層至輸入層的一般化誤差子程序////
////////////////////////////////////
double e_err[HN];
double e_err_total[HN];

Err_H_I()
{
	double sigma=0.0;
	for (int j=0;j<HN;j++) 
	{
		sigma=0.0;
		for (int k=0;k<ON;k++) 
		{
			sigma+=d_err[k]*Vv[k][j];//我認為是加權和 +=
		}
		e_err[j]=sigma*H[j]*(1-H[j]);//隱層各神經元的一般化誤差
		
	//	e_err_total[j]+=e_err[j];

}
return 1;
}//子程序Err_H_I()結束


////////////////////////////////////////////////////////
//輸出層至隱層的權值調整、輸出層閾值調整計算子程序//////
////////////////////////////////////////////////////////
Delta_O_H(int n)
{
//	if(n<=1)
//	{
for (int k=0;k<ON;k++){
		for (int j=0;j<HN;j++)
		{
			//if(flag==1)
		//	    Vv[k][j]+=a*d_err_total[k]*H[j];//a*d_err[k]*H[j];//輸出層至隱層的權值調整
			    
		//	 else
		    	Vv[k][j]+=a*d_err[k]*H[j];
		}
	//	if(flag==1)
	//		YU_O[k]+=a*d_err_total[k];//a*d_err[k];//輸出層至隱層的閾值調整
	//	else
			YU_O[k]+=a*d_err[k];
			
}
//	}
/*	else
	{
for (int k=0;k<ON;k++){
		for (int j=0;j<HN;j++)
		{
		//	if(flag==1)
		//	    Vv[k][j]+=a*d_err_total[k]*H[j]+alpha*(Vv[k][j]-Old_WV[(n-1)].old_V[k][j]);//a*d_err[k]*H[j];//輸出層至隱層的權值調整
			    
		//	 else
		    	Vv[k][j]+=a*d_err[k]*H[j]+alpha*(Vv[k][j]-Old_WV[(n-1)].old_V[k][j]);
		}
	//	if(flag==1)
	//		YU_O[k]+=a*d_err_total[k]+alpha*(YU_O[k]-Old_WV[(n-1)].old_YU_ON[k]);//a*d_err[k];//輸出層至隱層的閾值調整
	//	else
			YU_O[k]+=a*d_err[k]+alpha*(YU_O[k]-Old_WV[(n-1)].old_YU_ON[k]);
			
}	
	}*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
经典三级视频一区| 在线免费观看一区| 色狠狠一区二区三区香蕉| 欧美一区二区日韩一区二区| 中文字幕精品一区二区三区精品 | 亚洲成av人片www| 国产麻豆精品视频| 欧美军同video69gay| 一区二区三区美女视频| 国产.欧美.日韩| 欧美一区二区三区在线看| 一区二区三区日韩精品| 成人丝袜视频网| 精品欧美一区二区三区精品久久| 亚洲影视资源网| 白白色 亚洲乱淫| 国产日韩欧美精品综合| 蜜臀av性久久久久蜜臀aⅴ流畅 | 粉嫩嫩av羞羞动漫久久久| 欧美一区二区三区四区久久| 一区二区三区免费| 日本韩国欧美在线| 亚洲欧美区自拍先锋| 国产河南妇女毛片精品久久久| 日韩区在线观看| 美女一区二区视频| 91精品国产一区二区人妖| 亚洲成人av电影在线| 在线区一区二视频| 亚洲宅男天堂在线观看无病毒| 91麻豆精东视频| 亚洲视频免费看| 97精品久久久久中文字幕| 中文字幕成人av| av一区二区三区| 综合激情成人伊人| 91视频精品在这里| 一区二区三区四区精品在线视频| 91黄视频在线| 亚洲福利电影网| 7777女厕盗摄久久久| 美女任你摸久久 | 欧美私人免费视频| 亚洲国产成人91porn| 欧美久久一区二区| 免费在线观看不卡| 国产午夜精品美女毛片视频| 国产精品18久久久久久久久久久久 | 国产精品传媒入口麻豆| 91丨九色丨蝌蚪富婆spa| 亚洲精品久久嫩草网站秘色| 欧美色图在线观看| 全部av―极品视觉盛宴亚洲| 精品欧美乱码久久久久久1区2区| 国产成人自拍网| 亚洲人成网站精品片在线观看| 欧美综合色免费| 日本亚洲视频在线| 中文一区二区在线观看| 日本乱人伦一区| 美女一区二区在线观看| 国产精品传媒视频| 欧美一区二区三区视频在线 | 久久久91精品国产一区二区精品 | 欧美国产精品一区二区三区| 91行情网站电视在线观看高清版| 首页亚洲欧美制服丝腿| 久久综合精品国产一区二区三区| a级高清视频欧美日韩| 香蕉久久夜色精品国产使用方法| 精品日韩在线一区| 91原创在线视频| 麻豆91在线播放| 亚洲欧美国产三级| 亚洲精品一区二区三区影院| 91麻豆swag| 国产综合成人久久大片91| 亚洲日本乱码在线观看| 精品美女在线观看| 色天天综合色天天久久| 精品无人码麻豆乱码1区2区| 亚洲久本草在线中文字幕| 久久久影院官网| 欧美日韩一区二区三区免费看 | 91蝌蚪porny九色| 狠狠色狠狠色合久久伊人| 亚洲自拍偷拍网站| 日本一区二区久久| 精品日韩一区二区三区免费视频| 91久久线看在观草草青青| 国产风韵犹存在线视精品| 日韩黄色免费网站| 夜夜精品视频一区二区| 国产欧美日韩激情| 日韩三级av在线播放| 欧美男男青年gay1069videost | 欧美日韩在线播放一区| eeuss影院一区二区三区| 国产自产高清不卡| 久久99精品国产麻豆不卡| 亚洲图片一区二区| 亚洲人快播电影网| 国产精品美女久久久久aⅴ国产馆| 欧美大片免费久久精品三p| 欧美日韩在线播放三区四区| 91国偷自产一区二区三区观看| 粉嫩13p一区二区三区| 热久久久久久久| 免费成人你懂的| 男人的天堂亚洲一区| 视频在线观看国产精品| 亚洲第一二三四区| 亚洲在线视频网站| 午夜久久久久久| 亚洲成av人在线观看| 天堂久久久久va久久久久| 亚洲成在人线在线播放| 亚洲小说欧美激情另类| 午夜精品一区在线观看| 亚洲国产sm捆绑调教视频 | 中文字幕永久在线不卡| 久久精品视频在线看| 久久久噜噜噜久噜久久综合| 久久人人97超碰com| 久久网站最新地址| 中文字幕精品一区二区精品绿巨人| 久久精品一区四区| 国产精品久久精品日日| 综合久久久久综合| 亚洲午夜精品网| 日韩和欧美一区二区三区| 免费精品视频最新在线| 精品在线视频一区| 国产成人午夜99999| 成人国产精品免费观看视频| av亚洲精华国产精华精| 91麻豆免费在线观看| 欧美精品黑人性xxxx| 日韩欧美一区二区不卡| 国产清纯白嫩初高生在线观看91| 国产精品久久久久三级| 洋洋成人永久网站入口| 另类小说欧美激情| 成人晚上爱看视频| 欧美日韩另类一区| 久久一区二区视频| 国产精品不卡一区| 性做久久久久久| 粉嫩欧美一区二区三区高清影视| 91在线视频网址| 欧美一级淫片007| 国产色产综合色产在线视频| 亚洲欧美电影院| 国内精品伊人久久久久影院对白| 粉嫩av亚洲一区二区图片| 欧美亚洲动漫精品| 久久人人97超碰com| 夜夜揉揉日日人人青青一国产精品 | 亚洲色图视频免费播放| 日韩高清欧美激情| 成人av免费在线| 欧美一区二区三区成人| 亚洲同性gay激情无套| 久久精品av麻豆的观看方式| 91在线看国产| 日韩视频在线你懂得| 亚洲免费看黄网站| 国产又粗又猛又爽又黄91精品| 色综合天天在线| 日韩免费电影一区| 亚洲第一成年网| 99久久亚洲一区二区三区青草| 欧美成人三级电影在线| 亚洲激情男女视频| 粉嫩欧美一区二区三区高清影视| 4438x亚洲最大成人网| 亚洲欧洲精品一区二区三区| 久久91精品久久久久久秒播| 欧美视频在线观看一区二区| 国产精品三级av| 久久99精品久久只有精品| 欧美无砖专区一中文字| 亚洲人成网站色在线观看| 国产v综合v亚洲欧| 精品国产伦一区二区三区观看体验 | 国产精品女上位| 久久精品国产第一区二区三区| 欧美亚洲丝袜传媒另类| 亚洲欧美日韩久久精品| 国产精品1区2区| 国产欧美一区二区三区在线老狼| 美女脱光内衣内裤视频久久网站| 欧美日韩mp4| 亚洲永久精品大片| 欧美日韩中文精品| 亚洲综合成人在线| 欧美日韩国产综合视频在线观看| 又紧又大又爽精品一区二区| 色狠狠综合天天综合综合| 综合av第一页|