GA 中的精英主义:我是否需要为该步骤应用生成器运算符

Elistism in GA: Do I need apply generator operator for that step

我正在使用唯物论来维持 parent 的 \tau 比例。我感到困惑的是,在从 parent 复制 \tau 比例个体后,用于下一代。我需要为这些人应用生成运算符(交叉+变异)吗?有关更多详细信息,我展示了两种算法。对于 require "overlap elitism/overlap selection with pair-wise tournament replacement"

哪个是正确的

算法一:

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由原始P在第i代构建并生成操作输出。这样对吗? 算法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% 的人口被 pair-wise 取代。之后,我们在 Tmp_P 中应用 cross_over 和变异。请注意,对于这两种算法,50% top 由 raw_fitness 选择,50% last 由 adjust_fitness 选择。

精英主义意味着采取明确的措施来将优秀的个体从当代留到下一代。因此,不会发生退化。您的第一个算法保证将当前种群中最好的 50% 的个体保留给下一代。第二种算法没有任何保证。结果,可能出现下一代最好的个体甚至比当代最差的个体还差的情况,明显退化。总而言之,您的第一个算法(而不是第二个)实现了精英主义。