遗传算法原理及算法步骤(学习篇·上)

本博文源于数学建模之常见优化算法的遗传算法。之前看见过国一论文用过遗传算法,遗传算法跟元胞机有点关系,什么关系没有研究,如果有机会还是要看看元胞机,毕竟都是智能优化算法。本篇博文没有程序。

遗传算法起源

遗传算法全名:Genetic Algorithm简称GA。通过模拟生物进化过程与机制来解决实际问题的一种智能技术,还有一种别称叫做:启发式算法。

遗传算法生动举例

这个例子也被遗传算法广为传颂:在一座山上目标找到山上最高点,现在往山上撒一匹麋鹿,过一段时间,将低于海拔xx米的鹿群杀死,然后再过一段时间,再把低于xx米的一匹鹿杀死,以此类推,剩下最后一只或几个必然是最优解。

算法原理

一般步骤如下:

  • 对于自变量的离散通常选用二进制编码,离散精度的高低决定了编码长度。这一步称为初始化种群
  • 种群选择:对于种群我们采用选择,目标选出好的,一般采用随机选择
  • 种群交叉:这个部分开始做交叉优化了,一般采用单点选择。
  • 种群变异:对于变异就是通过变异概率翻转某个位的值,比如1变成0,0变成1之类的,一般的变异概率为0到0.05
  • 轮盘赌选择变异后结果:这里会产生一个如何轮盘赌,我们每次产生的交叉结果,转成十进制后累加,求总和,然后每个点求各自概率,然后开始做P次循环,在[0,1]之间随机产生随机数r,根据随机数选择个体i。

算法步骤

因此算法步骤如下:

  1. 随机产生初始种群,每个个体代表此个体染色体的基因编码。
  2. 在确定个体适应度的同时,判断其适应度是否符合优化准则,若符号,则输出最佳个体及其代表的最优解,否则转向3
  3. 依据“适者生存,优胜劣汰”的准则选择再生个体,适应度高的个体被选中的概率大,反之淘汰
  4. 根据已知的交叉方法和概率及其变异方法和概率产生新的个体,并通过交叉和变异产生的新一代的种群,返回到2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值