进化计算的不同类型与应用
1. 遗传算法与变异
遗传算法系统也会使用变异,而且实际上同一个问题仅通过变异就能轻易解决。早期的遗传算法(GA)方法存在一个主要缺点,即它们主要使用固定大小的基因型。如果一开始使用的基因型字符串大小为4,那么后续就只能基于这个大小进行操作,基因型无法增长或缩小。后来,通过添加一些额外的变异算子解决了这个问题,这些算子可以对字符串编码的基因型进行序列的添加和删除,从而产生动态大小的基因型。
2. 遗传编程(Genetic Programming, GP)
2.1 GP的基本概念
遗传编程是一种特殊类型的遗传算法,它处理的不是字符串编码的基因型或染色体,而是基于树的程序。GP会进化以树形式表示的程序,类似于在解决图问题时所开发的程序类型。
2.2 GP的变异算子
GP有一套专门的变异算子,例如通过交换两个个体的分支来进行交叉以创建后代。还包括节点变异、节点添加等其他研究者决定实现的变异算子。与原始的GA不同,GP中的基因型长度是可变的,它可以扩展和生长任意大小的程序/树。当然,也可以通过修改GA方法,添加能使字符串编码基因组增长和缩小的变异算子来实现类似功能。
2.3 GP的发展与应用
GP最初由Cramer引入,后由Koza在1992年推广。John Koza进一步修改了基因型,并将GP专门应用于新材料、天线和其他结构的进化。他拥有一个大型机器集群,他称之为“发明机器”。借助这个集群,John Koza能够运行具有大量种群的并行GP算法,进化新程序,并将这种方法应用于可申请专利的材料和硬件的进化。这个发明机器已经产生了许多获得专利的产品。这
超级会员免费看
订阅专栏 解锁全文
1599

被折叠的 条评论
为什么被折叠?



