- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用高级语言实现遗传编程的研究?糯ū喑趟惴?言??中国控制与央莱学术年会论文集殷兴国,待洪波??计算机科学面临的一个重大挑战就是怎样让计算机自己去做应该做的事,而不需要人去告诉机器怎样去一步一步完成任务,达到耳标.遗传编程就是想办法提供一种方法,让机器可每一个程序在进化思想的指引下自动地调整程序结构、流程、参数等.相应于生物进化的规则,首先建立一定数量的原始程序,这些程序刚建立时结构简单、规模小.这些程序可用一棵以自动生成一个程序不需要人的干预,自己去完成一件任务。遗传缩程又称作程序合成、程序??教授在遗传算法的基础上提出的一种新的人工智能方法。它借鉴了遗传算法的思想,通过培养一定数量的程序组,使每一个程序遵循达尔文的自然选择思想和生物进化的规则去改变自己,最终产生一个台乎要求的程序.在程序进化的过程中不需要人??参与,遗传编程也有自己的算子,这些算子包括:繁殖、交叉?煌?员鹬?涞闹刈?、变异、结构的改树来表示,树的结点包含终端结点、原始函数、运算符。出现在树中的每一个内部节点可看作是一个函数,这些函数可以是一些算术函数或者是一些条件判断.出现在终端结点的是一些独立归纳,它是??变?D馍?锘?虻母粗坪蜕境?。??初始程序组的建立摘要:措连了遣传犏程概念及其算法泷程.分折了用高辑语古实现人工智能的意义和可也性,对遗传箱程的实现方法做了一些探讨.碧出了用?镅允迪忠糯?统痰牧绞??峤峁梗??台一十实验鞋证了商敷语言实现的有效性乖可行性.美量词?糯ǜǔ蘬适值两数,程序树?D├砉ご笱ё远?谒??虾????围?婊??傻牧礁龀跏汲绦?
适值函数评估每个个体性能的好坏、对问题的解决能力,而每一个程序个体对同题的解决能力又决定了这个个体的适值的大小,因而在进行各种算子操作时就是根据适值的大小来选择参与个体的。适值越大表明这个个体越强壮,被选中参与其他算子的操作的可能性也就越大。适值小的个体也有机会被选中,但被选中的概率要小于适值大的个体。适值越大表明该程序个体就越好,就有较大的几率在一代代的进化过程中繁衍下去,不被淘汰。相反那些适值不值大的个体参与算子运算的几率就大,适值小的个体参与算子运算的机会就小.这样经过一代是随机产生的,以该结点为根的子树被删除,新的子树将按照生成初始程序的同样算法随机产?交叉操作。在交叉操作的双亲中,双亲的选择也是根据适值太小来进行选择的。通常进行交叉的双亲具有不同的大小和形状。双亲进行交叉的结点的选择都是随机的,双亲的一方删?繁殖操作。根据适值大小选择一些程序个体,在下一代程序组中复制这些程序.?结构变更操作。简单程序都要包古一个主程序?谱鹘峁?种?,稍微复杂一点的程序程序的结构。结构变更算子提供了一种方法可以动态的在一个程序中增加和删除子程序或其它类型的分支。结构变更算子又可以快速地生成一个结构上千变万化的程序群体,每个个体的子程序、重复、递归、内存安排都各不相同。在一个充满竞争的进化过程中,那些结构好的程序变更算子出现的几率是很小的,在每一代发生的概率大概是???摹?“。下面是几种变更算子的介绍:?子程序复制:复制已存在一个程序个体中的一段子程序,并给予一个新的名字,然后随机地改变速两个子程序中的程序词用。这种操作可以改变整个程序的层次,在第一次出现的时候保持与以上的完整。两个子程序最后是分岔的,有时候可以产生一些特殊作用。的变量?鐉,,?鸵恍┧婊???某A?如??,???M?是随机生成的两个初始程序。??确定适值函数高的个体就会被淘汰。进化的过程就是遗传编程各种算子发生作用的过程。各种算子以一定的概率发生作用,适代的繁殖,最终向问题的解逼近。以下是各种算子的简单介绍。?变异操作。在变异操作中,父亲个体的选择建立在适值大小的基础上。发生变异的结点生。这种变异将会以很小的概率发生,每一代不超过?ァ?除掉原来以该结点为根的子树,同时把另一方删除的子树接到该结点,从而完成交叉操作。交叉操作是一种主要的算子,使用的概率也非常大,在一次繁殖中,使用交叉算子的概率应该达就要包含子程序、重复、循环、递归和各种各样的多维数组。程序的大小、流程都很难确定,遗传编程可以实现在进化的过程中动态地改变结构。遗传编程采用一组结构变更算子自动地决定得以生存和繁殖,而那些结构不适合的程序就会慢慢枯萎。但是在程序运行过程中,这些结构?参数复制:该算子先复制一个子程序的参数,并把它应用到另外一个子程序中,并给予一个新的标志。?新的子程序构造:该算子创建一个新的子程序,并且这个子程序又被主程序来调用,从而加深整个程序涉及到的层次。也可以在子程序中调用新创建的子程序,这样整个程序可以做得更加复杂。??遗传编程的每~代的进化到?%~?%。??
糯ū喑痰氖迪址椒??子程序删除:该算子可以使程序层次变得更窄更浅。?参数删除:该算子从子程序中删除一个参数,从而
文档评论(0)