GA中的Elistism:我是否需要在该步骤中应用生成器操作符

时间:2015-05-05 13:08:03

标签: algorithm genetic-algorithm evolutionary-algorithm

我正在使用elistism来维持父母的比例。我很困惑,复制\ tau比例来自父母的下一代个人。我是否需要为这些人申请生成算子(交叉+变异)。有关更多详细信息,我展示了两种算法。这对于要求“重叠精英/重叠选择与成对锦标赛替换”是正确的

算法1:

P=initial_individual
Fitness_raw=evaluate_raw_fitness(P)
Fitness_Adjust=evaluate_adjust_fitness(Fitness_raw,P) //adjust by Hamming distance
While(t<300)
       P_old=P;
       Tmp_P=Selection_by_Pair_wise(P, Fitness_Adjust)
       Tmp_P=cross_over(Tmp_P)
       P=mutation(tmp_P)
       //Copy 50% top from P_old ---without mutation and crossover
      P=[P_old(1:N/2) P(N/2 N)] 
       Fitness_raw=evaluate_raw_fitness(P)
       Fitness_Adjust=evaluate_adjust_fitness(Fitness_raw,P) //adjust by Hamming distance
End

这意味着突变后P步骤是由第i代的原始P和生成操作的输出构成的。这样对吗? 算法2:

P=initial_individual
Fitness_raw=evaluate_raw_fitness(P)
Fitness_Adjust=evaluate_adjust_fitness(Fitness_raw,P) //adjust by Hamming distance
While(t<300)
       P_old=P;
       Tmp_P=Selection_by_Pair_wise(P, Fitness_Adjust)
       Tmp_P =[P_old(1:N/2) Tmp_P(N/2 N)] 
       Tmp_P=cross_over(Tmp_P)
       P=mutation(tmp_P)
       //Copy 50% top from P_old ---without mutation and crossover
       Fitness_raw=evaluate_raw_fitness(P)
       Fitness_Adjust=evaluate_adjust_fitness(Fitness_raw,P) //adjust by Hamming distance
End

这意味着它将复制tau = 50%顶部,50%的其余人口被成对替换。之后,我们在Tmp_P中应用了cross_over和mutation。请注意,raw_fitness选择50%top,两种算法的adjust_fitness选择50%last。

1 个答案:

答案 0 :(得分:1)

精英主义意味着采取明确的措施来保护当代人和下一代人。结果,不会发生降解。您的第一个算法保证当前人口中最好的50%个体被保留到下一代。第二种算法不保证。结果,可能存在下一代中最好的个体甚至比当前一代中最差的个体更差的情况,即明显的退化。总而言之,你的第一个算法,而不是第二个,实现了精英主义。