- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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
您可能关注的文档
- 2016安徽中考物理解析版要点.doc
- 智能电网研究综述精要.ppt
- 2016安徽中考物理试题(Word版)及答案要点.doc
- 智能家居课程设计精要.doc
- 智能竞赛抢答器的设计精要.doc
- 智能电视产业链精要.ppt
- 2016安徽试卷分析要点.ppt
- 智能算法在柔性车间调度中的应用精要.doc
- 2016安徽中考物理试题及答案要点.doc
- 智能算法的无线中继选择精要.pptx
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
文档评论(0)