【遗传编程/基因规划】Genetic Programming初学者笔记:基本概念与过程


本篇博文提供了关于GP过程的总结型概览与讨论,旨在帮助初学者建立一个对GP的基础印象。主要参考文献 A Field Guide to Genetic Programming,后文中简写为" Field Guide 1"。

背景介绍

“物竞天择,优胜劣汰”, 达尔文提出了著名的生物进化理论,即所有的动植物都是由较早期、较原始的形式演变而来的。而遗传编程(遗传规划)则在数学和计算机科学领域应用了这一演化过程:从基数较为庞大的原始、粗糙的程序种群中通过评估适应性选择父系、进行遗传操作生成新一代种群,再判断终止条件决定是否再次迭代、生成下一代种群。类比如下:

自然界生物进化(大致)示例
Created with Raphaël 2.2.0 随机生物族群 族群发展,自然演化 不适应环境的个体被淘汰掉 有利的族群基因世代传递
遗传编程II,自动发现可重用程序》(Genetic Programming II, Automatic Discovery of Reusable Programs)是由John R. Koza等人于1994年发表的一篇论文。该论文探讨了遗传编程在自动发现和创建可重用程序方面的应用。 遗传编程是一种基于进化的算法,通过模拟生物进化的过程来自动生成计算机程序。在这篇论文中,作者提出了一种新的遗传编程方法,旨在通过适应度评估和选择操作,自动发现具有高度可重用性的程序。通过对程序的结构和行为进行遗传操作,优胜劣汰的原则使得更优秀的程序逐渐被筛选出来。 该方法的关键之处在于定义和使用一个适应度函数,它能够量化一个程序在解决特定问题时的效果。适应度评估能够根据程序的运行结果和期望输出来测量程序的质量。这种评估机制使得能够较好地判断哪些程序是可重用的,哪些是不可重用的。 在实验中,作者尝试了对多个问题进行求解,并通过遗传编程方法生成了一组高度可重用的程序。通过遗传操作的进化过程,优秀的程序被保留下来,并作为下一代的“种子”程序,继续进化和改进。最终,通过这种方法可以创建出一系列在不同问题上都能够有效解决的通用程序。 这篇论文的贡献在于提出了一种能够自动发现可重用程序的算法,为程序开发者提供了一种新的技术手段。通过遗传编程的进化过程,可以创建出一些高度可重用的通用程序,提高了程序开发的效率和质量。此外,该论文还为遗传编程算法的应用提供了一个新的研究方向,对进一步发展和优化遗传编程算法具有积极意义。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值