- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能算法实验报告精要
人工智能实验—智能算法实验一
实验目的:
实验原理:
实验内容:#includeiostream
#includemath.h
#includetime.h
using namespace std;
const int MaxInt=~(unsigned int)0 / 2;
/*double d[5][5]={
{0, 7, 6,10,13},
{7, 0, 7,10,10},
{6, 7, 0,5 ,9 },
{10,10,5,0, 6 },
{13,10,9,6, 0 }
}; //表示路径(i,j)之间的长度
*/
class Ant
{
private:
int AntNum;//蚂蚁个数;
int NodeNum;//节点个数;
int MaxRunNum;//最大运行次数
int RunNum;//运行次数
double **d;//表示路径(i,j)之间的长度
double **n;//边弧(i,j)的能见度(visibility), 或称局部启发因子,一般取1/d 表示路径(i,j)之间的长度;
double **t;//边弧(i,j)的信息素轨迹强度(intensity)
double INITINFO;//初始的信息素值
//double **deltaT;//蚂蚁k 于弧上(i,j)留下的单位长度轨迹信息素数量;
double **P;//蚂蚁k 在结点的转移概率,j 是尚未访问结点;
int **tab;//蚂蚁的禁忌表
double MinSum;//最短路径长度
int *MinRoute;//最优路径
double a;//信息素轨迹的相对重要性
double b;//边弧能见度的相对重要性
double p;//信息素轨迹的持久性(Evaporation)
double Q;//(轨迹数量)
public:
Ant(int Num,double position[][2]):NodeNum(Num)
{
srand(time(NULL));
AntNum=50;
p=0.8;
a=1;//(1~2)
b=2;//(2~5)
P=get2DMemory(P,NodeNum);
t=get2DMemory(t,NodeNum);
n=get2DMemory(n,NodeNum);
d=get2DMemory(d,NodeNum);
tab=get2DMemory(tab,AntNum,NodeNum);
posToDistance(position);
MinSum=MaxInt;
MinRoute=new int[NodeNum];
MaxRunNum=200;
RunNum=0;
INITINFO=200;
Q=2000;
}
void posToDistance(double pos[][2])
{
for(int i=0;iNodeNum;i++)
for(int j=0;jNodeNum;j++)
{
d[i][j]=sqrt((pos[i][0]-pos[j][0])*(pos[i][0]-pos[j][0])+(pos[i][1]-pos[j][1])*(pos[i][1]-pos[j][1]));
}
}
void getMinRoute(int *CurrentRoute)
{
for(int i=0;iNodeNum;i++)
MinRoute[i]=CurrentRoute[i];
}
double getPossiblity(int i,int j,int k,int cNode)
{
if(i==j) return 0;
else {
if(inTab(j,k,cNode)==true)
return 0;
}
return Pow(t[i][j],a)*Pow(n[i][j],b)/sumPossiblity(i,k,cNode);
}
bool inTab(int s,int k,int cNode)
{
for(int m=0;mcNode;m++)
if(s==tab[k][m])
return true;
return false;
}
doubl
您可能关注的文档
最近下载
- 急性冠脉综合征的护理.pptx VIP
- 工学一体化课程《小型网络安装与调试》工学一体化课程教学进度计划.pptx VIP
- 土石方工程安全培训课件(汇编).ppt VIP
- 2024年全球及中国电子级全氟聚醚(PFPE)行业头部企业市场占有率及排名调研报告.docx
- 城市社区建设中的居民自治问题及其对策研究——以岳阳市社区为例.docx VIP
- 河北省承德市事业单位招聘考试(职业能力倾向测验)题库审定版.docx VIP
- 最新苏教版五年级数学上册单元测试题及答案全套8全.pdf VIP
- 危险化学品安全风险智能化管控平台数据交换规范 2025版.pdf VIP
- 市政工程 室外管道工程施工.ppt VIP
- 口腔正畸健康知识讲座.pptx VIP
文档评论(0)