Re: [姆咪] 什么是crossover

楼主: Cprogramming (python邪魔歪道)   2018-03-17 21:21:46
※ 引述《Philly5566 (SIS,SIG)》之铭言:
: 这个简单
: https://youtu.be/iNIN1364XAU
: 羊羊一定跟我一样是ai迷
: 难怪对他会有种亲近感
我也是AI迷
在遗传算法里,优化问题的解被称为个体,它表示为一个变量序列,
叫做染色体或者基因串。染色体一般被表达为简单的字符串或数字串,
不过也有其他的依赖于特殊问题的表示方法适用,这一过程称为编码。
首先,算法随机生成一定数量的个体,有时候操作者也可以干预这个随机产生过程,
以提高初始种群的质量。在每一代中,都会评价每一个体,
并通过计算适应度函数得到适应度数值。
按照适应度排序种群个体,适应度高的在前面。
这里的“高”是相对于初始的种群的低适应度而言。
下一步是产生下一代个体并组成种群。这个过程是通过选择和繁殖完成,
其中繁殖包括交配(crossover,在算法研究领域中我们称之为交叉操作)
和突变(mutation)。
选择则是根据新个体的适应度进行,但同时不意味着完全以适应度高低为导向,
因为单纯选择适应度高的个体将可能导致算法快速收敛到局部最优解而非全局最优解,
我们称之为早熟。作为折中,遗传算法依据原则:适应度越高,被选择的机会越高,
而适应度低的,被选择的机会就低。
初始的数据可以通过这样的选择过程组成一个相对优化的群体。
之后,被选择的个体进入crossover。
from wikipedia
干 不过基因遗传算法收敛超久的zzz
作者: jeeyi345 (letmein)   2018-03-17 21:22:00
gi ==a
作者: Philly5566 (SIS,SIG)   2018-03-17 21:27:00
@/@

Links booklink

Contact Us: admin [ a t ] ucptt.com