gpt4 book ai didi

algorithm - GA : Do I need apply generator operator for that step 中的精英主义

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:23:12 26 4
gpt4 key购买 nike

我正在使用唯物主义来维持父级的\tau 比例。我很困惑,在为下一代从 parent 那里复制\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由原始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% 的种群被成对替换。之后,我们在 Tmp_P 中应用了 cross_over 和 mutation。请注意,对于这两种算法,50% top 由 raw_fitness 选择,50% last 由 adjust_fitness 选择。

最佳答案

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

关于algorithm - GA : Do I need apply generator operator for that step 中的精英主义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30053910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com