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

📄 genvacuum.hpp

📁 遗传算法源程序evolution calculates the law origin code ,C-C++,人工智能/AI-NN-PR
💻 HPP
字号:
//头文件:		MLeader.hpp
//目的:			多首领遗传算法类,本类用自定义小生境技术,总个体适合度
//				计算综合考虑个体适合度值以及个体间距离影响,即每代个体
//				总适合度按如下方式计算:设Fit(i)为原个体适合度,FitN(i)
//				为新个体适合度,则新个体适合度如下:
//				FitN(0)=Fit(0)
//				FitN(i)=max(FitN(i-1)-1/(Fit(k)*D(k)))  k=i,i+1,...,n
//				D(k)=d(k,0)+d(k,1)+...+d(k,i-1)
//				式中:D(k)--个体k与前i-1个个体距离和
//					  d(k,m)--个体k与个体m的距离函数,表征个体间相似性
//				按上述方式计算个体适合度的目的在于使相似个体的适合度只
//				有一个能取较大值,这样保证最终适合度高的个体之间的相似
//				性较小,从而避免汇聚的发生
//语言:			VC++ 6.0
//时间:			2001年3月
//作者:			刘康
//环境:			Win32
//注意:			EvalVal(INIDIVIDUAL&)应由用户类覆盖,以提供正确的评价函数.
//////////////////////////////////////////////////////////////////////

#ifndef		__GENVACUUM_HPP
#define		__GENVACUUM_HPP

#include "genetic.hpp"
#include "genvacuum.hpp"

class GenVacuum : public Genetic
{
protected:
	double DisThrd;		//距离门槛值
	//个体间距离函数,如果需要应被重载
	virtual double Distance(INDIVIDUAL&,INDIVIDUAL&);
	//重载总适合度计算函数
	virtual void CalFitIndex();
public:
	//构造函数
	GenVacuum():Genetic(){DisThrd=0;};
	GenVacuum(int n,int gl):Genetic(n,gl){DisThrd=0;};
	GenVacuum(GenVacuum&g):Genetic(g){DisThrd=0;};
	//设置距离门槛值
	void SetDisThrd(double t){DisThrd=t;};
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -