遗传算法入门第一式---------求解函数极值问题(附完整代码和详解)
声明:大佬请指点,小白同学一起聚聚交流~~~~
联想到球球大作战!!!!!
以这幅图为例,可以将其看成是一个种群,当中的散点就是各具差异的个体。
大的圆点看成:强壮的、优秀的个体,具有优良的基因;
小的圆点看成:瘦弱的、发育不良的个体,处于进化的劣势地位。
众所周知,遗传进化规律是物竞天择,适者生存,优胜劣汰。
很显然,这里可以理解为这些强壮的、优秀的大圆点更能是遗传进化的结果,更能适应环境,更能一代代生存下去,这些优势基因也更易被保留下去。
遗传算法就是模仿该过程,用计算机代码实现仿真
不说废话,直接上车!!!!!!!!!!!!!!!!
Step1:我们要用代码刻画出初始的种群,以个体的染色体和基因反映(暂不考虑环境影响)
下图所示是五条染色体,粗略用它表示5个个体;用二进制编码基因,0、1就是基因类型,
通过0、1的不同排列得到不同的表现型,体现不同个体的差异性。
1 |
0 |
1 |
1 |
0 |
1 |
0 |