dxy logo
首页丁香园病例库全部版块
搜索
登录

【讲座】遗传算法简介

最后编辑于 2004-06-02 · IP 安徽安徽
3513 浏览
icon推荐
这个帖子发布于 21 年零 26 天前,其中的信息可能已发生改变或有所发展。
遗传算法是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。具体简介如下:

算法流程图参见附录。

第一步:编码、并形成初始结果集合

这一步将所要解决的问题结果用某一种方式编码为一个结果(通常为一维数组,如生物信息学里面的 DNA、RNA、蛋白质序列,等),并利用这种方式,随机生成多个初始的结果。注意,这里的初始结果可能不是最优的。

第二步:集合中每一个结果的适应度评估

也就是找到一个函数,来计算每一个结果的“适应度”(即,“最优”的程度)。

第三步:选择

从当前的结果集合中选择出“适应度”比较好的那些结果,拿来做下一步操作(也就是下面的 交叉、变异),利用它们作为父辈来繁殖下一代子孙。

第四步:交叉

例如,利用两个父辈结果 A 和 B,把他们分别分割为两块,如:A=(A1, A2) 和 B=(B1, B2),然后生成两个子孙结果:(A1, B2) 和 (B1, A2)。

当然,具体的操作可能还有其他一些限制条件。

第五步:变异

即将某一个父辈结果的某一些位进行随机的变异(当然,需要考虑的变异的罚分函数),来得到一个新的子孙结果。

接下来,重复以上操作,直到得到一个较好的结果,或者时间达到一个上界。

不知道以上说明是否可以让大家对遗传算法有一个初步的了解?
有感兴趣的同志,欢迎与我联系、讨论。
img






























全部讨论(0)

默认最新
avatar
21
分享帖子
share-weibo分享到微博
share-weibo分享到微信
认证
返回顶部