网站大量收购独家精品文档,联系QQ:2885784924

《智能计算》教学课件-第四章-遗传程序设计.pptVIP

《智能计算》教学课件-第四章-遗传程序设计.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.3.5遗传算子 2. 杂交 杂交算子分别从两个父体中随机地选择一个杂交点,然后交换父体中以杂交点为根结点的子树产生两个后代。 (a) 父体1 - / + * 6 x 10 x 12 杂交点 + * - x 6 x 10 x + (b) 父体2 杂交点 (b) 后代2 - * 6 x 10 + ` x 6 杂交点 4.3.5遗传算子 (c) 后代1 杂交点 / + x 12 * x x 10 + - 4.3.5遗传算子 杂交算子有两个参数 和 。 是按概率选择遗传算子时选择杂交算子的概率,而 是在进行杂交时,在父体中选择内结点作为杂交点的概率。通常取 和 。 在对父体进行杂交后,后代树的深度有可能加大。为了有效地利用计算机资源,防止产生巨型个体,遗传程序设计通常设置一个最大允许深度 进行控制。 若杂交后,有一个后代的深度超过了最大允许深度,则随机地选取一个父体代替该后代;若两个后代的深度都超过了最大允许深度,则用两个父体代替这两个后代。 4.3.5遗传算子 3.变异 变异算子首先在父体中随机地选择一个结点,然后删除以该结点为根结点的子树,并在该结点处插入一个随机生成的子树。 4.3.5遗传算子 变异点 / + x 12 * x x 10 + 变异点 / + x 12 - 7 10 第4章 遗传程序设计 武汉大学计算机学院 4.1 遗传程序设计框架 自动程序设计是计算机科学的中心目标之一。自动程序设计所涉及的问题是:怎样才能使计算机去解决给定的问题而无需显式编程?很多年来,人们一直在为实现这一目标而努力。遗传程序设计便是在该领域的一种尝试. 自动程序设计是人工智能的一个重要研究领域。自动程序设计研究的重大贡献之一是作为问题求解策略的调整概念。已经发现,对程序设计问题,先产生一个不费事的有错误的解,然后再修改使它正确工作,这种做法一般要比坚持要求第一个解就完全没有缺陷的做法有效的多。遗传程序设计正是基于这样一种思想而发展起来的. 4.1 遗传程序设计框架 遗传程序设计与遗传算法类似,所不同的是在遗传程序设计中,搜索空间是计算机程序空间,个体是计算机程序。遗传程序设计的流程图如下图所示。 变异后的个体加入新种群 复制的个体加入新种群 Gen:=0 产生初始种群 终止准则被满足? 指定结果 结束 评估个体适应度 i:=0 i=N? Gen:=Gen+1 是 否 否 是 按概率选择遗传算子 选择一个个体 选择两个个体 选择一个个体 执行复制 执行杂交 执行变异 i:=i+1 i:=i+2 i:=i+1 两个后代加入新种群 pr pc pm 4.1 遗传程序设计框架 为了用遗传程序设计演化求解问题的程序,首先需要解决以下问题: (1)程序的表示; (2)程序好坏的评价标准; (3)遗传算子设计。 4.2 程序的表示 在遗传程序设计中,种群中的个体是计算机程序。为了程序表示的简单性和容易验证程序的句法,遗传程序设计用Lisp语言来表示程序。 考虑一个简单的LISP程序,该程序简单地返回一个自然数n的平方. SQUARE 4.2 程序的表示 (square 4) 16 下面是出一个计算一个实数绝对值的LISP程序. ABS (abs –4) 4 4.2 程序的表示 从上面的例子可以看出,LISP程序的主体由类似于 和 的一些S-表达式所组成。 构造LISP程序的S-表达式是以前缀表达式形式表示的。表示LISP程序的S-表达式与树型结构有一个自然的对应关系,也就是说,给定一个S-表达式,我们容易构造出一棵树,而对该树进行先序遍历便可得到给定的S-表达式。这棵树是S-表达式的语法树。 4.2 程序的表示 例如S-表达式 所对应的语法树如下图所示。 + 12 if 5 6 x 10 在语法树中,树的外部结点(叶结点)分别用变量x和常量5,6,10,12来标记,这些变量和常量通常称为端点,而内部结点分别用函数+,,IF来标记. 一般来说一个表示LISP程序的S-表达式通常由一些函数和端点组成。 4.3 遗传程序设计的实现技术 用遗传程序设计求解问题有以下5个基本步骤: (1) 选择端点集; (2) 选择函数集; (3) 确定适应函数; (4) 确定控制参数; (5) 确定指定结果的方法和终止程序运行的条件. 4.3.1选择端点集和函数集 在遗传程序设计中,计算机程序用LISP程序的语法树来表示。每一棵语法树的内部结点由一些函数构成,而叶结点由一些变量和常数构成. 对于一个给定的问题,首先要确定由所有可能求解该

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档