遗传算法简介
遗传网络算法的理念是物竞天择,适者生存,就是自动生成程序和大量的种群,让程序自然进化算法。遗传网络算法关键分为以下三部分。
- 生物个体的构成的基本元素程序表达。通用的做法就使用树和节点算法,一种元素就是一个节点。生物个体由节点构成的树来表示。
- 生物进化过程中变异过程。主要使用节点的随机替换和生物之间节点的交换表示。
- 生物进化过程。定义评价函数,选择出精英生物继续进化。
遗传网络算法和BP 线性回归方法相比最大的好处是进化过程中不需要提供模型。模型和参数均有遗传网络算法自行选择。但是这样同时也带来很大的弊端,就是程序进化的过程很慢,所有很大的数据计算量才能解决现实世界的任务。
遗传网络算法基本步骤
- 定义基本的构建元素,例如 加 减 乘 除 取输入函数、 等等
- 定义评价函数 和自动生成种群的节点的函数。
- 编写自动生成个体的函数,然后根据个别个体进行变异。变异的方式通用的方式两种:1 是自己编译 2 和同类交换基因。
- 构筑环境和种群,选择精英。
DEMO代码
参考资料:
- 集体智慧编程