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

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

?? genetic.cpp

?? 前幾天給大家共享了一個基本的遺傳算法VC++原代碼
?? CPP
字號:
#include "StdAfx.h"
#include "genetic.h"
#include <math.h>

Genetic::Genetic(void)
{
}

Genetic::~Genetic(void)
{
}

void Genetic::init(void)
{

	for(int i=0;i<POPULATION_SIZE;i++)
	{
		for(int j=0;j<MAX_LENGTH;j++)
		{
		   Population[i].DNA[j]=randxy(VarMinMax[j][0],VarMinMax[j][1]);
		}

	}	

}

void Genetic::SetMutation(double mutation)
{
   Pmutation=mutation;
}

void Genetic::SetCross(double cross)
{
    Pcross=cross;
}


double Genetic::randxy(double x, double y)
{
	
	return(	x+((double)((rand()%1000)/1000.0))*(y-x)); 
}

bool Genetic::test(double possibility)
{
  double p;
  p=(rand()%1000)/1000.0;
  if(p<=possibility)
  return (true);
  else 
  return (false);

}

double Genetic::setvarscope(double scope[][2])
{

	for(int i=0;i<MAX_LENGTH;i++)
    {
		VarMinMax[i][0]=scope[i][0];  //最小值
        VarMinMax[i][1]=scope[i][1];  //最大值
     }

	return 0;
}

double Genetic::CalFitness(Individual *pIndividual)
{
	double z=0.0;
	double x[MAX_LENGTH];

	for(int i=0;i<MAX_LENGTH;i++)
	{
	  x[i]=(pIndividual->DNA[i]);
	}

    for(int j=0;j<MAX_LENGTH;j++)
	 {
	   z+=100*x[j]-pow(x[j],2); //*************適應度函數f(x)=∑(100x-x2);
	  }
    
	pIndividual->Fitness=z;   //設置個體的適應度值;

	return z;
}

int  Genetic::select(void)
{
	double rand1,partsum;
	int i=0;
	partsum=0;
   
	rand1=((rand()%1000)/1000.0)*SumFitness;

	do{
		partsum=partsum+Population[i].Fitness;
		i++;
	}while((partsum<rand1)&&(i<POPULATION_SIZE));
	return (i-1);
	
}

void Genetic::statistic(Individual *pIndividual)
{
	
	//計算單個染色體的適應度,以及SumFitness和AverageFitness;
	SumFitness=0;
    AverageFitness=0;
	double p=0.0;
	p=(double)POPULATION_SIZE;
	for(int k=0;k<POPULATION_SIZE;k++)
	{
		CalFitness(&pIndividual[k]);
		SumFitness=SumFitness+pIndividual[k].Fitness;
	}    
    AverageFitness=SumFitness/p;
	
    //對個體進行排序
	Individual temp;
	for(int i=0;i<POPULATION_SIZE;i++)
	{
		for(int j=i;j<POPULATION_SIZE;j++)
		{
			if(pIndividual[i].Fitness<=pIndividual[j].Fitness)
			{  
				temp=pIndividual[i];
				pIndividual[i]=pIndividual[j];
				pIndividual[j]=temp;
			}
		}	
	}
		//得到最佳個體;
		 BestIndividual=pIndividual[0];	
}

void Genetic::mutation(Individual *pIndividual,bool Scale)
{

  if(test(Pmutation))
  {
	  if(Scale==LARGE_SCALE)//大幅度變異;
	  {
        for(int j=0;j<MAX_LENGTH;j++)
		{
		   pIndividual->DNA[j]=randxy(VarMinMax[j][0],VarMinMax[j][1]);
		}
	  }
	  else//小腹度變異;
	  {  
		  for(int i=0;i<MAX_LENGTH;i++)
	      {
		      double x=0;
              x=randxy(9.5, 11.0);
		     if((pIndividual->DNA[i]*(x/10.0)<=VarMinMax[i][0])
			     ||(pIndividual->DNA[i]*(x/10.0)>=VarMinMax[i][1]))
		       {
                 pIndividual->DNA[i]=pIndividual->DNA[i];
		       }
		       else
		       {
			      pIndividual->DNA[i]=pIndividual->DNA[i]*(x/10.0);
		        }
	         }
	  }
  }

}

void Genetic::cross(Individual *pParent1, Individual *pParent2,Individual *pChild1,Individual *pChild2)
{

   double r=0.0;
   if(test(Pcross))
   {
      r=(rand()%1000)/1000.0;

	  for(int j=0;j<MAX_LENGTH;j++)
	   {
        pChild1->DNA[j]=r*(pParent1->DNA[j])+(1-r)*(pParent2->DNA[j]);
        pChild2->DNA[j]=(1-r)*(pParent1->DNA[j])+r*(pParent2->DNA[j]);
	   }

   }
   else
   {
	  (*pChild1)=(*pParent1);
      (*pChild2)=(*pParent2);
   }

}

void Genetic::RunGeneration()
{
     int r1=0,r2=0;
     Individual temp[POPULATION_SIZE];
     Individual child1,child2;

    statistic(Population);//進行統計計算;

     //從0到POPULATION_SIZE循環,根據適應度選擇,進行交叉;
	 //最好的兩個個體直接保留到下一代;
    for(int i=0;i<POPULATION_SIZE-2;i=i+2)
	{
		r1=select();
		r2=select();
		cross(&Population[r1],&Population[r2],&child1,&child2);

		temp[i]=  child1;
		temp[i+1]=child2;
	}//************************************進行交叉;
     
	 temp[POPULATION_SIZE-2]=Population[0];
     temp[POPULATION_SIZE-1]=Population[1];//保留最好的兩個個體;
//***********************************************************
   statistic(temp);//進行統計排序

   //mutation(&temp[0],SMALL_SCALE);
   mutation(&temp[1],SMALL_SCALE);//對較好的個體進行小范圍的變異;
   for(i=2;i<POPULATION_SIZE;i++)//對一般個體進行大范圍的變異,;
   {
     mutation(&temp[i],LARGE_SCALE);
   }
   	 //	復制到下一代;
	for(i=0;i<POPULATION_SIZE;i++)
	{
		Population[i]=temp[i];
	}
	statistic(Population);//進行統計計算排序;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区在线看| 奇米精品一区二区三区在线观看一| 欧美系列一区二区| 成人黄页在线观看| 国产精品综合在线视频| 国产原创一区二区三区| 精品一区二区三区视频在线观看 | 精品在线观看免费| 美女免费视频一区| 国产在线观看免费一区| 国内精品免费**视频| 国产精品一区二区无线| 成人性生交大片免费| www.亚洲激情.com| 欧美调教femdomvk| 欧美精品一级二级三级| 精品日本一线二线三线不卡| 精品国产成人系列| 中文字幕一区二区日韩精品绯色| 1区2区3区国产精品| 亚洲成人tv网| 久久精品久久久精品美女| 国产成人av一区二区三区在线观看| 成人免费精品视频| 欧美日韩三级一区二区| 精品裸体舞一区二区三区| 一区二区国产盗摄色噜噜| 蜜桃在线一区二区三区| 亚洲va欧美va天堂v国产综合| 亚洲v中文字幕| 国产一区三区三区| 色欧美日韩亚洲| 欧美精品久久99| 国产亚洲综合色| 亚洲一二三区不卡| 韩国三级在线一区| 色综合天天狠狠| 日韩免费在线观看| 亚洲免费在线观看| 激情丁香综合五月| 在线这里只有精品| 国产欧美一区二区在线| 亚洲伊人色欲综合网| 美国十次了思思久久精品导航| 欧美精品18+| 中文字幕巨乱亚洲| 美女一区二区视频| 不卡的av中国片| 欧美va亚洲va| 性做久久久久久免费观看欧美| 久久精品国产99久久6| 色综合天天综合色综合av| 日韩欧美中文一区| 亚洲一区二区在线观看视频| 国产成人在线观看| 欧美精品一区在线观看| 性欧美疯狂xxxxbbbb| av一二三不卡影片| 久久久蜜臀国产一区二区| 日韩高清不卡一区二区三区| 91在线观看视频| 国产日韩精品一区| 国产麻豆一精品一av一免费| 欧美日韩一区二区三区不卡| 亚洲欧美福利一区二区| av网站一区二区三区| 国产日韩v精品一区二区| 另类小说综合欧美亚洲| 欧美精品高清视频| 亚洲第一搞黄网站| 色狠狠一区二区三区香蕉| 国产精品激情偷乱一区二区∴| 久久精品国产久精国产| 日韩三级免费观看| 午夜激情一区二区| 91精品国产综合久久香蕉麻豆| 亚洲综合男人的天堂| 欧美性感一区二区三区| 国产丶欧美丶日本不卡视频| 日韩精品一区二区三区四区 | 国产精品国产馆在线真实露脸 | 成人va在线观看| 中文字幕免费不卡| 99久免费精品视频在线观看| 国产精品网站在线播放| 成人av第一页| 亚洲欧美电影一区二区| 日本高清成人免费播放| 亚洲成年人网站在线观看| 欧美精品123区| 久久99热99| 欧美激情一区二区| 一本大道av一区二区在线播放| 亚洲婷婷综合久久一本伊一区| 91免费国产在线| 亚洲最新视频在线观看| 欧美日韩国产精品自在自线| 日韩黄色片在线观看| 精品捆绑美女sm三区| 国产美女一区二区| 国产精品传媒视频| 欧美精品亚洲一区二区在线播放| 麻豆精品视频在线观看免费| 国产日韩精品一区二区浪潮av | 精品国产一区二区三区久久影院 | 中文字幕在线播放不卡一区| 色狠狠av一区二区三区| 蜜臀久久99精品久久久久久9| 精品三级在线观看| 97精品久久久午夜一区二区三区| 香蕉成人啪国产精品视频综合网| 精品区一区二区| 日本久久电影网| 久久99久久久欧美国产| 亚洲三级在线观看| 精品99一区二区三区| 99国产精品国产精品毛片| 蜜臀久久99精品久久久画质超高清| 国产欧美精品一区二区色综合| 在线国产亚洲欧美| 成熟亚洲日本毛茸茸凸凹| 石原莉奈在线亚洲二区| 国产精品视频麻豆| 欧美成人a在线| 欧美亚洲国产一区在线观看网站| 国产一区二区中文字幕| 亚洲一区二三区| 中文字幕在线不卡一区| 久久综合久久综合亚洲| 欧美美女一区二区三区| www.欧美色图| 国产麻豆视频一区| 蜜臀久久99精品久久久久宅男| 一区二区三区四区视频精品免费| 久久精品一区二区| 精品国产污污免费网站入口| 欧美精品vⅰdeose4hd| 色婷婷精品久久二区二区蜜臂av| 国产精品18久久久久久久久久久久| 日韩精品久久理论片| 夜夜嗨av一区二区三区四季av| 国产精品毛片久久久久久| 久久久久88色偷偷免费| 精品国产一区二区精华| 日韩欧美在线123| 欧美丰满一区二区免费视频| 欧美亚洲另类激情小说| 91免费在线视频观看| bt7086福利一区国产| 成人激情文学综合网| 国产精品99精品久久免费| 国产毛片精品视频| 国产经典欧美精品| 国产成a人亚洲| 成人免费观看视频| 91亚洲国产成人精品一区二三| 国产99久久精品| 国产成人精品影视| 不卡一卡二卡三乱码免费网站| 国产精品夜夜爽| 国产电影一区在线| 97精品国产97久久久久久久久久久久 | 国产亚洲一区二区在线观看| 久久欧美一区二区| 欧美极品aⅴ影院| 国产精品久久久久久久久快鸭| 中文字幕亚洲区| 亚洲综合网站在线观看| 日本欧洲一区二区| 国精产品一区一区三区mba视频| 国产九色精品成人porny| www.亚洲色图| 欧美日韩免费高清一区色橹橹| 91麻豆精品国产91久久久久久久久| 日韩欧美一区电影| 中文字幕第一区综合| 亚洲午夜精品久久久久久久久| 美女视频黄免费的久久| 成人在线一区二区三区| 91久久久免费一区二区| 日韩精品专区在线| 中文字幕亚洲成人| 日产国产欧美视频一区精品| 国产一区二区三区四区五区入口| www.综合网.com| 91麻豆精品国产91久久久久久| 久久久午夜电影| 一区二区三区四区激情| 美腿丝袜亚洲色图| 一本到不卡免费一区二区| 日韩免费看网站| 亚洲免费毛片网站| 国产精品一区免费在线观看| 在线免费观看日韩欧美| 国产亚洲视频系列| 日韩av在线发布| 色综合久久久久综合体| 亚洲欧美另类久久久精品2019| 老司机一区二区| 色婷婷综合久久久|