下载此文档

人工智能实验报告.docx


文档分类:高等教育 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
----
----
人工智能第二次实验报告
一.实验题目:
----
----
遗传算法的设计与实现
二.实验目的:
通过人工智能课程的学习,熟悉遗传算法的简单
应用。
三.实验内容
用遗传算法求解f(x)=x2的));
}
}
//变异得到新个体:随机改变基因
voidmutation(Chromosome*pop){
UINTrandRow,randCol;
UINTrandValue;
randValue=rand()%100;
if(randValue>=(int)(BIANYI_RATE*100))
{
#if(C==1)&&(CFLAG==4)
----
----
printf("\n种群个体没有基因变异\n");
#endif
return;
}
randCol=rand()%GENE_NUM;//随机产生将要变异的基因位
randRow=rand()%POP_NUM;//随机产生将要变异的染色体位
#if(C==1)&&(CFLAG==4)
printf("\n变异前\n");
test(pop);
printf("\n变异的位置为:染色体号=%d基因位号=%d\n",randRow+1,randCol);
#endif
pop[randRow].geneBit[randCol]=(pop[randRow].geneBit[randCol]=='0')?'1':'0';//1
变为0,0变为1
pop[randRow].fitValue=calcFitValue(toDec(pop[randRow]));
#if(C==1)&&(CFLAG==4)
printf("\n变异后\n");
test(pop);
#endif
}
//创立初始群体
voidcreatePop(Chromosome*pop){
UINTi,j;
----
----
UINTrandValue;
UINTvalue;
srand((unsigned)time(NULL));
for(i=0;i<POP_NUM;i++)
{
for(j=0;j<GENE_NUM;j++)
{
randValue=rand()%2;
pop[i].geneBit[j]=randValue+'0';//将随机数0或1赋给基因
}
value=toDec(pop[i]);
pop[i].fitValue=calcFitValue(value);
}
#if(C==1)&&(CFLAG==1)
printf("\n随机分配的种群如下:\n");
test(pop);
#endif
}
//更新种群
voidupdatePop(Chromosome*newPop,Chromosome*oldPop){
UINTi;
for(i=0;i<POP_NUM;i++){
----
----
oldPop[i]=newPop[i];
}
}
//选择优良个体:根据适应度选择最优解,即最优个体
voidselect(Chromosome*pop){
UINTi,j;
UINTsumFitValue;//总适应值
UINTaFitValue;//平均适应值
floatchoice[POP_NUM];//选择
ChromosometempPop;//交换变量
#if(C==1)&&(CFLAG==2)//测试
printf("\n没有选择前的种群如下:\n");
test(pop);
#endif
//根据个体适应度冒泡降序排序
for(i=POP_NUM;i>0;i--)
{
for(j=0;j<(i-1);j++)
{
if(pop[j+1].fitValue>pop[j].fitValue)
{
tempPop=pop[j+1];
----
----
pop[j+1]=pop[j];
pop[j]=tempPop;
}
}
}
//计算总适应值
sumFitValue=0;
for(i=0;i<POP_NUM;i++)
{
sumFitValue+=pop[i].fitValue;
}
aFitValue=(UINT)(((float)sumFitValue/POP_NUM)+);//计算平均适应值
//计算出每个群体选择时机,群体的概率=群体适应值/总适应值,平均概率=平均适应
值/总适应值,群体选择时机=(群体的概率/平均概率)
for(i=0;i<POP_NUM;i++)
{
choice[i]=((float)pop[i].fitVal

人工智能实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人hytkxy
  • 文件大小204 KB
  • 时间2022-02-11