遗传规划算法

遗传规划算法

请先看一下遗传算法:
http://blog.csdn.net/v_JULY_v/article/details/6132775

遗传规划/遗传编程(Genetic Programming)是遗传算法的一个分支,与遗传算法中每个个体是一段染色体编码不同,它的个体是一个计算机程序。
维基上说它在70年代就已经有人实践,不过正式提出应该还是在John R. Koza教授于1990年发表的博士论文中。

遗传规划最早的应用是符号回归,比如为了拟合 z=f(x,y),它生成一个初始函数 g(x,y),然后以g(x,y)与z的相关系数为适应度,进行选择交叉变异,最终得到最优的一个函数g’,再做一次线性回归即可。

如下是GP表示的一个例子,自然,还有其他的表达方式:
线型:GEP(Gene Expression Programming),
图型:CGP(Cartesian Genetic Programming)。

以树型为例:
Renascence架构原理——遗传规划算法
这棵树表示一个函数,就是上面所述的g(x,y),至于怎么用就见仁见智了,确定好用法之后设定一个计算适应度的方案,就可以跑遗传规划了。

在遗传规划中,选择算子与遗传算法的相同,交叉变异需要根据表达方式来。
树形的交叉实现是这样:
Renascence架构原理——遗传规划算法
变异实现是这样:
Renascence架构原理——遗传规划算法

相关文章:

  • 2022-02-08
  • 2022-01-07
  • 2022-02-09
  • 2021-05-24
  • 2021-09-06
  • 2021-07-22
  • 2022-01-25
  • 2021-07-13
猜你喜欢
  • 2021-12-23
  • 2021-11-15
  • 2021-04-24
  • 2021-11-28
  • 2021-08-23
  • 2021-10-07
  • 2022-12-23
相关资源
相似解决方案