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

📄 遗传算法.cpp

📁 用遗传算法解决八皇后问题! 有比较详细的注释! 还有有关遗传算法理论的描述。
💻 CPP
字号:

#include "CgaQueen.h"
using namespace std;

void p()
{
	cout<<rand()%100<<' ';
}
void main()
{
	clock_t  start,end;         
	
	//这里是程序部分    
	int iGroup = 0;  
	CgaQueen *Queen;
	int n = 10;
	float totaltime = 0;
	int number = 0;
	
	do{
	cout<<"请输入皇后的个数:";
	cin>>n;
	number = 0;
	totaltime = 0;
	do
	{
		number++;

		start = clock();   
		
		iGroup = 0;
		do
		{
			Queen = new CgaQueen;
			//Queen->CgaQueens(0.7,0.01,n,n);
			Queen->CgaQueens(0.75,0.1,n,n);
			//Queen->ShowChromo();
			do
			{
				/*
				cout<<"代数:"<<Queen->m_iGeneration<<endl;
				Queen->ShowChromo();
				cout<<"分数:"<<Queen->m_dTotalFitnessScore<<endl;
				//*/
				Queen->Epoach();
			}while(Queen->m_bBusy);	
			//Queen->ShowChromo();
			iGroup++;
			/*
			if(!Queen->m_bSolved)
			{
				cout<<"未找到解!"<<endl;
			}
			else
			{
				cout<<"找到解了!"<<endl;
			}
			cout<<endl;
			//*/
			if(Queen->m_bSolved)
			{
				break;
			}
			delete Queen;
		}while(1 == 1);
		//Queen->ShowChromo();
		//cout<<endl;
		Queen->m_CSolve.ShowBits();
		Queen->m_CSolve.UpdateFitnessScore();
		//cout<<"适应性分数:"<<Queen->m_CSolve.dFitness<<endl;
		cout<<"number = "<<number<<endl;
		cout<<"种群:"<<iGroup<<endl;
		cout<<"代数:"<<Queen->m_iGeneration<<endl;
		delete Queen;
		end = clock();
		cout<<"start = "<<start<<endl;
		cout<<"end = "<<end<<endl;
		cout<< float(end-start)<<"ms"<<endl;  
		totaltime+=float(end-start);
	
	}
	//
	while(number < 1);
	cout<<"平均时间:"<<totaltime/number<<endl;
	}while(n >= 4);

	

	
}



⌨️ 快捷键说明

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