您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
进化算法的基本步骤是什么?
字符,个体,算法进化算法的基本步骤是什么?
发布时间:2020-12-06加入收藏来源:互联网点击:
进化算法的基本步骤是什么?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
进化计算是基于自然选择和自然遗传等生物进化机制的一种搜索算法。与普通的搜索方法一样,进化计算也是一种迭代算法,不同的是进化计算在最优解的搜索过程中,一般是从原问题的一组解出发改进到另一组较好的解,再从这组改进的解出发进一步改进。而且在进化问题中,要求当原问题的优化模型建立后,还必须对原问题的解进行编码。进化计算在搜索过程中利用结构化和随机性的信息,使最满足目标的决策获得最大的生存可能,是一种概率型的算法。
一般来说,进化计算的求解包括以下几个步骤:给定一组初始解;评价当前这组解的性能;从当前这组解中选择一定数量的解作为迭代后的解的基础;再对其进行操作,得到迭代后的解;若这些解满足要求则停止,否则将这些迭代得到的解作为当前解重新操作。
以遗传算法为例,其工作步骤可概括为:
(1) 对工作对象——字符串用二进制的0/1或其它进制字符编码 。
(2) 根据字符串的长度L,随即产生L个字符组成初始个体。
(3) 计算适应度。适应度是衡量个体优劣的标志,通常是所研究问题的目标函数。
(4) 通过复制,将优良个体插入下一代新群体中,体现“优胜劣汰”的原则。
(5) 交换字符,产生新个体。交换点的位置是随机决定的
(6) 对某个字符进行补运算,将字符1变为0,或将0变为1,这是产生新个体的另一种方法,突变字符的位置也是随机决定的。
(7) 遗传算法是一个反复迭代的过程,每次迭代期间,要执行适应度计算、复制、交换、突变等操作,直至满足终止条件。
回答于 2019-09-11 08:43:50
1.对工作对象——字符串用二进制的0/1或其它进制字符编码 。
2. 根据字符串的长度L,随即产生L个字符组成初始个体。
3.计算适应度。适应度是衡量个体优劣的标志,通常是所研究问题的目标函数。
4.通过复制,将优良个体插入下一代新群体中,体现“优胜劣汰”的原则。
5.交换字符,产生新个体。交换点的位置是随机决定的。
6.对某个字符进行补运算,将字符1变为0,或将0变为1,这是产生新个体的另一种方法,突变字符的位置也是随机决定的。
7.遗传算法是一个反复迭代的过程,每次迭代期间,要执行适应度计算、复制、交换、突变等操作,直至满足终止条件。
回答于 2019-09-11 08:43:50
进化计算是基于自然选择和自然遗传等生物进化机制的一种搜索算法。与普通的搜索方法一样,进化计算也是一种迭代算法,不同的是进化计算在最优解的搜索过程中,一般是从原问题的一组解出发改进到另一组较好的解,再从这组改进的解出发进一步改进。而且在进化问题中,要求当原问题的优化模型建立后,还必须对原问题的解进行编码。进化计算在搜索过程中利用结构化和随机性的信息,使最满足目标的决策获得最大的生存可能,是一种概率型的算法。 一般来说,进化计算的求解包括以下几个步骤:给定一组初始解;评价当前这组解的性能;从当前这组解中选择一定数量的解作为迭代后的解的基础;再对其进行操作,得到迭代后的解;若这些解满足要求则停止,否则将这些迭代得到的解作为当前解重新操作。 以遗传算法为例,其工作步骤可概括为: (1) 对工作对象——字符串用二进制的0/1或其它进制字符编码 。 (2) 根据字符串的长度L,随即产生L个字符组成初始个体。 (3) 计算适应度。适应度是衡量个体优劣的标志,通常是所研究问题的目标函数。 (4) 通过复制,将优良个体插入下一代新群体中,体现“优胜劣汰”的原则。 (5) 交换字符,产生新个体。交换点的位置是随机决定的 (6) 对某个字符进行补运算,将字符1变为0,或将0变为1,这是产生新个体的另一种方法,突变字符的位置也是随机决定的。 (7) 遗传算法是一个反复迭代的过程,每次迭代期间,要执行适应度计算、复制、交换、突变等操作,直至满足终止条件。 将其用形式化语言表达,则为:假设α∈I记为个体,I记为个体空间。适应度函数记为Φ:I→R。在第t代,群体P(t)={a1(t),a2(t),…,an(t)}经过复制r(reproduction)、交换c(crossover)及突变m(mutation)转换成下一代群体。这里r、c、m均指宏算子,把旧群体变换为新群体。L:I→{True, Flase}记为终止准则。利用上述符号,遗传算法可描述为: t=0 initialize P(0):={ a1(0),a2(0),…,an(0)}; while(l(P(t))≠True) do evaluate P(t):{ Φ(a1(t)), Φ(a2(t)),…,Φ(an(t))}; reproduction: P′(t):=r(P(t)); crossover: P″(t):=c(P′(t)); mutation: P(t+1):= m(P″(t)); t=t+1;
上一篇:在农村,你小的时候有没有住过姥姥家,你有没有记住外婆的好?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |