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

📄 cgaqueen.h

📁 自己收集的八皇后问题相关知识,有不少源代码,能解决八皇后问题
💻 H
字号:

#include "CGenome.h"
class CgaQueen
{
public:
	vector<CGenome> m_vecGenomes;//群体

	vector<CGenome>::iterator m_vecGenomes_it;//相应的迭代器

	CGenome m_CSolve;

	int m_iQueen;//皇后的个数,也就是染色体的个数
	
	int m_iChromoLength;//染色体的位数

	int m_iPopSize;//群体大小

	double m_dCrossRate;//杂交率

	double m_dMutationRate;//变异率

	int m_iGeneLength;

	int m_iFittestGenome;

	double m_dBestFitnessScore;

	double m_dTotalFitnessScore;

	int m_iGeneration;//代数

	int m_iGroup;//种群数

	bool m_bBusy;

	bool m_bSolved;
public:

	CgaQueens(double CrossRate,double MutationRate,int ChromoLength,int PopSize);

public:

	void Mutate(vector<int>&baby);//变异


	void CrossOver(vector<int>&mum,vector<int>&dad,vector<int>&baby1,vector<int>&baby2);//杂交

	//PMX部分映射杂交
	void CrossOverPMX(vector<int>&mum,vector<int>&dad,vector<int>&baby1,vector<int>&baby2);//杂交

	int RouletteWheelSelection();//赌轮选择法

	//用新的适应性分数来更新基因组原有的适应性分数

	//并计算群体的最高适应性分数和适应性分数最高的那个成员

	bool UpdateFitnessScores();

	//创建一个随机的初始群体
	
	void CreateStartPopulation();

	//显示所有染色体
	void ShowChromo();

	void Epoach();



};

⌨️ 快捷键说明

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