今天一过考研日记就写了半个月了,这半个月有什么收获呢?问这个问题为时过早。这半个月除了坚定自己考研的决心以外,进行的更多的是生活层面上的思考。

今天在《计算思维导论》中学到了遗传算法,神奇之处在于,学习的对象是社会、自然现象中的生物遗传与进化现象,剥开本质后,生物的一代一代地交换染色体,在自然选择中淘汰掉无法生存的一批,诞生出新的群落,如此往复,便有了优秀的后代。

抽象成算法之后的框架如下:

begin /* 遗传算法 */

t ← 0; /* 进化的种群代数 */

生成初始种群P(t);

计算初始种群P(t)中每个个体的适应值;

while(不满足终止条件) do

/* 利用下述操作生成新个体,并选择更优个体组成新种群 */

(1)通过复制、交叉或变异操作重组种群P(t)中

的个体,产生新个体,形成候选种群C(t);

/*注意此处C(t)并未包含P(t)中的个体 */

(2)计算C(t)中每个个体的适应值;

(3)根据适应值从C(t)和P(t)中选择更优的个体

组成新种群P(t+1);

(4) t ← t+1;

end while

选择P(t)中最优个体为所求的解;

end begin

类似的仿生学算法还有 人工蜂群算法蚁群算法粒子群算法免疫算法等。