利用C语言实现遗传编程1.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多
利用C语言实现遗传编程1.pdf

维普资讯 周俊峰 遗传编程是一个与人工智能相关的、新的形式 ,它基于达 ·树形处理程序存在于一些高级语言中.也就是说 .现有 尔文的进化、遗传思想发展而来 。有关遗传编程最早的著作是 的一些高级语言可 以对树形结构进行操作 。 JohnKoza的((GeneticProgramming))--书.书中描述 了一套用于 1.2 遗传编程的操作符 (operator) 随机修改已有LISP字符串的LISP程序集合。本文试图向读者清楚 地介绍遗传编程的范例 ,及其在C语言中的实现。 遗传编程使用 四种通用的操作符来实现计算机程序 的进 化 ,它们是 :交叉 (Cr0SS0Ver)、再现 (rePr0duCti0n)、转变 1.遗传绾程 (mutation)、倒置 (inversion)。 1.1 什么是遗传编程? (1)交叉 (crossover) Koza认为 ”交叉”以及沿续其后的”再现 ”是两个最重要的 遗传编程的许多理论与遗传算法是一样的.同样都是通过 遗传操作符。交叉保证了程序群体 的遗传多样性。与遗传算法 遗传操作符 (genetiC operators)应用了达尔文的”适者生存 中的交叉功能类似 .遗传编程 中的交叉行为是在两个程序 中进 (survival-of—the—fittest)”理论 :但是仍有许多不同之处。遗传编 行的,并会产生两个子程序。具体地说 .在每个程序中任意选取 程所使用的结构与遗传算法的编码字符串就大相径庭 。图1描 两个结点 ,将 以这两个结点为根的”子树 ”进行交换 .从而产生 述了一个遗传编程的简单结构 。 两个新的程序 。这些新程序将成为后代程序 的一部分并被评 对于这个树形结构 .其等价的LISP表达式为 (+ 12(IF( 估 ,见图2。 TIME 10)34)。需要注意的是 : (2)再现 (reproduction) · 当前 .它采用了更为灵活、清晰的可变分层结构 .而不 ”再现 ”是遗传编程 中第二个主要 的操作 .主要是将当前程 是一维字符结构; 序 中选定的成员拷贝到后代程序中。Koza对于使用交叉、再现操 · 该结构 由一些简单函数组成 .这些函数可以通过使用 作对群体收敛性的影响有一段说明:”……在遗传编程中.当个 一 种高级语言很容易的被编译出来 : 体复制它自身的时候 一般会产生两种不同的后代 ……这点与 达尔文的 再现 操作会导致一种收敛趋势相似 :但是 .不同的

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档