人工智能实验。遗传算法的实现.doc

人工智能实验。遗传算法的实现.doc

ID:48578674

大小:264.50 KB

页数:8页

时间:2020-01-28

人工智能实验。遗传算法的实现.doc_第1页
人工智能实验。遗传算法的实现.doc_第2页
人工智能实验。遗传算法的实现.doc_第3页
人工智能实验。遗传算法的实现.doc_第4页
人工智能实验。遗传算法的实现.doc_第5页
资源描述:

《人工智能实验。遗传算法的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、人工智能实验报告实验名称__遗传算法的设计与实现_学  院数计学院班  级计科21202学  号1261081068姓  名许小刚学  号1261081068姓名许小刚实验日期2015513实验名称遗传算法的设计与实现【实验目的】通过人工智能课程的学习,熟悉遗传算法的简单应用【实验内容】用遗传算法求解f(x)=x2的最大值,x∈[0,31],x取整数。可以看出该函数比较简单,只要是为了体现遗传算法的思想,在问题选择上,选了一个比较容易实现的,把主要精力放在遗传算法的实现,以及核心思想体会上。【实验原理】遗传算法:遗传算法是借鉴生物界自然选择和群体进化机制形成的一种全局寻优算法。与传统的

2、优化算法相比,遗传算法具有如下优点:不是从单个点,而是从多个点构成的群体开始搜索;在搜索最优解过程中,只需要由目标函数值转换得来的适应值信息,而不需要导数等其它辅助信息;搜索过程不易陷入局部最优点。目前,该算法已渗透到许多领域,并成为解决各领域复杂问题的有力工具。在遗传算法中,将问题空间中的决策变量通过一定编码方法表示成遗传空间的一个个体,它是一个基因型串结构数据;同时,将目标函数值转换成适应值,它用来评价个体的优劣,并作为遗传操作的依据。遗传操作包括三个算子:选择、交叉和变异。选择用来实施适者生存的原则,即把当前群体中的个体按与适应值成比例的概率复制到新的群体中,构成交配池(当前代与

3、下一代之间的中间群体)。选择算子的作用效果是提高了群体的平均适应值。由于选择算子没有产生新个体,所以群体中最好个体的适应值不会因选择操作而有所改进。交叉算子可以产生新的个体,它首先使从交配池中的个体随机配对,然后将两两配对的个体按某种方式相互交换部分基因。变异是对个体的某一个或某一些基因值按某一较小概率进行改变。从产生新个体的能力方面来说,交叉算子是产生新个体的主要方法,它决定了遗传算法的全局搜索能力;而变异算子只是产生新个体的辅助方法,但也必不可少,因为它决定了遗传算法的局部搜索能力。交叉和变异相配合,共同完成对搜索空间的全局和局部搜索【实验环境】Windows7Jdk1.7myec

4、lise【实验过程与结果】(附主要源码及运行结果截图)1、源代码:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;importjava.lang.Math.*;publicclassgapidextendsFrameimplementsRunnable{privatestaticfloatgeneX[];privatestaticfloatgeneY[];privatestaticfloatgeneXX[];privatestaticfloatgeneYY[];p

5、rivatestaticfloatfit[];privatestaticfloatfitness[];privatestaticfloatsump=0;privatestaticfloatcumulative=0;privatestaticfloatcumulativeProbability[];privatestaticintgeneNumber;privatestaticintgeneration;privatestaticfloatcrossoverRate;privatestaticfloatmutationRate;privatestaticfloatsjdata;priva

6、testaticintsjintdata;privatestaticintsjintdata1;privatestaticintsjintdata2;privatestaticfloatleft1;privatestaticfloatright1;privatestaticfloatleft2;privatestaticfloatright2;privatestaticfloatlefttb;privatestaticfloatmiddtb;privatestaticfloatrighttb;privatestaticfloatmin=10000;privatestaticfloats

7、;privatestaticfloath;privatestaticintk=0;publicvoidrun(){repaint();}publicvoidpaint(Graphicsg){g.setColor(newColor(0,0,0));for(inti=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。